At present, the domestic open source project is gradually heating up, China also began to have a lot of excellent open source projects highlighted. When you are ready to join the open source Army, you also need to know the rules in this circle. Technical personnel can not just research technology, any circle has rules, you have to know to play well. Some time ago there is a lot of information about open source software is very lively, about a domestic developer to open their own work out of the other company's people to pack their products to sell high prices. Most developers who do open source software do not pay much attention to copyright, the specific micro-blog is as follows:
Hoowa_sun:
After doing open source, found that most of them were taken to learn, and then copy, and then sell their own closed source. There is no shortage of big companies, and one company has modified my open source system to sell it to a domestic operator, and sells at least hundreds of thousands of of them. So I solemnly suggest that you do the software or the English version of Open source, the Chinese version closed not open source.
In the domestic people are accustomed to the use of pirated, cracked, see this free software also feel it is taken for granted take doctrine, even directly encapsulated into their own commercial components sold out. If you're doing this, stop right now and look at the license agreement for these open source components, or you'll accidentally receive a subpoena from the Court One day. If you are developing or preparing to develop open source software, but do not understand the Open Source license agreement, also look at this article, choose an open source license agreement to protect your open source software.
Common open Source license agreements are: GPL, LGPL, BSD, Apache Licence vesion 2.0, MIT. What is the difference between these agreements?
GPL, full name GNU general public License. Its main content is: As long as in a software use ("use" refers to the class library reference or modified code) of the GPL products, the SOFTWARE product must also use the GPL agreement, both open source and free. This agreement is less suitable for commercial software, or for commercial projects that are ready to use GPL open source components. Projects based on this Protocol have greatly increased the number of open source software. The case of the microblog above, if the author uses the GPL, and the user does not disclose the source code is a violation of the agreement. Many of the current uses are GPLV1,GPLV2. What's the difference between the two look at the back of the tree-shaped figure. Open source software with this protocol is: Linux, MySQL.
LGPL, originally the abbreviation of the library GPL, was later renamed as the Lesser GPL. Because the GPL is too restrictive, the LGPL is limited by the use of GPL components in many commercially available software. LGPL allows commercial software to use the LGPL component in a way that references a class library (without using the source code directly), so that it does not require code for open source commercial software. However, if you want to modify the code of the original component, the code that involves modifying the part and code derived from the original code must adopt the LGPL protocol. LGPL is not suitable for commercial software that is developed two times with code based on LGPL protocol, but commercial software can use compiled class library references without exposing the source code. Open source software with this protocol is: JBoss, FCKeditor, Hibernate. Before ExtJS, the conversion from LGPL to the GPL brought a lot of vibration. Click here for details.
BSD, full name Berkeley software distribution. This protocol is much looser than the above two protocols, allowing the user to modify and republish the code, and to allow the use or development of commercial software to be published and marketed on the basis of BSD code, and therefore for commercial software. The user is not too happy, and must satisfy three conditions when using:
- 1) If the re-published product contains source code, it must be in the source code with the BSD protocol in the original code.
- 2) If you redistribute only binary class libraries/software, you will need to include the BSD protocol in the original code in the class library/software documentation and copyright notice.
- 3) The author/organization name of the open source code and the name of the original product can not be marketed. Open source software for BSD protocol: Nginx, CruiseControl, Redis.
Apache Licence vesion 2.0, this agreement, in addition to providing users with copyright licenses, there is a patent license. Similar to BSD protocol permissions, allowing code to be modified, republished, and commercially available. However, the following conditions also need to be met:
- 1) A copy of Apache Licence is required for the user of the code.
- 2) If you modify the code, you need to modify the file to be described.
- 3) in the extended code (modified and in the code derived from the source code) need to have the original code of the Agreement, trademark, patent statement and other original author requirements to include the instructions.
- 4) If the rereleased product contains a notice file, the Apache Licence is required in the notice file. You can add your own permission to the notice, but you may not be able to make changes to Apache licence.
In addition to these conditions, it also has these benefits:
- 1) Once the perpetual rights are authorized, they are permanently owned.
- 2) Worldwide rights are granted in one country and apply to all countries. If you are in the United States, the license is licensed from India, and there is no problem.
- 3) Royalty free , no upfront, late, no fees.
- 4) Authorization is granted to anyone without exclusivity .
- 5) authorization cannot be revoked once authorized, no one can cancel. For example, if you develop derivative products based on the product code, you don't have to worry about being banned from using the code on a certain day.
Open source software using the Apache Licence vesion 2.0 protocol is: Hadoop, Apache Httpserver, Spring Framework, MongoDB.
mit, from MIT (Massachusetts Institute of Technology, MIT), also known as the X11 protocol. MIT is similar to BSD, but more lenient than the BSD protocol and is currently the least restrictive protocol. The only condition of this agreement is that the modified code or the release package contains the original author's license information. Applicable to commercial software. Software projects using MIT are: jquery, node. js.
List common protocols, there are some more commonly used by Google, such as: Mozilla public License, Creative Commons, the Eclipse public License 1.0 and so on.
One of the blog's Tree diagrams is good at explaining the differences between the current mainstream license agreements.
Also attached is a picture of the license agreement used on GitHub on the current project:
Common open-source license agreements