The development speed of China's open source is accelerating, and individuals and organizations have an unprecedented passion for contributing to open source. According to the "2020 IT Industry Project Management Survey Report", about 40% of the interviewees participated in open source projects in various forms such as developing open source projects by themselves, submitting project codes for others, developing and maintaining projects as members, and donating 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%, and the trend is increasing. my country's open source ecosystem is rapidly taking shape.
It may take thousands of hours to create and maintain widely used open source projects every year. Why are developers willing to spend time and effort writing these free and public codes? Why are companies willing to let their employees write code, open source so that other companies and even competitors can use it? What will individuals gain by participating in open source?
Why do individuals want to open source?
1. Improve code quality
Participating in open source projects is a good way to improve the quality of personal code. On the one hand, open source will arouse programmers' "shame". Once it is clear that the code is to be made public to others, they will consciously write the code neater and cleaner, and add more comments. On the other hand, if the project has a certain degree of influence, other concerned and participating programmers will also give more suggestions, so that they can learn from others' strengths, invisibly restrict their own code specifications, and improve their own code quality.
Eric S. Raymond, the flag bearer of the open source movement, once said: "As long as you have enough eyes to scrutinize, all bugs will lose their hiding place. This is Linus's law."
2. Show personal code
An hour of interview may only show some of the underlying basics or cutting-edge knowledge you have, but if you have an open source project, you can see the quality of the code from your long-term code. And participating in an open source project can also show your love for technology, and show the interviewer an open source project that you are proud of. This will be a good plus. Developers who are deeply involved in well-known open source projects have never lacked work. The experience of participating in open source can not only help them obtain broader career opportunities, but also expand their career development space. As John Resig, the founder of jQuery, once said: "No matter when it comes to recruitment, what I value more than a normal resume is what candidates share open source on GitHub."
3. Build a personal brand
Just like the above two items, the code quality improvement and resume bonus items will all point to the same achievement: building personal influence and building a personal brand. The most typical is Linus, the inventor of Git. Although his self-report is "just for fun", judging from his reputation, it is somewhat "Versailles". Many of today's active technical talents are often top engineers who have worked in large companies. They have accumulated popularity and prestige in the software community with their open source contributions, got rid of company labels, and successfully built personal brands.
Why should companies participate in open source?
1. Improve code and functions
Most organizations and individuals first participate in the open source project they are using, the main purpose is to make the project/software more perfect and more convenient for their own use; or directly create the tools they need and open source them, that is Often referred to as "making wheels". This part of the improved features can of course be used by themselves without submitting, but continuing to share is the way to maximize benefits, because if you don’t contribute your own code, you may face the risk that these features will no longer work in the new version.
2. Gain competitive and recruitment advantages
In the world of programmers, open source is not a noble thing, but the overall image is indeed positive. Open source means that a company is willing to build an ecosystem with other companies and individuals. Generally speaking, this company has a tendency to embrace openness. Therefore, participating in open source helps to improve the reputation of the organization and the company, and it can attract like-minded job seekers to develop together. In addition, this behavior can also help improve the reputation of the organization and the company, and enhance the brand image, especially the reputation among developers. The benefit is that it is conducive to recruiting and retaining talents.
3. Open source business models directly profit
Open source does not conflict with commerce. 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 methods of charging. Different software and different fields have different profit models, but the basis of all models is the number of users. Only when the number of users reaches a certain scale can it become a commercial model.
Commercial open source is through the participation of more people, reducing software defects, enriching software functions, and at the same time preventing a few people from leaving some improper backdoors in the software. Through the open source business model, enterprises can directly
In order to obtain economic profits, open source software will eventually feed back the business, allowing commercial companies to provide users with better products.
Gifts of roses, hand a fragrance. The most beautiful thing about open source is that you don't have to spend time solving the same problem. When someone has already done an open source project for the big problem you encounter, you must feel relieved. Similarly, when you see that your open source project solves problems for others, a great sense of accomplishment is also a great incentive.
Therefore, the reasons or benefits of participating in open source, in addition to the above specific factors, also have various psychological reasons, including other factors such as reducing development costs, promoting industry standards, supporting open source values, or even simply enjoying open source fun or giving back to open source projects. The "motivation" of participating in open source can of course be "impure", and not paying attention to "obscurity, selfless dedication". Participation means contribution. The development of the open source field is closely related to every developer, and there is further joy.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。