DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Because the DevOps movement has redefined engineering responsibilities, SREs now have to become stewards of observability strategy.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Related

  • ITBench, Part 1: Next-Gen Benchmarking for IT Automation Evaluation
  • Automatic Code Transformation With OpenRewrite
  • Maintaining ML Model Accuracy With Automated Drift Detection
  • Cost-Aware Resilience: Implementing Chaos Engineering Without Breaking the Budget

Trending

  • Agentic AI Systems: Smarter Automation With LangChain and LangGraph
  • Proactive Security in Distributed Systems: A Developer’s Approach
  • How to Format Articles for DZone
  • Building a Real-Time Change Data Capture Pipeline With Debezium, Kafka, and PostgreSQL
  1. DZone
  2. Popular
  3. Open Source
  4. Open Source Bait and Switch

Open Source Bait and Switch

When OSS advocacy goes too far corporate greed takes over, free software is used as a tool to destroy competition and hurt the developer community.

By 
Shai Almog user avatar
Shai Almog
DZone Core CORE ·
Aug. 31, 22 · Opinion
Likes (4)
Comment
Save
Tweet
Share
5.8K Views

Join the DZone community and get the full member experience.

Join For Free

I was reading this article and wanted to post a comment but I felt this warrants a response article. First, if you don’t know me I've written a ton of Open Source code. Whole platform and then some. I think the general view is expressed in that article and a lot of the fluff I see online is over simplistic and dangerous.

We Need To Get Paid

Who will pay your salary?

People have various answers for open source business models. E.g. "consulting" or the vague “support”. I always wonder if such people ever tried selling consulting. Or maybe “support”.

People don’t buy these things. Especially in a downturn economy. The way salespeople typically sell these things is the hint that you might violate a license and it would be much easier if you paid and got the commercial license. I’ll even throw in the “support” for free. Yes, you can get some sponsors if you spend all your time on the phone. It’s a never-ending sales process. Chasing leads and making calls. Running this sort of business requires a lot of overhead.

Some developers use problematic open source licenses which they can then leverage for sales. But then they get vilified as “not open source enough”. There’s no winning there.

Sun Microsystems paid my salary during some of my OSS work. They went under and fell from a 200+ billion dollar valuation, selling at around 7 billion. Granted, it isn't because they were open source. That's just an anecdote, and it didn't help. Real people lose their actual jobs because open source doesn’t make money. Even when it does, it makes very little. People used to say it ends up with a smaller piece out of a larger pie. This is true, but only applicable for the big players and you have two choices: become the big player or watch a big player take the profits from your hard work.

Don’t get me wrong, I’m not against people profiting off my work or even large corporations. I do OSS for fun and love the idea of people succeeding based on my work. But I get the frustration many developers feel, and the blanket “open source advocacy” I see from people is problematic.

Bait and Switch

The bad thing is corporate cynicism. Take Google. They open-sourced Android when it had no users. Companies built on top of it and so did developers. Advocacy formed around it because “it’s an open source”. Then they released the closed source Google Play Services which later added the SaaS Firebase requirement for some essential functionality (it’s free for that at the moment) and now we have deep vendor closed source dependencies masquerading as open source.

We don’t have to use Google Play Services if we want to build for Android. Sure. But it makes it much harder to build an Android app and if you don’t use it for some things (e.g. push, purchase, etc.) then you’re banned from the largest Android marketplace. A vast majority of developers “just use it”. This means that anyone who wants to wipe Google Play off their Android device in favor of a 100% open source solution; will find that they have very few software choices for apps.

Take Elastic search. They were open source and killing it. But AWS was forking and not really helping their bottom line. So Elastic changed its license to block AWS. AWS started its own fork. Some people vilify Elastic in this story but those people probably never had to fight Amazon for the survival of their business. In this case, both sides weaponized open source in a business fight.

The case of Java is slightly different. Java wasn’t open-source and was made open-source later. It still kept IP over the language. So I get some of Oracle's tight grip on the project and accept that. It’s good that there’s a steady hand on the ship and it contributed to the success of Java. The problem with the Google lawsuit was that Oracle tried to stretch its IP to include the APIs. That was a mistake.

GPL Is the Best License

About a decade ago, a startup called RoboVM released an open-source compiler that translated Java to native iOS apps. It was pretty cool, and I talked quite a bit with the founder at JavaOne. Back then we were considering building our own VM or picking up a solution such as RoboVM. We ended up with the former and created our own VM which was much simpler and better fit our needs (it’s also open source).

