Introduction to open source software license agreement

Source: Internet
Author: User

Original English:A short guide to open-source and similar licenses

Many software developers and designers have the idea of making their software works open-source. They want others to share their work and use their work. The reason why open-source communities can flourish is that people have such aspirations. Open-source software is so rich that it can be found in any application field you can think. Most designers have used open-source software and open-source code as an indispensable part of their daily work (WordPress, Drupal, and many other content management systems are open-source software ).

However, many software authors and designers have little knowledge about the content and meaning of various open-source license protocols. What powers do you give up when you choose an open-source license agreement? Without knowing the exact meaning of open-source protocols, it is impossible for software developers to make accurate decisions on which license agreement is best suited to their own software.

What is a software license agreement?

There are many facts about what a license agreement is. When you attach a license to the software, it means that you reserve all rights to the software. You will have original copyright (or patent right if you have applied for it) for your work ). The license agreement is used to authorize others to have the right to use your work.

Using the license agreement to open source your work or authorize all aspects of your work one by one is a good method. Once it is open-source, you will lose all copyright rights to your work, and others are not obligated to mark you as the original creator or donor of the work. In the latter case, it is estimated that you need to take more time from the design and development work to deal with various infringement problems.

The open-source license agreement frees people from studying those professional license terms and makes it easier for them to contribute their own code to open-source projects. In addition, it can protect you as the original author of the work and ensure that you have at least the signature honors brought about by contribution and participation. It can also be used to prevent others from declaring ownership of your work.

GNU General Public License

GNU General Public
The license General Public License protocol (GPL) is the most widely used protocol in open-source projects. GPL fully recognizes and guarantees the rights of developers who develop open source software. Essentially, it allows users to copy, disseminate, and modify the software legally. This means you can:

  • Copy at will.

    Copy it to your own server, your customer's server, and your computer, basically anything you can think. There is no limit on the number of copies. (According to the translator's suggestion: Chinese people are used to piracy. It is estimated that they will not agree with this .)

  • Spread freely.

    Make a download link on your website for download. Copy it to your mobile hard drive and send it to another user. Print out the original code and scatter it on the roof (it is best not to do this, it will waste paper and affect the environment cleaning ).

  • Billing promotion
    If you want to pay for the software, you can sell it on your website or use other methods you can do.HoweverYou must share a gnu gpl agreement with the software you sell to the buyer so that the buyer can know that the software is available for free through other means. It is best to know this in advance and why you want to sell them.
  • Modify it as needed.
    If you want to add or delete some features, do it. It is also allowed if you want to use part of the code in other projects. One thing is that other projects must also be authorized using GPL.

Note a very important concept: the spread of source code and the spread of compiled code are two completely different things. Therefore, some application license protocols have different authorization policies for the two forms of code. For more information, see the GPL protocol utility Manual (author @ pierrejoye ). To use
GPL, you must also add some protocol-related information in the code, and also have a copy of the license agreement.

GNU lesser General Public License times General Public License Agreement

You also need to understand another GNU License Agreement: Lesser General
Public License (lgpl ). It reserves less rights to use the work. Generally, lgpl applies to some class libraries that can be referenced by non-GPL or non-open-source software. As GPL requires, to use the Code protected by GPL, you must also place your software under the GPL protocol. Developers cannot use programs under the GPL protocol in commercial and proprietary software. Lgpl abandons these restrictions and does not require other programs to use the same protocol to use these code programs.

BSD license agreement

BSD protocols have many branches. They all represent a loose free software protocol. Compared with other protocols, such as GPL, they impose less restrictions on the spread of software.
Among the various versions of this Protocol, two versions are particularly important: the new BSD Protocol/the revised BSD Protocol and the simplified BSD Protocol/FreeBSD protocol. These two types of protocols implement GPL-compatible free software protocols and are recognized as open source software protocols by Open Source Initiative.

The new BSD Protocol ("3-clause license") allows you to resend such software for any purpose without any restrictions, the only requirement is that the copy right statement and the software right waiver clause in the agreement must be retained. There is also a limit for such an agreement to prohibit the use of the signatures of all previous donors for this work without permission. The main difference between the new BSD Protocol and the simplified BSD Protocol is that the latter deletes the signature terms.

MIT License Agreement

The MIT protocol should be the simplest and most widely used protocol in popular open-source protocols. Its terms are very loose and more free than other protocols. The information that it is provided without warranty, which comprises the final paragraph)
As follows:

