Suppose that out there in the web there is a project, let's call it <PROJECT NAME>, licensed under LGPL v 2.1 or, at the end user's discretion, above.
An external contributor (not officially affiliated with <PROJECT NAME>) submit a merge request to the project. "Submit a merge request" means that he writes some code that substantially improves <PROJECT NAME>, uploaded his code on <PROJECT NAME>'s website and asks the maintainers of <PROJECT NAME> (from now on, just "the maintainers") to merge his code with <PROJECT NAME>'s code.
The contributor code starts with the following notice:
This file is part of <PROJECT NAME>.
Copyright 20XX-20YY <CONTRIBUTOR NAME> <CONTRIBUTOR SURNAME> <>
<PROJECT NAME> is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
<PROJECT NAME> is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with <PROJECT NAME>; if not, see http://www.gnu.org/licenses/.
The maintainers don't merge. Suppose that one maintainer demands that the contributor call some functions from <SOFTWARE X>. But the contributor thinks that basing his work on <SOFTWARE X> will substantially decrease the quality of his work. Furthermore, the contributor notices that this maintainer is also a maintainer of <SOFTWARE X>.
After the initial merge request, the contributor continues to work on his code, which, if merged, would substantially improve <PROJECT NAME> capabilities. This goes on for years. The contributor has written a lot of code, millions of lines, over several years, that substantially improves <PROJECT NAME>, while repeatedly asking the maintainers to merge.
After years of code writing, the contributor asks for the final time the maintainers to merge. They don't.
The contributor is finally fed up, remove the merge request, delete his code, and ask for his code not to be used anymore in any way by <PROJECT NAME>.
The contributor is banned from the project and kicked out from the community by the maintainers.
The maintainers, who have saved the contributor's code in their computers, open another pull request with his code. This means that they re-upload on the web what the contributor has deleted. They modify a small portion of the code (2/3 lines) to use <SOFTWARE X>. Then they merge.
- Is it legal for the maintainers to do that?
Relevant to answering this question may be the explanation here:
Some open source projects, generally large ones with corporate backing, occasionally have what’s known as a Contributor License Agreement. This document explains any additional requirements and rules for submitting source code to a project, and will usually have a clause explaining that the submitter is granting their copyright to the project’s parent entity
So we will suppose that <PROJECT NAME> does not have any such Contributor License Agreement.
Can be argued in court that the contributor did not offer the license to the public indiscriminately. He did offer his Merge Request and related license to the maintainers. By not merging the pull request, the maintainers did not effectively accepted the license. Now the contributor has withdraw his code, and so there is no licensing offering anymore. Would such argument stands?
If the answer to the previous is no, would the maintainers still be required to keep the original contributor copyright notice?
Copyright 20XX-20YY <CONTRIBUTOR NAME> <CONTRIBUTOR SURNAME> <<CONTRIBUTOR EMAIL>>
The jurisdiction is United States.