Live GIS Incubation Graduation Checklist

From OSGeo
Jump to navigation Jump to search

OSGeo-Live Incubation Checklist

This page addresses the status of OSGeo-Live as per version 2.0 of the OSGeo Incubation Checklist. It is derived from the wiki version of the document.

For the purposes of incubation auditing, the scope of the OSGeo-Live project comprises of the scripts and processes used to build OSGeo-Live, but doesn't include the specific projects being packages (many of which are addressing OSGeo Incubation separately in their own right.

Incubation Checklist

Open

The project has demonstrated that it has an open, active and healthy user and developer community:

  1. Open: projects are expected to function in an open and public manner and include:
  2. 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.
      Eg. collaboration on project activities such as testing, release and feature development.
      • YES: A few hundred people have contributed to OSGeo-Live. Most contributions have been in writing application installer scripts, associated documentation, as well as translations. A list of contributors are at: http://live.osgeo.org/en/sponsors.html
    • 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.

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:

  1. All project source code is available under an Open Source license.
    YES: Code is under LGPL, as per http://live.osgeo.org/en/copyright.html
  2. Project documentation is available under an open license, such as Creative Commons.
    YES: Documentation is under Creative Commons licence, as per http://live.osgeo.org/en/copyright.html
  3. 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.
    TBD: Provenance Review is required.
  4. The project maintains a list of all copyright holders identified in the Provenance Review Document.
    YES: All contributors are listed at: http://live.osgeo.org/en/sponsors.html
  5. All code contributors have agreed to abide by the project's license policy, and this agreement has been documented and archived.
    YES: All contributors have publicly accepted the terms of the OSGeo-Live license. This is archived in the OSGeo-Live email list. The process is described here: http://wiki.osgeo.org/wiki/Live_GIS_Disc#Subversion

Processes

  1. The project has code under configuration management.
    Eg, subversion, git.
  2. The project uses an issue tracker and keeps the status of the issue tracker up to date.
  3. 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 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.
    • 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.

Documentation

  1. The project has user documentation:
    • Including sufficient detail to guide a new user through performing the core functionality provided by the application.
  2. The project has developer documentation:
    • Including checkout and build instructions.
    • Including commented code, ideally published for developer use.
      Examples: javadocs for Java applications, or Sphinx documentation for Python applications.
    • 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.

  1. The project follows a defined release process:
    • Which includes execution of the testing process before releasing a stable release.
  2. The project follows a documented testing process.
    Ideally, this includes both automated and manual testing
    Ideally this includes documented conformance to set quality goals, such as reporting Percentage Code Coverage of Unit Tests.
  3. Release and testing processes provide sufficient detail for an experienced programmer to follow.