The open source license is an agreement developed by the open source community to protect the legal rights of authors and contributors, and to prevent software from being stolen by some commercial organizations or individuals to affect the development of software. The open source agreement stipulates the rights and responsibilities of users when using open source software. Although it may not have legal effect, it is also one of the important evidences when it comes to software copyright disputes.

Software should not sacrifice the interests of programmers while pursuing “freedom”, otherwise it will affect the creative passion of programmers. Therefore, there are more than 90 Open Source licenses approved by the Open Source Initiative to guarantee the rights and interests of Open Source workers around the world (see for a full list: [opensource.org/licenses/al… blog. Easycorp. Cn / 618 manicure tools Plant view shampoo BaiRui beautiful calm makeup spray)).

For developers preparing to write an open source software, it is also highly recommended to learn about the most popular open source licenses and choose an appropriate open source license to maximize the protection of their software interests.

In order from loose to tight, common open source licenses are:

MIT license BSD license Apache license LGPL License GPL license

Both MIT and BSD licenses originate from universities and embody simplicity, openness and inclusiveness.

MIT, BSD, and Apache all support closed source follow-on development.

GPL, LGPL infectious open source, compiled code used here code, must be open source.

For specific choices, please refer to this analysis chart by Ukrainian programmer Paul Bagwell (translated by Ruan Yifeng and Xiaoyu Zhou Lingyu) :

MIT agreement

MIT is a very permissive license from a university. It is arguably one of the most permissive and generous open source protocols in history.

  • Users can do whatever they want with their code;

  • Users should include copyright notices and license notices in project copies;

  • The user is not liable.

The author only wants to retain the copyright without any other restrictions. That is, whether distributed in binary or source, the distribution must include a declaration of the original license agreement. Examples of MIT protocol applications include JQuery, Rails, etc.

BSD agreement

The BSD protocol is also very loose and gives users a lot of freedom, essentially allowing them to “do whatever they want” : users can use, modify, and redistribute software under the license, and distribute and sell the software as commercial software. The premise is to meet the following three conditions:

  • If re-distributed software contains source code, the source code must continue to comply with the BSD license.

  • If only the binary class library/software is distributed again, the BSD protocol in the original code needs to be included in the documentation and copyright notice of the class library/software.

  • Do not use the name of the original open source software, the name of the author or the name of the organization for marketing.

BSD code encourages code sharing, but the author’s copyright is respected. BSD due to allow users to modify, and redistribute the code, and also allows the use of or commercial software release on the BSD code development and sales, so is very friendly to business integration agreement, is very popular with the big company, because you can fully control these third-party code, even when necessary to modify or secondary development.

Apache agreement

Apache Licence is a protocol adopted by Apache, a well-known non-profit open source organization. Similar to BSD, this protocol applies to commercial software and encourages code sharing and respect for the copyright of the original author. It also allows code modification, but it places more emphasis on patents.

  • If you modify the program source code, you need to declare it in the documentation.

  • If the software is based on the source code of others, the agreement, trademark, patent declaration of the original code and other content information declared by the original author shall be retained.

  • Note The Apache license and other license agreements must be marked in the notice file if the software is to be distributed again.

Apache Licence is also a business-friendly license. Users can also modify the code as needed and distribute/sell it as an open source or commercial product. Currently popular Hadoop, Apache family, SVN, MongoDB and other projects are developed based on this license.

The GPL

GNU, GPL/LGPL both focus on open source and free use of code and derived code. The GPL is a contagious open source, and as long as the software contains gPL-compliant products or code, the software must also be licensed under the GPL, meaning that it must be free and open source, not closed source, so it is not suitable for commercial software.

  • Copy freedom: The ability to copy software to anyone’s computer with no limit on the number of copies.

  • Freedom of dissemination: Allows software to be distributed in various forms. Paid distribution allows the software to be sold in a variety of media, but only if the buyer knows in advance that the software is available for free; As a result, open source software generally makes money by providing users with a paid service.

  • Freedom to modify: Allows developers to add or remove features from the software, but the software must remain under the GPL license.

The amount of open source software that follows the GPL is enormous, and most open source software, including the Linux system, is based on it.

LGPL Open source protocol

LGPL is a derivative version of the GPL, also known as GPL V2, which is mainly an open source protocol designed for class libraries. It also comes from the FREE Software Alliance GNU, which can be translated as the looser GPL, and is also a contagious open source.

  • If a user makes a call to a LGPL program’s library instead of including its source code, the associated source code does not need to be open source.

LGPL allows commercial software to use LGPL libraries through library references without the need for open source commercial software code. This allows open source code under the LGPL protocol to be referenced, distributed and sold by commercial software as a class library. The GPL/LGPL protects the intellectual property rights of the original authors, preventing anyone from using open source code to copy and develop similar products.