Skip to content

Incubation checklist

Kristian Evers edited this page Oct 13, 2019 · 13 revisions

PROJ Incubation Checklist

Page to be filled in based on: Project Graduation Checklist

Incubation Checklist

Open

  1. Open: projects are expected to function in an open and public manner and include:
    • Open source license (s): MIT License
    • Open communication channels: Mailing list, Gitter
    • Open decision making process: Decisions are taken based on mailing list communications. The Project Steering Commitee has final say.
  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.

      • The mailing list archive is filled with many examples of users and developers helping each other.
    • Long term viability of the project is demonstrated by showing participation and direction from multiple developers, who come from multiple organisations.

      • PROJ has existed for 30+ years. The project has handful of core developers and as many occasional contributors. The developers are spread across almost as many organisations as there are developers attached to the project.

Copyright and License

  1. All project source code is available under an Open Source license.

  2. Project documentation is available under an open license.

  3. The project code, documentation and data has been adequately vetted to assure it is all properly licensed, and a copyright notice included.

  4. The project maintains a list of all copyright holders identified in the Provenance Review Document.

  5. All code contributors have agreed to abide by the project’s license policy, and this agreement has been documented and archived.

    • Contributors are assumed to agree with the contributor guidelines, particularly the legalese section which is implicitly accepted when contributing code to the project.

Process

  1. The project has code under configuration management:

  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:

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:

    • Developers Documentation
    • Including checkout and build instructions:
      • The documentation describes how to build the official releases from source code as part of the installation section
      • The project README details how to build PROJ from the git repository.
    • Including commented code, ideally published for developer use.
      • Det development section of the documentation includes commented examples of using the PROJ API. Additionally, many code examples can be found the test suite and the command line applications that are bundled with PROJ.
    • Providing sufficient detail for an experience programmer to contribute patches or a new module in accordance with the project’s programming conventions.
      • General contributor guidelines are published here and guidelines for code contributions are available here.

Release Procedure

  1. The project follows a defined release process:

    • The release process is detailed in the HOWTO-RELEASE document
    • Which includes execution of the testing process before releasing a stable release.
      • Every commit to the PROJ GitHub repository triggers a number of Continuous Integration tests across several services and operating systems. Releases are only prepared when all test targets pass. In addition to the CI systems the community tests release candidates before a final release, which increases the scope of the testing significantly.
  2. The project follows a documented testing process.

    • Tests are located in the test directory. Running the tests are generally run by issuing the make check or ctest commands (depending on the build system used).
    • An example of a elaborate test run is found in the Travis setup file
  3. Release and testing processes provide sufficient detail for an experienced programmer to follow.

OSGeo Committees and Community

Board

  1. Provide a Project Officer as a contract point:
    • Kristian Evers

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.
  • OSGeo Live - PROJ has been available through OSGeo live for a long time.
  • Logo - Added to the docs
  1. Ideally, stable version (s) of executable applications are bundled with appropriate distributions.
    • PROJ is available from a long list software distributions, including Debian, Ubuntu, RedHat, OpenSuse, Homebrew, Anaconda, OSGeo4W and many more.
    • OSGeo Live - PROJ is included in OSGeo live

Projects

Projects do not exist in isolation; and are expected to communicate and collaborate on key issues.

  • The PROJ project regularly interact with C/C++ based projects from the OSGeo familiy (GDAL, QGIS, PostGIS, etc), package managers and various other downstream projects.

SAC

  1. The following should be set up:
  2. A project may optionally request SAC help to make use of: