First of all, the open source is not equal to free!
In order to accelerate our development, we will use open source software and source code; to avoid business risks, you need to know third-party such as software protocols, versions, and known CVE risks, this article is intended to use from open source software The perspective of authority starts, summarizes the different common open source protocols, which is convenient to understand.
Most people want the work to be visited by most people. This not only improves its own popularity, but also contributes to the needs of the people needed. But once the code is posted, anyone can see and get it, after the event, you can’t control it.
So in order to open your code, but also let you reserve certain rights to the code, it is necessary to declare a license agreement in the work. There is a very important difference between the protocol and the naked code of the agreement, and the general works did not declare the default of the agreement to Copy Right, which is the copyright preservation. This situation indicates that others have no authorization, and must not copy distribution and modification. With the statement of the agreement, in the future, your rights will be much convenient, so that your work is shared while holding some of themselves.
License is the license of the software, which is exhausted in detailing the rights you have after you get the code, and what kind of operation can be made to others, and what is prohibited.
Software protocol can be divided into open source and business
For commercial agreements, or as a legal statement, license agreement, each software will have its own set of text, written by software authors or special lawyers. Because it involves this kind of thing, the text of this kind of business terms is very rigorous, and it is difficult to understand.
For open source protocols, know that the open source is not equal to free, nor is it no constraint. Although relative business agreements should be more concise, it is still like watching the book for many people.
Open protocol: https: //opensource.org/licenses/alphabetical
The most popular six —- GPL, BSD, MIT, Mozilla, Apache, and LGPL.
There is an analytical diagram below, and how the agreement should be selected.
Apache License Agreement
Apache license is a free software license released by the Apache Software Foundation, which is originally written for the Apache HTTP server. The Apache license requires the authorized to retain copyright and abandonment, but it is not an anti-copyright license.
The latest version of this license is “Version 2”, released in January 2004. Apache licenses are widely used inside and outside the Apache community. All items of the Apache Foundation use Apache licenses, many non-Apache Foundation projects also use Apache licenses.
Apache license agreement, awarded a lot of rights. These rights can be applied to copy rights or for patents. Because many license agreements can only be applied to copy rights, this flexibility is a significant reference factor when making patented developers choose a license agreement.
Below is a detailed description of the matters allowed by the Apache license agreement:
Rights Eternal: Once authorized, the right is permanent.
Non-borders: I was authorized in a country to be authorized in all countries. For example, you are in the United States, but the permissions were initially granted in India, you can also use this authorized program.
Authorization does not require payment and payment: You don’t need to pay any fees before use, or you don’t need to pay any costs every time, or other similar situations.
The rights are not ranked: using this software under this license agreement does not hinder your use of other software.
Rights are not possible: the right is granted, and cannot be deprived. That is, you don’t have to worry about this situation in the process of using this software: When you have developed an enviable-based product-based product-based product, someone suddenly jumped out to you, sorry, you This program will no longer be allowed. (There is a terms in this agreement: If you accused others to have patented behaviors under this license agreement, your authorization will be automatically terminated, but this is only suitable for patent rights. As long as you don’t Don’t worry about this problem, you will never worry about this problem.
There is also a special requirement for the re-distributed work, that is, the maintainer of the author and license agreement to give these programs appropriate reputation.
2. MIT license agreement
The MIT protocol should be the most short and widely used protocol in the popular open source protocol. Its terms are very loose and more free than other agreements. The MIT protocol is the current protocol at the current limit.
It is basically that anyone can do anything about the software under this agreement, as long as you can recognize this agreement. The most basic clause of this protocol (Which Comprises the final paragraph) is as follows: This authorization, anyone can get this software and copy of the Software, which can be unlimited. Using this software, including unrestricted rights to use, copy, modify, merge, release, attach the subordinate protocol, and / or the copy of the software, at the same time, in order to make the software providers have the right to do this, the following conditions must obey:
The above copyright declarations and licensing declarations must be included in all this software copy and the actual distribution section.
This is to say:
You can use, copy, and modify this software. No one can prevent you from using it in any project, you can copy any number, in any form, or modify it according to your wishes.
You can distribute free, or for sale. You can distribute it at will, there is no restriction. The only restriction is that you must accept the protocol terms.
3. BSD License Agreement
There are a lot of branches of the BSD protocol, which represent a loose free software protocol, relatively other protocols, such as GPL, which gives less restrictions on software propagation.
In various versions of this protocol, there are two most important: new BSD protocol / revision BSD protocols and simplified BSD protocols / FreeBSD protocols. These two types of protocols are implemented for GPL-compatible free software protocols, and is recognized by Open Source Initiative as an open source software protocol.
The new BSD protocol (3-CLAUSE LICENSE) has no restrictions allow you to distribute this software in any purpose, the only requirement is to retain the copyright declaration and the software rights to abandon the terms in the agreement. There is also a limit for this agreement without permission to use all of the donors of this work. The new BSD protocol and the most important difference of the simplified BSD protocol are the latter deleted the signature terms.
The BSD open source protocol is a protocol given to the user. Basically, users can “do their desired”, free use, modify the source code, or re-release the modified code as an open source or proprietary software.
But “For what you want”, when you release the code using the BSD protocol, or use the BSD protocol code to do this two-day development, you need to meet three conditions:
If the released product contains the source code, you must have the BSD protocol in the original code in the source code.
If the release is just binary library / software, you need to include the BSD protocol in the original code in the documentation and copyright declarations of the class library / software.
You can not use the authors / institution names of open source code and the name of the original product.
BSD code encourages code sharing, but requires respect for the author’s copyright. BSD is also allowed to use or develop commercial software publishing and sales on BSD code on the BSD code, which is also allowed to use or develop commercial software on the BSD code. Many companies are preferred BSD protocols when they choose open source products, as they can completely control these third-party code, and can be modified or secondary during it.
4. GPL license agreement
Linux we are familiar with is GPL. GPL protocols and BSD, Apache Licence, etc. are very different. The starting point of the GPL is the open source / free use of the code and the open source / free use of the creative / derivative code, but does not allow the modified and derived code as a closed source of commercial software release and sales.
This is why we can use a free of all Linux, including a wide range of individuals, organizations, and business software companies on a variety of personal, organizations, and commercial software companies on Linux and Linux.
The main content of the GPL protocol is as long as it is used in a software (“Use” to specify the class library reference, the code or derivative code) GPL protocol, the software product must also adopt a GPL protocol, which must be also open source and free . This is the so-called “contagious”. The GPL protocol products are not available as a separate product, and you can also enjoy free advantages.
Since GPL strict requirements for software products that use GPL class libraries must use GPL protocols, for open source code, business software, business software, or departments with confidential requirements for code, and use the basis of class libraries and secondary development. .
Other details are likely to be similar to BSD / Apache, such as re-release.
5. LGPL license agreement
LGPL is an open source protocol for the GPL to use design for class libraries. And GPL requires any software that uses / modify / derived GPL class libraries must be different from GPL protocols. LGPL allows business software to use the LGPL class library through class library reference (LINK) without requiring code of open source business software. This makes an open source code using the LGPL protocol to be referenced and published as class libraries as class libraries. However, if you modify the code or derived of the LGPL protocol, all modified code involve additional code and derived code involving the modified part must adopt the LGPL protocol. Because the open source code of this LGPL protocol is very suitable as a third-party library is referenced by commercial software, it is not suitable for the secondary development of commercial software by modifying and derived by modifying and derived.
GPL / LGPL guarantees the intellectual property rights of the original author to avoid copying and developing similar products with open source code.
6. MPL license agreement
MPL is the story of the Mozilla Public License, which is a software license design for Netscape’s Mozilla Group for its open source software project in early 1998.
The most important reason for MPL licenses is that Netscape believes that GPL licenses do not have a good balance developer’s demand for source code and their benefits they take advantage of source code. MPLs are the same as their agreement as many rights and obligations compared to the famous GPL license and BSD licenses (because all of the open source software licenses identified by OSIA).
However, compared with the following significant differences in MPL:
– MPL Although the modification of the source code released by the MPL license is also allowed to be licensed by MPL licenses to ensure that others can share source code under the Terms of MPL. However, the definition of “release” is “published in the MPL license”, which means that the MPL allows a company to add an interface to the source code library, except for the source of the interface program. The code is permitted by the MPL license, and the source code in the source code library can be enforced external licenses without the MPL license. These, in order to learn from others’ source code to make their own commercial software development a gap.
– MPL License Article 3, paragraph 7, allows the licensee to make the source code obtained by MPL licenses to mix their own software programs with their other types of code.
The attitude of software patents, MPL licenses are not clearly expressed as GPL licenses, but it is clear that the provider of source code cannot provide source code that has been protected (unless he is a patentee, and written Licening these source code free to the public), or you cannot apply for these source code for patents after opening these source code in an open source license form.
Definition of source code
In the MPL (version 1.1 version) license, the definition of source code is: “The source code refers to modifying the work, which includes: all source programs of all modules, plus related interfaces Definition, plus the installation and compilation of the executable work, ‘Original’ (the original is ‘script’), or the source code that is not significantly different from the initial source code is the source code contributor to be obtained from the public domain. code.”
Article 3 of the MPL License is a specified provision for the source code modification, which is required to have a dedicated file with a special file to modify the time and modification of the source code program.
The GPL protocol, the LGPL protocol and the legal difference between the BSD protocol.
Briefly, the GPL protocol is an open source protocol. After the initial developers of the software use the GPL protocol and the source program of the software, the subsequent use of the software program development software should also write the source of themselves according to the GPL protocol. The program is disclosed. The key to the GPL protocol requires an open source, but does not exclude the software author charges users.
Nonetheless, many large companies have love and hate the GPL agreement, love is the revision of the software under this agreement, has been very mature, and hate must open their own subsequent source procedures, leading to competition The opponent can also develop competitive products according to the source program modified.
It is considering the GPL protocol in business, and therefore, the other two agreements are used, the first is the LGPL (also known as the GPL V2) protocol, which can be translated into a more relaxed GPL protocol. The difference from the GPL protocol is that if only the program of the LGPL software is called instead of including its source code, the relevant source program does not need to open source.
Call and include the reference to others on the Internet page: If all or part of the contents of others are copied to their own webpage, it is similar if it is just a website link of the web page without reference. Similar calls. With this agreement, many large companies can hide the source program of many of their own subsequent development.