Specification Process

The Managed Operationg System Alliance applies the specification process described below for all specifications.

Announcing the new specification

If you plan on creating a new specification for a kernel service you should formally announce this on the mailing list to get other contributors interested in the topic to work with you and notice the development. If there is no negative reply to the announcement, you can go ahead to the next step. If there are negative replies, you should carefully consider these responses. They may indicate that the specification should either be merged with another one or that it is incomplete in the point that there are additional things to consider.

Creating a new specification

All specifications are located in the "RFC folder". In order to create a new specification you should create a new subfolder, which contains the clear name of the specification and a subfolder with the final intended version number. An example is "Physical Memory Page Manager Version/1.0/".

The next step is to copy the "RFC Template", fill it up with your content and commit it in your folder. You should make sure that the modified template correctly points to the "RFC stylesheet" so that the specification is web accessible.

Announce updates on the mailing list

If you modify specifications in the proposal state you should work closely with other contributors working on the same specification. If you want a review of the current state of a specification, you should request this with a formal version number so that others can chime in and review the specification.

Provide default implementations

Every specification, which standardizes a kernel services that requires code must also provide the interface definition in the MOSA Kernel project and should provide at least one usable default implementation in the MOSA Framework. These code contributions must adhere to the Interface Design Guide and pass reviews for successful standardization. You must provide unit tests for the default implementation, as well as at least a Mock implementation to be able to host your interface in unit tests for other dependending components.

Standardizing a specification

A specification becomes standardized if it has reached the intended target version number, the interfaces and default implementation code has been committed and the specification as well as all code have passed all reviews.

Revoking a specification

A specification may be revoked only if it is superseded by a new specification. In that case this must be noted in the specification itself with a link to the proper new specification.

Last edited Nov 21, 2008 at 6:10 AM by tgiphil, version 2

Comments

No comments yet.