Open Source And Free Software
Money, Politics And Javascript
I recently watched The Economics of Open Source, a JSConf EU 2019 talk by C J Silverio. C J Silverio is the former CTO of npm, Inc. and is currently involved with Entropic, a federated package manager for Javascript with Ronald Dahl. It has the potential to be the next big thing in Javascript and Web Development in general. I would recommend everything to check the first talk as well.
In her talk, Ceej talks about the history of javascript, node.js, and npm. A brief (and oversimplified) summary is this:
The early node community had many package managers. One of the managers eventually won and got official status, which continues to today. Joyent bought node but couldn’t buy npm since it was still the intellectual property of its creator. Around 2013, node and npm became explosively successful.
This success was expensive, with costs for managing centralized servers. Npm remains a centralized and privately controlled repository for modules. Private control is terrible because the community has no input in registry policies and features. Javascript community cannot hold npm inc accountable. C J and Ronald Dahl started entropic, a federated community-owned package manager as an alternative.
A central theme of the talk was ownership of the software and the intellectual rigts - Which inspired me to write this article on idealogies of intellectual rights in FOSS community.
Open Source Software
Open source is a term denoting that a product includes permission to use its source code, design documents, or content. Open source development can bring in diverse perspectives beyond those of a single company. In recent years, there has been a significant shift in attitudes towards Open Source, with companies such as IBM, Google and Microsoft having a serious public stake.
Free Software
Free Software is the software that grants the user the freedom to share, study and modify it. A common adage used to describe free software is Think free speech, not free beer. The emphasis of free software is on the freedom of the user, rather than the price of the software. Often, the term libre software (liberty) is used instead of free software to make a clear distinction.
Free Software Foundation additionally outlines the four pillars of freedoms which a free software must follow:
- The freedom to run the program for any purpose.
- The freedom to study how the software works and modify it.
- The freedom to redistribute copies.
- The freedom to improve the program and release improvements to the public.
Both Open Source and Libre software can be protective (copyleft) or permissive.
Libre and Open Source Software are included together under a umbrella term, Free And Open-Source Software.
Protective and Permissive Licenses
A copyleft license offers the right to modify and distribute copies of work provided the same rights are preserved. The derivates of copyleft software must also be copyleft and free software. Examples - GNU General Public License
A permissive license, on the other hand, offers the right to modify and distribute without any stipulations. Examples - MIT License, Apache License
Choosing A License
Having laid the groundwork, we can turn to the issue at hand - Choosing a license.
While researching the article, I realized the issue is not Open Source Vs. Free Software. It is Copyleft Vs. Permissive license.
A point Ceej brought up was ” Who makes the profits?”.
Javascript and npm are used and generate billions of dollars in revenue every year. The original contributors are not rewarded financially for their hard work.
Venture capitalists such as those who funded npm inc usually are rewarded. Additionally, permissive software is used by companies without any obligation to give back to the community.
Capitalism loves permissive software because of its exploitable.
Permissive software is easy to adapt and modify by an organization. There are under no restrictions to release their modified, better version. They can (and do) profit off the derivatives without giving back to the community.
Commercial organizations are wary of adopting a copyleft software due to its restrictiveness. They cannot profit from the derivatives.
The ugly truth about FOSS is there are never enough talented developers and resources.
The growth of a project relies on its volunteers and the community.
As a developer, I want to share my work and see other projects using it. I want to build and be a part of a community where other developers learn and share their ideas. However, I don’t want people and organizations without any contributions to profit off my work.
I lean towards copyleft licenses like GPL.
Too Long, Didn’t Read
- If widespread adoption is a priority, use MIT license (or any other permissive license).
- If freedom for the end-user and having same freedoms on derivatives is important, Use GPL v3 (or any other copyleft license).
I would recommend using choosealicense, a website by Github built to guide content creators.
References
- Revolution OS (96 minutes) - A documentary that explores the story of programmers like Stallman and Torvalds and their journey of the GNU/Linux and the Open Source movement. This movie inspired my love for Linux and open source.
- Economics of Open Source (37 minutes) - JSConf Talk by C J referenced throughout this article.
- Free Software Vs. Open Source Vs. Freeware.
- The Cathedral and the Bazaar - A 1997 essay suggesting a model of developing OSS.