Which license to choose on GitHub: types, comparison

Программирование

How to choose a GitHub license and why is it important to make the right choice? GitHub is the largest service for the joint development of IT projects and their subsequent hosting. With the help of this web service, an unlimited number of people can work on a project at once, as well as from absolutely anywhere in the world. GitHub also has a management or control system that allows you to view and control absolutely all changes made by developers over time, and it also allows you to return to the state that occurred before the changes.
Which license to choose on GitHub: types, comparison But to put it simply, GitHub is the so-called social network for programmers and developers, where you can find, and later practice on codes from other developers. You can also store your portfolio on GitHub. In general, GitHub is a service that is well suited for both novice developers and experienced programmers. However, users of this service may sometimes have some questions about choosing a license, since their choice there is quite diverse.

What is a GitHub license

A license is a special document that was established by the state form and allows you to engage in a certain type of entrepreneurial activity, which without fail requires special attention from the state side. But, most often, in practice, only abbreviated license agreements or agreements that provide for the issuance of private law licenses are used. In general, the license pursues only one, but the most important goal, this is an agreement on obligations and rights between the licensor and the licensee. These duties and rights can be absolutely anything, but only within the framework of the law. A notable example is that the licensor may require the name of the copyright holder to be required when using the work by the licensee. Or, for example, allow copying work, but prohibit absolutely any modification of it. Or, to bring out such requirements that the work be released on exactly the same conditions as the original one, and so on, there are quite a lot of examples of putting forward various conditions.

Which license to choose on GitHub: types, comparison
An example of one of the Apache licenses

But, also, we must not forget that the license protects the rights of not only the licensor, but also the licensee. Since in it you can clearly see and read all the conditions for using the work, and therefore he does not need to be afraid that the licensor will suddenly demand any deductions or any other compensation for the use of his work.

If you refuse to use the license that is associated with the work, copyrights still apply in accordance with the legal rules in force in a particular country. Simply put, the absence of a license in no way implies that other authors can use this project in any way they want. Everything is exactly the opposite, because without any specific license, the programmer in no case waives the rights that were granted by law. It is also important to always remember that the license governs all rights and obligations. This is to protect the owner of the work from user expectations and what any warranty implies. After all, no one wants their code to end up in court in any way.

Copyright appears in a person only when, as a result of intellectual activity, he creates a certain work that will be unique, but at the same time useful, for example, you can take the writing of the same program. When all of the above is done, the person becomes the author and now he has absolutely all the copyrights to this work. It should also be said that copyrights are property and non-property. Their difference is that property rights can be transferred to anyone, but non-property rights will always remain only with the author in any situation. After all, being an author is a non-transferable and inalienable right.

What is an Open Source license for?

This is also a fairly popular question among novice developers and programmers, since they simply don’t understand why a license should be attached to their projects, because without it the project can also exist quietly. However, this is not entirely true, because if, for example, some novice developer wrote some fairly important and useful piece of code, but did not protect it with a license, then other users have questions. And precisely because of this, when clients come to him and want to use this piece of code for their commercial purposes, they see that the code does not have any license and simply refuse it. This is due to the fact that companies simply will not use the code without a license, because they do not need problems with the law and lawyers.
Which license to choose on GitHub: types, comparison And that is why even the most useful and convenient project will never be implemented. And the developer who wanted to take this piece of code will have to look for and use an alternative, or completely rewrite the code that was already written by the novice developer earlier. That is why it is best to make sure in advance that the programmer is using the correct, and most importantly, suitable license. Exploring GitHub in one video tutorial in 15 minutes: https://youtu.be/JfpCicDUMKc

Which GitHub license is suitable in certain conditions – how to choose?

There can be no exact answer to this question, since the choice of a license depends only on the goals of the project and on the personal preferences and desires of the developer himself. As you can see, there are a lot of various licenses on GitHub, and most importantly, they are all free and in the public domain, which means that every programmer can find the
Open Source license that will definitely fit his project. But, most importantly, we must not forget that an Open Source license is not just a code with no license.

Which license to choose on GitHub: types, comparison
GitHub license family
With a little research, you can collect all Open Source licenses and divide them into three large main groups:

  1. Strongly protective.
  2. Weakly protective.
  3. Permissive.

strongly protective

Strongly protecting licenses are most often variations of the GPL. These licenses require the licensing of the project as well as the disclosure of source codes, regardless of how any code or project will be used or has already been used.

Weakly protective

Weakly protecting licenses are most often variations of the Lesser GPL. In which the main difference from permissive licenses is that here it is simply necessary to also license the program under the GPL license, as well as provide the source codes without fail. At the same time, if there is a library in the programmer’s project, that is, static linking or dynamic linking under the LGPL license, then it will also be compatible with any of the licenses of the project of this programmer.

Which license to choose on GitHub: types, comparison
Where the GitHub license type is specified

permissive

There are a fairly large number of permissive licenses, in their ranks the most popular licenses are MIT, Apache 2.0, and BSD. With slight variations, these licenses have the ability to allow the use of the code both in Open Source projects and for commercial purposes and projects. But, in this case, it is important to remember that it is necessary to indicate the authorship of the original program.

In addition to these three groups of licenses, there are also others, for example, another of the most useful licenses is GPLv2 with classpath extensions. This license can also be used for both Open source projects and commercial projects and purposes. Its most popular appearance is at Oracle, which uses GPLv2 with classpath extensions to license its Open Source projects and solutions. This license is quite important and useful, since regular GPL licenses, for example, will never be able to deal with bytecode. That is, they have a special description of the compilation and linking process, which is completely unsuitable for other interpreted programming languages, the most popular Java language is among such languages. It is for such cases that a special license GPLv2 with classpath extensions was released. After all, it says very clearly and clearly that the library that was released under this license can be used for commercial projects and purposes with absolutely any other license.
Which license to choose on GitHub: types, comparison What else you need to know about
GitHub licenses .

Adding a license

After the final license is finally selected, it remains only to add it to the project root itself. To perform this action, you need to simply add the selected license under the project root during the creation of the project itself or at any other time. But even in this action, the GitHub web service managed to take care of its users and they made a fairly convenient way to add the final license even at the start of the project itself.
Which license to choose on GitHub: types, comparison However, unfortunately, this is not all, since the developer or programmer needs to check absolutely all the dependencies that were used in his idea or project. That is, if even one of the dependencies that is released under the GPL license, then absolutely the entire developer’s project must be GPL compatible. For such verification, previously designed programs or tools are usually used for this. For example, there is a tool for this https://github.com/pivotal/LicenseFinder:
Which license to choose on GitHub: types, comparison We can say that licensing is a rather time-consuming task, but at the same time a necessary action for the life of a project or any idea of ​​a programmer. In order to choose the right license, unfortunately, you have to spend quite a lot of time, however, it is worth it for the project to be successful. It is best to put the choice of license in the first place when writing any program, since by doing this at the very beginning, you can direct absolutely all your efforts in the right direction and write a program that will be successful and convenient for most users.

info
Rate author
Add a comment