Apache 2.0

Apache 2.0

Apache 2.0 is a widely used usage agreement for software, set in advance by the author. It allows anyone to use, modify, and redistribute the program code for free, including commercially, as long as the original author is credited.

Whoever writes a program automatically owns the copyright to it. Others may therefore only use it if he explicitly permits it. This permission is laid out in a text called a license. Apache 2.0 is one such license, and a particularly permissive one at that. It allows anyone to download the program code, modify it, redistribute it, and make money with it. In return, at its core it only requires that one credit the original author and include the license text. It was written in 2004 by the Apache Software Foundation, a nonprofit US organization that maintains many well-known programs.

What companies appreciate about this license

Not every free license is equally convenient for companies. Some require that any product containing the code must itself be released as free software again. Such licenses are called “copyleft” or contagious, the best-known example being the GPL. Anyone building a commercial product then has to disclose their own source code. Apache 2.0 does not require this. You may incorporate the code into a closed, paid product without revealing your own secrets.

There is a second point that matters to lawyers: patents. A programmer could give away code and later sue for patent infringement. Apache 2.0 rules this out. Anyone who contributes code under this license simultaneously grants all users the necessary patent rights. Anyone who sues over a patent themselves loses their own rights to the software. This clause is the main reason why large corporations prefer Apache 2.0 over older, shorter licenses.

For AI companies, the license has become a selling point. If a language model is released under Apache 2.0, every company immediately knows: I may incorporate it into my product without having to ask. This lowers the barrier enormously compared to models with their own, individually worded terms.

The obligations in the fine print

Permissive does not mean unconditional. Anyone who redistributes code under Apache 2.0 must include the license text. All copyright notices in the code must be preserved. If a file called NOTICE is included, listing contributors, its content must also be passed along. And anyone who has modified a file must mark that fact.

You can think of it like a recipe someone publishes openly online. You may cook from it, adapt the recipe, and sell the dishes in your restaurant. You just have to leave in place the note about who created the original recipe. And you may not claim that the original author stands behind your restaurant.

A common misconception: Apache 2.0 does not mean that a piece of software is error-free or secure. The license explicitly excludes all liability and all warranty. If the code causes damage, the user bears the risk. A second misconception concerns trademarks: a project’s name and logo are not covered by the license. You may take the code, but you may not name your own product after the original.

From web servers to open AI models

The license is embedded in software you use indirectly every day. The Apache web server has been delivering websites for decades. Kubernetes manages the machines of major cloud providers. Android, the operating system on most smartphones, also has its core parts under Apache 2.0. Swift, the programming language for Apple apps, belongs to this group as well.

In the AI world, the term appears mainly in reports about new language models. The French company Mistral released several models under Apache 2.0, and there were also versions of Whisper for speech recognition and of models from the Qwen series. In such news items, the license mentioned is often the actual news. It determines whether developers worldwide can get started right away or first have to ask the legal department.

Watch out in the news for the distinction from licenses that merely sound open. Meta's Llama models, for instance, have their own terms with user caps and restrictions. Anyone reading “Apache 2.0” can assume that no such special rules are lurking. It is precisely this reliability that makes those three characters in a model’s spec sheet so significant.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.