Draft
This is a draft document being circulated for review and comments
Inspired by Apache, via Globus
Nomenclature
- The JA-SIG Incubation Process is wholistically the activities and mechanism whereby open source software projects are proposed, incubated, evaluated, progressed, and emerged from incubation
- The JA-SIG Incubation Working Group (JIWG) are the people who oversee this process
- The Incubation Mentor is a particular person assigned by the Incubation Working Group to shepherd the project through incubation.
- The JA-SIG Board leads JA-SIG, overseeing and supporting the Working Group and the process they execute
- Projects are the software subject to incubated, progressing from Candidate Project status through in-incubation Incubated Project status and ideally emerging as a fully-fledged Sponsored Project.
The JA-SIG Incubation Working Group
The JA-SIG Incubation Working Group will oversee the process through which new projects move from a Candidate Project to an accepted Incubated Project, through review, to a fully sponsored project. The JIWG 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
Process
This process describes how a candidate project would progress from submission to full acceptance as a JA-SIG Project.
1. Incubation Requested
A Candidate project is proposed to the JIP via a proposal which answers a set of qualifying questions, such as the following:
- A proposed name for the project;
- The short preface for the mailing lists, if this project is accepted (*-dev, *-user, etc);
- A proposed Project Lead, with contact information;
- A list of the proposed 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, if applicable;
- An overview of how the project relates to other parts of JA-SIG;
- A summary of why the project would enhance and benefit JA-SIG and higher education;
- A pointer to any current information (for example, an existing Web page) for the project
This proposal is less than 3 pages in length.
2. Review of Submissions
The JIWG (and possibly the JA-SIG Board)
- Discuss the project
- Vote on its acceptability
- Accept the project, which officially becomes a project in incubation within the auspices of JA-SIG
- Nominate a Mentor for the project, typically a JA-SIG community stakeholder who will act as a bridge between the JIWG and the project (mentor becomes a member of the JIWG)
- Assist the Incubated Project in the initial start-up steps for using the JA-SIG SVN, Confluence and Jira (for roadmap and bug tracking), licensing, and mailing lists
3. Periodic Review
Projects in incubation will undergo periodic reviews (at least quarterly) which may have one of four outcomes:
- 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
- The project will be promoted into a fully sponsored JA-SIG project
4. Promotion to full-fledged product
The minimum requirements that a project must meet prior to being successfully promoted to a fully supported product of JA-SIG are:
Legal
- 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.
* JS: trademark registration for project name help by JA-SIG
Meritocracy / 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;
- 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.
- JA-SIG voting practices have been adopted and are standard practice
- The project can articulate instances of having weathered and resolved conflict. 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. [ JS: this seems too hard to quantify to be particularly useful ]
- 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 [ JS: also unsure about this – how do we define engagement? It certainly seems reasonable to have basically independent projects ]
- Alignment / Synergy
- Use of other JA-SIG projects [ JS: use seems to strong. and, given point below unneccary ]
- Develop synergistic relationship with other JA-SIG projects
- 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
Incubator Project Constraints:
- Use a standard disclaimer to indicate that the project is in incubation and is not yet fully sponsored by JA-SIG
- Display the JA-SIG logo to indicate affiliation
- Releases not endorsed by JA-SIG
- JA-SIG infrastructure is available for use of the project
Notes
A sandbox or "contrib." environment may also be made available to projects before entering a Candidate phase. This is a less formal status than Candidate. Projects in contrib. may be put there to share with the community and garner support and participation. Contrib projects may be nominated to enter incubation, at which point the formal incubator acceptance criteria would be applied. Projects may also be nominated to enter incubation from outside contrib, or during project formation. In other words, a presence in contrib is not a pre-requisite to becoming an incubation candidate, not is progress towards incubation necessary for contributions into the contrib area.