Proj4php Incubation Graduation Checklist

From OSGeo
Jump to navigation Jump to search

Incubator Application Questionnaire version 2.0

Questions from the Incubator Application Questionnaire version 2.0.

  1. Please provide the name and email address of the principal Project Owner.
    Julien Moquet moquet dot julien at gmail dot com
  2. Please provide the names and emails of co-project owners (if any).
    Nick Blackwell nickblackwell82 at gmail dot com, Jason Judge jason dot judge at consil dot co dot uk
  3. Please provide the names, emails and entity affiliation of all official committers.
    Here is the committers for now :
  4. Please describe your Project.
    Proj4php is a php library for geographic coordinates transformation using proj4 definitions.
  5. Why is OSGeo Incubation good for your project?
    Most of library using proj4 definitions are hosted at OSGeo. It gives the project more sense for its users, and more visibility.
  6. What type of application does this project represent(client, server, standalone, library, etc.):
    Proj4php is a library.
  7. Please describe any relationships to other open source projects. as a source of defs.
  8. Please describe any relationships with commercial companies or products.
  9. Please explain how your project will use an open governance policy, ensuring decisions are made, documented and adhered to in a public manner.
    All decisions are currently made on public issues on github.
  10. Which open source license(s) will the source code be released under?
    LGPL 2
  11. Please describe the maturity and history of your project. For instance,
    • What is the origin of your project (commercial, experimental, thesis or other higher education, government, or some other source)?
      Proj4php gets its origin as I was stuck on delay on a php project with strong hosting constraints. I translated proj4js in php, and set its source code open the same night.

Then a little community started to grow. Winne27, nickolanack, judgej made real good work on proj4php to develop it and help others to use it. After 7 years, proj4php still in use by many peoples. We then wanted to be a part of OSGeo to give these people something accountable on.

    • How many people actively contribute (code, documentation, other?) to the project at this time?
      2 are actually active
    • How many people have commit access to the source code repository?
    • Approximately how many users are currently using this project?
      Probably thousands of people per year clone us on github or install it with composer.
    • What type of users does your project attract (government, commercial, hobby, academic research, etc. )?
      PHP users with a projection issue.
  1. Do you wish to host any portion of this project using the OSGeo infrastructure? If so, what?
    We are using the wiki.
  2. Does the project support open standards? Which ones and to what extent? (OGC, w3c, etc.) Has the software been certified to any standard (CITE for example)? If not, is it the intention of the project owners to seek certification at some point?
  3. Is the code free of patents, trademarks, and do you control the copyright?
    Proj4php is free of patents and trademarks.
  4. Does the project include an automated build and test?
    We use Travis as a tool to automate tests and check pull requests.
  5. What language(s) are used in this project? (C/Java/perl/etc)
    Most of OSGeo-Live code is shell scripts for installing applications. The packages we bundle are written in numerous languages.
  6. What is the dominant written language (i.e. English, French, Spanish, German, etc) of the core developers?
    Primary document is English. Documentation is translated into over 10 languages.
  7. What is the (estimated) size of a full release of this project? How many users do you expect to download the project when it is released?
    Our distribution is about 200 ko. The version 2.0.9 got about 1000 downloads on packagist.
  8. Do you already have an OSGeo Mentor to guide you through the incubation process?
    Not Yet.

Proj4php Incubation Checklist

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

Incubation Checklist


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:
    • Open source license(s),
      • YES: Code is under LGPL
    • Open communication channels,
      • TODO
    • Open decision making process,
      • TODO
  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.
    • 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
  2. Project documentation is available under an open license, such as Creative Commons.
    YES, documentation is an entire part of the code, under LGPL
  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 [ Provenance Review.
    YES: it was all from Proj4js
  4. The project maintains a list of all copyright holders identified in the Provenance Review Document.
    It do not evolve anymore
  5. All code contributors have agreed to abide by the project's license policy, and this agreement has been documented and archived.
    NOP, and I don't really understand.


  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.
      YES: through the issue tracker of the project :


  1. The project has user documentation:
    • Including sufficient detail to guide a new user through performing the core functionality provided by the application.
      YES: The README is suffisant for proj4php
  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. <br\>YES

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:
  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.
    We use Travis and users reactions.
  3. Release and testing processes provide sufficient detail for an experienced programmer to follow.
    TBD: Waiting on improved documentation.