In 2021, Oracle decided to monetize Java by changing its licensing policy after JDK 17. Previously, businesses had to pay for updates and support, but with JDK 17, Oracle introduced the No-Fee Terms and Conditions (NFTC). This makes Oracle JDK free only for personal, internal business, and testing use. Redistribution is allowed as long as no fees are charged. However, NFTC does not apply if JDK 17 is obtained through other Oracle agreements like the Oracle Master Agreement. While Java seems free under NFTC, Oracle’s history of licensing changes means enterprises should be cautious. In short, Java is no longer truly free for businesses. For more details, I would suggest to see the blog post by Dmitry Chuyko to see what has exactly happened.
This made me to think about what software developments are really safe to go for a long time. Some languages are free but owned by tech giants. Even though they are free for now, nothing does guarantee a long-term freedom. Some license types ensure that once it is released, it can never be relicensed or restricted. Others allow current implementations to stay free, but future versions can change if the owner decides. Then, there are cases where software starts as free, but enterprises must pay later, even if individual users still get it for free. This is what happened with Oracle Java and Docker Desktop. They were free in the beginning, and then the companies were later forced to buy licenses.
Before diving into details, there are two important points to clarify. First, I am not suggesting enterprise companies to use free platforms till their last breath. And I am also not blaming companies trying to monetize their products. They need to make profit, at the end of the day. What I am trying to do is to create awareness of licensing about free languages and platforms. A company may invest on a language or a platform because it looks free now and they may build an income model relying on its no license cost. However a change of license model can cause unexpected costs, legal issues, even job cuts. Then it might even be the best option for the company to go for an already paid platform, from day one. So, software licensing models and companies behind is an essential point to consider when making tech choices.
Furthermore, this is not a legal text, and I am not a lawyer. The purpose of this discussion is just to raise an awareness that license changes might affect companies, developers, and long-term technology investments. If you are making decisions which could impact your business, you have to do your own research and carefully review the specifics.
Which Languages Are Less Risky?
Safe Zone
These languages (and frameworks) are 100% safe for enterprises, as they are free and their licensing cannot be modified unilaterally.
- C is governed by the ISO standard, ensuring that its licensing can never be changed. Just go for it if it suits for your case. Actually if C is the best fit, you may not have an alternative. See my series C Bedrock of Software.
- C++ also falls under ISO governance. It has always been a safe choice for enterprises.
- Python is under the Python Software Foundation License. This simply means that it will be open-source forever.
- Rust is protected by the Apache 2.0 and MIT licenses, with the Rust Foundation. It -kind of- ensures its future independence.
- PHP, a never-beaten beast of the web, remains under the PHP License. This makes it an evergreen solution for web development.
- D, a real hidden gem, is protected by the Boost License. It ensures its licensing remains unchanged.
- JavaScript, the king of the web, is governed by ECMA International, making it independent of any single corporation. Its open ecosystem ensures that it will never require an enterprise license.
- Node.js looks safe since it is under MIT and governed by the OpenJS Foundation, ensuring long-term freedom from corporate control.
- Vue.js is another safe JavaScript platform. It is under MIT License with no corporate ties. This makes it a truly independent choice.
Medium Risk Zone
These languages (and frameworks) are free for now and there are no foreseen changes ahead. Nevertheless, their future depends on the corporations that own and control them. A licensing shift can happen and enterprise users might end up either paying or forking the last free version.
- Go is Google’s gift to the software world, but for how long? It is licensed under BSD, which means that it’s free now. My feeling is like it will always be free, but at the end of the day, it belongs to Google.
- TypeScript is licensed under Apache 2.0. Similar to Go, it is free but Microsoft holds the gate.
- Kotlin is under Apache 2.0. However, it is backed by JetBrains. They has already started playing with licensing models of its IDEs. So, change is not entirely out of the context.
- React is licensed under MIT. Nevertheless Meta controls its direction. This means that shifts in its licensing model remains possible even though there is no foreseen change ahead.
- Angular is also MIT-licensed and Google owns its future.
High Risk Zone
- Java, once the king of portability is now a toll road for enterprises. I have already given the details above.
- .NET is technically under MIT license which looks safe for now and there is no planned license change I have heard so far. However, as .NET is Java’s only counterpart and competitor, soon or late it will follow Java.
What about Databases?
Some databases have always required a license fee. Oracle, SQL Server, AWS DynamoDB, Redis etc. fall into this box. So, they are out of the scope for this discussion. Let’s focus on databases that are fully or partially free at the moment, but may possess a risk.
Safe Zone
- MariaDB, a fork of MySQL, is under GPL. This means that it cannot be relicensed.
- PostgreSQL is governed by a BSD license. That means it will always remain free.
- SQLite takes the thing even further. It is public domain, with no restrictions whatsoever.
- Cassandra is under Apache 2.0 and owned by Apache. It is safe.
- CouchDB – Apache 2.0 licensed. It is open-source and looks safe.
Medium Risk Zone
- MySQL is under GPL and looks safe at the moment. However, it is owned by Oracle, the owner of Java. There’s always a risk of future just like what happened with Java. So, I have assigned a little bit of risk.
High Risk Zone
- MongoDB was fully open-source once upon a time then it switched to the SSPL license. Now it is forcing cloud providers and large enterprises to pay. It actually counts a paid service now.
- Elasticsearch did the almost same thing with MongoDB, it moved from Apache 2.0 to SSPL.
- Couchbase still has an open-source edition. Its enterprise version has always required licensing, so it may count as free.
Containerization Tools
Kubernetes looks safe since it remains fully open-source under the Apache 2.0 license. It is governed by the Cloud Native Computing Foundation (CNCF), ensuring that no single company can take control or introduce licensing fees.
Podman is a drop-in replacement for Docker and is fully open-source under the Apache 2.0 license. It is developed and maintained by Red Hat, but since Apache 2.0 is permissive, Red Hat cannot relicense or restrict its use. Unlike Docker, Podman does not require a background daemon, making it more lightweight and secure.
Rancher Desktop is another alternative to Docker Desktop, developed by SUSE. It is open-source under the Apache 2.0 license, just like Podman. However, since Rancher Desktop integrates with Kubernetes (also Apache 2.0), its licensing remains safe from corporate restrictions.
On the other hand, Docker Desktop was once free for everyone, but now enterprises with 250+ employees or $10M+ in revenue must pay for a subscription (see license agreement). This change will shake many businesses since it forces them to either pay or find alternatives if anyone knows their names.
Conclusion
As I said in the introduction, if you are making decisions which may impact your business, you need to do your own research, carefully examine the details of each license type, and make your own forecasts considering companies behind each technology. However, businesses should review their technology choices with a long-term perspective. Some software that is free today might introduce license costs in the future. This is especially an important thing to consider in microservices environments where companies run hundreds or thousands of instances on ephemeral instances. If a single licensing change forces them to pay for each instance, the costs could be unpredictable. Companies that plan ahead and use real free and open-source technologies can avoid these risks.
Suleyman Cabir Ataman, PhD