|
| 1 | +.. _development: |
| 2 | + |
| 3 | +PEtab development process |
| 4 | +========================= |
| 5 | + |
| 6 | +Motivation for this document / general remarks |
| 7 | +++++++++++++++++++++++++++++++++++++++++++++++ |
| 8 | + |
| 9 | +Reproducibility and reusability of the results of data-based modeling |
| 10 | +studies are essential. Yet, until recently, there was no broadly supported |
| 11 | +format for the specification of parameter estimation problems in systems |
| 12 | +biology. Therefore, we developed PEtab. Having released the specifications |
| 13 | +for PEtab version 1.0, we would like to keep development of PEtab active by |
| 14 | +attracting more users and tool developers. We acknowledge that it is |
| 15 | +important for any potential contributors to know how PEtab is managed and |
| 16 | +developed, which we will explain in the remainder of this document. |
| 17 | + |
| 18 | +Values |
| 19 | +++++++ |
| 20 | + |
| 21 | +We are committed to diversity, open communication, transparent processes, |
| 22 | +democratic decision-making by the community and fostering a welcoming |
| 23 | +environment. While we want to have clear processes, we don’t want to |
| 24 | +overformalize things to avoid unnecessary slowdowns. |
| 25 | + |
| 26 | +Roles within the PEtab community |
| 27 | +++++++++++++++++++++++++++++++++ |
| 28 | + |
| 29 | +The following subsections describe the different roles in the development of |
| 30 | +PEtab. |
| 31 | + |
| 32 | +Anybody interested in PEtab |
| 33 | +--------------------------- |
| 34 | + |
| 35 | +Input from every interested person is welcome. |
| 36 | + |
| 37 | +Anyone may... |
| 38 | + |
| 39 | +* propose changes to PEtab |
| 40 | + |
| 41 | +PEtab forum |
| 42 | +----------- |
| 43 | + |
| 44 | +The PEtab forum includes anybody who is interested in PEtab and is |
| 45 | +subscribed to the `PEtab mailing list <https://groups.google.com/g/petab-discuss>`_ |
| 46 | +using their real name. (Although anybody is invited to subscribe to the |
| 47 | +mailing list with any name or email address, we require the use of real |
| 48 | +names for participation in any votes. This is to ensure that every person |
| 49 | +has only one vote.) |
| 50 | + |
| 51 | +The PEtab forum ... |
| 52 | + |
| 53 | +* votes for changes to PEtab |
| 54 | +* nominates editors |
| 55 | +* elects editors |
| 56 | + |
| 57 | +PEtab editors |
| 58 | +------------- |
| 59 | + |
| 60 | +PEtab is meant to be a community effort. Decisions should therefore be made |
| 61 | +as far as possible by a broad community interested in the use and |
| 62 | +development of PEtab. Nevertheless, such a project cannot run fully |
| 63 | +autonomously, but requires a core team of editors to take care of certain |
| 64 | +management tasks. The PEtab editorial board is a team of 5 representatives |
| 65 | +nominated and elected by the PEtab forum. |
| 66 | + |
| 67 | +The duties / privileges of the editors include the following: |
| 68 | + |
| 69 | +* organizing polls |
| 70 | +* writing/updating specifications |
| 71 | +* organizing and announcing annual meetings / hackathons |
| 72 | +* promoting PEtab |
| 73 | +* deciding minor PEtab issues among themselves |
| 74 | + ("minor" as defined by the editors but reasons for the decision need to be communicated) |
| 75 | +* managing the PEtab mailing lists |
| 76 | +* managing the PEtab GitHub organization and respective repositories |
| 77 | +* delegating any of the above |
| 78 | + |
| 79 | +Other |
| 80 | +----- |
| 81 | + |
| 82 | +Other roles may be created as required based on the decision of the editors by majority vote. |
| 83 | + |
| 84 | +Communication channels |
| 85 | +++++++++++++++++++++++ |
| 86 | + |
| 87 | +The main discussion channel should be the GitHub |
| 88 | +`issues <https://github.com/PEtab-dev/PEtab/issues>`_ / |
| 89 | +`discussion <https://github.com/PEtab-dev/PEtab/discussions>`_ pages. |
| 90 | +Additionally, the `mailing list <https://groups.google.com/g/petab-discuss>`_ |
| 91 | +is used for the announcement of new releases, polls, and the likes and can be |
| 92 | +used for discussions that seem unfit for GitHub. An archive of the mailing list |
| 93 | +shall be publicly accessible. |
| 94 | +The PEtab Editors can be contacted through |
| 95 | +`https://groups.google.com/g/petab-editors <https://groups.google.com/g/petab-editors>`_, |
| 96 | +which is only readable by the current Editors. |
| 97 | +Regular, ideally non-virtual, PEtab hackathons are planned to happen at least |
| 98 | +annually, e.g., in combination with |
| 99 | +`COMBINE events <https://co.mbine.org/events/>`_. |
| 100 | + |
| 101 | +Election of Editors |
| 102 | ++++++++++++++++++++ |
| 103 | + |
| 104 | +Editors are elected for 3 years by the PEtab forum. Editors may serve |
| 105 | +multiple terms, but there needs to be a break of 1 year between subsequent |
| 106 | +terms. To maintain continuity, not all editors shall be replaced at the same |
| 107 | +time. Editors may resign any time before the end of their term. |
| 108 | + |
| 109 | +Whenever an Editor position becomes vacant: |
| 110 | + |
| 111 | +* Editors announce upcoming elections and request nominations via the PEtab |
| 112 | + mailing list. The time given for nominations shall be no shorter than 10 days. |
| 113 | +* Interested parties submit nominations including a short statement on the |
| 114 | + reason for nomination before the deadline. Self-nominations are allowed. |
| 115 | +* Editors ask the nominees whether they accept the nomination (nominees are |
| 116 | + given 5 days to accept). This step may start already during the nomination |
| 117 | + phase. |
| 118 | +* Editors announce the nominees who accepted their nomination along with the |
| 119 | + submitted statements and open the poll via the PEtab mailing list. The |
| 120 | + editors choose a sensible medium and deadline for the poll. |
| 121 | +* The PEtab forum casts their votes secretly. (Votes may have to be open to the |
| 122 | + editors, as they need to verify that only qualified votes are counted. |
| 123 | + However, the editors are required to maintain confidentiality.) Every |
| 124 | + participant has 1 vote per vacant position. |
| 125 | +* After passing the deadline, the editors count the votes and ask the |
| 126 | + editor-elect to accept or decline the election. No acceptance before the end |
| 127 | + of the deadline set by the editors, which shall not be less than 3 days, is |
| 128 | + considered decline. |
| 129 | +* If an editor-elect declines, the position will be offered to the next |
| 130 | + candidate according to the number of votes. (If there is no candidate left |
| 131 | + with at least one vote, the election for the vacant position needs to be |
| 132 | + repeated. |
| 133 | +* If there is a tie between candidates of which only a subset can become an |
| 134 | + editor, run-off elections including only those candidates have to be |
| 135 | + organized by the PEtab editors as soon as possible. Voters will again have a |
| 136 | + number of votes equal to the number of vacant positions. |
| 137 | +* If the editor-elect accepts, the other editors announce the new editor on the |
| 138 | + PEtab mailing list. The editors shall furthermore announce the number of |
| 139 | + votes each nominee, elected or not, has received. |
| 140 | + |
| 141 | +Special procedure for the first election (February, 2021): |
| 142 | +---------------------------------------------------------- |
| 143 | + |
| 144 | +The first election was held among the authors of the original PEtab |
| 145 | +publication. Nominees were not required to be among the authors. The election |
| 146 | +was managed by two persons who were not among the candidates and were |
| 147 | +coming from two different labs. To avoid a simultaneous replacement of all |
| 148 | +of the editors elected during the first election, the first election was |
| 149 | +subject to the following special rules: 2 persons were elected for 3 |
| 150 | +years, 2 persons for 2 years and one person for 1 year. The persons with |
| 151 | +more votes were elected for a longer period (if they accepted |
| 152 | +for the longer period). In case of an equal number of votes among any of the |
| 153 | +top 5 candidates, there would have been run-off elections between those |
| 154 | +candidates with equal numbers of votes. The editors-elect were given 3 working |
| 155 | +days to accept the election. |
| 156 | +If an editor would decide to hand over his editorial role before the end of |
| 157 | +their term, an editor elected for a shorter term period could decide to take |
| 158 | +over and extend their term to the end of the leaving editor's original term. |
| 159 | + |
| 160 | +PEtab format development process |
| 161 | +++++++++++++++++++++++++++++++++ |
| 162 | + |
| 163 | +We acknowledge that PEtab cannot accommodate everybody’s needs, but we are |
| 164 | +committed to addressing current and future requirements in upcoming versions of |
| 165 | +the PEtab format. Although we value backwards-compatibility, we don’t want to |
| 166 | +exclude breaking changes if justified by the benefits. |
| 167 | + |
| 168 | +Anybody is welcomed to propose changes or additions to PEtab. Any proposals |
| 169 | +shall be made using GitHub issues. Benefits, problems, and potential |
| 170 | +alternatives shall be discussed in the respective thread. |
| 171 | + |
| 172 | +A proposal is considered accepted for inclusion in the next version of PEtab |
| 173 | +if it’s endorsed by the majority of the PEtab editors and if distinct |
| 174 | +developers of at least 2 tools provide a prototype implementation. For any |
| 175 | +changes, respective test cases sufficiently covering the changes are to be |
| 176 | +added to the `PEtab test suite <https://github.com/PEtab-dev/petab_test_suite>`_ |
| 177 | +prior to release. |
| 178 | + |
| 179 | +Requirements for new releases: |
| 180 | + |
| 181 | +* Updated format specifications |
| 182 | +* Updated converter |
| 183 | +* Updated validator |
| 184 | +* Updated test suite |
| 185 | +* Updated changelog |
| 186 | + |
| 187 | +The PEtab editors jointly decide whether these requirements are met. |
| 188 | + |
| 189 | +Upon a new release, the PEtab editors ensure that |
| 190 | + |
| 191 | +* a new release is created in the GitHub repository |
| 192 | +* the new version of the specifications is deposited at Zenodo |
| 193 | +* the new release is announced on the PEtab mailing list |
| 194 | + |
| 195 | +Versioning of the PEtab format |
| 196 | +------------------------------ |
| 197 | + |
| 198 | +The PEtab specifications follow `semantic versioning <https://semver.org/>`_. |
| 199 | +Any changes to the PEtab specifications require a new release. Any necessary |
| 200 | +clarifications or corrections shall be collected on an Errata page until a new |
| 201 | +version is released. |
| 202 | + |
| 203 | +The time for a new PEtab release is left to the discretion of the editors. |
| 204 | +However, accepted changes should be released within 2 months after acceptance. |
| 205 | + |
| 206 | +With any new PEtab version it shall be ensured that a converter between the new |
| 207 | +and the previous version(s) is available. Parallel maintenance of multiple |
| 208 | +versions is not intended. |
| 209 | + |
| 210 | +Generally, any parameter estimation problem that could have been specified |
| 211 | +in an earlier version should be specifiable in a new version (potentially |
| 212 | +requiring different syntax). Any changes to the PEtab specifications that |
| 213 | +would remove certain features without adequate replacement require the |
| 214 | +support of at least 4 out of the 5 editors. |
| 215 | + |
| 216 | +Changes to these processes |
| 217 | +++++++++++++++++++++++++++ |
| 218 | + |
| 219 | +Changes to the processes specified above require a public vote with |
| 220 | +agreement of the majority of voters. Any other changes not directly |
| 221 | +affecting those processes, such as changes to structure, orthography, |
| 222 | +grammar, formatting, the preamble can be made by the editors any time. |
0 commit comments