Introduction to various licenses (BSD, MIT, MPL, Apache License, CC)

What is a license

A lot of confusion starts when you don't know what a license is and what it means. When you use a license for your product, it does not mean that you have given up any rights, and you still own the original copyright. License only grants them specific rights to use your product.

A license simply releases your work into the public domain, or grants permissions to individual copies. It also means that you give up copyright income, and others are not obliged to list you as the original author or contributor.

Open source licenses make it easier for others to contribute without having to seek special permission. It also protects your rights as the original author, at least acknowledging your contribution. It also ensures that your work is not plagiarized by others.

GNU General Public License

The GNU General Public License (GPL) is probably the most commonly used license for open source projects. The GPL grants and guarantees a wide range of rights to developers of open source projects. Basically, it allows users to legally copy, distribute and modify software. This means you can:

copy software

Copy the software to your own server, your client's server, your own computer, pretty much anywhere you want, and there is no limit to the amount.

release software

Publish the software you want, for example, provide a download link on your website, burn it to a CD, print it out, etc.

Fee

If you want to charge for providing software to others, such as setting it on other people's websites or for other purposes. The GPL allows you to do this, but you have to give customers a copy of the GPL and tell them they can get a free version elsewhere. Of course, it is best to tell the customer why you charge before that.

Can be modified arbitrarily

If you want to add or remove features, no problem. If you want to use part of the code in other projects, it is also possible, but the only restriction is that this project must also be released under the GPL.

Commercial software cannot use code under the GPL agreement

GNU Lesser General Public License

There is another GNU License: the GNU Lesser General Public License (LGPL). It grants fewer permissions than the GPL. Generally speaking, LGPL is more suitable for library files linked to non-GPL or non-open source files. Due to the provisions of the GPL, software that uses part of the GPL code must also use the GPL, and developers cannot use the GPL to develop paid software or proprietary software. LGPL does not have this requirement, and does not require the use of the same license as part of the code.

Commercial software can be used, but the code of the LGPL agreement cannot be modified.

BSD License

Compared with other free software licenses, such as GPL, BSD License has fewer restrictions. But please note the difference between the two versions of the BSD License: New BSD License/Modified BSD License and Simplified BSD License/FreeBSD License. Both of them are free software licenses compatible with the GPL.

The New BSD License ("3-clause license") may be used for any purpose as a disclaimer of copyright notices and warranties, and may be maintained by redistribution of unlimited length, that is, if redistributions containing the source code , the source code must contain the BSD protocol in the original code. It also has a special restriction clause, which restricts the use of the worker's name of the derivative work without special permission, which means that the name of the author/institution of the open source code and the name of the original product cannot be used for marketing.

The main difference between the New BSD License and the Simplified BSD License is that the latter ignores non-approved clauses.

Commercial software can use and modify code that uses the BSD license.

MY License

MIT has the same loose license agreement as BSD. The author only wants to retain the copyright without any other restrictions. That is to say, you must include the statement of the original license agreement in your distribution, whether you release it as a binary or Released as source code.

  • You may use, copy and modify the software
  • You can use the software for free or sell it
  • The only restriction is that it is MIT licensed

Commercial software can use and modify the codes of the MIT license, and even sell the codes of the MIT license.

Mozilla Public License 1.1 (MPL)

The MPL agreement allows free redistribution and free modification, but requires that the copyright of the modified code belongs to the initiator of the software. This authorization maintains the interests of commercial software, and it requires modifications based on this software to contribute copyright to the software without compensation. In this way, the copyright of all codes surrounding the software is concentrated in the hands of the original developer. But the MPL allows modification and free use. MPL software has no requirements for linking.

Commercial software can use and modify the code of the MPL agreement, but the copyright of the modified code belongs to the initiator of the software.

Common Development and Distribution License

CDDL (Common Development and Distribution License, general development and sales license) open source agreement is an extension agreement of MPL (Mozilla Public License), which allows the use of public copyrights, no patent fees, and provides patent protection, which can be integrated into commercial software. Self-publishing licenses are allowed.

Commercial software can use or modify the code of the CDDL protocol.

Apache License

Apache License is an agreement adopted by the famous non-profit open source organization Apache. The agreement is similar to BSD, which also encourages code sharing and respects the copyright of the original author, and also allows code modification and re-release (as open source or commercial software). Conditions that need to be met:

  • Users of the code need to be given an Apache License.
  • If you modify the code, you need to explain it in the modified file.
  • In extended code (both modified and derived from the source code) licenses, trademarks, patent notices, and other descriptions specified by the original author are required to be included in the original code.
  • If the redistributed product contains a Notice file, the Apache License must be included in the Notice file. You can add your own permission to the Notice, but it cannot be expressed as a change to the Apache License.

Apache License is also a license that is friendly to commercial applications. Users can also modify the code when needed to meet their needs and release/sell it as an open source or commercial product.

Commercial software can use and modify code that uses the Apache protocol.

Eclipse Public License

EPL is a license similar to CPL, and any code extending from the Eclipse source code must also be open source.

Creative Commons

Creative Commons (CC) licenses are less open source licenses and they are often used for design projects. CC licenses have broad definitions, and each definition grants certain rights. It has four basic parts that can be used individually or in combination. Here is a partial overview:

signature

The author must be the original creator of the work. Otherwise, the work may be modified, distributed, copied and otherwise used.

share alike

Work can be modified, distributed, etc., but only under a license.

non-commercial

May be modified, distributed, etc., but not used for commercial purposes. There's some ambiguity (no clear definition provided) about what is "commercial", so you may need to clarify this in your own projects.

no modification

This means that you can copy and distribute the licensed work, but you cannot modify in any way, or build upon the original.

The use of commercial software must comply with the specific provisions of the CC agreement, and the most stringent license will be the "signature, non-commercial, non-modification" authorization. This means you are free to share work, but you cannot change it and you must credit the original creator.

Common Public License 1.0

The Common license has some detailed regulations worth referring to:

  • Patent authorization is clarified. Generally, open source software makes it clear that the copyright owner of the source code licenses his copyright rights such as modification rights and reproduction rights to the public, but reserves the right of authorship. On the basis of this, the Common License also specifies that if the source code contains patent rights, the source code The code patentee licenses the exclusive right to copy and use to the public.
  • Provides that source code and modified source code may be combined with other types of code not covered by this license and released in the form of new products, so long as the source code and modified source code obtained under this license can be obtained according to the The requirements of this license are published.
  • Circumstances for the termination of this license are detailed, including the occurrence of patent infringement litigation.
  • A principle of independent responsibility is clarified, that is, if the user who uses the source code according to the license applies the obtained source code to commercial use, then he shall be liable for any damages arising from the use of the source code program in commercial applications. Take full responsibility for the infringement lawsuit. This provision is quite special, and most open source software licenses do not require it.

Commercial software can use or modify the codes of the Common Agreement, but it must bear the tort liability caused by the codes.

Guess you like

Origin blog.csdn.net/miaodichiyou/article/details/115162055