ArticleDirectory
- What is a license agreement?
- GNU GPL
- BSD
- MIT
- Apache
- Creative Commons
What is a license agreement?
What is license? When you issue a license for your product, you are transferring your rights. However, you still have copyrights and patents (if you have applied for a license). The purpose of the license is, provide certain permissions to users who use your product.
Whether the product is distributed to the public for free or sold, it is very useful to develop a license agreement. Otherwise, for the former, you give up all your rights, no one is obligated to indicate your original author identity. For the latter, you will have to spend more energy than development to handle user authorization issues one by one.
The open-source license agreement makes these things easy for developers to contribute to a project.CodeIt can also protect the identity of your original author so that you can get at least the approval. The open-source license agreement can also prevent others from taking a product as their own. The following are the five major license protocols in the open source community.
GNU GPL
GNU General Public Licence (GPL) may be the most common license mode in the Open Source world. GPL guarantees the rights of all developers and provides users with the right to copy, distribute, and modify:
- Free Replication
You can copy the software to your computer, your customer's computer, or anywhere. There is no limit on the number of copies.
- Free Distribution
Download from your website, copy it to a USB flash drive, orSource codePrint it out and throw it out of the window (please do not do this for environmental protection ).
- Can be used for profit
You can pay when distributing software, but you must provide the gnu gpl license agreement for the software to your customers before the fee is paid, so that they can know, they can get the software for free from other channels, as well as the reasons for your charges.
- Freely changeable
If you want to add or delete a function, it's okay. If you want to use some code in another project, the only requirement is, projects that use this code must also use the GPL protocol.
Note that the source code and binary files must be clearly provided during distribution. In additionProgramSome protocols have some problems and restrictions. You can take a look at the article Practical Guide to GPL compliance written by @ pierrejoye. To use the GPL protocol, you must include the relevant information in the source code and the Protocol itself.
GNU lgpl
GNU has another protocol called lgpl (lesser General Public Licence ),
It reserves less rights to products than GPL. In general, lgpl is suitable for open-source class libraries or frameworks for non-GPL or non-open-source products. Because of GPL requirements
The GPL protocol must also be used for GPL code products. Developers are not allowed to use GPL code for commercial products. Lgpl bypasses this restriction.
BSD
BSD imposes fewer restrictions on Software Delivery than other open source protocols (such as gnu gpl. The Protocol has multiple versions. The major versions include two. The new BSD Protocol and the simple BSD Protocol. These two protocols have been modified and are compatible with GPL and are recognized by open-source organizations.
In terms of software distribution, the new BSD Protocol (3 Clause agreement) has no restrictions except for a copyright notice or disclaimer. In addition, the Agreement prohibits the developer from being endorsed as a derivative product, but the simple BSD agreement deletes this provision.
MIT
The MIT protocol may be the loose among several open-source protocols. The core terms are as follows:
The software and its related documents are free to everyone and can be disposed of at will, including use, copying, modification, merging, publishing, distribution, re-authorization, or sales. The only restriction is that the software must contain the aforementioned copyright and license prompts.
This means:
- You can freely use, copy, modify, and use it for your own projects.
- It can be distributed for free or used for profit.
- The only restriction is that the license statement must be included.
The MIT protocol is the loose of all open-source licenses. It must include a license statement without any restrictions.
Apache
Compared with other open-source protocols, Apache 2.0 provides users with a copyright license and a patent license. for developers involved in the patent content, this Protocol is most suitable (here is an article about this issue ).
The Apache protocol must be described as follows:
- Permanent rights
Once authorized, it is permanently possessed.
- Worldwide rights
Authorization in one country applies to all countries. If you are in the U. S., your license is authorized from India.
- Free authorization with no royalty
No fees are incurred in the early and later stages.
- No exclusive authorization
Anyone can be authorized
- Authorization irrevocable
No one can cancel the authorization. For example, if you develop a derivative product based on the product code, you do not have to worry about being banned from using the code one day.
The distribution code includes some requirements, mainly because the developer should be recognized in the statement and contain the original license agreement.
Creative Commons
Creative Commons (CC) is not a strictly open source license. It is mainly used for design. Creative Commons has multiple protocols, each of which provides the corresponding authorization mode. The CC protocol mainly contains four basic forms:
- Signature Right
It must be signed by the original author before modification, distribution, and replication can be performed.
- Consistent
Works can also be modified, distributed, and copied on the basis of the CC protocol.
- Non-commercial
Works can be modified, distributed, copied, but cannot be used for commercial purposes. However, the definition of business is vague. For example, some people think that non-commercial purposes mean that they cannot be sold, and some think that they cannot even be placed on websites with advertisements, some people think that non-commercial products mean non-profit.
- New works cannot be derived
You can copy, distribute, but cannot modify or create your own work on this basis.
These license forms can be used together. The most severe combination is "signatures, non-commercial use, and new works cannot be derived", which means you can share the work, but you cannot change or make a profit, and must be the original
The author's signature. In this license mode, the original author still has full control over the work, and the loose combination is "signature", meaning that as long as the original author is signed, it can be freely disposed.
------
Because before that, I used some open-source programs in China, but these programs all require commercial authorization. I don't know if I can build them for enterprises for free. For example, shopex, kangsheng products, and phpcms ....
If they do, will they ask you for copyright?
How to select an open source license?
How to select an open source license for the code is a problem.
There are hundreds of open-source licenses in the world. Few people have figured out their differences. It is complicated to make a choice among the six most popular ones-GPL, BSD, MIT, Mozilla, Apache, and lgpl.
Paul Bagwell, a Ukrainian programmer, draws an analysis diagram to explain how to choose. This is the simplest explanation I have ever seen. In just two minutes, you can figure out the biggest difference between the six licenses.
Below is my Chinese version. Please click to see the big picture.
Address 1: http://www.oschina.net/question/54100_9455
Address 2: http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html