Tags:
development1Add my vote for this tag twiki_community1Add my vote for this tag create new tag
, view all tags

How to be a good extension developer

(By MichaelDaum, abstracted from ChangeContactAuthorFirstPolicyNotifyAuthor)

Bad behaviour is:

  1. abandoning extensions (not maintaining them)
  2. not listening to your user-base
  3. ignoring or even rejecting bug fixes
  4. ignoring or even rejecting good contributions
  5. not contacting the author if you have a bug fix or improvement to their extension
  6. not answering to a patch to one of your extensions that you received
  7. writing bad non-informative bug reports with no way to reproduce them
  8. not providing a better bug fix once the first one has been rejected
  9. rejecting bug fixes or improvements for no good reason
  10. forking an actively maintained plugin
  11. releasing insecure code
  12. re-releasing someone else's extension without contacting him first, not letting the original author intercept this act, thus putting users that use this extension for everyday work and try to upgrade at a risk.

Good behaviour is:

  1. accept responsibility for the code you once contributed
  2. take over responsibility for code that has been abandoned
  3. take care that nobody messes up our code
  4. try to collaborate with the original authors
  5. accept additional features "with taste"
  6. comment on added features and give people a chance to come back with an improved patch
  7. be thankful for any bug that someone reports
  8. be even more thankful for any bug that someone fixes
  9. have deep respect for people opening up a can of worms
  10. be able to communicate about bugs and code and whatever
  11. be open-minded and able to accept that you were wrong in your bug report and a short RTFM answer
  12. be able to accept that the code or patch you provided is indeed totally crap
  13. be able to say one of the following sentences occasionally:
    1. Oh, I see now.
    2. I was wrong.
    3. You are right.
    4. I don't know.
    5. Can't we do both?
    6. Shit, what was I on when I wrote this code?
    7. Wow, what a great idea!
  14. accept that the original author is the official authority for his/her code
  15. be eager and willing to learn, either by yourself or by listening to more experienced people
  16. be able to put aside your own ego and still remain authentic
  17. take everything with a dash of humor
  18. have a certain acceptance for people not behaving well
  19. take care that the project is not put at risk by bad behaviour, or accepting too much bad behaviour


There are items in these lists that apply to users of extensions rather than to developers. Shouldn't they be in a separate topic?

-- RobStewart - 17 Sep 2008

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r2 - 2008-09-17 - RobStewart
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.