Getting an Account | sipXecs Project Processes |
|
|
|
| Written by Administrator | |||||||||||||||||||||||||||
| Friday, 03 November 2006 | |||||||||||||||||||||||||||
|
The sipXecs project process is pretty straight forward and easy. It's main focus is four things: a) Make sure we maintain high development velocity, b) Enforce quality of whatever we release where all contributions have to follow our guidelines for unit tests, c) Continue to use modern tools, and d) Make sure we all enjoy what we are doing and can work together. Click on "READ MORE" below to learn more about the process used by the sipXecs projects, and how that process is reflected in our two major project tools: The subversion source control system and the Jira issue tracker. It is always a good idea to discuss changes you want to make or suggestions you have on the sipx-dev mailing list before starting your own implementation. Many improvement requests and ideas are already logged in the Jira tracker, so go look and do a search. Project CoordinatorThe Project Coordinator is the person responsible for obtaining consensus among contributors for decisions pertaining to the project. The project coordinator is responsible for and has write access to the web content pertaining to the project. The project coordinator determines who has write access to the project subversion repository, and to the project issue tracker. Contributors may request that the project coordinator consider granting write access to the repository after demonstrating good design, development and testing practices in patches as well as good judgment as to what issues should be brought to the list. The Project Coordinator is responsible for enforcing, interpreting, and modifying the standard policies based on the needs of the project. Work in sipX:BranchesA branch is a named sequence of changes - the branch name is used in subversion as the name of a directory under the top level project directory branch (sipXportLib/branch/2.6/), and in the tracker as a version label (2.6). At any point in time, there are two kinds of branches in a sipX project:
Normally, there will be only one active stable branch in a project - once a development branch reaches its functional goals and is reliable enough, its minor version number is increased by one and it becomes the next stable branch. Once the new stable branch has existed for a sufficient time (in the opinion of the project coordinator), the previous stable branch status is changed to 'archived' in the tracker, and the tar files for it will no longer be available on the download area. No new submissions are made to an archived branch.
The project coordinator is responsible for creating branches as needed, and for publishing the submission criteria for each branch on the project web page. The project coordinator may designate someone else as the branch coordinator. A branch description includes:
an example branch description
IssuesThe detailed status of a branch or a release is reflected in the the issue tracker for the project as a set of issues. Issues have 5 properties that are key to the release process: Issue TypeThe issue type describes what motivates a proposed change:
Issue PriorityThe issue priority describes the importance of the issue. In decreasing order of importance, the priorities are:
An issue priority of Critical or Blocker whose Fix Version field is set to an unreleased version label (a planned future release) is a release critical issue; it is considered important enough that the release will not normally be made until the issue is resolved. Issues with the lower priorities below are release candidate issues; changes to address them may also be submitted for the planned release, but if all higher priority issues are resolved the release coordinator may elect to defer them to some future release.
Issue Status
The status records the workflow progress of the issue:
Fix VersionVersion numbers and branch names may appear in an issue in either of two fields: "Affects Version/s" and/or "Fix Version". For a Bug issue, the Affects Version/s field should include all versions where it is a problem. The Fix Version field is used slightly differently - for planned releases it indicates when a fix is expected to be available. If it it set to a branch name, then that is the branch where the fix is (or will be, depending on the issue status) available. The Fix Version field may also be empty - this indicates that there is no plan yet to address the issue. AssigneeThe assignee is the developer responsible for an issue. If the Assignee value is Unassigned, then no developer has committed to resolving the issue - contact the project coordinator to volunteer to take responsibility for it, or (if your tracker account permits), you can assign it to yourself. ReleasesA release is a snapshot taken from either a stable or development branch; its name is constructed by adding another level to the branch name from which it came, sequentially starting with 1 (2.6.1). Each release is made available as a tar file whose name is constructed from the project name and release number (sipxportlib-2.6.1.tar.gz). A development release is a snapshot taken from a development branch. Development releases are made to indicate that progress along that branch has satisfied some specified release criteria, but the fact that it is a development release (has an odd minor version) indicates that it it is not known to be suitable for use in environments that require full functionality or high reliablity. In subversion, the release name is used to create a copy under the tags top-level directory in the project (sipXportLib/tags/2.6.1). Normally, once the release is completed and the tar file created, no further submissions will be made to that directory in subversion. Release CriteriaThe release criteria are the published constraints that a branch must satisfy to be tagged as a release. Deciding on these criteria, as well as final judgement of whether they have been acheived, are the responsibility of the project coordinator or a designated release coordinator. The criteria should include a statement of the overall release goals on the project web page, and the specific release critical and release candidate issues in the tracker. In the issue tracker, the release name is used as a version label. The issue tracker is the primary way of determining the Release Status. A release progresses through three statuses:
Example Release Descriptions
|
|||||||||||||||||||||||||||
| Last Updated ( Sunday, 24 February 2008 ) | |||||||||||||||||||||||||||
| < Prev | Next > |
|---|
| sipXecs Wiki |
| sipXconfig Manual |
| Phones & Gateways |
| Linux Distributions |
| Presentations |
| HowTo Library |
| SFTF user guide |
| SFTF developer guide |