This document includes changes to the Incubation Process to create a path for Communities of Practice to become sponsored entities of Jasig. For simplicity, references to a “Project” also include Communities of Practice unless stated otherwise. |
Click the thumbnail to see a graph of the incubation process flow.
Sponsored Project |
Official JASIG project governed by an elected steering committee and supported by a community of users and developers |
---|---|
Incubation Process |
The Jasig Incubation Process is holistically the activities and mechanism whereby open source software projects and Communities of Practice are proposed, incubated, evaluated, progressed, and become full-fledged Jasig sponsored projects and Communities. The incubation process may also be applied to new software contributions related to existing sponsored projects. Software that relates to an existing project is transferred to the existing project steering committee for incubation and governance. |
Incubation WG |
The Incubation Working Group (Incubation WG) are the people who oversee this process. (Also known as IWG). The IWG is also responsible for periodic review of Unsponsored Contributions. |
Proposal |
Proposal submitted to IWG containing basic information specified below. IWG will determine whether the candidate will proceed to Incubating Project, Unsponsored Contribution, or to Incubation Declined. The Proposal may be for a new project to be developed under the auspices of JASIG or an existing project seeking Jasig sponsorship |
Incubating Project |
Software to be incubated, progressing through Incubated Project status and ideally emerging as a fully-fledged Sponsored Project. Also may refer to a Community of Practice |
Project Lead |
Individual making to incubation request. The IWG will work with this person to complete the tasks to exit incubation and become a Sponsored Project. For Communities of Practice, may also be referred to as* *Project Chair |
Mentor |
The Mentor is a particular person assigned by the Incubation Working Group to shepherd a candidate project through incubation. Initially the members of the IWG will perform the mentor role. In the long term when the incubation process matures mentors will be recruited from the Jasig community. |
Board |
The Jasig Board leads Jasig, overseeing and supporting the Working Group and the process they execute |
Unsponsored |
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 unsponsored contributions is the responsibility of the Incubation WG. Software related to a Sponsored Project also may end up in as an Unsponsored Contribution when the Project steering committee decides it is not a viable component. |
The Jasig Incubation Working Group will establish and maintain policy and procedures related to the contribution of technical material to Jasig.
The Jasig 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
This process describes how a candidate project or contribution would progress from submission to full acceptance as a Jasig Project.
A Candidate submission for Incubation, or Non-Project Specific Contrib is proposed to the Incubation WG via the creation of a jira issue. See jira-use. The jira may be accompanied by a proposal sent to incubation@ja-sig.org which contains basic information, described below. A Candidate submission for Project Specific Contribution is proposed directly to the relevant Project Steering Committee.
Description |
New Project |
Existing Project |
Unsponsored |
Community of Practice |
---|---|---|---|---|
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; {}Communities of Practice should indicate required suffixes as well* |
|
|
|
|
A proposed Project Lead or Community Chair, with contact information |
|
|
|
|
A list of the proposed initial committers for the project if available |
|
|
|
|
An overview of the aims of the project |
|
|
|
|
A technology overview if known |
|
|
|
|
An overview of any current user base or user community |
|
|
|
|
An overview of how the project relates to other parts of Jasig |
|
|
|
|
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 Liaison (Jasig Board Member, Member of an existing Project Steering Committee, a Jasig Institutional Representative) who recommends the incubation of this project to Jasig |
|
|
|
|
Required
If known
The proposal would be expected to be less than 3 pages in length.
Once a project has been accepted for incubation, it is eligible for use of the following Jasig resources:
http://www.ja-sig.org/products/ourproject
and http://www.ourproject.org
.Once a project has been accepted for incubation, the following actions take place:
Newly incubated projects then perform the following actions:
Note: Releases of projects in incubation are not officially endorsed by Jasig
Unsponsored Contributions may indicate that hosting is provided by Jasig , but no other endorsement is implied.
Legal
These requirements are dependent on approval of a Jasig licensing policy.
Requirement |
Projects |
CoPs |
---|---|---|
All code properly licensed. See Jasig Licensing Policy and Implementing the Licensing Policy for details. |
|
|
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. The Incubation Group will check project name against US patent and trademark. Descriptive names such as Calendar Portlet do not need to be checked. Following is the link for doing a trademark search with the US Patent and Trademark Office: http://tess2.uspto.gov/bin/gate.exe?f=searchss&state=4001:rs1eq3.1.1 |
|
|
Documentation/Non code collateral properly licensed. |
|
|
Pending the Jasig licensing policy, the IWG will accept projects with similar licensing status to existing projects.
Community
Requirement |
Projects |
CoPs |
---|---|---|
Demonstrate an active and diverse development or participant 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. Minimal requirement is a project lead or chair confirmed and at least 1 other committer or participant from another organization. |
|
|
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 Jasig practices. |
|
|
Governance
Requirement |
Projects |
CoPs |
---|---|---|
A project steering committee has been created to oversee the project, or the project committers and an existing steering committee agree that an existing steering committee will steer the project. In the case of portlets a new steering committee is not required. Initially the Jasig 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. |
|
|
A CoP must have at least a chair and one other member to control update access to the wiki pages. |
|
|
Jasig voting practices have been adopted and are standard practice. CoP's vote when replacing chair. |
|
|
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. Jasig 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 Jasig community. The incubated project may engage on a technical level by integrating with existing Jasig projects. It is also desirable for the prospective project to have been presented / discussed at the Jasig Unconference or annual conference. |
|
|
Alignment & Synergy
Requirement |
Projects |
CoPs |
---|---|---|
Integration with other Jasig projects where appropriate. |
|
|
Develop synergistic relationship with other Jasig projects wherever possible. |
|
|
Infrastructure
Requirement |
Projects |
CoPs |
---|---|---|
SVN module has been created on Jasig server. |
|
|
The required mailing lists have been used. |
|
|
Issue tracker is being used (JIRA). |
|
|
Roadmap for project is present in Confluence. |
|
|
Project website is current and contains documentation including, at least, instructions for installation and configuration. Portlets must have a wiki site using the standard template, screen shots and functional documentation. |
|
|
Project website is current and contains relevant collateral. |
|
|
All non-sensitive (i.e. passwords, etc) information in the above tools is publicly accessible. |
|
|
Projects in incubation will undergo periodic reviews (at least quarterly) which may have one of the following outcomes:
The project may be promoted to a fully sponsored Jasig 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.
In the case of a portlet the decision to promote to full fledged sponsored portlet is made by the uPortal steering committee which will be the governing body for all sponsored portlets. Board approval is not required for portlets.
Either Jasig or the Project Steering Committee may terminate sponsorship according to the following rules:
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.
Jira is used to track the staus of incubation requests, contributions.
The following jira statuses are defined:
We need another jira workflow for a request to retire a sponsored project. This workflow would include the additional status:
|
Click image to see jira workflow diagram:
Click image to see workflow transition details: \