The speed of open source development in China is accelerating, and individuals and organizations have never been more passionate about contributing to open source. According to the “2020 IT Industry Project Management Survey Report”, about 40% of respondents participated in open source projects in different forms, such as developing open source projects by themselves, submitting project codes for others, developing and maintaining projects as a member, and contributing to open source projects. In the “2021 China Open Source Development Blue Book”, the proportion of people who have participated in open source projects is 32%, which shows a growing trend. The open source ecology in China is rapidly forming.
Creating and maintaining widely used open source projects can take thousands of hours a year, so why would a developer want to spend the time and energy to write code that is freely available to the public? Why would companies want their employees to write code, open source so that other companies or even competitors can use it? What do individuals gain by participating in open source?
Why do individuals open source?
1. Improve code quality
Participating in open source projects is a great way to improve the quality of your code. On the one hand, open source encourages programmers to feel “ashamed”. Once they know that the code is to be seen by others, they will write it more neatly, cleanly, and with more comments. On the other hand, if the project has a certain impact, other interested and involved programmers will give more advice, which can be learned from others, invisible constraints on their code specifications, and improve the quality of their code. As Eric S. Raymond, the standard-setter of the open source movement, once said, “After enough pairs of eyes, all bugs have no place to hide. That’s Linus’s Law.”
2. Show personal code
An hour-long interview may only reveal some low-level or cutting-edge knowledge, but if you have open source projects in your background, you can see the quality of your code over time. Also, being involved in open source projects shows your love for technology, and showing the interviewer an open source project you’re proud of is a nice plus. For developers who are deeply involved in well-known open source projects, there is no shortage of work, and the experience of participating in open source can not only help them gain broader career opportunities, but also expand their career development space. As John Resig, founder of jQuery, once said, “Whenever it comes to hiring, I’m more interested in what the candidate has open source shared on GitHub than in a generic resume.”
3. Build a personal brand
As in the above two, both code improvement and resume bonus points point to the same achievement: building impact and brand. The most obvious example is Linus, the inventor of Git. Although Linus describes himself as “just for fun,” his reputation is a bit of a Versailles. Many of the tech titans active today tend to be top engineers who have worked at big companies, who have gained popularity and prestige in the software community through their open source contributions, and who have shed corporate labels and successfully built personal brands.
Why should enterprises participate in open source?
1. Improve the code and functionality
Most organizations and individuals get involved first with open source projects that they are using in order to make the project/software better and easier to use. Or build the tools you need and open source them, which is often referred to as “building the wheel.” These improved features can of course be used on their own without committing, but it’s best to continue to share, because if you don’t contribute your code, you run the risk that these features won’t work in the new version.
2. Gain competitive and recruitment advantages
In the programmer world, open source is not a noble thing to say, but the overall image is positive. Open source means that the enterprise is willing to build an ecosystem with other enterprises and individuals, and the enterprise, in general, has the tendency to embrace openness. So getting involved in open source can help improve your organization’s and your business’s reputation and make it more attractive to like-minded job seekers. In addition, this behavior also helps to enhance the reputation of the organization and the enterprise, and enhance the brand image, especially among developers, which is conducive to recruitment and retention of talent.
3. Open source business model directly profits
Open source is not against business, the purpose of open source is to share, but not to do charity. Specific profit models include technical support, training, advanced functions, cloud services and other ways of charging. Different software and different areas have different monetization models, but all models are based on user numbers. Only when the number of users reaches a certain scale can it become a commercial model.
Commercial open source is to reduce software defects and enrich software functions through the participation of more people, and at the same time to avoid a few people leaving some improper back doors in the software. Enterprises through open source business model can be straight
In turn, open source software will eventually feed back into business, allowing companies to offer better products to users.
Give a rose, there is fragrance in the hand. The great thing about open source is that you don’t have to spend a lot of time solving the same problems, and it’s a relief when your big problem has already been done by someone else. Also, the great sense of accomplishment when seeing your open source project solve a problem for someone else is a great motivator.
Therefore, in addition to the above specific factors, there are also various psychological reasons for participating in open source, as well as other factors such as reducing development costs, promoting industry standards, supporting open source values and even simply enjoying open source or giving back to open source projects. Of course, the “motivation” of participating in open source can be “not pure”, nor is it “unknown to the public, selfless dedication”. Participation is contribution. The development of open source field is closely related to every developer, and there is further joy in it.