Difference between revisions of "OTB Graduation Checklist"
Line 17: | Line 17: | ||
#** bugs and feature requests? LINK https://bugs.orfeo-toolbox.org/my_view_page.php | #** bugs and feature requests? LINK https://bugs.orfeo-toolbox.org/my_view_page.php | ||
#** devel communication? LINK https://www.orfeo-toolbox.org/SoftwareGuide/SoftwareGuidech1.html#x10-140001.4 | #** devel communication? LINK https://www.orfeo-toolbox.org/SoftwareGuide/SoftwareGuidech1.html#x10-140001.4 | ||
− | #* Long term viability of the project is demonstrated by showing participation and direction from multiple developers, who come from multiple | + | #* Long term viability of the project is demonstrated by showing participation and direction from multiple developers, who come from multiple organizations. <br/> |
#** Contributions from several organizations shown in the [https://wiki.orfeo-toolbox.org/index.php/Project_Steering_Committee PSC] page including CNES.fr , [http://www.irstea.fr/accueil IRSTEA] , [http://www.c-s.fr/CS-en-bref_a1.html CS-SI.fr] , [http://www.cesbio.ups-tlse.fr/us/organisation.html cesbio.eu] | #** Contributions from several organizations shown in the [https://wiki.orfeo-toolbox.org/index.php/Project_Steering_Committee PSC] page including CNES.fr , [http://www.irstea.fr/accueil IRSTEA] , [http://www.c-s.fr/CS-en-bref_a1.html CS-SI.fr] , [http://www.cesbio.ups-tlse.fr/us/organisation.html cesbio.eu] | ||
Line 30: | Line 30: | ||
#* https://wiki.osgeo.org/wiki/OTB_Code_Provenance_Review | #* https://wiki.osgeo.org/wiki/OTB_Code_Provenance_Review | ||
# The project maintains a list of all copyright holders identified in the Provenance Review Document. | # The project maintains a list of all copyright holders identified in the Provenance Review Document. | ||
− | #* | + | #* Following Apache copyright notice recommendations. The list of all copyright holders identified is maintain in the NOTICE file in the source tree: [https://git.orfeo-toolbox.org/otb.git/blob/HEAD:/NOTICE] |
# All code contributors have agreed to abide by the project's license policy, and this agreement has been documented and archived. | # All code contributors have agreed to abide by the project's license policy, and this agreement has been documented and archived. | ||
− | #* | + | #* List of all contributors is available in the OTB Software Guide []. Moreover to accept your contribution, developers need to sign and email to cla@orfeo-toolbox.org an “Individual Contributor Licensing Agreement” (ICLA) form and a “Corporate Contributor Licensing Agreement” (CCLA) form if you are contributing on behalf of your company or another entity which retains copyright for your contribution. The ICLA and CCLA are archived on the OTB server. |
== Processes == | == Processes == | ||
# The project has code under configuration management. <br/><i>Eg, subversion, git.</i> | # The project has code under configuration management. <br/><i>Eg, subversion, git.</i> | ||
− | #* Git https://git.orfeo-toolbox.org | + | #* Git https://git.orfeo-toolbox.org - There is a mirror on Gitub: https://github.com/orfeotoolbox/OTB |
# The project uses an issue tracker and keeps the status of the issue tracker up to date. | # The project uses an issue tracker and keeps the status of the issue tracker up to date. | ||
#* https://bugs.orfeo-toolbox.org/my_view_page.php | #* https://bugs.orfeo-toolbox.org/my_view_page.php | ||
# 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 documented its management processes. <br/><i>This is typically done within a Developers Guide or Project Management Plan.</i> | ||
#* https://www.orfeo-toolbox.org/community/ | #* https://www.orfeo-toolbox.org/community/ | ||
− | # 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 | + | # 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 organizations as there will be a greater variety of technical visions and the project is more resilient to a sponsor leaving.</i> |
− | #* https://www.orfeo-toolbox.org/community/ | + | #* Details on the Project Steering Committee can be found at http://wiki.orfeo-toolbox.org/index.php/Project_Steering_Committee and also https://www.orfeo-toolbox.org/community/ |
# 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> | # 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> | ||
− | #* JIRA system linked via https://wiki.orfeo-toolbox.org/index.php/Git | + | #* New features have to been describe in a RFC and discuss and vote publicly on the mailing list. The list of all RFCs is available on the OTB wiki (https://wiki.orfeo-toolbox.org/index.php/Requests_for_Changes). Moreover there is also a public JIRA system available to follow day by day developments linked via https://wiki.orfeo-toolbox.org/index.php/Git |
== Documentation == | == Documentation == | ||
Line 56: | Line 56: | ||
#** FAQ English https://www.orfeo-toolbox.org/packages/OTB-FAQ.pdf | #** FAQ English https://www.orfeo-toolbox.org/packages/OTB-FAQ.pdf | ||
#* Including commented code, ideally published for developer use. <br/><i>Examples: javadocs for Java applications, or Sphinx documentation for Python applications.</i> | #* Including commented code, ideally published for developer use. <br/><i>Examples: javadocs for Java applications, or Sphinx documentation for Python applications.</i> | ||
− | #** https://www.orfeo-toolbox.org/packages/OTBSoftwareGuide.pdf | + | #** https://www.orfeo-toolbox.org/packages/OTBSoftwareGuide.pdf and https://www.orfeo-toolbox.org/doxygen/ |
#* Providing sufficient detail for an experience programmer to contribute patches or a new module in accordance with the project's programming conventions. | #* Providing sufficient detail for an experience programmer to contribute patches or a new module in accordance with the project's programming conventions. | ||
− | + | #** https://www.orfeo-toolbox.org/SoftwareGuide/SoftwareGuidech32.html#x63-43000032 and https://wiki.orfeo-toolbox.org/index.php/Contributors_guidelines | |
==Release Procedure== | ==Release Procedure== | ||
Line 64: | Line 64: | ||
# The project follows a defined release process: | # The project follows a defined release process: | ||
− | + | #* The release process is described in the OTB wiki https://wiki.orfeo-toolbox.org/index.php/How_to_Release | |
#* Which includes execution of the testing process before releasing a stable release. | #* Which includes execution of the testing process before releasing a stable release. | ||
# The project follows a documented testing process. <br/><i>Ideally, this includes both automated and manual testing</i><br/><i>Ideally this includes documented conformance to set quality goals, such as reporting Percentage Code Coverage of Unit Tests.</i> | # The project follows a documented testing process. <br/><i>Ideally, this includes both automated and manual testing</i><br/><i>Ideally this includes documented conformance to set quality goals, such as reporting Percentage Code Coverage of Unit Tests.</i> | ||
+ | #* See OTB Cdash (nightly builds, unit tests and code coverage submissions): https://dash.orfeo-toolbox.org/ | ||
# Release and testing processes provide sufficient detail for an experienced programmer to follow. | # Release and testing processes provide sufficient detail for an experienced programmer to follow. | ||
Revision as of 00:23, 29 May 2017
Incubation Checklist
Open
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:
- Open source license(s),
- Apache License 2.0
- Open communication channels,
- The project currently provides support through a mailing list, managed using Google Groups (otb-users and otb-developers).
- Open decision making process,
- A Project Steering Committee has been formed and it is now used to make decisions for the software project. (See: http://wiki.orfeo-toolbox.org/index.php/Project_Steering_Committee and http://wiki.orfeo-toolbox.org/index.php/Summary_of_PSC_Decisions)
- Update: (2015-07-24) A Project Steering Committee has been formed. Management decisions are now made in a standard way. Details on the Project Steering Committee can be found at http://wiki.orfeo-toolbox.org/index.php/Project_Steering_Committee.
- Open source license(s),
- 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.
- release process? LINK https://wiki.orfeo-toolbox.org/index.php/Release_planning
- bugs and feature requests? LINK https://bugs.orfeo-toolbox.org/my_view_page.php
- devel communication? LINK https://www.orfeo-toolbox.org/SoftwareGuide/SoftwareGuidech1.html#x10-140001.4
- Long term viability of the project is demonstrated by showing participation and direction from multiple developers, who come from multiple organizations.
- 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:
- All project source code is available under an Open Source license.
- Project documentation is available under an open license, such as Creative Commons.
- Website is creative commons, could not quite tell what the user guide uses.
- 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.
- The project maintains a list of all copyright holders identified in the Provenance Review Document.
- Following Apache copyright notice recommendations. The list of all copyright holders identified is maintain in the NOTICE file in the source tree: [1]
- All code contributors have agreed to abide by the project's license policy, and this agreement has been documented and archived.
- List of all contributors is available in the OTB Software Guide []. Moreover to accept your contribution, developers need to sign and email to cla@orfeo-toolbox.org an “Individual Contributor Licensing Agreement” (ICLA) form and a “Corporate Contributor Licensing Agreement” (CCLA) form if you are contributing on behalf of your company or another entity which retains copyright for your contribution. The ICLA and CCLA are archived on the OTB server.
Processes
- The project has code under configuration management.
Eg, subversion, git.- Git https://git.orfeo-toolbox.org - There is a mirror on Gitub: https://github.com/orfeotoolbox/OTB
- 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 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 organizations as there will be a greater variety of technical visions and the project is more resilient to a sponsor leaving.- Details on the Project Steering Committee can be found at http://wiki.orfeo-toolbox.org/index.php/Project_Steering_Committee and also https://www.orfeo-toolbox.org/community/
- 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.- New features have to been describe in a RFC and discuss and vote publicly on the mailing list. The list of all RFCs is available on the OTB wiki (https://wiki.orfeo-toolbox.org/index.php/Requests_for_Changes). Moreover there is also a public JIRA system available to follow day by day developments linked via https://wiki.orfeo-toolbox.org/index.php/Git
Documentation
- The project has user documentation:
- Including 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.
- 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.
- The project follows a defined release process:
- The release process is described in the OTB wiki https://wiki.orfeo-toolbox.org/index.php/How_to_Release
- Which includes execution of the testing process before releasing a stable release.
- 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.- See OTB Cdash (nightly builds, unit tests and code coverage submissions): https://dash.orfeo-toolbox.org/
- 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:
- 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