
This concept seems fairly simple to anyone who has been working 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 that which 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 work to put the genie back into the bottle.
But what about good reasons? What if a 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 it a forced change in the
rules of behavior for Linux developers, some developers of the most exclusive open source project in the world have questions. The community has rarely come across such a situation, and this has never happened 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 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 restricted by copyright laws. She, for example, gives the user the right to copy the work and create its derivatives. 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.
In some open source projects, usually large and supported by corporations, sometimes there is a Contributor License Agreement. This document describes all the 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 to the recipients of the software distributed by the company, perpetual, worldwide, non-exclusive, free, demanding, irrevocable rights to reproduce, create derivative works, publicly display, publicly execute, re-license and distribute your contribution and derivative works from it.
It is worth noting that Linux does not use such an agreement, so the rights to any code contributed by the developer remain with him.
Reputational loss
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 RaymondEric Raymond , one of the founders of the open source initiative, the
Open Source Initiative , and the author of the
Council and Bazaar trilogy, 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 an empty threat. When founding the Open Source Initiative, I studied the related laws. In the United States, there is a case law confirming that reputational 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 United States, but in countries that comply with the
Bern Convention without US amendments on “moral rights” [after joining the Convention, the United States stated 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, for example, 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.
Criticism
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 appropriate point 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 to the Program, and may not be revoked provided that the conditions are met.
Some believe that this distinction may be critically important. Legally, “revocation” 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 is 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.
Unknown Territories
Taking into account the assessment of Eric Raymond, according to which the developer can claim that the project in which he participates, slanders 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 ” can come into play - it essentially prohibits a person to take back his promise if another person has already taken steps on the basis of this 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 by doing so you will harm him.
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 remove the code from devices that violate copyrights from now on, the aforementioned developer will most likely receive some monetary reward. What 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 have no time to think about whether they should do it at all. After the emergence 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 has taken 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.