Open-Source Background
Open-Source Contribution refers to contributing to the development or enhancement of publicly available software code, which is referred to as Open-Source Software. Open-Source Software, such as Linux Operating System, Android, Mozilla Firefox, Chromium, VSCode IDE, VLC Media Player, WordPress Content Manager System, and others, allows users to modify and use the software code. Open Source is an integral part of our daily lives, and we may use it without even realizing it. Additionally, even the code used for the first manned mission to the moon, Apollo 11, is open-sourced.
More and more companies are using open-source projects and there is an increasing trend among developers to contribute to open-source projects. In 2022, open-source projects generated an estimated $32.5 billion in revenue which is three times the value from only 5 years prior. In addition to the profit, other benefits of the open-source contribution could explain this fast growth rate:
-It encourages healthy competition among coders to make the project more accessible and user-friendly which improves the overall quality of the project
-Given the public access and sheer number of contributors, there is less room for error and a more efficient bug-fixing system in place than when compared to proprietary programs
-It provides free access to aspiring developers to hone their skills and gain hands-on experience that benefits their career in the long run by improving the contributor’s credibility.
According to GitHub, 30% of Fortune100 companies have launched their Open Source Program Offices as of 2022 and is expected to grow. Hence, this particular field warrants a closer look at common characteristics and trends that define open-source contributors. We hope to provide several key insights to demographic composition as well as a common background that contributors share.
Our analysis will prove useful for companies that seek to utilize open-source projects by enhancing their understanding of open-source contributors and recruit or attract more talent in the field.
Methodology
Stack Overflow, a leading developer platform, conducts an annual survey of software developers around the world that encompass a wide range of topics. By using their 2018 survey data, we focus our analysis on respondents that contribute to open-source projects. Over 100,000 developers from 184 countries completed the survey sharing info ranging from their demographic background to personal interests and preferences. Based on the distribution map the majority of the survey particpants are from the US and India which is intuitive since both countries are the technological hub of the world.
Top 20 countries with the largest Open-Source contribution.
As we can see that in the Treemap visualization below that the majority of open-source contributors are located in the USA and India followed by Germany and the UK. This is intuitive since these few countries together account for the majority of the development in the global tech industry. More specificially:
1) High population and tech-savvy workforce: Both India and the USA have large populations, and a significant portion of their population is educated in technical fields, such as computer science. This large pool of potential developers can lead to a greater number of contributions to open-source projects.
2) Cultural emphasis on technology and innovation: Both countries have a strong culture that values technology and innovation, which can lead to a greater interest in open-source software development.
3) Access to technology and resources: Developers in the top 4 countries have access to technology and resources, such as internet connectivity and funding, which are necessary for contributing to open-source projects.
4) Supportive government policies: Both India and the USA have supportive government policies towards technology and innovation, which can encourage developers to contribute to open-source projects.
5) Large tech industry: The US and India together hold the largest tech industry, in which many companies invest in open-source software development. This can provide developers with opportunities to work on open-source projects and gain recognition for their contributions.
Overall, these factors and others can contribute to the higher participation of developers from India and the USA in open-source software development compared to the rest of the world.
Based on the data, it appears that overall 43% of developers surveyed contribute to open source projects, while the other 56% do not. The reason behind this could be due to the fact that there is no financial gain from contributing to open-source projects (OSP). Since the compensation for proprietary development project is very attractive for coders to devote their time to these project rather than OSPs.
The majority of developers (about 80%) code as a hobby, while only a minority (around 20%) are professionals. Out of the total population of coders, around 45% contribute to open source projects. Within this group of open source contributors, about 90% are hobby coders, while the remaining 10% are professionals. Againt this ties to the fact that OSPs are collaborative effort to improve OSPs for the sake of common good and efficiency as well as learning rather than work.
When comparing open source contributors to non-contributors, the data suggests that hobby coders are more likely to be contributors than professionals. Specifically, among hobby coders, around 50% are open source contributors, while among professional coders, only around 25% contribute to open source.
Overall, it can be concluded that hobby coders are more likely to contribute to open source projects than professionals, possibly due to their passion for coding, flexibility with time, desire for community involvement, and personal satisfaction.
There are several reasons why more hobby coders contribute to open source than professionals:
Coding as a Passion: Hobby coders contribute to open source because of their passion for coding and desire to improve their skills. They are not driven by the need for financial gain or recognition, but rather by the satisfaction of creating something that can be useful to others.
Availability of Time (Flexibility) : Hobby coders have more flexibility with their time than professionals. They can contribute to open source projects during their free time, while professionals may not have that luxury due to work commitments.
An Informal way of Learning: Contributing to open source projects is a great way for hobby coders to learn new technologies and programming languages, as a method of 'sharpening the sword.' This is because open source projects often use the latest and most innovative technologies, which may not be used in a professional setting.
Connection with the Community (involvement): Hobby coders contribute to open source to be part of a community of like-minded individuals who share a passion for coding. Open source projects are often collaborative, and hobby coders enjoy the sense of community and camaraderie that comes with working on a project with others.
Happiness as a Motivation (Personal satisfaction): Contributing to open source projects can be personally rewarding for hobby coders. They can see the impact of their work on the project and know that they have contributed to something that can benefit many people. This can be a source of great personal satisfaction and motivation.
In contrast, professionals may be more focused on working on projects that have a direct financial impact for their company, or may not have the same level of passion for coding as hobby coders. Additionally, professionals may not have the same level of flexibility with their time, as they may be required to work on specific projects or tasks assigned by their employer.
Gender and Age Distribution of Open-Source Contributors
Firstly, in the pyramid graph below, we can see that male developers contribute far more to OSPs than female developers. There are several reasons why male developers dominate this field across all age groups:
1) Gender bias: The IT industry has been historically male-dominated, which has led to gender bias in recruitment, promotion, and other areas in this field. This can create a less inclusive environment for women, which can discourage them from participating in not only in OSP development, but also wider programming effort.
2) Lack of representation: The underrepresentation of women in the technology industry means that there are fewer female role models in open-source software development, which can make it more difficult for women to see themselves as part of the community.
3) Social norms: In many societies, there are social norms that discourage women from pursuing careers in technology or from participating in activities that are perceived as 'male-dominated.' This can lead to fewer women being interested in open-source software development.
4)Work-life balance: Women are often expected to take on more family and caregiving responsibilities, which can make it difficult to find the time and energy to contribute to open-source software development.
Overall, these and other factors can contribute to this wide gender gap in OSP development. Addressing these issues and creating a more inclusive environment for women in technology can help to close the gender gap and increase female participation in open-source software development and invite more diversity in the contribution going forward.
Secondly, we observe that the age group between 25 to 34 years contributes more to open-source as compared to other age groups in both gender. This can be explained by:
1) Technical expertise: Developers in this age range often have a higher level of technical expertise, having gained significant experience and knowledge through education and work experience.
2) Exposure to open-source: Younger developers have grown up in an environment where open-source software has become increasingly common and widely used. This exposure may have led to a greater interest in contributing to open-source projects.
3) Desire for recognition: Developers in this age range may have a greater desire for recognition and visibility in their field. Contributing to open-source projects can provide opportunities for them to showcase their skills and accomplishments.
4) Availability of time: Developers in this age range are often early in their careers and may have more flexibility in their schedules to devote time to contributing to open-source projects.
5) Collaborative culture: Open-source development is inherently collaborative, and younger developers may be more comfortable with collaborative work environments, having grown up in a culture that values teamwork and collaboration.
Open-Source Contribution Based on Current Job Satisfaction
In the visualization below, we can see that developers, who are moderately satisfied with their current jobs, contribute more to OSPs than those who are extremely or more dissatisfied groups. This could be explained by:
1)The desire for professional growth: Developers who are moderately satisfied may have the desire to improve their skills and gain experience by contributing to OSPs. They may see this as an opportunity to learn and develop new skills which could benefit their careers in the long run.
2) Personal interest: Some developers may have a personal interest in certain OSPs that align with their core values and hence feel passionate about contributing to them. They may be motivated by a desire to work on something they are passionate about and to make a meaningful contribution to the open-source community.
3)Flexibility in schedule: Developers who are moderately satisfied with their jobs may have more flexibility in their schedules and may be able to dedicate time for OSPs in their spare time. On the other hand, developers who are extremely satisfied with their jobs may not have as much free time or may be less willing to dedicate their spare time to work-related activities.
4) Opportunities for networking: Contributing to open-source projects can provide developers with opportunities to network with other developers and industry experts, which could lead to new job opportunities or other professional benefits.
Overall, while job satisfaction can play a role in a developer's decision to contribute to open-source projects, other factors such as professional growth, personal interest, and networking opportunities may also be influential, especially for those who are moderately satisfied with their current jobs.
Preferred Operating System of Open-Source Contributors versus Non-Contributors
In the visualization below, we can see that developers, who use Windows operating system (OS), contribute more to OSPs than those that use MacOS, Linux-based OS. Reasoning behind this is that:
1) Access to tools: Developers on Windows OS may have access to a wider range of development tools and software that make it easier for them to contribute to open-source projects. For example, Microsoft's Visual Studio is a popular development environment that is widely used by Windows developers and provides support for many open-source projects.
2) Familiarity: Developers may be more familiar with the Windows OS environment, making it easier for them to contribute to open-source projects on this platform.
3) Incentives: Companies that develop proprietary software may have more of an incentive to support open-source projects on Windows OS. This is because many open-source projects are designed to work with a wide range of platforms, including Windows, which means that companies that develop proprietary software for this platform can benefit from these projects as well.
4) Community: There may be a larger community of developers on Windows OS who are interested in contributing to open-source projects. This can create a supportive and collaborative environment that encourages developers to share their knowledge and contribute to open-source projects.
Also, when compared to non-OSP contributors, more contributors use MacOS and Linux-based OS. This ties to the earlier finding that the majority of open-source contributors are hobby developers and such OS are popular among amateur coders around the world, especially in the US and India.
Open-Source Contribution Based on Education and Employment Status
The Sankey Diagram below illustrates that developers with an undergraduate degree and full-time employment contribute more to open-source as compared to other degree holders, such Master's and other professional certification. The reasoning behind this trend is that:
1) Job stability: People with full-time employment may have more job stability and financial security, which could give them more time and resources to contribute to open-source projects. Since majority of OSPs are non-compensated voluntary effort and not a direct source of income for developers, only those with stable source of income with extra time can afford to do so.
2) Technical skills: People with an undergraduate degree in computer science or related fields may have more technical skills which are directly applicable to OSPs and find it easier to contribute to these projects.
3) Community engagement: People with an undergraduate degree may be more likely to be part of a technical community, such as a coding club or hackathon, where they can learn about and engage with OSPs.
4) Work-life balance: People with full-time employment may have more structured work hours and better work-life balance, which can make it easier for them to allocate time for open source contributions.
On the other hand, those with an MS, Associate degree, or Ph.D. may have different priorities or circumstances that make it more difficult for them to contribute to open-source projects. For example, those with an MS or Ph.D may be focused on academic research or industry work, while those with Associate degrees may be more focused on acquiring technical skills for entry-level jobs. Additionally, the time commitment required to contribute to OSPs may not align with the priorities or schedules of people with these degrees or work situations.
It is easy to see the OSPs are here to stay and will continue to grow to be a common practice for companies to develop a various projects. Based on our analysis of the 2018 survey results by Stack Overflow, we find that open-source contribution is currently dominated by developers from India and the US where the majority of IT industry is concentrated in. Also, the fact that there is a significant gender gap in the demographic distribution of open-source contributors indicates that there is a lot more room to grow. Since more companies pivot towards open-source development, the demand for more diverse contributor pool will surely increase. As more and more women join the open-source contribution efforts, we will see increased and improved OSPs around the world. Companies should seek to create a more inclusive environment in their OSPs to attract more female developers
Also, the fact that open-source contribution is uncompensated may be the reason why many developers choose not to contribute. Beside the non-monetary benefits, companies can reward the most useful or impactful contributors financially to encourage more participation. The overall value the company can derive from OSPs will far exceed the cost of reward, since many contenders will compete to provide the best contribution further improving the overall quality of the project.
Data Source:
Stack Overflow Annual Developer Survey. https://insights.stackoverflow.com/survey
Other Related Sources:
Hoffa, Felippe. (Sep 8, 2016). What countries have more open source developers per capita than the US?. Medium. https://hoffa.medium.com/github-top-countries-201608-13f642493773
Terrell, Josh., Kofink Andrew, et al. (May 1, 2017). Gender differences and bias in open source: pull request acceptance of women versus men. Peer J Computer Science. https://peerj.com/articles/cs-111/
Stott, Lee. (Oct 01, 2021). Why students should get involved in open source. TechCommunity. Microsoft. https://techcommunity.microsoft.com/t5/educator-developer-blog/why-students-should-get-involved-in-open-source/ba-p/2801987
Asay, Matt. (April 29, 2020). What makes developers happy? Contributing to open source. TechRepublic. https://www.techrepublic.com/article/what-makes-developers-happy-contributing-to-open-source/
Arora, Vagisha. (April 14, 2022). Why Do People Contribute in Open-Source Projects?. Planet Crust. https://www.planetcrust.com/why-do-people-contribute-to-open-source-projects?utm_campaign=blog
Statista. (Feb 2018). Projected revenue of open source services from 2017 to 2022. https://www.statista.com/statistics/270805/projected-revenue-of-open-source-software-since-2008/