Implements extensions license updates #236 #237

Merged
Dalai Felinto merged 1 commits from gpl3-addons into main 2024-08-22 17:54:30 +02:00

Supports only GNU/GPL 3.0 or later for add-ons.


image
Supports only GNU/GPL 3.0 or later for add-ons. --- <img width="956" alt="image" src="attachments/93d244aa-6f94-4872-a273-e89aed10414a">
Dalai Felinto added 1 commit 2024-08-22 17:47:19 +02:00
Supports only GNU/GPL 3.0 or later for add-ons.
Oleg-Komarov approved these changes 2024-08-22 17:52:20 +02:00
Dalai Felinto merged commit 2442049836 into main 2024-08-22 17:54:30 +02:00
Dalai Felinto deleted branch gpl3-addons 2024-08-22 17:54:31 +02:00
Author
Owner

For the records, this is how I send the message to the existing extensions:

from django.db.models import Q

import extensions, users, reviewers


excluded_slug = "SPDX:GPL-3.0-or-later"
TYPES_BPY = 1
message = """
Hey everyone,

Just a heads-up about a recent change regarding the licensing of add-ons on the Blender extension platform. Moving forward, all add-ons will need to be released under the GNU/GPL 3.0 license (_SPDX:GPL-3.0-or-later_). This is mainly to keep things simple and consistent across the board.

Previously, we accepted various licenses as long as they were compatible with Blender’s distribution. However, to avoid any confusion and streamline the process, all add-ons using the bpy API should now be presented as GPL 3 (the same license the Blender bundle is distributed). Regardless of whether the original code was under GPL 2, or something else like MIT or ZLIB.

Existing add-ons versions won't be affected. However, new updates will need to comply to the revised requirements.

Thanks for understanding, and [feel free to reach out](mailto:dalai@blender.org) if you have any questions.
"""

non_gpl3_extensions = extensions.models.Extension.objects.filter(
    type=TYPES_BPY
).exclude(
    Q(latest_version__licenses__slug=excluded_slug)
)

moderator = users.models.User.objects.filter(email="dalai@blender.org").first()

for extension in non_gpl3_extensions:
    approval_activity = reviewers.models.ApprovalActivity.objects.create(
        extension=extension,
        user_id=moderator.id,
        message=message,
    )
For the records, this is how I send the message to the existing extensions: ``` from django.db.models import Q import extensions, users, reviewers excluded_slug = "SPDX:GPL-3.0-or-later" TYPES_BPY = 1 message = """ Hey everyone, Just a heads-up about a recent change regarding the licensing of add-ons on the Blender extension platform. Moving forward, all add-ons will need to be released under the GNU/GPL 3.0 license (_SPDX:GPL-3.0-or-later_). This is mainly to keep things simple and consistent across the board. Previously, we accepted various licenses as long as they were compatible with Blender’s distribution. However, to avoid any confusion and streamline the process, all add-ons using the bpy API should now be presented as GPL 3 (the same license the Blender bundle is distributed). Regardless of whether the original code was under GPL 2, or something else like MIT or ZLIB. Existing add-ons versions won't be affected. However, new updates will need to comply to the revised requirements. Thanks for understanding, and [feel free to reach out](mailto:dalai@blender.org) if you have any questions. """ non_gpl3_extensions = extensions.models.Extension.objects.filter( type=TYPES_BPY ).exclude( Q(latest_version__licenses__slug=excluded_slug) ) moderator = users.models.User.objects.filter(email="dalai@blender.org").first() for extension in non_gpl3_extensions: approval_activity = reviewers.models.ApprovalActivity.objects.create( extension=extension, user_id=moderator.id, message=message, ) ```
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: infrastructure/extensions-website#237
No description provided.