Professionalism/Eric Raymond and Open Source Software
Eric S. Raymond and Open Source Software
Eric S. Raymond
Eric S. Raymond was born in Boston, Massachusetts. Being born with cerebral palsy led Raymond to, as he said in an interview, "look upon computers as a realm in which he could exercise the kind of control denied [to] him in the physical world"[1]. At college he studied mathematics and philosophy at University of Pennsylvania in the 1970s. He sought to update The Jargon File while doing programming work, and published The New Hacker’s Dictionary in 1991. Raymond became a advocate for open source software early in his career. In 1997 Raymond wrote the famous essay and later book The Cathedral and the Bazaar on his experiences with Linux and open source software. The Open Source Initiative (OSI) was founded by Raymond in 1998, the first organization to define what open source means[2]. They support the approach of providing source code to developers and work to educate the public about OSS[2][3].
Open Source Software
The term Open Source refers to source code that anyone can inspect, modify, and enhance[4]. Source Code refers to the actual code that is used to run a particular software. Typically, the source code is not publicly available but the author can choose to make it public. The most common place to look for open source software is a website called Github which essentially stores code that developers have publicly published. Some examples include the source code for the linux operating system (an alternative to a Windows computer), OpenCalphad (thermodynamics calculation library), and ManiSkill (Robotic Simulation software).
Copy-Right vs. Copy-Left
Naturally, open source software can lead to instances of plagiarism and unauthorized copying or selling of an author's work. Therefore, different "levels" of open source software must be defined. The term Copyright is a form of protection that protects authors from unauthorized copying or selling of their work[5]. This implies that the author's permission is required to in order to do such activities[5]. Copyleft allows the author to place copyright on his or her own work and use distribution terms[5]. An example of a distribution term is the GNU Free Documentation License which allows public use, modification, and redistribution of the code only if the distribution terms remain unchanged.
FOSS vs FLOSS
One thing to note is that different groups use different terms to refer to similar things: Free and Open Source Software (FOSS) or Free, Libre Open Source Software (FLOSS) [6]. The term, FOSS, was meant to represent Open Source Software that Eric S. Raymond is advocating for[6]. However, some people argued that the term FOSS is misleading because some may understand "free" as simply price[6]. Therefore, a new term, FLOSS, was coined to specify that "Free" not only mean price but rather user freedom to modify software as desired[6].
Participant Groups
The debates surrounding open source software have their origins in the free software movement, which began in the 70s. Due to commercialization hindering the very common practice of sharing source code openly, enthusiasts founded the Free Software Foundation (FSF), led by Richard Stallman[7]. The FSF defined free software with four fundamental principles: the freedom to use, study, redistribute, and change the source code[8].
Due to confusion with the name, the Open Source Initiative (OSI) separated from the FSF in 1998[9]. The OSI created a looser definition, which became known as open source software (OSS), that included some forms of proprietary software and copyright. All free software is also open source, but not vice versa[8].
The FSF and the OSI work together under the free and open source software umbrella. However, they are different organizations. The FSF argues for a strong moral stance against proprietary software completely, whereas the OSI allows some forms of it[7][8].
Some companies, such as Microsoft, have created sites focused on sharing the source code of projects. What makes these sites unique compared to other public sharing sites is their focus of being integrated into popular IDEs or coding interfaces[10]. For example, interfaces such as PyCharm, IntelliJ, and Android Studio have built in connections to GitHub, which makes it easier to download and modify code[10]. GitHub in particular is so ingrained in programming that it is essentially required to learn before interacting with other programmers.
However, businesses have not always been in favor of OSS. Despite later creating GitHub, an executive from Microsoft called it an ‘intellectual property destroyer’ in 2001[11]. They were among the first critics that claimed OSS was more risky than other forms of software. Such criticism has quieted in recent years as OSS is widespread within business. According to Christopher Tozzi, 78% of businesses used free and open source software in 2017, with some operating completely on it[12].
Hardware companies in particular are impacted by the regulations of open source software. A common way to distribute proprietary software is through some form of hardware, such as a disc or cartridge. However, open source tends to be shared via programming files directly, skipping the need of a hardware transfer medium[10]. Hardware needed to execute files comes built into devices instead of being a separate product, which reduces the demand.
The regulations surrounding OSS affect every user of the internet in some way. From minor extensions to entire operating systems, it is incredibly difficult to completely avoid ever using an OSS program[13]. Enthusiasts especially use a lot of open source systems. Modding video games is a common example of this. While the games themselves may not be OSS, the mods made for it typically are. These mods are often just made for fun and shared through systems that don’t hide the source code.
Ethics of Open Source Software (OSS)
The ethics of OSS, such as other technologies, depend upon the application and the users of such tools. Similar to other technologies, OSS can serve as significant benefits to society encouraging virtues such as technological progress and freedom or drastic costs harming individuals at a global scale.
Benefits
Security: One benefit of OSS is an increase in the source code's security[14]. OSS opens the source code to a plethora of developers allowing more developers to spot and address potential bugs and security problems[14]. Additionally, developers are incentivized to provide elegant code allowing ease of use[14].
Resilience: Another benefit of OSS are more resilient projects[14]. Opening the source code to the public allows the community to adopt or copy the code[14]. This means that useful projects do not necessarily if it is not profitable[14]. Opening the source code to the public also shares maintenance costs since the community can contribute to keeping the source code updated[15].
Collaboration: OSS also encourages collaborative working[14]. This benefit promotes speed since significantly more developers would be working on the code and cost-effectiveness since some developers enjoy modifying code in their spare time[15]. Similarly to the benefit of resilience, the maintenance cost of the source code is shared[15].
Risks
Malicious Actors: One of biggest issues with OSS is that malicious actors also have access to the source code. Since many publicly available source code is actually used in our current systems, malicious actors could look for security flaws and exploit it for their own gain[16]. One developer handed ownership of the source code for a utility called xz to a random individual only for that individual to create a backdoor giving them access to any users who uses the xz utility[17].
"Ethical Issues in Open Source Software"
The 2003 report by university researchers Frances Grodzinsky (SHU), Keith W. Miller (UIS), and Marty J. Wolf (BSU) discusses important ethical topics surrounding OSS and the influence on involved social groups. The authors identify main areas of interest in the world of OSS, including social contacts involved, what motivates the quality of OSS work, how autonomy and personal responsibility influence work, how accessibility is handled by OSS, and if OSS is truly a public good to society.
Social Contract - A social contract is the guidelines that define what's given and what is expected from social groups. In 1997 computer programmer Bruce Perens developed the first guidelines for OSS developers and users[18][19]. It applied to the Debian Linux/GNU operating system and was called the Debian Free Software Guidelines[18][19]. OSS and developers are given a foundation of expectations produced with these guidelines. With the use of guidelines, "cooperation and mutual support" are emphasized by developers[18]. Developers use this in their work that might be motivated by different reasons. Developers might come into projects with different goals, such as producing a public good, finding belonging in a like-minded community, or for an "enlightened self interest"[18]. Such self interest can be compared to an interest in software that the developer views as something that's wanted and needed today's users and their own desires[18]. These differences in perspective are harmonized by use of the social contract in OSS.
Quality - Quality can be referred to as the integrity of the work of a developer, given their knowledge and skills. The authors highlight that those working with OSS "are motivated to do quality work because not only are they developing software for their own use, but their reputations among their peers also are at stake"[18]. The social contract is added to by the impact of quality work on reputation, and becomes an unspoken social contract that strengthens the work done by a team of developers. The constant updates, testing, and evolving documentation also strengthen the quality of work done by developers[18].
Autonomy - The authors use autonomy to describe the actions of an individual compared to those taken and expected by society. It is explicitly stated in this report that OSS developers have the "professional ethical responsibility to develop solid, well-tested code"[18]. The developer has a greater degree of control over their work, but with multiple collaborators there's shared ethical responsibility of producing the best product through efficient and useful collaboration.
Accountability - The authors highlight how OSS solves two of the accountability issues involved in computer science, many hands and bugs[18]. The issues mentioned in the paper come from Helen Nissenbaum's article Computing and accountability, where she lists the four barriers as:
- "... 'Many hands'-because computer systems are created predominantly in organizational settings.."
- "...Bugs-because bugs not only cause problems but commonly are conceived of as a fact of programming life..."[20].
- "...The computer as scapegoat-because it can be convenient to blame a computer for harms or injuries..."[20].
- "...Ownership without liability-because in the clamor to assert rights of ownership over software, the responsibilities of ownership are neglected"[20].
Public Good - A public good in the world of computer science has been defined by sociologist Peter Kollack (UCLA), as "things that "anyone can benefit from, [things that are to a certain degree] non-excludable and indivisible"[20] [21]. This is identified in Kollack's paper The Economies of Online Cooperation: Gifts and Public Goods in Cyberspace. He defines non-excludable as something that "is difficult in keeping people from benefitting from the good" and indivisible as "the consumption of the good does not reduce the amount available to another"[21]. The authors use Kollack's definition and affirm that OSS is a public good - it is free for all to benefit from and everyone has the opportunity to get benefit from it.
Contributions to OSS and Ethics
Raymond’s wrote significant essays that impacted the OSS, hacker, and software development world, and include The Cathedral and The Bazaar, Homesteading the Noosphere, and The Magic Cauldron[22]. The themes of the papers and more works done by Raymond highlight software engineering ethics discussed in "Ethical Issues in Open Software".
Cathedral and Bazaar
The essay and later book written by Raymond brought him the first taste of notoriety. Raymond discusses Linux history and develops models that explain types of software debugging[23]. He uses the models and history to develop an open source software project, fetchmail (source)[23]. He also includes lessons he learned along the way, which follow:
- “Every good work of software starts by scratching a developer's personal itch”[24].
- “Good programmers know what to write. Great ones know what to rewrite (and reuse)”[24].
- “You often don't really understand the problem until after the first time you implement a solution. The second time, maybe you know enough to do it right. So if you want to get it right, be ready to start over at least once” [24].
- “If you have the right attitude, interesting problems will find you”[24].
- “When you lose interest in a program, your last duty to it is to hand it off to a competent successor”[24].
- “Users are wonderful things to have, and not just because they demonstrate that you're serving a need, that you've done something right. Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging”[25].
- “Release early. Release often. And listen to your customers”[26].
- Linus law: “Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone” or “Given enough eyeballs, all bugs are shallow”[26].
- “Smart data structures and dumb code works a lot better than the other way around”[27].
- “If you treat your beta-testers as if they're your most valuable resource, they will respond by becoming your most valuable resource”[27].
- “The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better”[28].
- “Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong”[28].
- “Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away''[28].
- “Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected”[29].
- “When writing gateway software of any kind, take pains to disturb the data stream as little as possible—and never throw away information unless the recipient forces you to!”[29].
- “When your language is nowhere near Turing-complete, syntactic sugar can be your friend”[30].
- “A security system is only as secure as its secret. Beware of pseudo-secrets”[30].
- “To solve an interesting problem, start by finding a problem that is interesting to you”[31].
- “Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one.”[31].
Homesteading the Noosphere
Raymond's follow up to The Cathedral and the Bazaar addressed ownership and control of OSS projects as well as how developer and hacker culture reacts to it.
In this essay Raymond brings up some of the same themes discussed by the supports a software developer's commitment to quality in the essay: "“one’s work is one’s statement...and there’s a strong ethos that quality should (indeed must) be left to speak for itself...Boasting or self-importance is suppressed because it behaves like noise tending to corrupt the vital signals from experiments in creative and cooperative behavior”[18][32]. Raymond also references autonomy and social contracts remarking: "The open-source culture has an elaborate but largely unadmitted set of ownership customs. These customs regulate who can modify software, the circumstances under which it can be modified, and (especially) who has the right to redistribute modified versions back to the community”[18][32]. The guidelines allow for civil collaborations and expectations that center on responsibility to develop between collaborators.
References
- ↑ Leonard, Andrew (1998-03-31). "Let my software go!". Salon. Retrieved 2025-05-04.
- ↑ a b "About". Open Source Initiative. Retrieved 2025-05-04.
- ↑ "Open Source Initiative - an overview | ScienceDirect Topics". www.sciencedirect.com. Retrieved 2025-05-04.
- ↑ Opensource.com. "What is open source? | Opensource.com". opensource.com. Retrieved 2025-04-23.
- ↑ a b c "Copyright vs. Copyleft". www.gnu.org. Retrieved 2025-04-30.
- ↑ a b c d "FLOSS and FOSS - GNU Project - Free Software Foundation". www.gnu.org. Retrieved 2025-05-01.
- ↑ a b "What is free software and why is it so important for society? — Free Software Foundation — Working together for free software". www.fsf.org. Retrieved 2025-05-05.
- ↑ a b c "What is Free Software? - GNU Project - Free Software Foundation". www.gnu.org. Retrieved 2025-05-05.
- ↑ "History of the OSI". Open Source Initiative. Retrieved 2025-05-05.
- ↑ a b c "GitHub Features". GitHub. 2025. Retrieved 2025-05-05.
- ↑ Miller, Keith; Voas, Jeffrey; Costello, Tom (2010). "Free and Open Source Software". IT Professional. 12 (6): 14–16.
- ↑ Tozzi, Christopher (2017). For Fun and Profit: A History of the Free and Open Source Software Revolution. MIT Press. p. 187. ISBN 978-0-262-34118-9.
- ↑ Butler, Simon; Gamalielsson, Jonas; Lundell, Björn; Brax, Christoffer; Mattsson, Anders; Gustavsson, Tomas; Feist, Jonas; Kvarnström, Bengt; Lönroth, Erik (2022). "Considerations and challenges for the adoption of open source components in software-intensive businesses". Journal of Systems and Software. 186: 1.
- ↑ a b c d e f g "Open-source software: why it matters and how to get involved". The Alan Turing Institute. Retrieved 2025-05-02.
- ↑ a b c Congdon, Lee. "8 advantages of using open source in the enterprise | The Enterprisers Project". enterprisersproject.com. Retrieved 2025-05-02.
- ↑ Felker, Nick (2024-04-03). "Is open-source software ethical?". Medium. Retrieved 2025-05-02.
- ↑ Sonar. "XZ Backdoor Hack: News and Recommendations | Tidelift". tidelift.com. Retrieved 2025-05-02.
- ↑ a b c d e f g h i j k Grodzinsky, F S; Miller, K; Wolf, M J (2003-01-01). "Ethical issues in open source software". Journal of Information, Communication and Ethics in Society. 1 (4): 193–205. doi:10.1108/14779960380000235. ISSN 1477-996X.
- ↑ a b "Debian's "Social Contract" with the Free Software Community". lists.debian.org. Retrieved 2025-05-03.
- ↑ a b c d Nissenbaum, Helen (1994-01-02). "Computing and accountability". Commun. ACM. 37 (1): 72–80. doi:10.1145/175222.175228. ISSN 0001-0782.
- ↑ a b "The economies of online cooperation", Communities in Cyberspace, Routledge, pp. 229–248, 2002-06-01, ISBN 978-0-203-19495-9, retrieved 2025-05-04
- ↑ "Welcome to tuxedo.org!". tuxedo.org. Retrieved 2025-05-03.
- ↑ a b "The Cathedral and the Bazaar". www.catb.org. Retrieved 2025-05-03.
- ↑ a b c d e "The Mail Must Get Through". www.catb.org. Retrieved 2025-05-03.
- ↑ "The Importance of Having Users". www.catb.org. Retrieved 2025-05-03.
- ↑ a b "Release Early, Release Often". www.catb.org. Retrieved 2025-05-03.
- ↑ a b "When Is a Rose Not a Rose?". www.catb.org. Retrieved 2025-05-03.
- ↑ a b c "Popclient becomes Fetchmail". www.catb.org. Retrieved 2025-05-03.
- ↑ a b "Fetchmail Grows Up". www.catb.org. Retrieved 2025-05-03.
- ↑ a b "A Few More Lessons from Fetchmail". www.catb.org. Retrieved 2025-05-03.
- ↑ a b "The Social Context of Open-Source Software". www.catb.org. Retrieved 2025-05-03.
- ↑ a b Raymond, Eric S. (1998-10-05). "Homesteading the Noosphere". First Monday. 3 (10). doi:10.5210/fm.v3i10.621. ISSN 1396-0466.