Time for Net Giants to Pay Fairly for the Open Source on Which They Depend
Net giants depend on open source: so where's the gratitude?
Licensing lies at the heart of open source. Arguably, free software began with the publication of the GNU GPL in 1989. And since then, open-source projects are defined as such by virtue of the licenses they adopt and whether the latter meet the Open Source Definition. The continuing importance of licensing is shown by the periodic flame wars that erupt in this area. Recently, there have been two such flarings of strong feelings, both of which raise important issues.
First, we had the incident with Lerna, "a tool for managing JavaScript projects with multiple packages". It came about as a result of the way the US Immigration and Customs Enforcement (ICE) has been separating families and holding children in cage-like cells. The Lerna core team was appalled by this behavior and wished to do something concrete in response. As a result, it added an extra clause to the MIT license, which forbade a list of companies, including Microsoft, Palantir, Amazon, Motorola and Dell, from being permitted to use the code:
For the companies that are known supporters of ICE: Lerna will no longer be licensed as MIT for you. You will receive no licensing rights and any use of Lerna will be considered theft. You will not be able to pay for a license, the only way that it is going to change is by you publicly tearing up your contracts with ICE.
Many sympathized with the feelings about the actions of the ICE and the intent of the license change. However, many also pointed out that such a move went against the core principles of both free software and open source. Freedom 0 of the Free Software Definition is "The freedom to run the program as you wish, for any purpose." Similarly, the Open Source Definition requires "No Discrimination Against Persons or Groups" and "No Discrimination Against Fields of Endeavor". The situation is clear cut, and it didn't take long for the Lerna team to realize their error, and they soon reverted the change:
I apologize for making the rash decision to support the addition of an unenforceable clause to the project's MIT license. I failed to accurately assess the impact of this change, which led me to (incorrectly) focus on the intent. Despite the most noble of intentions, it is clear to me now that the impact of this change was almost 100% negative, with no appreciable progress toward the ostensible goal aside from rancorous sniping and harmful drama.
The Lerna episode was a useful opportunity for the Open Source world to remind itself that true freedom includes the freedom to use software in ways that many might not approve of. Stallman appreciated this early on, and he wrote the post "Why programs must not limit the freedom to run them" on the topic.
The other flare-up over licensing has been similarly instructive. It involves Redis, "an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker". Here's the problem, as outlined by Salil Deshpande, Managing Director at Bain Capital Ventures, which has invested in Redis Labs:
Amazon takes Redis (the most loved database in StackOverflow's developer survey), gives very little back, and runs it as a service, re-branded as AWS Elasticache. Many other popular open-source projects including, Elasticsearch, Kafka, Postgres, MySQL, Docker, Hadoop, Spark and more, have similarly been taken and offered as AWS products.
To be clear, this is not illegal. But we think it is wrong, and not conducive to sustainable open-source communities.
The response from Redis Labs was to append for certain add-on modules an extra paragraph, known as the Commons Clause, to its open-source license. It includes the following: "Without limiting other conditions in the License, the grant of rights under the License will not include, and the License does not grant to you, the right to Sell the Software."
Deshpande writes: "if you want to take substantially the same software that someone else has built, and offer it as a service, for your own profit, that's not in the spirit of the open-source community." But that's incorrect. Both the Free Software Definition and the Open Source Definition explicitly require that option. There's even a page all about selling free software on the main gnu.org site. Well known voices within the coding community were more or less unanimous: the Commons Clause negates any open-source license it is used in conjunction with, and really misses the point of free software.
That notwithstanding, the Commons Clause does spring from a legitimate concern. As Deshpande points out, Amazon is making a lot of money offering open-source programs on its cloud computing platform. In fact, its debt to the hacker community goes much deeper: free software permeates the company and its operations. Without open source's low costs and ability to scale, Amazon might never have grown to become the world's second trillion-dollar company by valuation.
Moreover, the same can be said of many of today's internet giants. Google and Facebook are also built on a variety of open-source programs, and they probably would have struggled to achieve the rapid growth and today's high profitability had they been forced to depend on proprietary code.
It's true that all these companies "give back" to free software in various ways. They have open-sourced some code that they have written; provided bug reports and fixes to key programs; supported top free software coders by employing them; and encouraged young people to join the Open Source world, for example through Google's annual Summer of Code.
Those are all welcome. But they are not enough. The decision to craft the Commons Clause was driven largely by companies based around open source seeing internet giants like Amazon deriving great financial benefit from being a free rider on their efforts. That is neither fair nor sustainable. Indeed, it is extremely foolish for companies like Google and Facebook to exploit open source and its culture of frictionless giving. Ultimately, if these companies that are highly dependent on free software don't start providing serious financial support, paid directly to open-source projects and to their associated companies, those resources will dwindle and may disappear.
They should pay not because the license forces them, but simply because it is in their own interests to do so. That's particularly true at a time when the big internet companies are increasingly being painted as the source of all digital evil. Frankly, they need to do more on the public relations front if they are to avoid punitive legislation being passed around the world. Supporting open source generously—with some very large and regular cash payments—would be an excellent way to do that. It would burnish their public image, safeguard their core infrastructure and give a massive boost to projects whose unstinting generosity enriches the entire world.