On Wednesday, March 8, 2023 at 1:29:53 AM UTC-7 Jiri Vanek wrote:

On 3/8/23 04:31, Basil Crow wrote: 
> The main duty of a plugin maintainer from my perspective is to not 
> introduce regressions for users of the plugin. 
> 

Interesting point of view. How about this scenario: 
- plugin is maintained 
- I do a PR, adding enhancements 
- plugin maintainers suggest changes, which actually made regression in 
plugin 
- I highlight that, I implement that 
- year of silence, suddenly the plugin is orphaned 
- Should I merge my own PR with suggested "regressing" changeset, which was 
recommended by former maintainers or - as by your advice - roll back to 
original idea code? 


Since even experienced maintainers make mistakes and a regressing changeset 
is generally a mistake, I think you should use the original idea code, 
since it is better for you and better for other users.

 

Especially junior (and all lazy ones) contributors would definitely follow 
recommended path, rather then roll back. 


I made that mistake with a plugin that I adopted a few months ago.  It's 
last release had been done many years ago.  I adopted it and made the 
flawed assumption that the master branch was in good condition, ready to 
release.  I released a new version of the plugin from the master branch and 
was then dismayed to have reports from users that the new release included 
a regression.  I reverted most of the changes that had been made on the 
master branch in those intervening years and released a new version of the 
plugin without those regressions.  The existing use cases were much more 
valuable than the new features that introduced the regression.

I think that users were ultimately benefited by the new releases of the 
plugin, though the regression was a disruption that would have been better 
to avoid.

 

Another idea - to adopt a plugin usually mean that you are heavily using 
it. That also usually means that you have some changes in mind, worthy of 
implementation. And suddenly there is no gate keeper to calm down yours 
enthusiasm, so it is 
easy to cause regression which may be hard to fix. 


I think that is an acceptable risk, especially if the new maintainer is an 
active user of the plugin.  The new maintainer is more likely to respond to 
reports of a regression than others are.  The enthusiasm of the new 
maintainer moves the plugin forward, even if some of that forward motion 
may be accompanied by an occasional unintended partial step backwards

I didn't find it difficult to revert the changes and fix the regression in 
the case that I created.

 

Maye to rephrase your sentence: 
"The main duty of a plugin maintainer is to enjoy the maintenance. It is 
also important to keep plugin secure, up to date with future jenkins and 
java. In unlikely case regressions for users of the plugin happens, then to 
fix it, or at 
least workaround it" 


I like the idea of including a comment about enjoying the maintenance 
effort.  Thanks for suggesting it.

Mark Waite

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/e3d57628-d4c5-48b5-9a58-09921c88c4a8n%40googlegroups.com.

Reply via email to