Draft
This is a draft document being circulated for review and comments
Inspired by Apache, via Globus
Nomenclature
Sponsored Project |
Official JASIG project governed by an elected steering committee and supported by a community of users and developers |
---|---|
Incubation Process |
The JA-SIG Incubation Process is holistically the activities and mechanism whereby open source software projects are proposed, incubated, evaluated, progressed, and become full-fledged JA-SIG sponsored projects. The incubation process may also be applied to new software contributions related to existing sponsored projects. |
Incubation WG |
The Incubation Working Group (Incubation WG) are the people who oversee this process. (Also known as IWG) |
Incubating Project |
Software to be incubated, progressing from Candidate Project status through in-incubation Incubated Project status and ideally emerging as a fully-fledged Sponsored Project. A Project may also have a Preincubation status prior to Candidate status. |
Mentor |
The Mentor is a particular person assigned by the Incubation Working Group to shepherd a candidate project through incubation |
Board |
The JA-SIG Board leads JA-SIG, overseeing and supporting the Working Group and the process they execute |
Contribution - Project related |
Software contributed to a JA-SIG Sponsored Project that is not part of the project core. A contribution that relates to an existing project progresses from incubation to governance by the existing project steering committee. |
Contribution - not related Project |
In some cases, software may be contributed without a sponsoring project. Such a contribution may exist indefinitely without becoming a Sponsored Project. Periodic review of non-project related contributions is the responsibility of the Incubation WG. |
Sandbox |
An area in svn and wiki space where project related experimental work is developed. The IWG does not provide oversight or governance to the sandbox area. |
The JA-SIG Incubation Working Group (IWG)
The JA-SIG Incubation Working Group will establish and maintain policy and procedures related to the contribution of technical material to JA-SIG.
The JA-SIG Incubation Working Group will oversee the execution of the process through which new projects move from a Candidate Project to an accepted Incubated Project, through review, to a fully sponsored project. The IWG is responsible for
- assisting proposed projects in conforming to JA-SIG guidelines
- assigning a Project Mentor, a member of the community assigned to help the Incubated Project reach acceptance
- evaluating progress of the Incubated Project on a regular (quarterly?) basis and recommending escalation to a sponsored project, continued support, or retirement, according to established criteria
- preincubating projects
- recommending unsponsorship of projects
The JA-SIG Incubation Working Group will delegate the oversight of the execution of the processes related to project specific contrib and sandbox to the relevant project Steering Committees.
Process
This process describes how a candidate project or contribution would progress from submission to full acceptance as a JA-SIG Project.
1. Proposal Submitted
A Candidate submission for Preincubation, Incubation, or Non-Project Specific Contrib is proposed to the Incubation WG via a proposal sent to incubation@ja-sig.org which contains basic information, described below. A Candidate submission for Sandbox or Project Specific Contrib is proposed directly to the relevant Project Steering Committee.
Information to be submitted with Proposal
Description |
Preincubation |
Incubation |
Contrib |
---|---|---|---|
A proposed name for the project |
|
|
|
The short preface for the mailing lists, if this project is accepted (*-dev, *-user, etc); Incubating portlets will use the existing portlet mailing lists |
|
|
|
A proposed Project Lead, with contact information |
|
|
|
A list of the proposed initial committers for the project |
|
|
|
An overview of the aims of the project |
|
|
|
A technology overview |
|
|
|
An overview of any current user base or user community |
|
|
|
An overview of how the project relates to other parts of JA-SIG |
|
|
|
A summary of why the project would enhance and benefit higher education |
|
|
|
A pointer to any current information (for example, an existing Web page) for the project |
|
|
|
A project sponsor (JA-SIG Board Member, Member of an existing Project Steering Committee, a JA-SIG Institutional Representative) |
|
|
|
Required
If known
The proposal would be expected to be less than 3 pages in length.
2. Review of Submission
- Preincubation proposals are accepted if all required information is provided. The IWG or JA-SIG Board may veto a proposal only if the project does not match with the JA-SIG mission.
- Incubation proposals are reviewed by the IWG, which discusses the project and votes on its acceptability. An affirmative IWG vote qualifies project as incubated.
- Decisions regarding the acceptance of contrib are made by the appropriate Project Steering Committee. If no such committee exists, the IWG reviews the proposal.
3. Acceptance as a Project
Once a project has been accepted for preincubation or incubation, it is eligible for use of the following JA-SIG resources:
- SVN: It is expected that new portlet projects will begin in the sandbox area of the JA-SIG SVN and move to the portlets SVN when promoted to sponsored status. Other new projects begin a new project under the JA-SIG SVN.
- JIRA: Each project receives its own JIRA project.
- WIKI: Each project receives its own WIKI space on the JA-SIG wiki server. Incubating portlets will use the existing portlet space.
- Lists: Incubating portlets will use the existing portlet mailing lists while each regular project will have its own mailing list.
- Web Presence: Each project receives its own webspace, supporting URLs of the form
http://www.ja-sig.org/products/ourproject
andhttp://www.ourproject.org
.
Once a project has been accepted for incubation, the following actions take place:
- The project officially becomes a candidate project in incubation under the auspices of JA-SIG.
- The IWG nominates a Mentor for the project, typically a JA-SIG community stakeholder who will act as a bridge between the IWG and the project (Mentor would also then serve as a member of the IWG).
- The IWG assists the candidate project in the initial start-up to use the JA-SIG resources described above. These resources should be set up in JA-SIG infrastructure unless IWG decides otherwise.
- The IWG assists the candidate project in performing appropriate licensing, contribution, trademark, and other legal arrangements.
Newly incubated projects then perform the following actions:
- Indicate that the project is in incubation (though not yet fully sponsored/supported by JA-SIG).
- Display the JA-SIG logo to indicate affiliation.
- Use JA-SIG infrastructure for development and collaboration unless an alternate infrastructure is agreed by IWG to be more appropriate.
Note: Releases of projects in incubation are not officially endorsed by JA-SIG
Preincubation and contrib projects may indicate that hosting is provided by JA-SIG, but no other endorsement is implied.
The minimum requirements that a project must meet to exit the state of preincubation are:
- Project goals are clearly defined.
- Design documents are public and reasonably stable.
- Extensive coding on the project core is underway. Proof of concept or skeletal implementations are not sufficient.
The minimum requirements that a project must meet to exit the state of incubation (and should be working on fulfilling as part of the incubation process) are:
Legal
These requirements are dependent on approval of a JA-SIG licensing policy.
- All code properly licensed.
- No non-licensed or license-incompatible dependencies in the code base.
- Software license grant complete.
- Contributor License Agreements on file (both individual and corporate agreement).
- Copyright agreement in all source files.
- Check of project name for trademark issues. JA-SIG will assist in trademark registration for project name.
Pending the JA-SIG licensing policy, the IWG will accept projects with similar licensing status to existing projects.
Community
- Demonstrate an active and diverse development community. Preferably the list of original committers will have grown beyond the original set (and institution) in the proposal, but this is not a requirement.
- Demonstrate that the project has a reasonable expectation for support in the future, for example, if any single contributor leaves the project continued support will exist.
- The above implies that new committers are admitted according to JA-SIG practices.
Governance
- A project steering committee has been created to oversee the project, or the project committers and an existing steering commitee agree that an existing steering committee will steer the project. In the case of portlets a new steering committee is not required. Initially the JA-SIG uPortal Steering Committee will oversee portlets as well. Once the process grows too large for that committee the intention is to appropriately group portlets for the process of governance.
- JA-SIG voting practices have been adopted and are standard practice.
- The project has weathered and resolved conflicts where they have arisen. Good-natured and well-meaning disagreement of vision, requirements, and implementation are a reality of community source development. JA-SIG desires that incubated projects work through these "growing pains", as the software is developed and additional committers and adopters become involved, before emerging from incubation. Incubation provides an opportunity to face conflict with the assistance of an Incubation Mentor and the support of the Incubation Working Group.
- Release plans are developed and executed in public by the committers.
- At least one release has occurred during the Incubation process.
- Engagement by the incubated community with the larger JA-SIG community. The incubated project may engage on a technical level by integrating with existing JA-SIG projects. It is also desirable for the prospective project to have been presented / discussed at the JA-SIG Unconference or annual conference.
Alignment & Synergy
- Integration with other JA-SIG projects where appropriate.
- Develop synergistic relationship with other JA-SIG projects wherever possible.
Infrastructure
- SVN module has been created on JA-SIG server.
- Three required mailing lists have been used.
- Issue tracker is being used (JIRA).
- Roadmap for project is present in Confluence.
- Project website is current.
- All non-sensitive (i.e. passwords, etc) information in the above tools is publicly accessible.
4. Periodic Review
Projects in preincubation will undergo periodic reviews (at least quarterly) which may have one of five outcomes:
- The project will be promoted into Incubation.
- The project will remain in Preincubation. If the project's sponsor is no longer affiliated with JA-SIG, a new sponsor must be found or the association with JA-SIG is discontinued.
- The project will be asked to hibernate after a period of little activity. (It may move out of hibernation at a later date.)
- The project will be asked to retire due to lack of progress
- The project discontinues its association with JA-SIG (by self-sponsoring or migrating elsewhere).
Projects in incubation will undergo periodic reviews (at least quarterly) which may have one of four outcomes:
- The project will be promoted into a fully sponsored JA-SIG project.
- The project will remain in Incubation.
- The project will be asked to hibernate after a period of little activity. (It may move out of hibernation at a later date.)
- The project will be asked to retire due to lack of progress.
5. Promotion to full-fledged product
The project may be promoted to a fully sponsored JA-SIG project when it meets Legal, governance, community, alignment & synergy and Infrastructure requirements outlined above. When requirements are met the IWG will recommend to the board that the project be promoted to sponsored status. Final acceptance of sponsored project must be approved by the board.
6. Termination of Project Sponsorship
Either JA-SIG or the Project Steering Committee may terminate sponsorship according to the following rules:
- The IWG may vote to recommend sponsorship termination to the JA-SIG Board, which in turn may vote to terminate sponsorship.
- The Project Steering Committee may vote to terminate sponsorship.
- Once one of the above in voting procedures is completed, termination is effective at the second scheduled meeting of the Board or Committee that did not execute the vote, or in 90 days, whichever comes first. If the sponsorship termination vote is rescinded, termination is no longer effective.
It is expected that an effort will be made to resolve any issues related to the sponsorship termination prior to the procedures being put in effect.
Notes
Since there are a number of other sites (Google, SourceForge) where a project can get started before applying for JA-SIG incubation, JA-SIG does not currently offer a "contrib" space for projects not yet in the incubation stage.
05-06-2008 Note that this policy has been revised as of the St. Paul JA-SIG Conference discussions on this topic. A "contrib" will be made available, after all. -jjmarkow