We hereby authorize anyone to obtain a copy of this software and the relevant documentation (the "software") for free and to use this software without restrictions, this includes unrestricted rights to use, copy, modify, merge, publish, attach subordinate protocols, and/or sell copies of software. In addition, in order for the software provider to have the right to do so, the following conditions must be observed:

The above copy permission statement and license statement must be included in all copies of the software and the actual sub-departments.

That is to say:

  • You can use, copy, and modify the software at will. No one can prevent you from using it in any project. You can copy it as many times, in any form, or modify it as you wish.
  • You can issue or sell them for free. You can freely distribute it without any restrictions.
  • The only restriction is that you must accept the terms of the agreement.

The MIT protocol is currently the least restrictive protocol. It basically means that anyone can do anything to the software under this agreement, as long as you can accept this agreement.

Apache License Agreement

Apache License Agreement (Version 2.0) grants a large number of rights to users. These rights can be applied to the copy right or patent right. Because many license agreements only apply to the copy right and not the patent right, therefore, this flexibility has become a significant reference factor for patent developers to select a license agreement (to understand the differences between the two, please refer to this article on how stuff works ).

The following is a detailed description of the items allowed in the Apache License Agreement:

  • Permanent rights.

    Once authorized, the rights are permanently lost.

  • The right has no boundaries.

    Being authorized in a country is equivalent to being authorized in all countries. For example, if you are in the United States, but the permission was initially granted in India, you can also use this authorized program.

  • No payment or payment is required for authorization.

    You do not have to pay any fees before use, or pay any fees for each use, or in other similar cases.

  • Rights are not exclusive.

    Using software under this license agreement does not prevent you from using other software.

  • Rights cannot be changed.

    Once a right is granted, it cannot be deprived. That is to say, you don't have to worry about this situation when using this software: when you develop an enviable derivative product based on this software, someone suddenly jumped out and said to you, "sorry, you will no longer be allowed to use this program." (There is a clause in this agreement: If you accuse someone else of infringing a patent on the product under this license agreement, your authorization will be automatically terminated, however, this only applies to works with patent rights. As long as you do not file a lawsuit against a patent, you will never have to worry about this problem .)

There is also a special requirement for redistribution of works. In general, it is necessary to give the author of these procedures and the maintainer of the license agreement an appropriate reputation.

Creative Commons Knowledge Sharing Protocol

The Creative Commons (CC) license agreement cannot be said to be a true open source protocol. Most of them are used in design engineering. A wide range of CC protocols, each of which authorizes specific rights. A cc license agreement has four basic parts, which can be used separately or in combination. The following is an introduction to these parts:

  • Signature

    The ownership of the work must be attached to the work. After that, the work can be modified, distributed, copied, and used for other purposes.

  • Share in the same way

    Works can be modified, distributed, or otherwise operated, but all derivatives must be placed under the CC license agreement.

  • Non-commercial use

    Works can be modified and distributed, but cannot be used for commercial purposes. However, the language description of what is "business" is very vague (no precise definition is provided), so you can describe it in your project. For example, some people simply explain that "non-commercial" cannot sell this work. Others think that you cannot even use them on websites with advertisements. Some people think that "business" only means that you use it to get benefits.

  • Derivative works prohibited

    This means you can copy and distribute them, but you cannot modify them in any way or perform secondary creation based on them.

As mentioned above, these terms of the CC license agreement can be freely combined. Most of the more strict CC protocols will declare the "agency right, non-commercial use, prohibition of derivative" clause, which means you can freely share this work, but you cannot change it and charge it, the ownership of the work must be declared. This license agreement is very useful. It can spread your work, but it can retain partial or full control over the use of the work. The minimum CC protocol type is a "signature" protocol, which means that as long as people can maintain your reputation, they can do whatever they want to use your work.

The CC license agreement is mostly used in design projects, rather than development projects, but no one or prevents you from using it with the latter. However, you must be clear about the rights that can be covered and cannot be covered by each part of the terms.

More resources
    • Creative Commons licenses

      Official homepage, with descriptions of the CC licenses and links to the legal copy of each.

    • Open Source Initiative
      A fantastic website that has information on the vast majority of Open-Source Licenses.
    • Open Source Licenses comparison
      A chart comparing major open-source licenses.
    • Understanding Open-source licensing
      A pretty thorough overview of what open-source licenses are and what they're good.
    • How to: Pick an open source license
      An overview of what to consider when choosing an open-source license.
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.