Is it possible to close back open source code?
This concept seems pretty simple to anyone who has worked with open source for some time: a project, once released as open source, remains open forever. Of course, the developer may decide that future versions of the project will be closed, and sometimes this happens, but what has already been released can not be recalled. The internet does not have a “delete” button; having published my code, and giving millions of people the potential to download it, it will not be possible to drive the gin back into the bottle.
But what about good reasons? What if the project turns into something you don’t want to be related to anymore? Perhaps you sent your code for the project, having an idea of how it will be used, and then the rules have changed. Or have you been banned from this project, and at the same time people who support it have no problems with leaving your significant contribution in the form of a code, even when you were thrown to the side of the road?
Due to the fact that some people consider forced changes in the rules of behavior for Linux developers, some developers of the most exclusive open source project in the world have questions. The community rarely faces such a situation, and this has never happened before with a project of such a scale.
Is it impossible to revoke the source code sent to a project released under such a free and open license as the GPL? And if it is possible, then what will happen? What happens if it turns out that the billions of devices that run the Linux kernel violate the intellectual rights of a single developer? These questions are extremely important for the Internet and, probably, even our way of life. However, the answers are not as easy to find as you might think.
Copyleft and ownership rights
The GPL is known as a copyleft license that adds rights to end users who, without this, would be subject to copyright laws. She, for example, gives the user the right to copy the work and create its derivatives. An important point: copyleft licenses such as the GPL do not replace copyright - they only complement it. The rights to the original code remain with its author, and, as a result, the main owner.
This gives rise to the concept of dual licensing: the only author of the program can release it under several licenses at the same time, and usually one of them allows you to do more with the program. For example, the version of the program for Windows may have a closed code, and for Linux it may be open, even if the program code itself is no different. More often it is used so that under one license the program is used for commercial purposes, and under another, more free - in personal ones.
Some open source projects, usually large and with support from corporations, sometimes have a Contributor License Agreement. This document describes all the necessary additional requirements and rules for adding a code to a project, and usually contains a clause explaining that the person contributing the code transfers the right to it to the project owner. For example, here is part of such a license from Google :
Under the terms and conditions of this agreement, you transfer to Google and the recipients of the software distributed by the company, perpetual, worldwide, non-exclusive, free, royalty-free, irrevocable rights to reproduce, create derivative works, publicly display, publicly perform, re-license and distribute your contribution and derivative works from it.
It should be noted that Linux does not use such an agreement, so the rights to any code contributed by the developer remain with him.
So if a developer is free to choose licenses to distribute his code up to diametrically opposed (open and closed code), and it is generally accepted that in the absence of CLA he has an undeniable right to write the code he wrote, then the situation becomes delicate. Does it not follow from this that the developer has the right to withdraw his promise to make the code open if a situation arises that will force him to believe that the code is no longer worth opening?
Eric Raymond , one of the founders of the open source initiative, the Open Source Initiative , and the author of the trilogy " Cathedral and Bazaar", he believes that they have such a right. In the Linux Kernel mailing list entry, Eric, in particular, addresses the threat made by some developers about the revocation of their source code from the kernel:
First let me confirm that this is not empty the threat. At the basis of the Open Source Initiative, I studied the related laws. In the USA there is a case law confirming that reputation losses associated with the transformation of the rights of a project participant under the GPL can be considered in court. I do not know about the existence of case law outside the US but on page nah, complying with the Berne Conventionwithout US amendments on “moral rights” [after joining the Convention, the United States declared that moral rights are already protected by defamation provisions and, accordingly, do not require additional regulation / approx. transl.], this article of the convention is likely to further strengthen the position of opponents in court.
Section 6 of the Berne Convention explains that the original author of the work, even transferring his rights to another person or organization, may object to its use if it seems to him that it is used “to the detriment of his honor and reputation”. So, in theory, the dissatisfied developer should only convince the judge that the project leaders have damaged his reputation, say, publicly banning for violating the rules of conduct, as a result of which he can oblige the project to stop using their code regardless of the license used.
But the question remains whether the developer can really “revoke” the rights transferred under the GPL? If we are talking about GPLv2, which is followed by Linux, then the most suitable item is contained in section 4.
At the same time, the license granted by you to third parties who have received copies or rights from you under this license will not be terminated as long as these persons fully comply with its terms.
Interestingly, the GPLv3 rules are heavily tightened:
All rights granted under this license are granted for the duration of the copyright of the Program, and may not be revoked provided that the stated conditions are met.
Some believe that this distinction may be critically important. Legally, “recall” usually means that the agreement was withdrawn by those who offered it (here the original developer), and “termination” simply means the end of the agreement. As a result, there remains space for interpretations, and in principle, it can be argued that since GPLv2 does not state that the developer cannot revoke his rights, this possibility remains.
Taking into account the assessment of Eric Raymond, according to which the developer can claim that the project in which he participates, denigrates his reputation, and the fact that in the current Linux license, developers are not directly forbidden to withdraw their contribution, the situation becomes vague, and so far no one I'm not sure of anything. We are in an uncharted area, and the old assumptions may not withstand legal expertise.
It is also worth mentioning that such a legal concept as “ estoppel"- it essentially prohibits a person to take back his promise if another person has already taken steps based on that promise. That is, if you told someone that he could use your code, and he used it to create a successful project , you cannot change your mind, because you will harm it.
From a practical point of view, even if a person could defend his point of view in court, demanding to remove his part of the code from Linux, it would be physically impossible to do. And then instead of being able to delete the code of the devices that are with this At the moment copyright infringement is violated, the said developer is likely to receive some monetary reward. That would still be a terrible precedent for an open community: offended - received compensation.
As a result, talking about revoking open source licenses is wrong. Paraphrasing Ian Malcolm, the character of the "Jurassic Park": offended developers are so busy thinking about whether they can do it or not, that they do not have time to think about whether they should do it at all. After the appearance of a legal precedent, according to which the developer can withdraw his code from an open project, the open community will be destroyed. Open source software took decades to achieve today's prosperity, but the hasty actions of several unfortunate developers can drag it back into the realm of ideas that one wants to bring to life.