Skip to content

License acceptance dialog when installing an add-on #14592

Open
@tseykovets

Description

NVDA Add-ons are isolated software with the properties of a separate object of copyright.
Add-ons may contain components that are distributed under license terms that are fundamentally different from the NVDA license. For example, this is very common in the case of third-party speech synthesizers (especially commercial speech synthesizers).
All this makes it necessary to explicitly inform the user about the license of the add-on and obtain from him a clear acceptance of this license.
In this regard, it is proposed to consider the following feature request:

  • Add support for the licenseFileName parameter to the add-on manifest file. This parameter must refer to a text file (encoding UTF-8) containing the add-on's license.
  • The licenseFileName parameter should be treated similarly to the docFileName parameter. That is, first look for the specified file in the active localization directory, and if there is no then look in the default localization directory.
  • If the licenseFileName parameter has a value then when installing the add-on, the user should be shown a license acceptance dialog.
  • The dialog should have the title "License agreement" and contain a read-only edit field with the text of the license, a button labeled "I accept the agreement" and a button labeled "I do not accept the agreement". Pressing the first button starts the add-on installation, pressing the second button closes the installation wizard.
  • Copying add-on files to a *.pendingInstall directory and calling the onInstall() function from the installTasks.py file should occur only after pressing the "I accept the agreement" button.

Issues Needing Further Analysis

  • Should a license acceptance dialog be shown when manual updating an add-on?
    Since the text of the license may well change,, it seems that asking for user consent is required even if updating an already installed add-on.
  • Should a license acceptance dialog be shown when automatic updating an add-on (e.g., in the context of a developing add-on store)?
    Yes, the request to accept a license for each add-on when automatically updating a large number of add-ons looks cumbersome, but in this case, the remark about the possibility of changing the license text is also true. It may make sense to add a setting to automatically accept licenses during automatic updates, but by default, ask for accept a license for each add-on.

Note

This improvement is desirable to implement in the NVDA version with the loss of add-on compatibility. That is, 2023.1 is suitable from the nearest ones.

Activity

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

Metadata

Assignees

No one assigned

    Labels

    Addon/managementIn NVDA management of addons by users.feature/addon-storeFeatures / behavior of the add-on Storep4https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions