This article was submitted as an English class essay. Initially, I wanted to talk about the open source landscape in China, but I found that just explaining what open source has taken hundreds of words. (这就是你把本来想写的部分鸽掉的理由?
Open source software, or OSS, roughly speaking, is a software free of charge, of which the source code is publicly available, giving users the freedom to make changes to the software.
While feature-rich and elegant software for free is probably attractive to the users, the developer or the company loses direct income by selling the software. Thus making a serious software open source doesn't seem practical at first glance.
That's when the open source development pattern reveals its power. OSS is neither just itself nor just the creator or the company. It's a new way of developing. It's about the whole community. Everyone who positively interacts with the project makes a small contribution to it. Coding to improve the software, creating a plugin or an extension, designing a user interface, reviewing code, filing a detailed bug report, even discussing, and commenting, are all various contributions. It is in such a collision of ideas and tests under different use cases that the software grows, stabilizes, and matures.
Coding is a chief yet not a necessary skill to join the community. Luckily, with programming becoming easier and easier, the number of hobbyist programmers grows rapidly. Students who major in computer science can learn computer theories systematically, but where can hobbyists acquire advanced programming knowledge? The answer again lies in the open source community: the process of reading and writing code, and the discussion over topics.
Contributing and using are two aspects of OSS for individuals. Contributing without using will soon exhaust your passion; extensive use inevitably leads to contributing. The only cost of using OSS fluently is the time learning the software in depth, not to mention some great OSSs have made it as easy to get started with as those for enterprise. Also compared to other closed source software, learning in such depth takes a far shorter time, thanks to the availability of the source code.
The company providing services related to the software also benefits from open source. Among big companies, who wins the developers win the battle. When developers use a service, they hate guessing about why the code does not work as expected. As is widely acknowledged, 'talk is cheap, show me the code', reading the source code solves almost all mysteries in the programming world. If not, making changes to the code will.
Seeing all the benefits above, we are constantly promoting the value of the open source.