That decision was based on technical merits and I think it paid off but I still have tremendous respect for the RoboVM team. My concern was Apple. They break stuff, a lot… Building a low-level VM is a dangerous game of cat and mouse where Apple would suddenly change something and we’d be stuck. A secondary concern was monetization. I understood the RoboVM team would have to pay the salaries of its employees and founders somehow. How does one make money off an open-source compiler? Notice that this was a decade ago and there weren’t any precedents like Zig that we could look at as a template.

At some point, my fears of Apple's policies materialized, and Apple added a bitcode requirement when targeting some platforms. RoboVM spent a tremendous amount of time working on bitcode support and decided to close its source code. They understood they can’t fund continued development without it. Don't take this as judgment towards their decision. I totally get that, as I said, monetizing OSS is very hard.

The GPL protected the community by forcing RoboVM to release the code for the final version before the bitcode migration. This allowed some forks of the code in later years but it’s still unmaintained. The company was bought by Xamarin and promptly discontinued as Microsoft purchased the latter. Without the GPL, the code might have been inaccessible. It also forced 3rd parties to publish their code.

In this regard, I’m a big believer in GPL rather than more permissive licenses such as MIT, BSD, Apache, etc. I think that we as a community should prefer a license that preserves community rights as opposed to corporate rights. It also provides a good monetization option to the creator of the project. Just re-license as a proprietary license and charge for that. Unfortunately, the GPL is often a non-starter for many developers because they incorrectly assume it’s bad for them. The opposite is true. The GPL is one of the best ways to preserve community rights in the long term.

Have Things Changed?

I mentioned Zig before. There are many other examples of foundations that were successful such as SQLite, Mozilla, etc. Getting to this point is typically hard and doesn’t necessarily work for every open-source project. For E.g. cURL is used by pretty much everyone but I don’t think we’ll see a cURL foundation. Also, notice that all of these projects are based in US tech hubs. From my experience, it’s much harder to get sponsors in other territories.

Does this mean all open source should be a hobby or a mega-all-encompassing project?

Unfortunately, I don’t have good answers. But I have a problem: overzealous open source advocates. You aren’t helping!

Open source is becoming a corporate-only game. It’s used as a weapon in battling tech companies. There’s a name for this in retail: loss leader.

In retail, a big supermarket store would sell some products at a loss and advertise this amazingly low price. This brings in audiences who buy other things along the way and so the supermarket ends up making a profit. But the reason for this is to drown out the competition. The competition seems expensive (since they can’t sell at a loss). They go out of business, and the big retail company raises prices. Initially, it looks like we got a tremendous deal from the competition, but ultimately we end up losing. Because of that, some regulators prohibit such practices as they end up destroying a market.

Open source is used in a similar, cynical way by big tech. They form “communities” by hiring armies of developer relations professionals to create a masquerade of grassroots enthusiasm. Sometimes they don’t need to monetize the market, it’s enough to keep the competition out.

TL;DR

I love open source and think it’s remarkably important. That’s why we shouldn’t let corporations weaponize it. We need diversity within the ecosystem and we need to support smaller, critical projects. The idea of “handouts” to open source projects or “consulting” isn’t sustainable.

Major corporations use open source as a weapon to fight each other, we seem to benefit in the short term. But as they win the corporate mindset takes over and they double down on the control. The solutions I suggest are:

  • Use GPL - it’s here to protect community rights. No wonder corporations don’t like it.
  • Don’t be an OSS puritan - small companies need to make money. They will offer SaaS, closed source extensions, etc. That’s OK.
  • Big corporations aren’t benevolent - the advocacy I see around OSS projects from FAANG (MAANG) companies is problematic. They don’t support OSS. They use and leverage it. Don’t get me wrong, I’m grateful for their code and it’s wonderful they release it. But we need to be cautious, they have fiduciary requirements that might collide with doing the “right thing” by OSS standards.

I don’t know if the next thing I’ll do will be OSS. I don’t know if I’ll pick GPL since, as I said, people have an issue with it. But I do know this: if you’re an open source advocate. Tune down the rhetoric. It isn’t helpful.

Open source

Published at DZone with permission of Shai Almog, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • ITBench, Part 1: Next-Gen Benchmarking for IT Automation Evaluation
  • Automatic Code Transformation With OpenRewrite
  • Maintaining ML Model Accuracy With Automated Drift Detection
  • Cost-Aware Resilience: Implementing Chaos Engineering Without Breaking the Budget

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!