Start splitting up miscellaneous doxygen documentation into separate files.
[asterisk/asterisk.git] / include / asterisk / doxygen / releases.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 1999 - 2009, Digium, Inc.
5  *
6  * See http://www.asterisk.org for more information about
7  * the Asterisk project. Please do not directly contact
8  * any of the maintainers of this project for assistance;
9  * the project provides a web site, mailing lists and IRC
10  * channels for your use.
11  *
12  * This program is free software, distributed under the terms of
13  * the GNU General Public License Version 2. See the LICENSE file
14  * at the top of the source tree.
15  */
16
17 /*!
18  * \file
19  */
20
21 /*!
22  * \page ReleaseStatus Asterisk Release Status
23  *
24  * @AsteriskTrunkWarning
25  *
26  * \section warranty Warranty
27  * The following warranty applies to all open source releases of Asterisk:
28  *
29  * NO WARRANTY
30  *
31  * BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
32  * FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
33  * OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
34  * PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
35  * OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
36  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
37  * TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
38  * PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
39  * REPAIR OR CORRECTION.
40
41  * IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
42  * WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
43  * REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
44  * INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
45  * OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
46  * TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
47  * YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
48  * PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
49  * POSSIBILITY OF SUCH DAMAGES.
50  *
51  * \section releasestatustypes Release Status Types
52  *
53  * Release management is a essentially an agreement between the development
54  * community and the %user community on what kind of updates can be expected
55  * for Asterisk releases, and what types of changes these updates will contain.
56  * Once these policies are established, the development community works very
57  * hard to adhere to them.  However, the development community does reserve
58  * the right to make exceptions to these rules for special cases as the need
59  * arises.
60  *
61  * Asterisk releases are in various states of maintenance.  The states are
62  * defined here:
63  *
64  * \arg <b>None</b> - This release series is receiving no updates whatsoever.
65  * \arg <b>Security-Only</b> - This release series is receiving updates, but
66  *      only to address security issues.  Security issues found and fixed in
67  *      this release series will be accompanied by a published security advisory
68  *      from the Asterisk project.
69  * \arg <b>Full-Support</b> - This release series is receiving updates for all
70  *      types of bugs.
71  * \arg <b>Full-Development</b> - Changes in this part of Asterisk include bug
72  *      fixes, as well as new %features and architectural improvements.
73  *
74  * \section AsteriskReleases Asterisk Maintenance Levels
75  *
76  * \htmlonly
77  * <table border="1">
78  *  <tr>
79  *   <td><b>Name</b></td>
80  *   <td><b>SVN Branch</b></td>
81  *   <td><b>Status</b></td>
82  *   <td><b>Notes</b></td>
83  *  </tr>
84  *  <tr>
85  *   <td>Asterisk 1.0</td>
86  *   <td>/branches/1.0</td>
87  *   <td>None</td>
88  *  </tr>
89  *  <tr>
90  *   <td>Asterisk 1.2</td>
91  *   <td>/branches/1.2</td>
92  *   <td>Security-Only</td>
93  *  </tr>
94  *  <tr>
95  *   <td>Asterisk 1.4</td>
96  *   <td>/branches/1.4</td>
97  *   <td>Full-Support</td>
98  *  </tr>
99  *  <tr>
100  *   <td>Asterisk 1.6.0</td>
101  *   <td>/branches/1.6.0</td>
102  *   <td>Full-Support</td>
103  *  </tr>
104  *  <tr>
105  *   <td>Asterisk 1.6.1</td>
106  *   <td>/branches/1.6.1</td>
107  *   <td>Full-Support</td>
108  *   <td>Still in beta</td>
109  *  </tr>
110  *  <tr>
111  *   <td>Asterisk trunk</td>
112  *   <td>/trunk</td>
113  *   <td>Full-Development</td>
114  *   <td>No releases are made directly from trunk.</td>
115  *  </tr>
116  * </table>
117  * \endhtmlonly
118  *
119  * For more information on how and when Asterisk releases are made, see the
120  * release policies page:
121  * \arg \ref ReleasePolicies
122  */
123
124 /*!
125  * \page ReleasePolicies Asterisk Release and Commit Policies
126  *
127  * \AsteriskTrunkWarning
128  *
129  * \section releasestatus Asterisk Release Status
130  *
131  * For more information on the current status of each Asterisk release series,
132  * please see the Asterisk Release Status page:
133  *
134  * \arg \ref ReleaseStatus
135  *
136  * <hr/>
137  *
138  * \section commitmonitoring Commit Monitoring
139  *
140  * To monitor commits to Asterisk and related projects, visit 
141  * <a href="http://lists.digium.com/">http://lists.digium.com</a>.  The Digium
142  * mailing list server hosts a %number of mailing lists for commits.
143  *
144  * <hr/>
145  *
146  * \section ast10policy Asterisk 1.0
147  *
148  * \subsection svnbranch SVN Branch
149  *
150  * \arg /branches/1.0
151  *
152  * \subsection ast10releases Release and Commit Policy
153  * No more releases of Asterisk 1.0 will be made for any reason.
154  *
155  * No commits should be made to the Asterisk 1.0 branch.
156  * 
157  * <hr/>
158  *
159  * \section ast12policy Asterisk 1.2
160  *
161  * \subsection svnbranch SVN Branch
162  *
163  * \arg /branches/1.2
164  *
165  * \subsection ast12releases Release and Commit Policy
166  *
167  * There will be no more scheduled releases of Asterisk 1.2.
168  * 
169  * Commits to the Asterisk 1.2 branch should only address security issues or
170  * regressions introduced by previous security fixes.  For a security issue, the
171  * commit should be accompanied by an 
172  * <a href="http://downloads.digium.com/pub/security/">Asterisk Security Advisory</a>
173  * and an immediate release.  When a commit goes in to fix a regression, the previous
174  * security advisory that is related to the change that introduced the bug should get
175  * updated to indicate that there is an updated version of the fix.  A release should
176  * be made immediately for these regression fixes, as well.
177  *
178  * <hr/>
179  *
180  * \section ast14policy Asterisk 1.4
181  *
182  * \subsection svnbranch SVN Branch
183  *
184  * \arg /branches/1.4
185  *
186  * \subsection ast14releases Release and Commit Policy
187  *
188  * Asterisk 1.4 is receiving regular bug fix release updates.  An attempt is made to
189  * make releases of every four to six weeks.  Since this release series is receiving
190  * changes for all types of bugs, the number of changes in a single release can be
191  * significant.  1.4.X releases go through a release candidate testing cycle to help
192  * catch any regressions that may have been introduced.
193  *
194  * Commits to Asterisk 1.4 must be to address bugs only.  No new %features should be
195  * introduced into Asterisk 1.4 to reduce the %number of changes to this established
196  * release series.  The only exceptions to this %rule are for cases where something
197  * that may be considered a feature is needed to address a bug or security issue.
198  *
199  * <hr/>
200  *
201  * \section ast16policy Asterisk 1.6
202  *
203  * \subsection svnbranch SVN Branch
204  *
205  * \arg /branches/1.6.*
206  *
207  * \subsection ast16releases Release and Commit Policy
208  *
209  * Asterisk 1.6 is managed in a different way than previous Asterisk release series.
210  * From a high level, it was inspired by the release model used for Linux 2.6.
211  * The intended time frame for 1.6.X releases is every 2 or 3 months.  Each 1.6.X
212  * release gets its own branch.  The 1.6.X branches are branches off of trunk.
213  * Once the branch is created, it only receives bug fixes.  Each 1.6.X release goes
214  * through a beta and release candidate testing cycle.
215  *
216  * After a 1.6.X release is published, it will be maintained until 1.6.[X + 3] is
217  * released.  While a 1.6.X release branch is still maintained, it will receive only
218  * bug fixes.  Periodic maintenance releases will be made and labeled as 1.6.X.Y.
219  * 1.6.X.Y releases should go through a release candidate test cycle before being
220  * published.
221  *
222  * For now, all previous 1.6 release will be maintained for security issues.  Once
223  * we have more 1.6 releases to deal with, this part of the policy will likely change.
224  * 
225  * For some history on the motivations for Asterisk 1.6 release management, see the
226  * first two sections of this
227  * <a href="http://lists.digium.com/pipermail/asterisk-dev/2007-October/030083.html">mailing list post</a>.
228  *
229  * <hr/>
230  *
231  * \section asttrunk Asterisk Trunk
232  *
233  * \subsection svnbranch SVN Branch
234  *
235  * \arg /trunk
236  *
237  * \subsection asttrunkpolicy Release and Commit Policy
238  *
239  * No releases are ever made directly from Asterisk trunk.
240  *
241  * Asterisk trunk is used as the main development area for upcoming Asterisk 1.6 
242  * releases.  Commits to Asterisk trunk are not limited.  They can be bug fixes,
243  * new %features, and architectural improvements.  However, for larger sets
244  * of changes, developers should work with the Asterisk project leaders to
245  * schedule them for inclusion.  Care is taken not to include too many invasive
246  * sets of changes for each new Asterisk 1.6 release.
247  *
248  * No changes should go into Asterisk trunk that are not ready to go into a
249  * release.  While the upcoming release will go through a beta and release
250  * candidate test cycle, code should not be in trunk until the code has been
251  * tested and reviewed such that there is reasonable belief that the code
252  * is ready to go.
253  *
254  * <hr/>
255  *
256  * \section astteam Asterisk Team Branches
257  *
258  * \subsection svnbranch SVN Branch
259  *
260  * \arg /team/&lt;developername&gt;
261  *
262  * \subsection astteampolicy Release and Commit Policy
263  *
264  * The Asterisk subversion repository has a special directory called "team"
265  * where developers can make their own personal development branches.  This is
266  * where new %features, bug fixes, and architectural improvements are developed
267  * while they are in %progress.
268  *
269  * Just about anything goes as far as commits to this area goes.  However,
270  * developers should keep in mind that anything committed here, as well as
271  * anywhere else on Digium's SVN server, falls under the contributor license
272  * agreement.
273  *
274  * In addition to each developer having their own space for working on projects,
275  * there is also a team/group folder where %group development efforts take place.
276  *
277  * Finally, in each developer folder, there is a folder called "private".  This
278  * is where developers can create branches for working on things that they are
279  * not ready for the whole world to see.
280  */