Skip to content

Consider relicensing NVDA as GPL3+ #11548

Closed as not planned
Closed as not planned

Description

@codeofdusk

Is your feature request related to a problem? Please describe.

Describe the solution you'd like

Hold a referendum to move NVDA to GPL version 3 or later, similar to Dolphin and Wikipedia.

Describe alternatives you've considered

Keep NVDA at GPL version 2, using inter-process communication instead of linking to interface with libraries licensed under incompatible terms. I imagine this will have performance and/or maintenance costs.

Activity

  1. feerrenrut commented on Sep 3, 2020

    @feerrenrut
    Contributor

    A lot of development work to provide reasonable performance and low maintenance costs can be done in the time it will take to gather the approvals required to re-license NVDA. Given you haven't actually explored the problems involved, investigating using a separate process is the pragmatic approach.

    We would first have to decide if we really wanted to move GPL 3, other notable projects such as the Linux kernel refuse to use GPL 3.

    While it would be far from ideal, we could move espeak into a separate process also.

    Another alternative: Look for or create a GPL2 (or compatible) implementation of the Myers diff algorithm, there is one in xdiff I found quickly: https://github.com/git/git/blob/b06d3643105c8758ed019125a4399cb7efdcce2c/xdiff/xdiffi.c#L54

  2. feerrenrut commented on Sep 8, 2020

    @feerrenrut
    Contributor

    Rather than re-license, we could add an exception for required libraries: https://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs

    In order to do this we would need the permission of of all copyright holders. I'm not sure we want to go down this path, but we could ask copyright holders to assign copyright to NV Access https://www.gnu.org/prep/maintain/html_node/Copyright-Papers.html allowing NV Access to make changes as necessary. This would likely be a long process, and judging by the results of other projects, it's unlikely that all contributors can be contacted. Other projects seem to have reached a point where "enough" of the code copyright has been assigned.

    I don't think we should do this to be able to introduce one particular library. But it is a discussion worth having in a more general sense. Could you please update the initial description to make it more general?

  3. codeofdusk commented on Sep 8, 2020

    @codeofdusk
    ContributorAuthor

    Rather than re-license, we could add an exception for required libraries

    This concerns me, as we might need to contact all copyright holders repeatedly to add exceptions. Switching to GPL3+ would solve the incompatibilities with DMP and Espeak (in particular) and allow more open-source libraries to be used in general.

    Any reason why NVDA was licensed as GPL2 (not GPL2+)?

  4. feerrenrut commented on Sep 8, 2020

    @feerrenrut
    Contributor

    This would be called a Contributor License agreement an example of one: https://cla-assistant.io/discourse/discourse

    One simple way of doing this is with: https://cla-assistant.io/

  5. feerrenrut commented on Sep 8, 2020

    @feerrenrut
    Contributor

    This concerns me, as we might need to contact all copyright holders repeatedly to add exceptions.

    @codeofdusk it seems you missed this bit:

    but we could ask copyright holders to assign copyright to NV Access

    IE with a CLA as per my last post.

  6. XLTechie commented on Sep 8, 2020

    @XLTechie
    Collaborator
  7. feerrenrut commented on Sep 8, 2020

    @feerrenrut
    Contributor

    Any reason why NVDA was licensed as GPL2 (not GPL2+)?

    GPL3 was not created until 2007. However I suspect the current wording of the license (GPL 2 only vs GPL 2 or later) came from following Torvolds approach with Linux and other software. There are some good reasons to carefully consider whether to allow GPL 3, but Torvolds will do a better job of explaining than I. We would need to consider carefully if these reasons applied to NVDA, and I'm not sure we are willing to do that now.

    CLA's from contributors would allow us to make that decision later. It would allow us to add library exceptions, move to GPL3 or choose a different license if it turned out that GPL 3 was not appropriate.

  8. LeonarddeR commented on Sep 10, 2020

    @LeonarddeR
    Collaborator

    If a license switch is considered, I think the possibility to dual license should also be taken into account.

  9. LeonarddeR commented on May 30, 2024

    @LeonarddeR
    Collaborator

    Update: Started #16633 instead

  10. seanbudd commented on Jul 29, 2025

    @seanbudd
    Member

    Closing in favour of #18574

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions