Open source is already common in today's software industry, but does open source mean that users can do whatever they want with the post-source code? The answer is in the negative.
The open source movement also has its own rules of the game and moral code.
Not complying with these rules will not only undermine the healthy development of the open source movement, but also create reputational and market losses for violators, and are more likely to fall into legal disputes and compensation.
There are many open source agreements that exist today, and there are currently 58 types of open Source initiative that have been approved by the organization.
Our common open source agreements such as BSD, GPL, LGPL, MIT, etc. are all OSI-approved protocols.
If you want to open up your own code, it's best to choose these approved open source protocols.
Strong open Source constraint authorization GPL (GNU general public License)
We are familiar with the use of Linux is the GPL. Licenses that encourage code reuse, such as the GPL and BSD, Apache licence, are very different.
The starting point of the GPL is the code of open source/free use and citation/modification/derivative code of Open source/free use, but does not allow the modification and derivative of the code to be released and marketed as closed source commercial software.
That's why we can use a variety of free Linux, including free software developed by individuals, organizations, and commercial software companies on Linux and Linux in commercial companies.
The main content of the GPL agreement is that the SOFTWARE product must also be licensed under the GPL, both open source and free, as long as it is used in a software ("Use" refers to a class library reference, modified code or derivative code) of the GPL-based product.
This is known as "contagious".
GPL products are used as a standalone product without any problems and can also enjoy the benefits of free.
Since the GPL is strictly required for software products that use the GPL class library, it is not appropriate for an open source code that uses the GPL agreement to use a business software or a department that has confidentiality requirements for the code to integrate/adopt as the basis for a class library and two development.
Other details, such as Bsd/apache, need to be accompanied by the GPL and other similar issues.
weak open source constraint authorization MPL License (Mozilla public License)
Allows free re-posting, free modification, but requires the modified code to be copyrighted by the originator of the software.
This authorization maintains the interests of commercial software, and it requires the free contribution of copyright to the software based on the modification of such software.
In this way, all the code around the software is copyrighted and is concentrated in the hands of the initiating developer.
But the MPL is allowed to be modified, free to use.
The MPL software does not require links. (Requires that if you modify a source code based on the MPL protocol, you must include or disclose your modifications if the other source code is not based on the MPL and does not need to expose its source code)
LGPL (GNU Lesser general public License)
LGPL is a GPL-open source protocol designed primarily for use in class libraries.
And the GPL requires that any software that uses/modifies/derives from the GPL library must be different from the GPL agreement.
LGPL allows commercial software to use the LGPL class library through the Class Library Reference (link) without the need for code for open source commercial software.
This allows open source code with the LGPL protocol to be referenced and published and sold as a class library by commercial software.
However, if you modify the code or derivation of the LGPL protocol, all the modified code, the additional code involved in the modification, and the derived code must adopt the LGPL protocol.
The open source code of the LGPL protocol is therefore well suited to be referenced by commercial software as a third-party class library, but it is not intended to be used as a commercial software that is developed two times through modification and derivation, based on LGPL protocol code.
GPL/LGPL protects the original author's intellectual property and avoids the use of open source code to replicate and develop similar products.
mit (MIT)
MIT is a license that is as wide as BSD, and the author only wants to retain the copyright without any other restrictions.
In other words, you must include a statement of the original license agreement in your distribution, whether you are publishing it in binary or source code.
no open source constraint authorization BSD Open Source Agreement
The BSD Open source agreement is an agreement that gives users a great deal of freedom.
Basically users can "do whatever", can use freely, modify the source code, you can also use the modified code as open source or proprietary software re-release.
But the premise of "doing what you want" is when you publish code that uses the BSD protocol, or you develop your own product two times based on the BSD protocol code, you need to meet three conditions:
1, if the redistribution of the product contains the source code, in the source code must have the original code in the BSD protocol.
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, can not use the source code of the author/organization name and the original product name to do marketing.
BSD code encourages code sharing, but requires respect for the copyright of the author of the Code.
BSD is a friendly agreement for business integration because it allows the user to modify and republish the code, and also allows the use or development of commercial software to be published and marketed on BSD code.
And a lot of companies in the selection of open source products are preferred BSD protocol, because they can completely control these third-party code, when necessary can be modified or two times development.
Apache Licence
Apache licence is the protocol used by the famous non-profit open source organization Apache.
The agreement is similar to BSD, encouraging code sharing and respecting the authorship of the original author, as well as allowing the code to be modified and republished (as open source or commercial software).
The conditions that need to be met are similar to BSD:
1, need to give code users a copy of Apache Licence
2. If you modify the code, you need to modify the file to be described.
3, in the extension of the code (modification and source code derived from the 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 notice file needs to have Apache Licence.
You can add your own permission to the notice, but you may not be able to make changes to Apache licence.
Apache licence is also a friendly license for commercial applications.
Users can also modify the code as needed to meet their needs and publish/sell as open source or commercial products.
other open source constraint authorizations Creative Commons (CC)
Your use of the Creative Commons license agreement on your own work does not imply a waiver of your copyright, but rather a partial grant of your rights to users in the public domain under certain conditions.
What are the specific conditions? Here you can see all the Knowledge sharing license agreements and their simple introductions.
All license agreements require you to be signed on behalf of the author or licensor.
You can mix and match the following options, which will form our six core Knowledge sharing license agreement.
1. To allow others to reproduce, distribute, exhibit, perform, show, broadcast, or disseminate to the public through the Information network of Works and derivative works of which they have copyright, but in these processes the other party must retain your signature of the original work.
2. Is it permissible for others to reproduce, distribute, exhibit, perform, show, broadcast, or disseminate to the public through an information network, but only for non-commercial purposes, of your copyrighted works and derivative works.
3. Is it permissible for others to reproduce, distribute, exhibit, perform, show, broadcast or disseminate to the public through an information network, but not to perform any derivative works.
4. You allow others to distribute their derivative works only if they use the same license agreement as the original work of the derivative works.
How to choose Open Source software protocol
Open source Software Agreement terms are complex, each has its own different characteristics, so the choice of open source protocol is also a matter of worry. There is a picture that you can refer to when choosing a protocol:
Of course, if this is still a problem, you can refer to the Lan Yifeng of another one:
This article permanently updates the link address : http://www.linuxidc.com/Linux/2014-09/106075.htm
refer to the following: