| |
Modifications to the CPE Specification result in a version change. Below are some guidelines to help understand what type of version change should be made and the process that can be expected. This document also outlines how individual pieces of the specification are versioned.
Types of Version Change
Major
A major version change of the CPE Specification results when modifications are made that invalidate the existing naming or language structure. Put another way, if the changes to the specification would require that entries in the CPE Dictionary be re-worked, then those changes most likely constitute a major change. For example, if a new component is inserted to the CPE Name format, or new elements are added to the language schema.
Minor
Modifications that do not invalidate existing CPE Names (don't force them to be changed) or language statements can be released as a minor revision to the specification. This would include things like new part identifiers, enhanced explanations within the specification, addition of optional elements to the CPE Dictionary schema, or additional use cases being outlined.
Schema Build
The schemas that are used to validate the CPE Dictionary and the CPE Language each have an associated build number. New builds of the schemas are released to fix bugs that are discovered or to add documentation into the schema. New builds are not allowed to add or remove elements or attributes. Therefore, new build should not require any changes to a tool using the schema. (with the exception of bug fixes)
CPE Versioning Process
The purpose of the CPE Versioning Process is to ensure that all of the members of the CPE Community have an opportunity to provide input in the development and direction of the CPE Specification. It also provides tool developers with a set of milestones to assist them in planning their own development schedules to maintain compatibility with CPE.
The entire process is managed by the CPE Moderator, who is the individual or organization that maintains CPE and provides impartial technical guidance on all matters related to the ongoing development of CPE. The MITRE Corporation currently serves as the CPE Moderator.
The timeline associated with the review process will vary depending upon whether the planned modifications will result in a major or minor version change. A major version change will require more effort in each stage of the process than a minor version change, and therefore, the overall time it will take to move from the planning stage to the release stage will be longer. The difference between a major and minor version change is outlined later in this document.
Planning
The CPE Moderator begins the process of gathering suggestions and comments from the CPE Community for changing the existing CPE Specification. Suggestions are collected and discussed with the CPE Moderator determining which ideas are best suited for considered in the new version of the CPE Specification. The length of this period is based upon the number, extent, and urgency of the proposed changes
Draft/Internal Review
A new version of the CPE Specification is officially proposed to the CPE Community for consideration as the next version. The CPE Community is expected to review the specification and to propose additions, deletions, and modifications, all of which are further reviewed by the community. During this period the CPE Moderator coordinates the community assessment of the draft language and organizes telephone conferences as necessary for the community to discuss proposed changes.
Release Candidate
Once the CPE Moderator has determined that the proposed CPE Specification has reached a level of consensus within the CPE Community, a release candidate is produced. In the release candidate stage, the specification remains frozen for a period of time (minimum of two weeks for a minor version and two months for a major version) determined by the CPE Moderator. It is during this stage that vendors and tool developers can update their tools with the knowledge that the specification will remain stable. Note that it is possible for subsequent release candidates to be released if a serious problem is discovered in the proposed specification.
Official
Once the require time has passed during the release candidate phase, the proposed CPE Specification is marked as official. The CPE Web site is updated to include the new version of the specification and the CPE Dictionary is modified as necessary. The previous specification and its associated elements are then archived on the CPE Web site.
overview | abbreviations | versioning | archive
|
|