Legal consequences of using Open Source (Open Source)
The use of free or open source code in the development of new software is a widespread, almost ubiquitous phenomenon in the modern IT industry. Such code is beneficial to both developers and customers, as it significantly saves time, effort and money for the development of new products. At the same time, the use of free or open source code has its own legal rules and consequences that can significantly affect the future fate of the software.
This article is a must-read for all developers and developers who use open source in their work, as well as for potential software customers.
What is Open Source from the point of view of law?
It should be noted right away that in this article we will consider under Open Source a large group of free (Free Software) and open source (Open-Source Software) without dividing into separate subcategories, because for the purposes of this article such a division is insignificant.
There is a wide variety of types of open source licenses, and the differences between them are very significant. Nevertheless, in the vast majority of cases there is one extremely important requirement of all licensees – a mention of the use of this open source code (for example, in the Third Party Software Attribution Notice format) and the inclusion of certain conditions in the text of the final license.
Next, we will talk in more detail about these obligations, and how to properly organize work with open source, since the consequences of non-compliance with the terms of an open software license can be no less serious than from violating the terms of any other license.
Collecting information about all open source code used in software development
The main condition that will allow you to avoid subsequent difficulties when using open source code is scrupulous collection of information about all open source code used when working on your software.Of course, only the developers themselves can implement this, since only they know which open source codes were used when working on the software. If you are a software customer, then you should definitely include a clause in contracts with developers that developers must provide you with information about all open source codes used by them in their work. Of course, such an obligation must be accompanied by a description of responsibility for its violation, otherwise it loses all meaning.
As a rule, such information is transmitted in a separate annex to the development agreement, and is made out in the form of a table indicating the name of the open source code, links to the repository from which such code is taken, and the type of license on the basis of which the open source code was posted by its author.
Information about the license name, as well as the license text itself, is in the vast majority of cases contained in the same repository in the form of a TXT text file or in Word format. The file name itself may be different, but, as a rule, these are classic Readme or License names.
Identifying all the open source code used in the development of your software is the most important stage on which all further work with the derived code depends, i.e. the very software that you eventually developed or received. Large IT companies even conduct a separate examination of the codes to make sure that all the open source code used was specified and nothing was missed.
Analysis of open source licenses used in software development
We have already mentioned earlier that there is a wide variety of open source licenses, and the differences between them can be quite significant. Among the most popular are such types of licenses as MIT, BSD, Apache 2.0, GNU GPL, etc. – there are a lot of them.
Without going into the details of each individual license, it is worth highlighting two main types of such licenses: copyleft licenses and permissive licenses.
Since most programs are developed for the purpose of their further use for profit, their customers should avoid using copyleft licenses, and that's why. Copyleft licenses (for example, GPL licenses) stipulate that any derived code (in particular, the final code of your program) must be open to the public under the terms of the GPL license, and when transferring rights to use it, you must attach a GPL license, a copyright notice and an open source file.
Thus, using open source code based on a copyleft license, you automatically lose the opportunity to get the derived code at your full disposal and control its subsequent commercial use.
Permissive licenses allow you to distribute derived code under the terms of other licenses, so they are more popular when developing software. At the same time, using open source under a Permissive license does not mean that there are no additional requirements, such as mentioning the author, etc.
Thus, the collection of information and analysis of the types of licenses used in the development of your software should be carried out by everyone who uses open software in their work, and for this it is necessary to involve professional lawyers who will be able to give recommendations on the further compilation of the final license and the use of your software.