Opened 7 months ago

Last modified 16 hours ago

#2268 new task

Incubation request: PROJ

Reported by: kbevers Owned by: jive
Priority: normal Milestone:
Component: Incubator Keywords:
Cc:

Description (last modified by dmorissette)

The PROJ project would like to formally request incubation into OSGeo. The incubation questionnaire is filled out below. I believe the project fullfils all the project evaluation criteria. Michael Smith has [ expressed willingness to mentor the project during the incubation process https://lists.osgeo.org/pipermail/proj/2019-March/008289.html].

  1. Please provide the name and email address of the principal Project Owner.
  • Kristian Evers <kreve@…>
  1. Please provide the names and emails of co-project owners (if any).
  • Howard Butler, howard@…
  • Frank Warmerdam, frank@…
  1. Please provide the names, emails and entity affiliation of all official committers
  • Kristian Evers, kreve@…, Danish Agency for Data Supply and Efficiency
  • Howard Butler, howard@…, Hobu Inc.
  • Charles Karney, charles@…, SRI International
  • Thomas Knudsen, thokn@…, Danish Agency for Data Supply and Efficiency
  • Even Rouault, even.rouault@…, Spatialys
  • Frank Warmerdam, frank@…, Planet Labs Inc.
  1. Please describe your Project.

PROJ is a generic coordinate transformation software that transforms geospatial coordinates from one coordinate reference system (CRS) to another. This includes cartographic projections as well as geodetic transformations.

PROJ includes command line applications for easy conversion of coordinates from text files or directly from user input. In addition to the command line utilities PROJ also exposes an application programming interface, or API in short. The API lets developers use the functionality of PROJ in their own software without having to implement similar functionality themselves.

PROJ started purely as a cartography application letting users convert geodetic coordinates into projected coordinates using a number of different cartographic projections. Over the years, as the need has become apparent, support for datum shifts has slowly worked its way into PROJ as well. Today PROJ supports more than a hundred different map projections and can transform coordinates between datums using all but the most obscure geodetic techniques.

  1. Why is hosting at OSGeo good for your project?

PROJ is already a community member of OSGeo and used by most, if not all, C/C++ based OSGeo projects. A foundational library such as PROJ should benefit from the full support of OSGeo, allowing the project to support it's downstream brothers and sisters better.

  1. Type of application does this project represent(client, server, standalone, library, etc.):

Library, command line utility.

  1. Please describe any relationships to other open source projects.

PROJ is a dependency for most, if not all, of the C/C++ based OSGeo projects. Additionally, a number of projects (likely in the hundreds) from outside the realm of OSGeo depends on PROJ for coordinate transformations

  1. Please describe any relationships with commercial companies or products.

A few of the PSC members represent companies that has commercial interest in PROJ. Either because they rely on the software in their production or because they offer development on PROJ as a service in their consultancy business.

  1. Which open source license(s) will the source code be released under?

PROJ is released under the MIT license. Previous to version 4.3 of PROJ the code was considered public domain by the United States of America.

https://github.com/OSGeo/proj.4/blob/master/COPYING

  1. Is there already a beta or official release?

Yes, multiple. At the time of writing the most recent version is 6.0.0.

  1. What is the origin of your project (commercial, experimental, thesis or other higher education, government, or some other source)?

Government. PROJ was originally developed by Gerald I. Evenden at the USGS in the 1980's. Today PROJ is used by actors in both higher education, government and the private sector.

  1. Does the project support open standards? Which ones and to what extent? (OGC, w3c, ect.) 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?

PROJ support the Well-Known Text and Well-Known Text2 described in the ISO 19111 standard on "Referencing by coordinates". I am not aware of any official certification. To the best of my knownledge PROJ is the first application to implement WKT2, so it can in some sense be regarded as a reference implementation.

  1. Is the code free of patents, trademarks, and do you control the copyright?

Yes.

  1. How many people actively contribute (code, documentation, other?) to the project at this time?

Releases typically has between 10 and 20 contributors. Usually, the majority of the work is done by a handful of regular contributors.

  1. How many people have commit access to the source code respository?

7.

  1. Approximately how many users are currently using this project?

The number of direct users of PROJ is likely rather low, but when counting indirect users, such as users of GDAL, PostGIS and QGIS, the number is likely in the millions.

  1. What type of users does your project attract (government, commercial, hobby, academic research, etc. )?

Government, commercial, academia.

  1. If you do not intend to host any portion of this project using the OSGeo infrastructure, why should you be considered a member project of the OSGeo Foundation?

N/A - PROJ already uses OSGeo infrastructure.

  1. Does the project include an automated build and test?

Yes. PROJ include both autools and CMake build systems, has a test coverage of about 85%. Tests are run on a number of CI targets for each commit to the master branch.

  1. What language(s) are used in this project? (C/Java/perl/etc)

C and C++.

  1. What is the dominant written language (i.e. English, French, Spanish, German, etc) of the core developers?

English.

  1. 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?

The 6.0.0 release is 2.3MB. The accompanying datum grid package is 6.3MB. Additionally, the optional grid packages for Europe and North America are both around 20MB. The optional grid package for Oceania is 70MB.

Change History (6)

comment:1 Changed 7 months ago by kbevers

A few updates regarding the use of the EPSG registry:

  1. Does the project support open standards? Which ones and to what extent? (OGC, w3c, ect.)

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?

PROJ support the Well-Known Text and Well-Known Text2 described in the ISO 19111 standard on "Referencing by coordinates". I am not aware of any official certification. To the best of my knownledge PROJ is the first application to implement WKT2, so it can in some sense be regarded as a reference implementation.

PROJ support the EPSG registry more or less in it's entirety. No certification is available but the IOGP (the organization behind the EPSG registry) offers the GIGS test suite that allows projects to determine their compliance with the intended use of the registry. PROJ is currently partially compliant (~80%).

  1. Is the code free of patents, trademarks, and do you control the copyright?

Yes. Except for the EPSG registry which is included in the PROJ source distribution. The registry is available on a "free to use" basis as long as the original data is not modified. The terms of use are available here: http://www.epsg.org/TermsOfUse.aspx

comment:2 in reply to:  1 Changed 7 months ago by Bas Couwenberg

Replying to kbevers:

  1. Is the code free of patents, trademarks, and do you control the copyright?

Yes. Except for the EPSG registry which is included in the PROJ source distribution. The registry is available on a "free to use" basis as long as the original data is not modified. The terms of use are available here: http://www.epsg.org/TermsOfUse.aspx

Not allowing modification makes it non-compliant with the Open Source Definition (OSD) and Debian Free Software Guidelines (DFSG) on which the OSD is based. This risks making the entire geospatial stack dependent on a non-free library.

The EPSG TOU requires that modified data is not attributed to the EPSG Dataset when the modifications fall outside of the permitted list:

  1. No data that has been modified other than as permitted in these Terms of Use shall be attributed to the EPSG Dataset.

As long as the data is not attributed to the EPSG dataset, the terms of the MIT license used for PROJ can also cover the SQL files and resulting database.

Both the OSD & DSFG permit only allowing modifications when a different name is used, to dissociate the original author from the modified work:

4. Integrity of The Author's Source Code

The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software. (This is a compromise. The Debian group encourages all authors not to restrict any files, source or binary, from being modified.)

This has allowed PROJ 6.0.0 to stay in the main component of the Debian archive.

comment:3 Changed 6 months ago by dmorissette

Description: modified (diff)

Minor formatting changes to list of owners and committers.

comment:4 Changed 5 weeks ago by desruisseaux

Just for context, two minors corrections on the following sentence:

PROJ support the Well-Known Text and Well-Known Text2 described in the ISO 19111 standard on "Referencing by coordinates". I am not aware of any official certification. To the best of my knownledge PROJ is the first application to implement WKT2, so it can in some sense be regarded as a reference implementation.

Actually the WKT 2 format is specified by ISO 19162, not ISO 19111. The later is rather the conceptual model from which PROJ 6 API is derived.

PROJ is not the first application to implements WKT 2. The open-source ESRI prototype on GitHub is the first ISO 19162 (WKT 2) implementation I'm aware of. Apache SIS came next in 2017. PROJ 6 is third to my knowledge. However PROJ 6 may be the first project to implement the WKT2 update published in 2019, but this is a relatively minor revision of ISO 19162:2015 compared to WKT 1.

Note also that the "PROJ support the Well-Known Text" sentence is a little bit ambiguous. Actually PROJ supports a WKT 1 dialect which is not the standard one as defined in OGC 01-009 (the standard mandated by Geopackage among others). For EPSG::4807 CRS, the PROJ interpretation of WKT 1 has an offset of 17 km at the latitude of Paris compared to the OGC 01-009 interpretation.

comment:5 Changed 3 days ago by neteler

Just FYI - I have update the broken links at https://www.openhub.net/p/proj4 (also added the new logo there). If you need further updates let me know.

comment:6 Changed 16 hours ago by desruisseaux

Regarding EPSG terms of use (in their 2016 version), one way to understand them may be to see them as similar to the BY-NC-ND type of Creative Commons license with some relaxations. I got from personal communication that IOGP considered the use of CC license before to decide to use their own.

Regarding an earlier comment in this thread, I think that the right to redistribute (under various conditions) should not be confused with a right to relisense.

Note: See TracTickets for help on using tickets.