Difference between revisions of "Project Graduation Checklist"
Line 71: | Line 71: | ||
* <font color="red">Ideally we would like a new developer to walk up; follow the instructions and correctly engage the community to build a release</font> | * <font color="red">Ideally we would like a new developer to walk up; follow the instructions and correctly engage the community to build a release</font> | ||
* <span style=background:yellow>Cameron Shorter comment: At a later stage, it would be good to expect OSGeo projects to maintain a periodic stable release schedule, ideally linked in with distribution release cycles. However, I don't think we have reached that level of maturity across our projects yet.</span> | * <span style=background:yellow>Cameron Shorter comment: At a later stage, it would be good to expect OSGeo projects to maintain a periodic stable release schedule, ideally linked in with distribution release cycles. However, I don't think we have reached that level of maturity across our projects yet.</span> | ||
− | * <span style=background: | + | * <span style=background:yellow>Jody Garnett comment: You will need an OSGeo project as a good example before asking for a Quality Process. Example: GeoTools mandates modules obtain 40% code coverage prior to being published</span> |
= Community = | = Community = |
Revision as of 19:14, 3 December 2011
The official copy of this document lives at http://www.osgeo.org/incubator/process/project_graduation_checklist.html
Wiki version 50824 of this document was discussed at Incubation Meeting 14, and a number of suggested changes were made. Logs here: http://irclogs.geoapt.com/osgeo/%23osgeo.2010-03-03.log
Document Status
IncCom Document Number: X
Version: 2.0. Updates since 1.0 are in red.
Last Updated: February 2010.
Status: draft
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.
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"
Checklist
The following checklist is used during graduation to ensure we have not missed anything.
License Legal<�/font>
We need to ensure that project owns the code and has the ability to release:
- The project code, documentation and data has been adequately vetted to assure it is all properly licensed
(a.k.aas per a provenance review). - All code contributors have agreed to abide by the project's license policy, and this agreement has been documented and archived.
- Any other legal checks such as trademark and patent
- Ability to shut off downloads if any issue is found
Processes
Documented processes:
- The project has code under configuration management
control. Eg, subversion, git - The project uses an issue tracker and keeps the status of the issue tracker up to date.
- The project has documented its management processes. This is typically done within a Developers Guide or Project Management Plan.
- The project has a suitable open governance policy ensuring decisions are made, documented and adhered to. Ideally a project management committee established with a process for adding new members
- The project uses public communication channels for decision making to maintains transparency.Eg archived email lists, public issue tracker, IRC meetings
- See Documentation and Release Procedure for more information
This checklist can only document process requirements; the goal of the above procedures is to check that the developer community works in a healthy way:
- Open Development: open to input, new members and reaching consensus on decisions.
- Ideally, the developers come from a diversity of backgrounds as there will be a greater variety of technical visions and the project is more resilient to a sponsor leaving.
- For those setting up a project steering committee for the first time consider drawing members from developer list, user list and key stakeholders to receive a balanced viewpoint.
Documentation and Release Procedure
Cameron Shorter comment: Quality requirements have been moved into this section.
- The project has user documentation
- Sufficient detail to guide a new user through performing the core functionality provided by the application.
- The project has developer documentation
- including checkout and build instructions
- includes commented code
- Provides sufficient detail for an experience programmer to contribute patches or a new module in accordance with the project's programming conventions.
- The project follows
hasa defined release process- Includes executing the testing process before releasing a stable release
The project has an automated build process.Cameron Shorter comment: Covered by following line.- The project follows a documented testing process
manages quality.- Ideally, this includes both automated and manual testing
an automated test system. - Ideally this includes a Quality Process with QA metrics and set goals
- Ideally, this includes both automated and manual testing
The goals of the above checklist are to check that the project can reliably make high quality releases:
- Ideally we would like a new developer to walk up; follow the instructions and correctly engage the community to build a release
- Cameron Shorter comment: At a later stage, it would be good to expect OSGeo projects to maintain a periodic stable release schedule, ideally linked in with distribution release cycles. However, I don't think we have reached that level of maturity across our projects yet.
- Jody Garnett comment: You will need an OSGeo project as a good example before asking for a Quality Process. Example: GeoTools mandates modules obtain 40% code coverage prior to being published
Community
The Foundation is made up of a number of committees, projects and local chapters. This section gathers up information these groups have requested from projects in incubation. Participation is optional but recommended.
Board
The OSGeo Board is responsible for all that goes on here; they do ask that the project make available:
- A Project Officer as a contract point
- This person is established when the incubation committee recomends 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 the Marketing_Committee and promotion is one of the key benefits of joining the foundation - please help them out with the following information.
- Requested from the incubation projects (for details see Marketing Artefacts):
- Application Overview
- Application Quick Start
- Logo
- Graphical Image
- Marketing
materialartefacts have been created about the projectforin line with the incubation criteria listed in the OSGeo Marketing Committee's Marketing Artefacts. This lists the documentation requirements for OSGeo-Live.(can we assume pdf handout, presentation slides and a feature matrix?) - 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.
- projectname.osgeo.org
- OSGeo issue tracker
- OSGeo mailing list
- OSGeo svn
- downloads.osgeo.org