What is the open source development model and what are the characteristics of open source contributors?
Tars
Published at 05/08/2022
Views 1532

Open Source Software (OSS) refers to a computer source code that is publicly available so that anyone can see, modify, and distribute it. OSS development happens in a decentralized and collaborative manner by open source communities. Due to that, OSS is cheaper and more flexible if compared to software developed by a single company or a single individual.
OSS is widely used today by companies and individual users, and thousands of new open source projects are created every year. In this article, we will discuss the open source development model, the difference between free, closed, and open source software, and the characteristics of people and projects contributing to OSS.

What is the open source development model?

The process used by an open source community to develop an OSS project is called open source development model [6]. First, it starts with an idea for a new project, a new feature, or a capability to an existing open source project. Then, volunteering developers develop the proposed feature and create a merge request. Someone with more experience from the community (usually maintainers or reviewers) will review the code change and decide if it should be merged into the main version of the code or not. Reviewers/maintainers may also ask for changes. When the software has the proposed features for a release (normally decided within the community), the current version will be released as a development release, even though it may contain known and unknown bugs. This software will then be tested by the community who discuss the software through mailing lists or other discussion channels (e.g. Slack) and provide feedback, create bug reports, or submit fixes to the encountered bugs. The feedback is recorded and taken into consideration by project members and maintainers to improve the implementation and then a new development release will be available. This cycle happens as many times as needed until project members feel that the implementation is stable enough. When the implementation is released as stable, the development cycle continues with the development release (also called development tree) until a newer stable release is available. The software is released under an open source license so that anyone can view, modify, and distribute the source code.
Nowadays, most open source projects are hosted on GitHub, which is a distributed version control and source code management platform. GitHub also allows open source projects to track bugs, feature requests, documentation, and tasks. By accessing GitHub, users can access source code repositories and also contribute to open source projects by developing new code, fixing bugs, or writing documentation, for example. Well-known open source projects are Linux, Kubernetes, and TARS.

Open source software is more used nowadays than ever. OSS projects might be donated to open source foundations, which are non-profit organizations aiming to support newly open-sourced projects, integrate related OSS projects, provide a quality seal to the project, foster the development of open source projects through governance, and minimize the risks of potential failure. A great example is the TARS project that was donated to the Linux Foundation in 2018 and has grown to be the TARS Foundation since 2020.

What is the difference between free, closed, and open source software?

The free software movement was created by Richard Stallman in 1983 through the GNU Project. The idea was that the user should be free to see the source code, modify it and redistribute it. On the contrary, proprietary or closed source software is software in which only the owners have the legal right to access the source code. Closed software cannot be legally changed or copied and normally the user pays to use the software.
Free software was, however, misinterpreted for a long time in which people thought that free software meant free to own it, i.e., it is related to free regarding its price. That's not the case! Free software means to use the software in the way you want to use it. To address this problem, free software was replaced by open source, a term that focuses on the source code. The term open source was coined by Christine Peterson who proposed the idea of replacing free software with open source software in a working group dedicated to making the developed model broader. This group wanted everyone to know that software is better when it is shared, collaborative, and open. As a consequence, software would be more flexible, cheaper, and have no vendor lock-in.
In 1997, Eric Raymond who was one of the members of this working group published the famous essay "The Cathedral and the Bazaar", which presents lessons on how to create good open source software. By 1998, the Open Source Initiative (OSI) was created and formalized the term open source and its definition.

5 differences between open source and closed source software

You might be wondering about the differences between open source and closed source software. We present below the top 5 differences [3].

  1. Price: open source is available for zero licensing and usage charges while closed source costs depend on the scale of the software.
  2. Freedom to customize: open source is completely customizable depending on the open source license. In closed source, however, the user needs to request changes to the company selling the software.
  3. Support: popular open source software (such as Red Hat) has a lot of support. Other than that, users can find help on user forums and mailing lists. In closed source, there is usually a dedicated support team and the support depends on the service-level agreement (SLA).
  4. Security: open source software has an entire community reviewing the code, which makes bugs hard to survive. In closed source, the software distributor is responsible for fixing bugs if they are found.
  5. Vendor lock-in: there is no vendor lock-in in open source. In closed source, however, large investments are made in proprietary software, and changing to a different vendor can cost a lot of money.

Who contributes to open source nowadays?

Open source has many advantages over closed source software and because of that, it is being widely used. According tothe State of the Octoverse 2021, 73M+ developers used the GitHub platform in 2021, of which 16M+ are new users.
Figure 1 presents the number of projects per country. In an analysis conducted by Mombach et al. [1], 5,388 projects were analyzed in November of 2017. Such projects are distributed in over 77 countries. In summary, the United States has the largest number of projects (2,302 projects, 42%), which is three times greater than the second country (China).
Chinese projects have been considerably growing over the years. From 2012 to 2018, Chinese membership of the Linux Foundation increased by more than 400% [4]. Furthermore, Chinese companies now make the third most contributions to projects hosted by the Cloud Native Computing Foundation, after the USA and Germany. As an example of the growth of a Chinese project, TARS increased the number of contributors by 13% in the past year as well as by 34.23% its number of commits.
图片
Figure 1: Number of GitHub projects per country [1]

Similarly, most active users on GitHub in 2021 are from North America and Asia (see Figure 2). While the number of active users in North America decreased by 2.3% compared to 2020, the number of Asian active users increased by 0.3%.
Concerning GitHub users, 94% of open source users are men and only 6% of open source contributors are women. According to an open source survey [5], the number of women contributing to open source is very low compared to men because women are more likely to encounter language or content that makes them feel unwelcome as well as stereotyping. Furthermore, women are also more likely than men to ask for help from someone they know rather than ask for help in a public forum or channel (as in open source software).
图片
Figure 2: Geographical distribution of active users. Image extracted fromThe State of the Octoverse 2021

Despite the number of active users, companies also contribute to OSS. According to the open source index, until January 2022, Google, Microsoft, and Red Hat are the top 3 organizations that have employees contributing to open source.
图片
Figure 3: Organizations ranked by the volume of their employees’ year-to-date open source contributions on GitHub. Extracted from Open Source Index.

TL;DR

Open source software has many advantages over closed source software. USA and China are the major contributors to open source in 2021 and 96% of GitHub users are men. Google, Microsoft, and Red Hat are the top 3 organizations that have employees contributing to open source.

About the author:

Isabella Ferreira is an Ambassador at TARS Foundation, a cloud-native open-source microservice foundation under the Linux Foundation.

References

[1] Mombach, Thais, et al. "Open source development around the world: A comparative study." arXiv preprint arXiv:1805.01342 (2018).
[2] https://medium.com/intuit-engineering/open-source-where-are-the-women-ae20623529ca#:~:text=Currently%2C%20open%20source%20is%20dominated,tech%20industry%20(25%25)%C2%B9.
[3] https://www.synopsys.com/glossary/what-is-open-source-software.html
[4]
https://merics.org/en/short-analysis/china-bets-open-source-technologies-boost-domestic-innovation
[5] https://www.toptal.com/open-source/is-open-source-open-to-women
[6] http://aaaea.org/Al-muhandes/2008/February/open_src_dev_model.htm