头图

The American political communication scientist Laswell proposed the 5W communication model. After the continuous application and development of future generations, a set of gradually mature "5W1H" system has been formed, that is, all selected items, procedures or operations are Questions should be raised from the six aspects of reason (Why), object (What), location (Where), time (When), personnel (Who), and method (How).

This series of articles will talk about open source issues with the 5W1H system.

What-what is open source?

Open source is open source code. Open source code, also known as open source code, refers to a software release model, a working method based on a decentralized, self-organized software development model. In this mode, the most basic meaning of software being open source is that the code is public and anyone can view, modify and use it. The opposite of open source is closed source code. Closed source code is ordinary commercial copyright software. The code is closed and only the author can see it. If something goes wrong, only the author can modify it.

Open source software is software with open source code. Open source software will be accompanied by the source code of the software when it is released, and authorized to allow users to change, spread or secondary development.

Misunderstanding: what open source is not

The following clarifies some common misconceptions about open source:

Open source does not mean free

Open source software and free software are two concepts. Open source software is open source, allowing users to change, disseminate, and re-develop. Free software is provided to users for free, but the source code may not necessarily be disclosed, nor is it allowed to modify or re-release at will. For example, we can use WeChat, QQ and most of the software we commonly use, but if we add or delete some functions, or even publish it on the Internet for people to download and use for profit, then we will repeatedly jump on the verge of breaking the law. .

Of course, most open source projects are free, but "free" is not part of the definition of open source. Some methods can indirectly charge for open source projects through dual licensing or limited functionality, while still complying with the official definition of open source.

Open source does not resist business

Open source software is not against business. The purpose of open source is to share, but not to do charity. Open source is altruistic, proprietary software or proprietary software is egoistic, and the open source business model is also egoistic. The combination of altruistic open source and self-interested business models can truly contribute to open source. 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. Open source software will eventually feed back business, allowing commercial companies to provide users with better products. Relatively speaking, back-end open source projects are the easiest to commercialize, and the closer the software to the underlying facilities, the easier it is to commercialize and open source.

Open source projects do not represent the highest code quality

The essence of open joint development is to ensure that other participants cannot hide low-quality code, vulnerabilities and other problems, and all codes will be analyzed and judged. But there are also some developers' lack of experience and Code reviewer's negligence will lead to some not-so-good code being submitted. There are also open source communities that will conduct inefficient discussions. Under different demand situations, sometimes the final decision is the result of compromise.

In the same way, anyone can provide code for an open source project, it does not mean that the quality of open source code is poor, because after all, most of them have passed the threshold and review screening.

So in general, the code quality of open source projects is not the best, but it is also quite good, and because the open source community is filled with talents, good projects will live longer. Under such a survival of the fittest, The code quality of projects that can be followed by most people has also risen.


陈哥聊测试
158 声望3.3k 粉丝

资深敏捷测试顾问,国内知名项目管理软件禅道团队成员。