diff options
Diffstat (limited to 'doc/project')
-rw-r--r-- | doc/project/governance.bb | 29 | ||||
-rw-r--r-- | doc/project/toc.html | 5 | ||||
-rw-r--r-- | doc/project/versions.bb | 30 |
3 files changed, 0 insertions, 64 deletions
diff --git a/doc/project/governance.bb b/doc/project/governance.bb deleted file mode 100644 index 4c1538b4b..000000000 --- a/doc/project/governance.bb +++ /dev/null @@ -1,29 +0,0 @@ -[h2]$Projectname Governance[/h2] - -Governance relates to the management of a project and particularly how this relates to conflict resolution. - -[h3]Community Governance[/h3] - -The project is maintained and decisions made by the 'community'. The governance structure is still evolving. Until the structure is finalised, decisions are made in the following order: - -[ol] -[*] Lazy Consensus - -If a project proposal is made to one of the community governance forums and there are no serious objections in a "reasonable" amount of time from date of proposal (we usually provide 2-3 days for all interested parties to weigh in), no vote needs to be taken and the proposal will be considered approved. Some concerns may be raised at this time, but if these are addressed during discussion and work-arounds provided, it will still be considered approved. - -[*] Veto - -Senior developers with a significant history of project commits may veto any decision. The decision may not proceed until the veto is removed or an alternative proposal is presented. - -[*] Community Vote - -A decision which does not have a clear mandate or clear consensus, but is not vetoed, can be taken to a community vote. At present this is a simple popular vote in one of the applicable community forums. At this time, popular vote decides the outcome. This may change in the future if the community adopts a 'council' governance model. This document will be updated at that time with the updated governance rules. -[/ol] - -Community Voting does not always provide a pleasant outcome and can generate polarised factions in the community (hence the reason why other models are under consideration). If the proposal is 'down voted' there are still several things which can be done and the proposal re-submitted with slightly different parameters (convert to an addon, convert to an optional feature which is disabled by default, etc.). If interest in the feature is high and the vote is "close", it can generate lots of bad feelings amongst the losing voters. On such close votes, it is [b]strongly recommended[/b] that the proposer take steps to address any concerns that were raised and re-submit. - - - - - - diff --git a/doc/project/toc.html b/doc/project/toc.html deleted file mode 100644 index e264e014d..000000000 --- a/doc/project/toc.html +++ /dev/null @@ -1,5 +0,0 @@ -<h3>Project Information</h3> -<ul> -<li><a href="help/project/governance">Project Governance</a></li> -<li><a href="help/project/versions">Versions and Versioning</a></li> -</ul> diff --git a/doc/project/versions.bb b/doc/project/versions.bb deleted file mode 100644 index 451cd0448..000000000 --- a/doc/project/versions.bb +++ /dev/null @@ -1,30 +0,0 @@ -[h2]Versions and Releases[/h2] - -$Projectname currently uses a standard version numbering sequence of $x.$y(.$z), for instance '1.12' or '1.12.1'. The first digit is the major version number. Major versions are released "roughly" once per year; often in December. - -The second digit is the minor release number. If this number is odd, it is a development version. If the number is even, it is a released version. Minor versions are released (moved from dev to master) typically once per month when development is 'stable', but this is likely to increase. Going forward minor releases will be made somewhere between one and three months; corresponding to a stable code point and when there is general community consensus that the current code base is stable enough to consider a release. - -The final digit is an interface or patch designator. - -The release process involves changing the version number (by definition the minor version number will be odd, and the minor number will be incremented). Once a year for a major release the major version will be incremented, and the minor number reset to 0. - -The release candidate is moved to a new branch; and testing will commence/continue for a period of 1-2 weeks afterward or until any significant issues have been resolved. This branch is usually labelled with RC (release candidate); for instance 1.8RC represents the pending release of version 1.8. At this time, the minor version number on the dev branch is incremented to the next odd number. (For instance 1.9). New development can then take place in the dev branch. - -Bug fixes should always be applied to 'dev' and from there merged forward (typically with git cherry-pick) to the RC branch and if necessary applied to the master or official release branch. - -At the time a release candidate is produced, the language strings file is frozen until a release is made. Translation work may continue, but all translations should be submitted to 'dev' and merged forward to RC. - - -Once RC testing is completed, RC is merged to 'master' and the RC version designator removed; resulting in one final checkin to change the version number. The CHANGELOG file should also be updated at or just prior to this time. If there are merge conflicts during this final merge, the merge will be abandoned; and 'git merge -s ours' applied. This results in a replacement of master with the contents of the RC branch. Conflicts often arise with string updates which were made to master after the last release and cannot easily be resolved without hand editing. Since this is a release of tested code, hand editing is discouraged, and the replacement merge strategy should be used instead. It is assumed that RC now contains the most recent well-tested code. - -Once the release is live and merged to master, the RC branch may be removed. - -Fixes may be made to master after release. Where possible these should be made to dev and 'git cherry-pick' used to merge forward; which preserves the commit info and prevents merge conflicts in the next cycle. Only rarely does a patch only apply to the master branch. If necessary this can be made. If the change is severe, the interface version number should be incremented. This is at the discretion of the community. In any event, a 'git pull' of the master branch should always result in the latest release with any post-release patches applied. - -The interface number (the $z in $x.$y.$z) should be incremented in dev whenever a change is made which changes the interfaces or API in incompatible ways so that any external packages (especially addons and API clients) relying on a the current behaviour can discover and change their own interfaces accordingly at the point that it changed. - - - - - -
\ No newline at end of file |