Skip to content

Remove "or later" from copying.txt - #17200

Merged
gerald-hartig merged 2 commits into
nvaccess:masterfrom
gerald-hartig:revert_license_or_later
Oct 29, 2024
Merged

Remove "or later" from copying.txt#17200
gerald-hartig merged 2 commits into
nvaccess:masterfrom
gerald-hartig:revert_license_or_later

Conversation

@gerald-hartig

@gerald-hartig gerald-hartig commented Sep 22, 2024

Copy link
Copy Markdown
Contributor

Link to issue number:

Revert #16830

Summary of the issue:

Inadvertently merged PR before licence clarification was fully addressed

Description of user facing changes

Revert "GPL-2 or later" to "GPL-2"

@coderabbitai summary

@seanbudd seanbudd added blocked/needs-product-decision A product decision needs to be made. Decisions about NVDA UX or supported use-cases. blocked labels Sep 24, 2024
@seanbudd seanbudd added the release/blocking this issue blocks the milestone release label Oct 21, 2024
@seanbudd seanbudd added this to the 2025.1 milestone Oct 21, 2024
@gerald-hartig
gerald-hartig marked this pull request as ready for review October 21, 2024 23:39
@gerald-hartig
gerald-hartig requested a review from a team as a code owner October 21, 2024 23:39
@seanbudd

Copy link
Copy Markdown
Member

My concern with merging this as-is, in #16830 we declared a bunch of apache licenses as compatible in the license check, but if we revert "or later" these changes should probably be reverted too.

@seanbudd

Copy link
Copy Markdown
Member

Other updates that may need to happen:

  • the "license" section in pyproject.toml
  • the copyright headers file (however I think we can declare new files as GPLv2 or later with no issue)

@ethindp

ethindp commented Oct 24, 2024

Copy link
Copy Markdown
Contributor

Look, this PR and the older license PR should've never been merged to begin with. Revert the old PR and then re-open it. Right now this project is actively violating the GPL because the right way to do this is to ask (every) contributor, past and present, and to get their confirmation before re-licensing.

@gerald-hartig

Copy link
Copy Markdown
Contributor Author

@ethindp We're currently speaking to our legal team and the FSF to get clarity on what is required and the best way to proceed. This PR is on the 2025.1 milestone which means that if this issue is not resolved by the time our next release comes out, the addition of the lifeboat clause will be reverted. The 2024.4 release also does not contain the lifeboat clause.

@ethindp

ethindp commented Oct 24, 2024

Copy link
Copy Markdown
Contributor

@gerald-hartig Ah okay. I do believe I am correct on this matter, unless the FSF explains otherwise. I would recommend you just revert the mistaken PR and go from there.

@XLTechie

XLTechie commented Oct 26, 2024 via email

Copy link
Copy Markdown
Collaborator

@ethindp

ethindp commented Oct 26, 2024

Copy link
Copy Markdown
Contributor

@XLTechie That isn't untenable. It's one of the entire reasons open-source works so well. If NVAccess adopts any kind of CLA or similar, your going to drive away pretty much everybody because nobody is going to want to give NVAccess that kind of control over the project and their contributions. See also: Don't Sign a CLA

@XLTechie

XLTechie commented Oct 26, 2024 via email

Copy link
Copy Markdown
Collaborator

@ethindp

ethindp commented Oct 26, 2024

Copy link
Copy Markdown
Contributor

@XLTechie
This is a problem with copyright, but not necessarily a problem with OSS itself. It in no way means that some kind of CLA is a good idea. Time and time again we see that most projects use CLAs as a way of technically being open source while not really being as open as they should be, or we see projects who have people sign a CLA just so those projects can then turn around and do whatever they want with the code because there's nothing the contributors who wrote that code can do because of said CLA. I am in no way implying that NVAccess would do that, but there are much better ways of doing things, like the Developer Certificate of Origin:

By making a contribution to this project, I certify that:

  1. The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
  2. The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
  3. The contribution was provided directly to me by some other person who certified (1), (2) or (3) and I have not modified it.
  4. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.

We could just use that and the CLA (or something similar to it) could be neatly avoided. This is what Linux uses and we know it works well.

@XLTechie

XLTechie commented Oct 26, 2024 via email

Copy link
Copy Markdown
Collaborator

@ethindp

ethindp commented Oct 26, 2024

Copy link
Copy Markdown
Contributor

If there is such a model that actually works, and doesn't violate the open-source definition in some manner, I think every OSS dev that wants to go commercial would love to hear it. To my knowledge, CLAs or the DCO are the only models that work, and as noted the CLA is not treated favorable by the supermajority of OSS developers and is typically used by a corporation as a way of taking total control over a contributor's contribution(s) for eternity and completely excluding them from any and all decision-making processes or procedures involving the project where their contribution(s) are concerned. The fact that re-licensing is such a headache is precisely the point -- re-licensing at will or claiming absolute ownership over every contributor's contribution(s) is dangerous and is more often than not just used to stab the OSS community in the back as soon as the corporation suffers a bad quarter or something. NVAccess is in a unique position in that this would be a lot harder for them, as I don't believe they are a corporation, but the fact that they would do it at all is concerning enough as it is. Just keep the GPL 2.0 license, consider analyzing all deps and replacing those that are incompatibly licensed and be done with it.

@gerald-hartig

Copy link
Copy Markdown
Contributor Author

In the interests of all concerned, we're going to merge this revert now. This change was introduced prematurely, and we’re committed to addressing it in a way that best serves NVDA’s future, community and our obligations to prior contributors.

Throughout, we've been consulting with both our legal team and the Free Software Foundation to ensure a clear, secure path forward. Our priority is to make sure that any license change safeguards NVDA's long-term sustainability while respecting contributions, past and present. Until we have comprehensive legal guidance, we are reverting to GPL-2.

We know that some of you have raised concerns about copyright management, potential licensing approaches and the suitability of models like CLAs. I want to assure you that any future changes will be thoughtfully considered, and we will continue to involve the community throughout the decision-making process. Transparency and respect for the values that drive open-source collaboration are foundational to our approach.

NV Access and the development of NVDA is ultimately governed by an independent board of directors who are there to ensure that NVDA remains free (as in beer and as in speech) and open and that all work adheres to our guiding principles: https://github.com/nvaccess/nvda/blob/master/projectDocs/product_vision.md

@seanbudd seanbudd removed blocked blocked/needs-product-decision A product decision needs to be made. Decisions about NVDA UX or supported use-cases. labels Oct 29, 2024
@gerald-hartig
gerald-hartig merged commit 5d2af1c into nvaccess:master Oct 29, 2024
@gerald-hartig
gerald-hartig deleted the revert_license_or_later branch October 29, 2024 02:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release/blocking this issue blocks the milestone release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants