GPL, BSD, Apache, etc. General Solution protocol

We usually often see when visiting github Readme, which has a Lience, often see GNU, GPL, BSD, Apache and other words, but do you really know these agreements and their difference?

  • GPL: We are very familiar with Linux is to use the GPL. The GPL and BSD, Apache Licence and so encourage code reuse license very different. The starting point of the GPL open source code / free use and reference / modification / derivative code open source / free, but not allowed to modify the code and derived as a closed-source commercial software distribution and sales. This is why we can use a variety of free linux, including a variety of by individuals, organizations, and commercial software free software developed by commercial companies on the linux and linux. The main content of the GPL is to simply use ( "use" refers to the class library reference, the revised code or derivative of this code) GPL agreement in a software product, the software product must also be GPL license must also be both open source and free . This is called "contagious." The GPL products as a separate product without any problems, you can also enjoy free advantage. Due to the stringent requirements of the use of the GPL GPL library of software products must use the GPL, GPL agreement for the use of open source, commercial software or code division confidentiality requirement is not suitable for integration / adoption as the basis for the development of libraries and secondary . Other details are similar when re-released as GPL requires accompanying agreements and BSD / Apache and so on. If you use and modify my GPL software, then your software must be open source, or can not use my software, if you put your software business and I would not mind.

  • BSD: BSD open source license agreement is to give the user a lot of freedom. Basically users can "do whatever they want", you can freely use, modify the source code can also be modified code as open source or proprietary software re-release. But "whatever they want" a prerequisite when you use code released BSD agreement, protocol or places BSD code base to do secondary development of their own products, need to meet three conditions: if re-released product contains the source code, It must have the original code in the source code BSD protocol. If we publish only a binary library / software, you need to include the original BSD license code in the document libraries and copyright notices / software. You can not use open source authors / agency name and the name of the original product to do marketing. BSD code that encourage code sharing, but the need to respect the copyright of the author of the code. BSD By allowing users to modify and redistribute the code, also allows the use or development of commercial software distribution and sales on the BSD code, so it is an integrated business-friendly agreement. And many of the companies in the selection of products when they are open source BSD protocol of choice, because you can completely control these third-party code can be modified or secondary development when necessary.
  • Apache: Apache Licence protocol is well-known non-profit organization open source Apache used. The agreement is similar to BSD and also encourage code sharing and respect the original author copyright, also allows code changes, then released (as open source or commercial software). Conditions need to be met and BSD also similar: the need to code a user Apache Licence, if you modify the code, a description of the modified files. Extending the code (code and source code modifications are derived) having the same code as the need in the protocol, trademarks, patents, and other statements contained in the original OF predetermined required. If the re-release of the product is included in a Notice file, the file needs to have in the Notice Apache Licence. You can add your own license in the Notice, but not the performance of the Apache Licence to change the constitution. Apache Licence also licensed for commercial use friendly. Users can also modify the code as needed to meet the needs and as open source or commercial product launches / sales.
  • LGPL: LGPL is a GPL is designed for use primarily open source libraries agreement. And the use of any software requirements GPL / modify / GPL-derived library must use different protocols GPL. LGPL allow commercial software library reference (link) mode without using the open source code library LGPL commercial software. This makes use of the LGPL open source code can be used as a reference library and publish and sell commercial software. However, if the code changes the LGPL or derivatized, all the modified code, the code involves additional code modifications and derived portions must use the LGPL. Thus the LGPL open source code is very suitable as a third-party commercial software libraries are referenced, but not for those who want to the LGPL code base, and derived by modifying the way to do secondary development of business software used. GPL / LGPL are the original author of protecting intellectual property rights, prevent people from copying and use of open-source development of similar products.
  • MIT: MIT and BSD is as wide as the range of the license agreement, the authors want to retain the copyright, without any restrictions other words, you must include a statement of the original license agreement in your distro, no matter you are in binary. or to publish the source code released.

Guess you like

Origin blog.51cto.com/9785919/2437634
GPL