The Open Source Primer: Part 1
Software is a strange product. It exists entirely in the information space, so the marginal cost of a copy is near zero. As DVD distribution has given way to Internet downloads software has even escaped the bonds of corporeal formats - like an advanced intelligence from Star Trek evolving into pure energy - and can be delivered anywhere virtually instantly, at virtually no cost.
The impalpable form of software posed challenges to the early creators of software who wanted to sell it as a valuable new type of product. If you sell a copy that can be copied and distributed at no cost how can you spread the cost of creation across a large set of paying users?
Software licenses were the answer. By not “selling” the software outright creators retain full ownership and use copyright law to limit anyone else from making copies. Then, usually in exchange for a fee, the creator loosens up just enough of the restrictions to attract users to the software. The restrictions usually include:
- Limiting the use of the software to those paying fees
- Limiting the installation of the software to a certain set of (physical or virtual) machines
- Limiting sharing, renting, or reselling of the software
- Limiting certain uses of the software
- Limiting examining the source code (traditionally, source code was not licensed and simply kept hidden)
- Limiting reverse engineering
- Limiting extending the software or building new software upon it
When you read a software licenses you find it’s mostly about LIMITS.
Limits are reasonable in ensuring that the creator is adequately compensated for their creative investments. But limits on use of the software also translate directly into limits on the business value you can obtain from the software. Some of the unpleasant side effects of these limits on a business include:
- Dependence on a single vendor. Typically the vendor retains enough rights that you cannot ultimately obtain the software or obtain services from anywhere else. If the interests of the vendor differ from yours, too bad.
- Lack of control over license fees – the vendor sets them and even after negotiating vigorously the vendor still has final control over the price and any price increases in the future.
- Misalignment of long term goals. The vendor makes the bulk of their money simply by selling the license – not by ensuring it gets deployed effectively (the problem of shelfware) or by providing the highest quality support. Support is often judged as a cost, instead of a revenue stream tied directly to customer satisfaction. A license sale is not inherently aligned with user value, which is realized by getting the software in production and keeping it going over the long term.
- Accidental license violations can carry stiff repercussions. For instance, moving from one machine to another is increasingly an automatic process – but does the license allow this? Are additional fees due if for instance the number of cores changes during the move?
- The customer has limited options for influencing product features and fixes. All they can do is plead with the vendor and hope for the best.
- The customer has little to no visibility into how the software actually works. This is especially damaging in the security space where more eyes on the source code make for a more secure solution.
It is no wonder that open source is so attractive – it reverses the premise that software licenses are about limits on the use. It eliminates many of the unpleasant side effects of traditional licensing by promising that the creator will NOT impose such limits.
Open source software is licensed under principles of freedom to use, study, improve, and share the software. The creator of the software, while still owning the intellectual property behind the software, has agreed that others may use the software without the traditional limits of a proprietary license. An open source license has:
- No fees
- No limits to installation
- No limits to sharing, renting, or even reselling
- No limits to usage
- No limits to changing, altering, or evolving the software - source code is even provided to encourage this
Many of the negative side effects of commercial licenses are correspondingly reversed:
- You are NOT dependent on a single vendor. If the vendor isn’t providing value, there is no monopoly over the source code preventing competition. You can switch (or threaten to switch) to another vendor.
- There are NO license fees on the basic product.
- The vendor makes money directly proportional to immediate and ongoing value – such as support, documentation, consulting, training, additional warranties, additional features.
- There is little chance of, and correspondingly less harm from, accidental license violations.
- The customer has a much greater variety of options for influencing product features and fixes – including sponsoring feature development or contributing features back themselves.
- The source code is fully available and can be rigorously examined by multiple parties for efficiency, reliability, and security.
- The source code can be readily archived by anyone – eliminating the complications of code escrow contractual provisions.
Now, it should be clear – while it’s easier to build a quality product using open source collaboration methods, it’s much HARDER to build a viable business creating software if you choose open source licensing. Disarming of the monopoly power of traditional licenses is not for the faint of heart. Many users will use your product for free if they are allowed to do so. You can’t just write great code and wait for the money to flow in, you also have to also invest in value-added services and keep them attractive.
The only thing harder, in the long run, than developing a successful open source business is NOT going open source and trying to compete with vendors who have committed and succeeded at this model.
In fact many, if not most, open source businesses have cheated a little bit on their open source commitment in order to make their businesses grow more reliably. The most common model is an "open core" model, where the core software is available open source, released under a designation such as "community edition." But as soon as enterprise features are needed customers must obtain an "enterprise edition." The enterprise edition typically abandons pure open source licensing and reverts to a traditional license – and the customer therefore loses to a large degree the advantages of open source licensing.
Over time, many customers have found this dual license model disadvantageous. The most demanded new features typically appear in the "enterprise" version rather than in the “community” version – it's a natural move to keep as much monopoly control as possible once you’ve stepped down that path. But at some point the community version really just becomes a teaser, providing a façade of open source, collecting some free improvements contributed by the community, but retaining the majority of the value of those contributions commercially for the vendor.
WSO2 is committed to a 100% Apache-compatible model. There is no community/enterprise version split – every product has all features and is enterprise ready. We provide support services, maintenance, consulting, training, and a variety of other valuable services around the free software, for which we work hard to build a strong value proposition and earn customer loyalty.
We would be remiss in omitting a notice that not all open source licenses are created equal. In general there are two families of open source licenses – "permissive" and "copyleft."
Permissive is as it sounds – the user is free to do virtually whatever they like with the software – including creating derivatives and releasing them under a traditional commercial license.
Copyleft licenses require that any derivative works, which might be simple improvements or could be a combination of copyleft code with other pre-existing code, must also be made available under the copyleft license. This requirement scares many in the software industry, as it behooves them to commit upfront to open source license terms in any derivatives, or any other code they have which might be combined with the copyleft software.
This stifles their ability to start coding now and assess the ultimate value of the work, and the appropriate license to apply, later.
In one sense, copyleft protects the authors of the code, from being exploited by others building on and profiting from their work without giving back to the original creators. That is an admirable goal. But it is not one that a lot of businesses are able to commit to in advance. A permissive license allows a business to adopt code, improve it, share it, profit from it, or whatever, without having to make a decision up front about whether to share the derivative back to the community.
WSO2 encourages contributions and derivative works released under an open source license, but does not demand that users pre-agree to return improvements to the community. Especially in the middleware space, it is fairly common that an internal application evolves into a marketable standalone product. It is wise not to constrain future business models. For these reasons WSO2 exclusively provide customers with permissive open source licenses, specifically the most well known, the Apache 2.0 license.
Peter Cochran has said "The world is divided into two kinds of people, those who spend a great deal of time saving money, and those who spend a great deal of money saving time."
WSO2 believes that the combination of free open source software – which can be used and improved by all – together with valuable business services that help customers save time at a reasonable cost – are the ultimate future of the industry. We believe permissive open source licenses provide the greatest alignment between the interests of creators and users of software.
So we encourage you to download and try out our products under the open source "no obligation" license. We encourage you to engage with the WSO2 community – share your experiences, contribute back to the projects, or if you put a value on saving time, explore a commercial relationship with WSO2. We are highly motivated to ensure you are satisfied.