Here no one likes the rules, but believe they're make everyone's life easier. Users, translators, testers, other developers.
First...
Such modules as APCal must be threaded as hostile (
https://xoops.org/modules/news/article.php?storyid=6196&com_id=55946&com_rootid=55938&#comment55946)
Module which not uses provided directories and libraries with the core must be categorized as 'non-trusted'. If the module requires 3rd party library which is not present within latest XOOPS distribution, it must place it in the dedicated folder for that reason - Frameworks/ Libraries/. Not everyone to use whatever he decides, Cli/, Common/.
2nd XOOPS is already bloated with definitions, why the module developers simply don't call and use them instead to write new ones for the same things and to make language files bigger and bigger with every new release.
3rd Unicode UTF-8 at all, no more mixes with ISO/UTF-8, it's standard, if u are using ISO, u're out of this ages, nothing works fine on ISO. Not the advertised Multi-lingual function with XOOPS.
4. Clean and understandable ENGLISH only language files distributed with the modules, I don't care where from you grab the first copy of your future work and on which one is based to be forked. Nor the user cares, if got future questions and bug reports. Translations are provided from Transifex, only people working there hard to make XOOPS and it's modules available to they're countries, deserves to be packed and distributed with the module.
5. When you fork someone else work, please (no, no please anymore) RENAME the damn module, it's no longer the one created by the initial author.
6. Maintain discipline when u writing Language files, pseudo formatting will make it less usable, and u will won nothing with that. Specially not and single translated string.
7. All language files must end (for now) with LF+CR, no matter what PHP.NET says, you want popularity - u will follow.
8. Every module must be packed with ZIP or 7Z, no rars, no crappy UHA or else unknown archiving formats or paid such as RAR.
9. Every module must include in the root folder
/htdocs/modules-required directories
README
INSTALL
CHANGELOG
GPL v2 or v3 copy
10. If you're not native English speaker, and u can't create English language file for your module, contact with the proper Team Leaders on Transifex, instead to make some crappy English version with google translator or bing.
11. When u release a news story about your work, provide accurate mirroring on SourceFore.NET or Google Code, they're not going down like your shared hosting somewhere in Argentina or Mexico or Sudan. Add a link to support thread in forums on this site, ppl can't learn, speak and write in Every language on this planet, nor they to be forced to register everywhere to ask question or to submit bug report.
12. Forcing people to register somewhere to download a thing released under GNU GPL is in conflict with GPL and I'm asking kindly XOOPS.org to take actions against GPL abusers. GPL products must be freely world wide accessible.
13. Regarding paid modules, release them under different license, GPL (for me GWL - General Warez License) - allows to be distributed for free, if u wont start such threads here, change the license before the release.
14. When you release a GPL module, it's in your right to display your copyright link on the module index page, but also there must be and option to be turned off. Otherwise you're GPL abuser and your work will be hacked, sooner or later, APCal or else may go under new name, or patched by someone simply to remove this copyright which is copyleft information. If you don't wont that - put a option to be turned off (this can be done in 2 ways).
14.1. By free will - the option is there, and everyone can decide by himself to show your copyleft information or not.
14.2. By donating a fee, not 20 EURO for sure, 5 are enough. So there be a option for entering token given by you - the developer, so this copyleft to not be seen on the user site.
15. Make several readings on latest version of General Public License and ask yourself what you're doing and does this license fits your needs. There is Creative Commons organization, and thanks to XOOPS which not maintain such blind restrictions as J! community, u can have your work released under non-restrictive CC License.
16. Diplomat position is required to make peace (...or "Remember peace is a Lie") with rest forks, 4 groups of developers can make 4 different strong full of exciting features cores.
17. Task Giver (Someone evil and polite in same time) and Censors are required too.
Task giver to know what and who works on current tree, and who can make the requested change or adding feature and who not, not feature requests for XOOPS 2.0.18 still to be with status Open, not even rejected or closed with reason. Censor, to look after all 3rd party developers - what they're provide with they're modules, thumbs.db or language files made with automated translations, or adding invalid spaces and pseudo formatting everywhere.
18. Wiki maintainer to install, maintain and keep up to date Wiki sections with help for every module. Some module developers right now may want to provide help, but with current /help option this is not possible. Some people want to provide documentation for different stuff/tasks in XOOPS - but there is no such place.
19. Personal GForge, dev.xoops.org idea was nice, but was released in worst way ever. Every single module, template developer or XOOPS hacker to be able to make his own project page. Since XOOPS in on server (VPS) this wouldn't be a problem. 100 USD for shared hosting is damn too high price.
20. Graphics designers to make professional, good looking and catchy promotional materials.
By this market share (
http://www.opensourcecms.com/general/cms-marketshare.php) XOOPS is bellow the dead Mambo, the core used for Joomla! to be made.
21. Imtfan, me, Mamba and active core developers to make a forum thread for and against INI files, and finally this PHP DEFINE to go in history once and for all.
22. 3rd party translator which is using Notepad or Notepad + or else providing any kind of translations, to contact with the proper team leaders on Transifex, before to be published anywhere or distributed with module. Saw already amazing translations in Bulgarian, Macedonian, Serbian and Afrikaans languages made with Google, thanks but such ppl for me deserves nothing more then ban on IP (on both places, TX and xoops.org) and to forget for anything else in future.
23. Adding strict terminology for the core process of XOOPS, damn weight must gone once and for all, mistakes made by banned cms such as in they're content module:
News 1.68 Beta 1
In one file on 3 different lines u can see 5 different misleading bugs
Story is published by %1
Articles in this topic %1
News in total %
Content taken from 1.3.2.1
Module Name Content
"Contents submitted by %1"
"Groups allowed to add contents"
Won't mention AMS and rest.
First content can't exist with s, 2nd the content is used mainly for articles in both places. Single page with one word is article, not story, not content, not contents, not news.
24. Strict names for the distributive packages, eg.
core-version_modulename-version.zip or .7z (lately if the installer is added to the core, they're should be in Zip only)
XOOPS2.5_ModuleA-1.01.zip - not XOOPS2.5.5_ModuleA_1_01.zip
(Can someone sticky it, I want to see your comments)