Modules - Rules for community modules
Introduction
Here are the rules defined for all modules integrated into the community repository:
Rules
Compatibility
A modules added into the community repository can have prerequisites that differs from Dolibarr. So minimum and maximum version of PHP is not necessarly the same as the one of the Dolibarr version the module is compatible with.
Price
A module provided into the Dolibarr community repository must be free (as in speech but also as in beer).
It should not be sell on any platform, even on DoliStore (module may be available on any platform, but for free).
Maintenance
The user that publish initialy the module in the community repository agrees to check and approve, on a regular basis, all Pull Requests submited related to its module.
If the module in the community repository is just a link to an external repository, the external link must be a forge based on Git (for example Gitlab, Gitea, Framagit, ...).
- Getting sources with a simple "git clone" with no need to create any account must be possible, for exemple using the "git clone" command with the http url of the repository (the source of the Git external repository is defined into the index.yaml file in the root directory of the module).
- Contributing to sources must be as easy as doing a Pull or Merge Request. If the creation of an account is required for this, the creation of the user account should be possible from the forge in few seconds. No personal information should be requested (except a login or an email) for this registration step. Registration process should also be fully automatic (so contributor can register any day at any hour and push its Pull Request few seconds after).
Code
Modules must follow the same quality and coding rules than the Dolibarr project (See Language_and_development_rules), except the minimal and maximal PHP version (See chapter "Compatibility"). Of course, the licence of the module, as a derivative work of Dolibarr that is licensed under GPL v3+, should use the GPL license or any OSI license compatible with GPL v3+.
Attribution and authors
Source files of module can (should) contains name, email (and company name) of each author, however, the module should not contains any mention to the company at any other places, except into the source file header, so the About page of the module must refer to the authors as the "Dolibarr community". Name, email and company name of authors can be mentionned inside source files but we should not find a link to the web site of an external company inside the screen of the module. Links to the Git forge or any Dolibarr resource (like the https://partners.dolibarr.org page) are allowed.
Authority
Modules integration requests must be done by doing a Pull Request. The Dolibarr foundation board will merge the first pull request if accepted and if the module is hosted on the repository itlsef, will grant the permission to merge Pull Request to the initial author of the module so he can assume its responsability of merging following Pull Requests as explained into the Maintenance chapter.
Version and validation of these rules
More rules will be added in future, the community repository is not a commercial repository and list of modules will be restricted to few modules only.
History of all changes on this rules can be found using the tab "See historic" when logged on this wiki (creation of account is free).
Rules need to be confirmed by the Dolibarr foundation ...