GitHub licenses – what are we talking about? In order to create software, one must not only write it, but also decide what users or developers have the right to do with it. If someone creates a free program for everyone, he is doing a good deed, but whoever uses it will have to justify how he uses it. For example, if a company in its activities will work with some free office (for example, LibreOffice), then it must be able to prove to inspectors that it has the right to do so. To do this, it will be enough to present the appropriate license. If the developer forgets to formulate it, then the company may be in a difficult position.When creating an application, the developer must decide which actions with his program will be allowed and which will not. For example, we can talk not only about using, but also about studying the texts of programs or making your own adjustments to the software product. GitHub is one of the largest services for collaborative project development. At the same time, they can work here not only on free, but also on commercial projects. By specifying the appropriate license, the developers will eliminate ambiguities in how to use the created product. The problem is that there are many different types of licenses, and it is not always easy to determine which option to choose in a particular case. It is also not uncommon for some projects to have no license.
- Why you need to license Open Source projects on GitHub
- What types of licenses exist
- How to choose a Github license
- How to add a license to Github
- Choose a license Github – examples of popular licenses on Git Hub
- GPL
- LGPL
- Eclipse Public License
- Mozilla Public License
- Apache License Github
- MIT License
- Underwater rocks
Why you need to license Open Source projects on GitHub
When specifying the required license, the developer can provide the following in it:
- Terms of use of the program . They may involve a fee or, in some or all cases, allow free use.
- Sometimes programs are created to be developed by the community . In this case, it is important that everyone who wants to get acquainted with the program texts.
- When the texts of the program are available, some might make changes to make the program functional and as reliable as possible. Sometimes the author can allow everyone to do this, in other cases he offers to send the change to him, and makes adjustments to the project on his own.
- You need to decide whether third parties can make changes to the project and offer on their behalf. When doing this, you need to specify which license their product should be with.
Solving these and similar questions, the author of the application actually largely determines the future fate of the software product he created.
What types of licenses exist
A license is an agreement in which one party (the licensor) establishes a rule for the other party (the licensee) to use the product created by him. In practice, we are not talking about signing a document by the parties, but about automatic agreement with the corresponding rights and obligations upon its use. There are practically no restrictions on specifying rights and obligations. The only condition is that they must comply with the law. Creating your own licenses is a complex job, as it must be compatible with other regulations. The best option is to select and use one of the standard varieties of such documents. In practice, it is also customary to use multilicensing. Most often, in such cases, two licenses are used simultaneously. Although the author of the program has the right to independently formulate the rules that users must follow, nevertheless, in practice, the use of a large number of types of licenses has developed, from which you can choose the right one in most cases. The following are the most popular options used on Git Hub in most cases. The licenses most commonly used on Git Hub are:
The programmer will have to be able to choose one that will fit his plans. To do this correctly, you need to understand what features are inherent in certain species.
If the author refuses to formulate the document, then in this case copyrights will apply, which are provided for by default by the legislation of his country. The absence of a license in this way does not mean that anything can be done with the program. In fact, such a situation can be considered as one of the types of license.
How to choose a Github license
Before you start looking for a suitable option, it is necessary that the programmer formulate his requirements, from which he is going to proceed with further licensing. Next, you should familiarize yourself with the typical options that match the request. After that, you will need to carefully study the legal language and make a final decision on what the license should be. To make an informed choice, you need to understand what rights and obligations are associated with a particular type of license. To make the right choice, you can use special services called comparators. Here are some examples:
- https://choosealicense.com/. This site has leading questions for choosing the right option and detailed advice to help you understand the features of use.
- The https://opensource.org/licenses page is dedicated to reviewing various free software solutions.
- The site https://tldrlegal.com/ can be considered as an encyclopedia for various license options. There are both precise legal formulations and detailed comments.
How to add a license to Github
Despite the extensive choice of license options that have proven to be effective and reliable in practice, the developer may have his own ideas about what the license for the program he created should be. In this case, the service provides the ability to add your own version or adjust the existing one. To add a license to Github, you will need to follow these steps:
- You need to go to the main page of your repository.
- You need to click on the button to add a file, then select “Create new file”.
- Next, you need to enter a file name. For a license, this can be one of two options: LICENSE or LICENCE.md. Here the use of capital letters is mandatory.
- To the right of the file name input field, click to select a license template.
- In the menu on the left side of the page, select the line “Add a license to your project”. In this case, a variant is selected from existing documents.
- Then click on the line “Review and submit”. Then enter your agreement details.
- After that, it is necessary to clarify what the additions or changes were made. Next, indicate whether the selected document was corrected or whether it is about creating another version of the license.
After confirming the changes, the developer completes the procedure for making changes to the list of licenses on the Git Hub service.
Choose a license Github – examples of popular licenses on Git Hub
The following are the options that are the most popular. By understanding their strengths and weaknesses, the programmer will be able to find the right option or understand how to efficiently search.
GPL
This license can be called one of the most popular. It is classic for those who produce free software. One of the main requirements of this document is that it
allows third parties to freely modify the program , but at the same time they have the right to distribute the result only under the same license. This license may have different versions. The latest of these is the third. The GPL has been used by developers of programs such as the Drupal web content management system, the MariaDB database management system, the InkSkape vector graphics editor, and some others. It is interesting to note that SQL uses not only the GPL, but also a commercial license.
LGPL
This name translates to “GNU GPL Lesser General Public License”. For some developers, the GPL is not suitable, as it creates an obligation for them to distribute modified products under the same license. The features of the application of this option can be illustrated by how the process of licensing the use of libraries created by the programmer takes place. In this case, the following three options are considered:
- When a library provides new functionality where no other commercial library can do the same, then the GPL is the best choice.
- The developer in the free library has already implemented the existing standard. In this area, there are commercial options with similar functions. For this case, it will be convenient to choose LGPL.
- When it comes to a new standard that actually competes with the commercial one, the Apache license is the way to go.
This standard
allows commercial use of libraries . If modifications are made, the same terms and conditions must be used for distribution. However, the simple use of the code allows the conditions to change.
Eclipse Public License
This document
permits distribution under other licenses, including commercial ones . The main condition is that in the modified works, innovations will be placed in a separate module. This license has gained popularity in the development of products in Java. An example is the Clojure programming language, a framework for testing java applications.
Mozilla Public License
Some see this document as a compromise between the GPL and commercial licenses. The MPL requires
open access to certain files . The software product may contain some files under this license and others without it. After the modification, it is allowed to put the license that is needed (for example, it can be a commercial one), but this is possible only on the condition that access to files released under MPL will still be open. In this case, the end user must be provided with information about the authors of the original software. In accordance with this document, the LibreOffice office, the Mozilla browser and other software products were released.
Apache License Github
AL is called the liberal free license. This feature is due to the fact that there is
no requirement to release a derivative product under the same conditions as before . This document is actively used by the Apache Software Foundation. When used, the following is allowed:
- The software product is allowed to be further used for commercial purposes.
- Application modifications are allowed.
- Subsequent distributions should include the name of the original author.
By creating a new variant, there is no obligation for licensees to provide the original product code. Such a license has gained considerable popularity. This can be demonstrated by listing well-known software products that are released under this type of license: the Android operating system, a framework that creates enterprise applications in Java, and the Apache web server. https://youtu.be/wyZq-EazOmU
MIT License
Some consider this free software license option to be the most popular. Its main advantage is considered by some to be good compatibility with various types of free or commercial licenses. The most important features are the
ability to modify the code, as well as the permission to distribute under other licenses at the choice of the one who made the changes . The software products that use this document are: a JavaScript library called JQuiery, an Atom text editor, AngularJS, a JavaScript development framework.
Underwater rocks
Sometimes the author at first chooses one version of the license, and later wants to change it. If he created the program alone, then such a change would not be difficult. However, in cases where there were many participants in the development, then without their consent this will not work. For example, the creator of Linux, although he actually made the basis of the operating system, will not be able to change the license without the consent of all those programmers who took part in further development. When distributing under the MPL, those who made changes to the code cannot offer files under the MPL under a different license. The use of the new document will refer to other program modules.