Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

License requirements for plugins on plugins.qgis.org #279

Closed
Xpirix opened this issue Nov 27, 2023 · 8 comments
Closed

License requirements for plugins on plugins.qgis.org #279

Xpirix opened this issue Nov 27, 2023 · 8 comments

Comments

@Xpirix
Copy link

Xpirix commented Nov 27, 2023

QGIS Enhancement: License requirements for plugins on plugins.qgis.org

Date 2023/11/27

Author Lova Andriarimalala (@Xpirix)

Contact lova@kartoza.com

For QGIS Plugins Website

Summary

The current QEP is a synthesis of this discussion in the QGIS Developers mailing list.
This is the setting up of a validator that makes license file as required in a plugin package according to the issue #38 in the QGIS-Django repository. I've opened a pull request about this issue here and it was merged and deployed. However, making the license file as required is a breaking change that impacts the plugin upload/update workflow. It needs then a discussion with the community.

Proposed Solution

Please find below the proposed solution according to the suggestions in the mailing list, in the issue #38 and this PR:

  1. For now, a license file should be recommended. When missing, it should generate a non-blocking warning either on new or existing plugins. I'll be creating a documented PR  for this fix shortly.
  2. Implement licensing requirements on schedule: important steps like documentation updates, communication with the community, and non-blocking warnings (1)... should be considered first.
  3. Add a license field into the metadata.txt: IDS value should be from a common list. The suggestions for the IDS value list provider are:  (a) https://spdx.org/licenses/, (b) Use PyPi classifiers and include tooling to check it. As @timlinux said, this is probably a job for another QEP.

Example(s)

Please find below a screenshot of the warning when uploading or updating a plugin package that doesn't contain a license file:
Screenshot 2023-11-27 at 3 51 39 PM

Affected Files

  • qgis-app/plugins/forms.py
  • qgis-app/plugins/tests/test_validator.py
  • qgis-app/plugins/validator.py
  • qgis-app/plugins/views.py

Issue Tracking ID(s)

Votes

(required)

@Xpirix
Copy link
Author

Xpirix commented Nov 27, 2023

Hello everyone,

I've created a new PR here as mentioned in this QEP.

Best regards.

@timlinux
Copy link
Member

Just a note that Julien suggested: "+1 for the metadata field with a spdx license. But take care, it's not so easy to a have an exhaustive list. Maybe we should move to the PyPi classifiers since plugins are Python packages and there is already a work on maintaining a metadata ecosystem, including tooling to check it (pip install packaging)."

@timlinux
Copy link
Member

@Xpirix maybe we can go a little further and make this a soft requirement for now, but advertise that it will become a hard requirement in the future. This could be done with an amendment to your message:

"Please note that as of 1 June 2024, providing a license file will be mandatory for any new updates to existing plugins and for any new plugins published."

We could also add a notification system to the plugins home page that provides any topical news such as the above to users visiting the site.

@Xpirix
Copy link
Author

Xpirix commented Nov 28, 2023

"Please note that as of 1 June 2024, providing a license file will be mandatory for any new updates to existing plugins and for any new plugins published."

@timlinux Thank you. I will modify the PR with this message.

We could also add a notification system to the plugins home page that provides any topical news such as the above to users visiting the site.

In my understanding, it is something like the QGIS Feed homepage, but with a simpler design. So we can manage this system on the administration page and show the notification on the plugins home page according to a date range (start_date and expiration_date).

@Xpirix
Copy link
Author

Xpirix commented Nov 30, 2023

Hello everyone,

The PR regarding the soft requirements (non-blocking warning) for the plugin license is now merged and deployed.

Best regards.

@timlinux
Copy link
Member

timlinux commented Dec 5, 2023

For some background reading (tangenital)

https://blog.qgis.org/2016/05/29/licensing-requirements-for-qgis-plugins/

@m-kuhn
Copy link
Member

m-kuhn commented Dec 6, 2023

Thank you so much for writing this !
Making this a soft requirement for now is certainly a good way and an announced time to switch (6-12 months) to enforcing this is good.

I still see a lot of mentions of the license file in the proposal and the discussion. Do we strictly want to require this file or is it considered to keep the file optional and to only make the metadata addition required?

I personally do not have a preference between pypi classifier as suggested by @troopa81 or spdx license.

@Xpirix Xpirix closed this as completed Dec 22, 2023
@Guts
Copy link

Guts commented Jan 11, 2024

Ups I've totally missed this QEP! Sorry for that 😞.

Well I would have some thoughts but it's too late, now. Good work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants