What is open-source software (OSS)?
In the context of software development, open-source refers to a set of code (a.k.a. a software) that is open to the public to be seen, edited and/or shared[1]. This implies that when someone downloads and uses an open-source software(OSS), the user trusts that it is reliable.
One beauty of OSS is transparency; anyone can learn and improve their programming skills by viewing and working with it. Many believe it is also better than other proprietary software as more viewers and contributors warrant better chances of fixing errors and developing upgrades. However, the reality is that not many are able to consistently commit to maintaining their OSS projects. Especially, when the scale is enormous and without compensation or support. Although there are ways OSS developers can gain financial support through sponsorships like on GitHub and crowd funding like Buy Me A Coffee, maintenance contracts and being compensated properly by companies for their service is rare[2].
Npm libraries, ‘colors’ and ‘faker’ compromised by its creator?
In the past years there have been several cases in which OSS developers are tasked by companies, who use their projects, to help them with a problem without compensation or even support in maintenance[2]. More recently, there is news about the npm packages, specifically the utilities ‘colors’ and ‘faker’ being compromised as some users realized it generates some unusual codes [2],[3]. Speculation is that, Marak Squires, the creator of those utilities, intentionally altered the source code as a sign of protest to companies who exploit OSS developers[2][3]. So as a result, projects that rely on those npm packages were affected including the popular Amazon’s Cloud Development Kit, another OSS[2].
Arising from this, is the issue of ethics in OSS, specifically integrity, which is part of the security triad discussed in class. Like mentioned earlier, one essence of open-source software is the freedom to improve the program by anyone. The free software foundation further specifies this condition by stating that the improvement should benefit the whole community [4]. Though it’s clear that motivations of developing OSS can vary, over the years, OSS has gained favorability mostly by staying reliable and it is its community who ensures that.
So going back to the npm issue, if the creator did indeed alter his creation as a protest, are his actions excusable? Is it ethically right to make changes in your own creation knowing that other projects rely on it? It is tragic that programmers dedicate their time and energy developing these codes and share them for free while companies make use of their work to make millions of profit and then proceed to demand help when problems arise. So even though Squire’s supposed actions are understandable and it brings light to the sad byproduct of things being ‘open’, it has to be said that its consequence leads to a question of OSS’s reliability.
So what should be done? It is definite that proper compensation should be established; if not for the product at least for the service. Doing so keeps the enthusiasm of OSS developers as it shows respect to their creation and their efforts. This way developers who mean well in developing OSS projects would not get tempted in tampering with their own code or even taking it down.
Now, besides the creator being able to modify their own creation, part of OSS principle is that anyone can contribute. So, then how are OSS projects being kept secure from malicious modifications (besides being transparent)?
(Feel free to write your response as a comment below. 🙂 )
References:
[0] B. Taubenblatt. “The case for open source software,” mcgilltribune.com https://www.mcgilltribune.com/sci-tech/the-case-for-open-source-software-011017/ (accessed on January 19, 2022)
[1] “What is open source?,” opensource.com. https://opensource.com/resources/what-open-source#:~:text=Some%20people%20prefer%20open%20source,original%20authors%20might%20have%20missed. (accessed on: January 18, 2022)
[2] O. Williams. “Open source developers, who work for free, are discovering they have power,” techcrunch.com. https://techcrunch.com/2022/01/18/open-source-developers-who-work-for-free-are-discovering-they-have-power/ (accessed on: January 18, 2022)
[3] H. Solomon. “Protest by open source developer raises questions about compensation and ethics,” itworldcanada.com. https://www.itworldcanada.com/article/protest-by-open-source-developer-raises-questions-about-compensation-and-ethics/470489 (accessed on: January 18, 2022)
[4] F.S. Grodzinsky et.al., “Ethical Issues in Open Source Software,” researchgate.net. https://www.researchgate.net/publication/241209540_Ethical_issues_in_open_source_software
More related readings, if interested: