User:Varnent/Expectations

Developers of MediaWiki extensions are encouraged to upload their code to the MediaWiki website in the methods outlined on Extension.

Given the open-source nature of MediaWiki and this wiki, any developer sharing code on this wiki should expect:


 * Feedback / Criticism
 * Review and comments by other developers on things like security, efficiency and usability


 * Developer Tweaking
 * Other developers modifying your submission to improve or clean-up your code
 * If the code is hosted outside a Wikimedia repository or this wiki, and if the modifications change the required minimum version of MediaWiki, the original code should remain available for wikis running the version of MediaWiki it was originally designed for
 * If the code is available directly on this wiki or a Wikimedia repository, older versions of the code will be automatically preserved


 * Improved Access for Wiki SysAdmins
 * If your code is not uploaded to Wikimedia's subversion or GitHub repositories, someone with commit access moving your submission to the subversion repository
 * If your extension is moved to a repository, you may request commit access to maintain it


 * Future Versions by Other Developers
 * New branches of your code being created by other developers as new versions of MediaWiki are released
 * Merger of your code into other extensions with duplicate or similar purposes - incorporating the best features from each extension


 * Credit
 * Credit for their work being preserved in future versions - including any merged extensions
 * Similarly, you should credit the developers of any extensions whose code you borrow from - especially when performing a merger

Any developer who is uncomfortable with any of these actions occurring should not post their extension on this wiki. You may also add User:Varnent/Expectations/exception template to your extension requesting other developers refrain from modifying your code, although no guarantees can be made that an update will be made if deemed important for security or compatibility reasons. You may use the current issues noticeboard if you feel another developer has violated the spirit of these expectations in editing your extension.

See also (related items also in draft)

 * User:Varnent/Sandbox - Extensions merger page
 * User:Varnent/WikiProject - WikiProject Extensions
 * User:Varnent/Obsolete - updated obsolete extension header template
 * User:Varnent/Unmaintained - updated unattended extension header template
 * User:Varnent/Incompatible - extension header template for extensions incompatible with stable version