20200331 Creativity ante portas.jpg.tig Copyright© Miklos Szegedi – 2020

I have been working with open source since 2016. I am an Apache Hadoop committer.

Open source code is available in general without any barriers. Whether you can use it depends on the specific license you are bound to. There are two kinds of open source licenses. Copyleft licenses like the one that controls the use of Linux, the most prevalent operating system these days have strong restrictions. These licenses grew out of academia. The original copyright belongs to the individuals, universities and companies, who wrote the code. Their original intention is to make it available to the users, who cannot afford the expensive commercial licenses and also to spark discussion. It also helps to market these products faster. If you intend to use these for commercial purposes, you either need to pay the original copyright holder or at least distribute your contributions under the same legal umbrella.

Copyright licenses on the other hand allow free usage and distribution with small restrictions. Some licenses for example even allow any users to use the software freely with any patents it uses. Patenting interestingly helps the project retain it’s free status in this case.

The difference becomes important with cloud services. Big cloud vendors like Amazon and Microsoft invest in hardware but sell it with open source software as a subscription. They insist that they can still use copyleft licensed software, since they do not redistribute the code but the service instead. Vendors and their customers argue that the restriction on open software limits opportunity as the license never expires as opposed to patents.

My opinion is that we will see some shift in the next decade in this area:

The amount of software that accumulated in the past decades makes it impossible for anybody to read them all and enforce all the licenses. Any newcomers should freely write software that is based on empirical evidence without any legal risk that limits their opportunity. Any trivial pattern should be able to be used, if the contributor creates it without the knowledge of previous work. This is a common pattern called reverse engineering, when one developer analyzes a code and another one creates a new one with a different license based on the same requirements.

Every software contains clauses about limited warranty. This made sense decades ago, when there were less professionals compared to lawyers. Authors had to protect themselves against misuse. Nowadays there are millions of software professionals. Software is reusable, there is no way to provide a legal response to every single bug. The result is the rise of services like GitHub, where anybody can write sketches of code without any fear of misuse. This is important. Any work you distribute under an open source license states its purpose implied. The fact that it is free to use suggests that not much resources were spent to test it. An open source developer still has responsibility. They need to make sure not to commit any issues intentionally for example not to inject security back doors into the code. The responsibility is split then with the cloud vendors and service providers, who should review every single line of code used and run extensive testing. Integrity is the responsibility of the original copyright owner but patent compliance, reliability and security is the responsibility of the providers to the end users. This provides the value of commercial businesses that distribute open source code that is free otherwise.

Special care should be taken about licenses because all of them have a caveat. The BSD and MIT licenses do not grant access to any patents of the copyright holder. A malicious developer can inject a legal Trojan horse into an ecosystem. Apache licenses take a stronger ownership by requiring the copyright holders to license to the Apache Software Foundation instead of the end user. This applies to patents as well. The community has stronger ownership this way but it poses some legal risks for both the copyright owner and the end users, since the foundation is self governed. The risk increases, if big players start supporting and lobbying a foundation.

I share the opinion of the Free Software Foundation by suggesting to use the simple CC0 Creative Commons License. It supports creativity compared to community. This does not retain any rights to the copyright owner other than the basics like trademark and patents. Any serious open source contributors do not patent software ideas. Any idea publicly distributed under this license cannot be patented anyways. This structure removes the legal risk from the system and provides the best tools for service providers and cloud vendors to add value to end users. This value includes legal responsibility, security, reliability, compliance that is represented by their own brands.

Every human being is equal, so they should have the opportunity to come up with the same ideas freely based on empirical evidence. This means that any work that is derived using science is essentially free, too. The way you can imagine it is as a mineral that you mine. You get the rights to think freely by your constitution thus you can mine the mineral. It’s value to you is given by the amount of work and resources you spent to come up with an idea or code. You cannot restrict others to come up with the same idea independently like you cannot restrict others to mine the same type of mineral in another region. On the other hand, customers pay for the value the idea and the software provides. The price of the hammer created from the mineral is not determined by the material itself. In case of software it is abundant, proportional to the amount of millions of software developers these days. The price is determined by the suitability and efficiency for the purpose of hitting a nail to build a house and the value of that house to their owners or renters.