Difference between revisions of "Developer policies"
(→Coding Policies) |
(→Coding policies) |
||
(14 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | + | This document collects the different policies the Gramps developer community has adopted. | |
− | This document collects the different policies the | ||
− | == Coding | + | == Coding policies == |
=== Licence === | === Licence === | ||
− | + | Gramps is a GPLv2 licensed application with the possibility to use a later version of the GPL (GPLv3). There are no plans at the moment to move to GPLv3 and drop GPLv2. See [[Project License]] for details. | |
=== Coding style === | === Coding style === | ||
− | + | Follow the Gramps [[Programming guidelines]] - which mostly refer to PEP8 with a few additions. | |
+ | |||
+ | All source files shall include conforming [[Source file headers]]. | ||
− | + | === GUI design === | |
+ | User interfaces shall conform to the agreed upon [[UI style]]. | ||
=== Acceptable changes === | === Acceptable changes === | ||
− | You should follow the roadmap set out for the next release. Only minor features or new reports/gramplets/... can still be added to the roadmap after it has been made official. Add your changes to the roadmap (on this wiki and in the bug tracker) so others are notified what you work on. Seek approval for your changes via the devel mailing list. | + | You should follow the [[:Category:Developers/Roadmap|roadmap]] set out for the next release. Only minor features or new reports/gramplets/... can still be added to the roadmap after it has been made official. Add your changes to the [[:Category:Developers/Roadmap|roadmap]] (on this wiki and in the bug tracker) so others are notified what you work on. Seek approval for your changes via the ''gramps-devel'' mailing list. |
− | == Commit | + | == Commit policies == |
=== General === | === General === | ||
− | Read [[Committing | + | Read [[Committing policies]] |
=== Becoming an official developer === | === Becoming an official developer === | ||
The road to become an official developer is as follows: | The road to become an official developer is as follows: | ||
− | * Fix | + | * Fix bugs on the bug tracker and participate in the ''gramps-devel'' mailing list. |
− | * Accept the guidance from existing developers. If you do not agree with them, you need to convince them. To do that consider | + | * Accept the guidance from existing developers. If you do not agree with them, you need to convince them. To do that, first consider coding what is asked for and pointing out the weakness afterward, i.e. let the code speak for you. |
− | * Take up a feature request after assuring yourself ( | + | * Take up a feature request after assuring yourself (e.g. via the ''gramps-devel'' mailing list) the feature will probably be accepted by the developers. Let your code be reviewed. |
+ | * Once you come to the conclusion your code needs little change before commit, ask the technical architect (Nick) to send you an invitation to join the GitHub ''Developers'' team. If you have not had contact with the technical architect yet, ask one of the other developers to vouch for you. | ||
+ | * Even after you obtained commit rights, consider a review of your code by other developers by submitting a pull request or using the bug tracker (send reminder) or the ''gramps-devel'' mailing list. | ||
− | + | [[Category:Developers/General]] | |
− | |||
− |
Revision as of 01:35, 11 June 2020
This document collects the different policies the Gramps developer community has adopted.
Contents
Coding policies
Licence
Gramps is a GPLv2 licensed application with the possibility to use a later version of the GPL (GPLv3). There are no plans at the moment to move to GPLv3 and drop GPLv2. See Project License for details.
Coding style
Follow the Gramps Programming guidelines - which mostly refer to PEP8 with a few additions.
All source files shall include conforming Source file headers.
GUI design
User interfaces shall conform to the agreed upon UI style.
Acceptable changes
You should follow the roadmap set out for the next release. Only minor features or new reports/gramplets/... can still be added to the roadmap after it has been made official. Add your changes to the roadmap (on this wiki and in the bug tracker) so others are notified what you work on. Seek approval for your changes via the gramps-devel mailing list.
Commit policies
General
Read Committing policies
Becoming an official developer
The road to become an official developer is as follows:
- Fix bugs on the bug tracker and participate in the gramps-devel mailing list.
- Accept the guidance from existing developers. If you do not agree with them, you need to convince them. To do that, first consider coding what is asked for and pointing out the weakness afterward, i.e. let the code speak for you.
- Take up a feature request after assuring yourself (e.g. via the gramps-devel mailing list) the feature will probably be accepted by the developers. Let your code be reviewed.
- Once you come to the conclusion your code needs little change before commit, ask the technical architect (Nick) to send you an invitation to join the GitHub Developers team. If you have not had contact with the technical architect yet, ask one of the other developers to vouch for you.
- Even after you obtained commit rights, consider a review of your code by other developers by submitting a pull request or using the bug tracker (send reminder) or the gramps-devel mailing list.