summaryrefslogtreecommitdiff
path: root/Documentation/development/stable-release-policy.md
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/development/stable-release-policy.md')
-rw-r--r--Documentation/development/stable-release-policy.md80
1 files changed, 80 insertions, 0 deletions
diff --git a/Documentation/development/stable-release-policy.md b/Documentation/development/stable-release-policy.md
new file mode 100644
index 0000000..556b20e
--- /dev/null
+++ b/Documentation/development/stable-release-policy.md
@@ -0,0 +1,80 @@
+# Stable Release Policy #
+
+This document defines the project requirements that must be satisfied in order to create a new
+stable release of the KiCad project. It is designed to be a reference for developers and user's
+so that both groups expectations are understood. This document is only to be modified by the
+project leader or at the request of the project leader. It should be noted that this policy is
+not cast in stone and at any time in the future, should the decision be made by the project at
+large that it can be revised to suit the ongoing needs of the project and it's users.
+
+The current release policy is to support the concept of a lightweight stable release. The goal
+is to provide regular stable releases of KiCad without the burden of trying to provide long term
+support of a full stable release branch. Therefore, once a new release is created, the only
+patches that will be made to the stable release branch will be for bugs that cause KiCad to crash
+or possible corruption and/or loss of data. No other changes from the current development branch
+will be backported to the last stable release by the project.
+
+[TOC]
+
+# Stable Release Interval # {#stable_release_interval}
+
+The criteria required for new stable releases is based on the developers decision that enough
+new features and/or improvements have been made to the current development branch to justify a
+new stable release. This decision is completely discretionary and can be proposed at any time
+by any developer on the KiCad developers mailing list. Once a request for a new stable release
+is made, a consensus must be reached by the primary developers to proceed with the release with
+the final decision and announcement being made by the project leader.
+
+
+# Feature Freeze # {#feature_freeze}
+
+Once the announcement has been made that a new stable release is in effect, the current
+development branch is frozen. No new features or potentially disruptive core code changes can
+be committed with out approval of the primary developers and/or the project leader.
+
+# Bug Fixing # {#bug_fixing}
+
+After the development branch has been frozen, work will continue to fix bugs reported against
+the development branch. Bugs will be prioritized based on their severity. All bugs that cause
+KiCad to crash or cause loss and/or corruption of data must be fixed. All other bugs must be
+evaluated to see if they fit into the scope of the stable release. All bugs that fit into the
+scope of the stable release will be tagged and must be fixed. All other bugs will be tagged for
+the next stable release and fixed when it is convenient. Once the stable release is officially
+announced, the bugs tagged as "Fix Committed" that are relevant to the stable release will be
+changed to "Fix Released".
+
+# User Documentation # {#user_docs}
+
+The user documentation will be updated to reflect the current changes in the code. This includes
+all new features, any behavioral changes to existing features, and all screen shots as required.
+Completion of the English version of the user documentation is minimum that is required for
+release. Foreign language translations can be released at any time as the become available.
+
+# Stable Release Series Branch # {#stable_branch}
+
+Once the primary developers decide that the stable release criteria has been met, a new series
+branch will be created from the current product branch on Launchpad. At this time the freeze
+will be removed from the product branch and normal development can resume. The stable release
+version will be incremented from the previous stable release and tagged in the stable release
+branch build configuration.
+
+# System Installers # {#system_installers}
+
+To proved the best user experience for platforms that do not have package managers, full system
+installers will be provided. Currently this only pertains to Windows and OSX. The full system
+installers will include all KiCad binary files, all binary library dependencies, user
+documentation, component libraries, 3D model libraries, demo project files, and project template
+files. Optionally, the footprint libraries can be included for users who prefer not us use the
+GitHub plugin.
+
+# Source Archives # {#source_archives}
+
+To provide a convenient method for system packagers to build KiCad from known stable sources,
+source archives in the most common formats along with the resulting md5sum checksum will be
+added to either the KiCad developer's site on Launchpad or the main website at www.kicad-pcb.org.
+
+# Stable Release Announcement # {#announcement}
+
+Once all of the above tasks have been completed, the project leader will post an announcement on
+the developers mailing list and the Launchpad site. This announcement should include a list of
+new features and improvements made since the previous stable release.