Difference between revisions of "Project Graduation Checklist"
(reference to superseded Stauts page removed.) |
|||
Line 21: | Line 21: | ||
The project has demonstrated that it has an open, active and healthy user and developer community: | The project has demonstrated that it has an open, active and healthy user and developer community: | ||
− | # Open: projects are expected to function in an open and public manner and include: | + | # <span id="open.1">[open.1]</span> Open: projects are expected to function in an open and public manner and include: |
− | #* Open source license(s), | + | #* <span id="open.1a">[open.1a]</span> Open source license(s), |
− | #* Open communication channels, | + | #* <span id="open.1b">[open.1b]</span> Open communication channels, |
− | #* Open decision making process, | + | #* <span id="open.1c">[open.1c]</span> Open decision making process, |
# Active and healthy community: | # Active and healthy community: | ||
− | #* The project should have a community of developers and users who actively collaborate and support each other in a healthy way. <br/><i>Eg. collaboration on project activities such as testing, release and feature development.</i> | + | #* <span id="open.2a">[open.2a]</span> The project should have a community of developers and users who actively collaborate and support each other in a healthy way. <br/><i>Eg. collaboration on project activities such as testing, release and feature development.</i> |
− | #* Long term viability of the project is demonstrated by showing participation and direction from multiple developers, who come from multiple organisations. <br/> <i> Eg. The project is resilient enough to sustain loss of a developer or supporting organisation, often referred to as having a high [http://en.wikipedia.org/wiki/Bus_factor bus factor]. Decisions are made openly instead of behind closed doors, which empowers all developers to take ownership of the project and facilitates spreading of knowledge between current and future team members.</i> | + | #* <span id="open.2b">[open.2b]</span> Long term viability of the project is demonstrated by showing participation and direction from multiple developers, who come from multiple organisations. <br/> <i> Eg. The project is resilient enough to sustain loss of a developer or supporting organisation, often referred to as having a high [http://en.wikipedia.org/wiki/Bus_factor bus factor]. Decisions are made openly instead of behind closed doors, which empowers all developers to take ownership of the project and facilitates spreading of knowledge between current and future team members.</i> |
== Copyright and License == | == Copyright and License == | ||
We need to ensure that the project owns or otherwise has obtained the ability to release the project code by completing the following steps: | We need to ensure that the project owns or otherwise has obtained the ability to release the project code by completing the following steps: | ||
− | # All project source code is available under an Open Source license. | + | # <span id="copyright.1">[copyright.1]</span> All project source code is available under an Open Source license. |
− | # Project documentation is available under an open license, such as Creative Commons. | + | # <span id="copyright.2">[copyright.2]</span> Project documentation is available under an open license, such as Creative Commons. |
− | # The project code, documentation and data has been adequately vetted to assure it is all properly licensed, and a copyright notice included, as per a [http://www.osgeo.org/incubator/process/codereview.html Provenance Review]. | + | # <span id="copyright.3">[copyright.3]</span> <span id="copyright.1">[copyright.1]</span> The project code, documentation and data has been adequately vetted to assure it is all properly licensed, and a copyright notice included, as per a [http://www.osgeo.org/incubator/process/codereview.html Provenance Review]. |
− | # The project maintains a list of all copyright holders identified in the Provenance Review Document. | + | # <span id="copyright.4">[copyright.4]</span> The project maintains a list of all copyright holders identified in the Provenance Review Document. |
− | # All code contributors have agreed to abide by the project's license policy, and this agreement has been documented and archived. | + | # <span id="copyright.5">[copyright.5]</span> All code contributors have agreed to abide by the project's license policy, and this agreement has been documented and archived. |
== Processes == | == Processes == | ||
− | # The project has code under configuration management. <br/><i>Eg, subversion, git.</i> | + | # <span id="processes.1">[processes.1]</span> The project has code under configuration management. <br/><i>Eg, subversion, git.</i> |
− | # The project uses an issue tracker and keeps the status of the issue tracker up to date. | + | # <span id="processes.2">[processes.2]</span> The project uses an issue tracker and keeps the status of the issue tracker up to date. |
− | # The project has documented its management processes. <br/><i>This is typically done within a Developers Guide or Project Management Plan.</i> | + | # <span id="processes.3">[processes.3]</span> The project has documented its management processes. <br/><i>This is typically done within a Developers Guide or Project Management Plan.</i> |
− | #* The project has a suitable open governance policy ensuring decisions are made, documented and adhered to in a public manner. <br/><i>This typically means a Project Management Committee has been established with a process for adding new members. A robust Project Management Committee will typically draw upon developers, users and key stakeholders from multiple organisations as there will be a greater variety of technical visions and the project is more resilient to a sponsor leaving.</i> | + | #* <span id="processes.2a">[processes.2a]</span> The project has a suitable open governance policy ensuring decisions are made, documented and adhered to in a public manner. <br/><i>This typically means a Project Management Committee has been established with a process for adding new members. A robust Project Management Committee will typically draw upon developers, users and key stakeholders from multiple organisations as there will be a greater variety of technical visions and the project is more resilient to a sponsor leaving.</i> |
− | #* The project uses public communication channels for decision making to maintain transparency.<br/><i> E.g. archived email list(s), archived IRC channel(s), public issue tracker.</i> | + | #* <span id="processes.2b">[processes.2b]</span> The project uses public communication channels for decision making to maintain transparency.<br/><i> E.g. archived email list(s), archived IRC channel(s), public issue tracker.</i> |
== Documentation == | == Documentation == | ||
− | # The project has user documentation: | + | # <span id="documentation.1">[documentation.1]</span> The project has user documentation: |
− | #* Including sufficient detail to guide a new user through performing the core functionality provided by the application. | + | #* <span id="documentation.1a">[documentation.1a]</span> Including sufficient detail to guide a new user through performing the core functionality provided by the application. |
− | # The project has developer documentation: | + | # <span id="documentation.2">[documentation.2]</span> The project has developer documentation: |
− | #* Including checkout and build instructions. | + | #* <span id="documentation.2a">[documentation.2a]</span> Including checkout and build instructions. |
− | #* Including commented code, ideally published for developer use. <br/><i>Examples: javadocs for Java applications, or Sphinx documentation for Python applications.</i> | + | #* <span id="documentation.2b">[documentation.2b]</span> Including commented code, ideally published for developer use. <br/><i>Examples: javadocs for Java applications, or Sphinx documentation for Python applications.</i> |
− | #* Providing sufficient detail for an experience programmer to contribute patches or a new module in accordance with the project's programming conventions. | + | #* <span id="documentation.2c">[documentation.2c]</span> Providing sufficient detail for an experience programmer to contribute patches or a new module in accordance with the project's programming conventions. |
==Release Procedure== | ==Release Procedure== | ||
Line 59: | Line 59: | ||
In order to maintain a consistent level of quality, the project should follow defined release and testing processes. | In order to maintain a consistent level of quality, the project should follow defined release and testing processes. | ||
− | # The project follows a defined release process: | + | # <span id="release.1">[release.1]</span> The project follows a defined release process: |
− | #* Which includes execution of the testing process before releasing a stable release. | + | #* <span id="release.1a">[release.1a]</span> Which includes execution of the testing process before releasing a stable release. |
− | # The project follows a documented testing process. < | + | # <span id="release.2">[release.2]</span> The project follows a documented testing process. |
− | # Release and testing processes provide sufficient detail for an experienced programmer to follow. | + | #* <span id="release.2a">[release.2a]</span> <i>Ideally, this includes both automated and manual testing.</i> |
+ | #* <span id="release.2b">[release.2b]</span> <i>Ideally this includes documented conformance to set quality goals, such as reporting Percentage Code Coverage of Unit Tests.</i> | ||
+ | # <span id="release.3">[release.3]</span> Release and testing processes provide sufficient detail for an experienced programmer to follow. | ||
+ | |||
+ | = OSGeo Committees and Community = | ||
+ | |||
+ | The OSGeo Foundation is made up of a number of committees, projects and local chapters. This section gathers up information these groups have requested from OSGeo projects. These expectations are not mandatory requirements before graduation, but a project should be prepared to address them in order to be considered a good OSGeo citizen. | ||
+ | |||
+ | == Board == | ||
+ | |||
+ | The OSGeo [[Board]] holds ultimate responsibility for all OSGeo activities. The Board requests: | ||
+ | |||
+ | # <span id="board.1">[board.1]</span> A project provide a Project Officer as a contract point: | ||
+ | #* The Project Officer should be listed at: [[Contacts#Software_Projects|Project Officer]] | ||
+ | #* This person is established when the incubation committee recommends the project for graduation | ||
+ | #* Your community can change the project officer as needed (just add an agenda item to the next board meeting so they can recognise the change of officer). | ||
+ | |||
+ | == Marketing == | ||
+ | |||
+ | Access to OSGeo's [[Marketing_Committee]] and associated [[Marketing_Pipeline]] is one of the key benefits of joining the OSGeo foundation. The Marketing Committee requests: | ||
+ | |||
+ | # <span id="marketing.1">[marketing.1]</span> Marketing artefacts have been created about the project in line with the incubation criteria listed in the OSGeo Marketing Committee's [http://wiki.osgeo.org/wiki/Marketing_Artefacts Marketing Artefacts]. This lists the documentation requirements for [http://live.osgeo.org OSGeo-Live]. Marketing Artefacts include: | ||
+ | #* <span id="marketing.1a">[marketing.1a]</span> Application Overview | ||
+ | #* <span id="marketing.1b">[marketing.1b]</span> Application Quick Start | ||
+ | #* <span id="marketing.1c">[marketing.1c]</span> Logo | ||
+ | #* <span id="marketing.1d">[marketing.1d]</span> Graphical Image | ||
+ | # <span id="marketing.2">[marketing.2]</span> Ideally, stable version(s) of executable applications are bundled with appropriate distributions.<br/><i>In most cases, this will at least include [http://live.osgeo.org OSGeo-Live], but may also include [http://wiki.debian.org/DebianGis DebianGIS], [https://wiki.ubuntu.com/UbuntuGIS UbuntuGIS], and/or [http://trac.osgeo.org/osgeo4w/ osgeo4w] [http://www.maptools.org/ms4w/ ms4w], etc.)</i> | ||
+ | |||
+ | == Projects == | ||
+ | |||
+ | <span id="projects.1">[projects.1]</span> Projects do not exist in isolation; and are expected to communicate and collaborate on key issues. | ||
+ | |||
+ | <i>As an example, the PostGIS release procedure asks that the release be checked with MapServer, GeoServer and others.</i> | ||
+ | |||
+ | == SAC == | ||
+ | |||
+ | The [[SAC|System Administration Committee]] is available to help infrastructure and facilities. Information for this committee is collected as part of the [[Project Status Template]]. The following should be set up: | ||
+ | * A http://projectname.osgeo.org domain name. | ||
+ | |||
+ | A project may optionally request SAC help to make use of: | ||
+ | * <span id="sac.1">[sac.1]</span> OSGeo issue tracker | ||
+ | * <span id="sac.2">[sac.2]</span> OSGeo mailing list | ||
+ | * <span id="sac.3">[sac.3]</span> OSGeo svn | ||
+ | * <span id="sac.4">[sac.4]</span> http://downloads.osgeo.org | ||
= OSGeo Committees and Community = | = OSGeo Committees and Community = |
Revision as of 03:23, 29 November 2014
The official copy of this document lives at http://www.osgeo.org/incubator/process/project_graduation_checklist.html
Document Status
This is the draft version of the stable document living at: http://www.osgeo.org/incubator/process/project_graduation_checklist.html
Purpose
The purpose of this checklist is to determine whether an Incubator Project produces quality products, remains true to its stated licence and is sustainable. Satisfying this checklist is a pre-requisite for graduation.
- A project should have institutionalized the processes in this list or provide justification why the process is not used.
- See also the Incubation Application Questionnaire
Terms and Definitions
- Mentor
- A member of the Incubation Committee chosen to assist a Project through the Incubation Process.
- Institutionalized Process
- A documented process which which addresses a need and is actively in use. It typically takes months before a process becomes institutionalized. A more detailed definition of institutionalization is found in the Capability Maturity Model (CMMI) - "Generic Goal 2: Institutionalize a Managed Process"
- Open Source License
- a license recognized by the Open Source Initiative
Incubation Checklist
Open
The project has demonstrated that it has an open, active and healthy user and developer community:
- [open.1] Open: projects are expected to function in an open and public manner and include:
- [open.1a] Open source license(s),
- [open.1b] Open communication channels,
- [open.1c] Open decision making process,
- Active and healthy community:
- [open.2a] The project should have a community of developers and users who actively collaborate and support each other in a healthy way.
Eg. collaboration on project activities such as testing, release and feature development. - [open.2b] Long term viability of the project is demonstrated by showing participation and direction from multiple developers, who come from multiple organisations.
Eg. The project is resilient enough to sustain loss of a developer or supporting organisation, often referred to as having a high bus factor. Decisions are made openly instead of behind closed doors, which empowers all developers to take ownership of the project and facilitates spreading of knowledge between current and future team members.
- [open.2a] The project should have a community of developers and users who actively collaborate and support each other in a healthy way.
Copyright and License
We need to ensure that the project owns or otherwise has obtained the ability to release the project code by completing the following steps:
- [copyright.1] All project source code is available under an Open Source license.
- [copyright.2] Project documentation is available under an open license, such as Creative Commons.
- [copyright.3] [copyright.1] The project code, documentation and data has been adequately vetted to assure it is all properly licensed, and a copyright notice included, as per a Provenance Review.
- [copyright.4] The project maintains a list of all copyright holders identified in the Provenance Review Document.
- [copyright.5] All code contributors have agreed to abide by the project's license policy, and this agreement has been documented and archived.
Processes
- [processes.1] The project has code under configuration management.
Eg, subversion, git. - [processes.2] The project uses an issue tracker and keeps the status of the issue tracker up to date.
- [processes.3] The project has documented its management processes.
This is typically done within a Developers Guide or Project Management Plan.- [processes.2a] The project has a suitable open governance policy ensuring decisions are made, documented and adhered to in a public manner.
This typically means a Project Management Committee has been established with a process for adding new members. A robust Project Management Committee will typically draw upon developers, users and key stakeholders from multiple organisations as there will be a greater variety of technical visions and the project is more resilient to a sponsor leaving. - [processes.2b] The project uses public communication channels for decision making to maintain transparency.
E.g. archived email list(s), archived IRC channel(s), public issue tracker.
- [processes.2a] The project has a suitable open governance policy ensuring decisions are made, documented and adhered to in a public manner.
Documentation
- [documentation.1] The project has user documentation:
- [documentation.1a] Including sufficient detail to guide a new user through performing the core functionality provided by the application.
- [documentation.2] The project has developer documentation:
- [documentation.2a] Including checkout and build instructions.
- [documentation.2b] Including commented code, ideally published for developer use.
Examples: javadocs for Java applications, or Sphinx documentation for Python applications. - [documentation.2c] Providing sufficient detail for an experience programmer to contribute patches or a new module in accordance with the project's programming conventions.
Release Procedure
In order to maintain a consistent level of quality, the project should follow defined release and testing processes.
- [release.1] The project follows a defined release process:
- [release.1a] Which includes execution of the testing process before releasing a stable release.
- [release.2] The project follows a documented testing process.
- [release.2a] Ideally, this includes both automated and manual testing.
- [release.2b] Ideally this includes documented conformance to set quality goals, such as reporting Percentage Code Coverage of Unit Tests.
- [release.3] Release and testing processes provide sufficient detail for an experienced programmer to follow.
OSGeo Committees and Community
The OSGeo Foundation is made up of a number of committees, projects and local chapters. This section gathers up information these groups have requested from OSGeo projects. These expectations are not mandatory requirements before graduation, but a project should be prepared to address them in order to be considered a good OSGeo citizen.
Board
The OSGeo Board holds ultimate responsibility for all OSGeo activities. The Board requests:
- [board.1] A project provide a Project Officer as a contract point:
- The Project Officer should be listed at: Project Officer
- This person is established when the incubation committee recommends the project for graduation
- Your community can change the project officer as needed (just add an agenda item to the next board meeting so they can recognise the change of officer).
Marketing
Access to OSGeo's Marketing_Committee and associated Marketing_Pipeline is one of the key benefits of joining the OSGeo foundation. The Marketing Committee requests:
- [marketing.1] Marketing artefacts have been created about the project in line with the incubation criteria listed in the OSGeo Marketing Committee's Marketing Artefacts. This lists the documentation requirements for OSGeo-Live. Marketing Artefacts include:
- [marketing.1a] Application Overview
- [marketing.1b] Application Quick Start
- [marketing.1c] Logo
- [marketing.1d] Graphical Image
- [marketing.2] Ideally, stable version(s) of executable applications are bundled with appropriate distributions.
In most cases, this will at least include OSGeo-Live, but may also include DebianGIS, UbuntuGIS, and/or osgeo4w ms4w, etc.)
Projects
[projects.1] Projects do not exist in isolation; and are expected to communicate and collaborate on key issues.
As an example, the PostGIS release procedure asks that the release be checked with MapServer, GeoServer and others.
SAC
The System Administration Committee is available to help infrastructure and facilities. Information for this committee is collected as part of the Project Status Template. The following should be set up:
- A http://projectname.osgeo.org domain name.
A project may optionally request SAC help to make use of:
- [sac.1] OSGeo issue tracker
- [sac.2] OSGeo mailing list
- [sac.3] OSGeo svn
- [sac.4] http://downloads.osgeo.org
OSGeo Committees and Community
The OSGeo Foundation is made up of a number of committees, projects and local chapters. This section gathers up information these groups have requested from OSGeo projects. These expectations are not mandatory requirements before graduation, but a project should be prepared to address them in order to be considered a good OSGeo citizen.
Board
The OSGeo Board holds ultimate responsibility for all OSGeo activities. The Board requests:
- A project provide a Project Officer as a contract point:
- The Project Officer should be listed at: Project Officer
- This person is established when the incubation committee recommends the project for graduation
- Your community can change the project officer as needed (just add an agenda item to the next board meeting so they can recognise the change of officer).
Marketing
Access to OSGeo's Marketing_Committee and associated Marketing_Pipeline is one of the key benefits of joining the OSGeo foundation. The Marketing Committee requests:
- Marketing artefacts have been created about the project in line with the incubation criteria listed in the OSGeo Marketing Committee's Marketing Artefacts. This lists the documentation requirements for OSGeo-Live. Marketing Artefacts include:
- Application Overview
- Application Quick Start
- Logo
- Graphical Image
- Ideally, stable version(s) of executable applications are bundled with appropriate distributions.
In most cases, this will at least include OSGeo-Live, but may also include DebianGIS, UbuntuGIS, and/or osgeo4w ms4w, etc.)
Projects
Projects do not exist in isolation; and are expected to communicate and collaborate on key issues.
As an example the PostGIS release procedure asks that the release be checked with MapServer, GeoServer and others.
SAC
The System Administration Committee is available to help infrastructure and facilities. Information for this committee is collected as part of the Project Status Template. The following should be set up:
- A http://projectname.osgeo.org domain name.
A project may optionally request SAC help to make use of:
- OSGeo issue tracker
- OSGeo mailing list
- OSGeo svn
- http://downloads.osgeo.org