Policy for unstable add-ons in the official repository #75510

Open
opened 2020-04-08 04:57:16 +02:00 by Campbell Barton · 9 comments

For add-ons which cause Blender to crash or otherwise become unusable, we currently don't have a rule of thumb for dealing with this.

Motivation

Ensure officially supported add-ons are reliable, not causing Blender to become unstable or add additional problems.

Proposal

  • Alert the developer of the bug.

  • Propose a solution for working around the crash.

    Note that this may take some investigation and debugging in C/C++, however it's only fair that a solution is proposed, in case the bug is caused by an error in Blender's own API's.

  • If the bug is not fixed before the next release, show the add-on in the "Testing" section, note the bug in the add-ons "Warning" text.


Note, currently there are two add-ons distributed with Blender which make Blender unusable (#75474, #73507).

For add-ons which cause Blender to crash or otherwise become unusable, we currently don't have a rule of thumb for dealing with this. Motivation ---- Ensure officially supported add-ons are reliable, not causing Blender to become unstable or add additional problems. Proposal ---- - Alert the developer of the bug. - Propose a solution for working around the crash. *Note that this may take some investigation and debugging in C/C++, however it's only fair that a solution is proposed, in case the bug is caused by an error in Blender's own API's.* - If the bug is not fixed before the next release, show the add-on in the "Testing" section, note the bug in the add-ons "Warning" text. ---- Note, currently there are two add-ons distributed with Blender which make Blender unusable (#75474, #73507).
Author
Owner

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Author
Owner

Added subscriber: @ideasman42

Added subscriber: @ideasman42
Campbell Barton changed title from Policy for add-ons which crash Blender to Policy for unstable add-ons in the official repository 2020-04-08 04:57:53 +02:00
Member

Added subscriber: @BrendonMurphy

Added subscriber: @BrendonMurphy
Member

Hi, The unwritten.. policy for unstable addons:

In all cases first we should contact the Author/Maintainer via bug report in the tracker.
Next we contact the recent committers to the addon via tag in tracker if it's appropriate. Don't tag the dev that fixed an api change, tag the dev that added or fixed a feature.
I also often will make the Author/Dev aware of the issue via other contact methods. (blender.chat, email, facebook.. get a response from the Author as fast as possible.)

More things to do in the same process:

Fatal Crashes
1/ If we are notified that the addon fatal crashes Blender easily in it's normal use (press a button it crashes):
1/1/ If there is no bug report we create a bug report.
1/2/ We triage the report as high priority during bcon1 and bcon2, during bcon3 we triage the report as Unbreak Now. Some Authors don't like the Unbreak Now, but if it's close to release: Unbreak it.
1/3/ If the addon remains broken and fatal crashes Blender and the offending function can be identified in the user interface, it's acceptable to remove the function from the ui until it's fixed.
!/4/ If the addon remains broken and fatal crashes at the time of release, It should be at minimum demoted to addons_contrib repo and not released.

Warnings (bl_info)
2/ Warnings are used to give the user information about lesser crashes, stalls and avoidable crashes.
2/1/ If there is no bug report we create a bug report.
2/2/ We triage the report as normal priority during bcon1, bcon2 and bcon3.
2/3/ During bcon3 we should add a Warning to the addon using the bl_info to inform the user the addon can cause issues..
2/4/ If the issue persists, we should now triage the the bug as a known issue.

@ideasman42
I have more if you need anything. Rule of thumb I try to go by. We should document this better.

Hi, The unwritten.. policy for unstable addons: In all cases first we should contact the Author/Maintainer via bug report in the tracker. Next we contact the recent committers to the addon via tag in tracker if it's appropriate. Don't tag the dev that fixed an api change, tag the dev that added or fixed a feature. I also often will make the Author/Dev aware of the issue via other contact methods. (blender.chat, email, facebook.. get a response from the Author as fast as possible.) More things to do in the same process: **Fatal Crashes** 1/ If we are notified that the addon **fatal crashes Blender** easily in it's normal use (press a button it crashes): 1/1/ If there is no bug report we create a bug report. 1/2/ We triage the report as high priority during bcon1 and bcon2, during bcon3 we triage the report as Unbreak Now. Some Authors don't like the Unbreak Now, but if it's close to release: Unbreak it. 1/3/ If the addon remains broken and fatal crashes Blender and the offending function can be identified in the user interface, it's acceptable to remove the function from the ui until it's fixed. !/4/ If the addon remains broken and fatal crashes at the time of release, It should be at minimum demoted to addons_contrib repo and not released. **Warnings** (bl_info) 2/ Warnings are used to give the user information about lesser crashes, stalls and avoidable crashes. 2/1/ If there is no bug report we create a bug report. 2/2/ We triage the report as normal priority during bcon1, bcon2 and bcon3. 2/3/ During bcon3 we should add a **Warning** to the addon using the bl_info to inform the user the addon can cause issues.. 2/4/ If the issue persists, we should now triage the the bug as a known issue. @ideasman42 I have more if you need anything. Rule of thumb I try to go by. We should document this better.

Added subscriber: @Sergey

Added subscriber: @Sergey

@ideasman42, The biggest issue I'm having with this proposal is that it doesn't really cover severity of bug which will lead to this "bad" mark of an addon. If it's something like Blender crash on a single button crash, ok, I can get it. But if it's a Python exception in some obscure corner case I don't think it will really be fair to tag addon as unstable.

Can also go deeper. If the bug is not fixed to me it feels that there is no active developer. Which kind of defeats a definition of "officially supported addon". This implies that the addon needs to be moved from addons to addons_contrib, and it will not be included into the next release. Is this an option to explore?

Otherwise, some suggestions about your current proposal:

  • Make it clear that such "unstable" tag only happens for very high severity bug
  • Disambiguate the "Alert the developer of the bug" part. Bug report? Poke in the chat?
@ideasman42, The biggest issue I'm having with this proposal is that it doesn't really cover severity of bug which will lead to this "bad" mark of an addon. If it's something like Blender crash on a single button crash, ok, I can get it. But if it's a Python exception in some obscure corner case I don't think it will really be fair to tag addon as unstable. Can also go deeper. If the bug is not fixed to me it feels that there is no active developer. Which kind of defeats a definition of "officially supported addon". This implies that the addon needs to be moved from addons to addons_contrib, and it will not be included into the next release. Is this an option to explore? Otherwise, some suggestions about your current proposal: - Make it clear that such "unstable" tag only happens for very high severity bug - Disambiguate the "Alert the developer of the bug" part. Bug report? Poke in the chat?

Added subscriber: @mont29

Added subscriber: @mont29

Assuming we get a proper general definition for 'severe' bugs that would trigger that handling, +1.

Assuming we get a proper general definition for 'severe' bugs that would trigger that handling, +1.

Oh, and this would affect community-supported add-ons released with Blender (the one in addons repository). 'Official' add-ons are the few ones maintained by main Blender team, those are never supposed to get broken. ;)

Oh, and this would affect community-supported add-ons released with Blender (the one in `addons` repository). 'Official' add-ons are the few ones maintained by main Blender team, those are never supposed to get broken. ;)
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 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: blender/blender-addons#75510
No description provided.