Difference between revisions of "Incubation FAQ"

From OSGeo
Jump to navigation Jump to search
(mention OSGeo Community Projects as well)
 
(21 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
= About Incubation =
 
= About Incubation =
 +
 +
== Projects Joining the Foundation ==
 +
 +
This is a working draft of the the [http://www.osgeo.org/faq#Projects_Joining_the_Foundation OSGeo FAQ] section for projects joining the foundation.
 +
 +
; What software projects are currently part of the foundation?
 +
: On its formation, the GDAL/OGR, GeoTools, GRASS GIS, Mapbender, MapBuilder, MapGuide Open Source, MapServer and OSSIM projects declared their support, and joined as projects in incubation. Since then all of these projets have successfully graduated as full projects from this list. Further projects have entered incubation and some have also graduated. See the [http://www.osgeo.org/ OSGeo Projects] on the foundation website for an official list.
 +
 +
; What does a project need to do to join?
 +
: Projects need to go through the Incubation process to join the foundation. Details on how to apply, and how the process works are available on the [http://www.osgeo.org/incubator/index.html Incubator] web page.
 +
 +
; So when can my project join?
 +
: The Incubator is now accepting applications to join the foundation. Only a limited number of projects can be effectively handled in the incubation process at a time, so please be patient.
 +
 +
; Do foundation projects need to sign over copyright to the foundation?
 +
: No. Copyright to individual contributions in foundation projects is expected to remain with the original developer. However, assigning copyright to the foundation is an available option.
 +
 +
; Do project developers need to sign a legal agreement?
 +
: No. Generally speaking this is not required, but some specific projects may require developers or their employers to sign a contributor agreement.
 +
 +
; Do foundation projects need to turn over project control to the foundation?
 +
: No. The foundation is not interested in controlling foundation projects. However, foundation projects are expected to follow some foundation rules, mostly around the need to ensure that project code is not legally encumbered (e.g., not stolen, or improperly contributed), and that appropriate controls are in place to ensure code is properly contributed. Some additional expectations may exist around projects operating in an open and accountable fashion, handling foundation-provided funding appropriately and not taking actions that will cause legal problems or negative goodwill for the foundation. The foundation also encourages, but does not require, projects to support foundation goals, such as implementing standards-based interoperability.
 +
 +
; Can my project operate as a ''benevolent dictatorship''?
 +
: No. OSGeo projects are typically governed by a Project Steering Committee (PSC). The PSC should operate openly and with a consensus based approach. While the PSC may delegate specific responsibilities to particular project members it is ultimately intended to be the governing body for the project. A benevolent dictatorship is not considered a suitable open and consensus based approach to governance.
 +
 +
; Do I have to use mandated source control / web system / bug system / mailing list from the foundation?
 +
: No. Projects joining the foundation can continue to use their traditional source control system, web site system, bug tracker and mailing list software. However, the foundation does offer these infrastructural components, and encourages their use to provide a more consistent way for users and developers to interact with the different foundation projects.
 +
 +
; Does the foundation mandate a particular license for software?
 +
: The foundation only accepts projects that use [http://www.opensource.org/ Open Source Initiative certified] licenses for their software, and requires that projects stick to OSI-certified licenses. This includes common licenses such as MIT/X, BSD, GPL, and LGPL. The foundation encourages library projects to use the LGPL or a more permissive license (such as MIT/X or BSD) rather than the GPL so that the libraries can be reused by non-GPL projects, but does not require it. The foundation also discourages a proliferation of new and incompatible licenses.
 +
 +
; Does the foundation mandate a particular license for content other than software, such as geodata, educational materials, documentation, etc.?
 +
: The foundation accepts non-software projects that use [http://creativecommons.org/ Creative Commons] or similar licenses for their public geodata, educational material, or promotional material. The foundation also discourages a proliferation of new and incompatible licenses.
 +
 +
; What happens to projects that have fallen out of use or stop to be developed?
 +
: Projects that have passed a state of maturity and have fallen out of use are expected to retire themselves. The project MapBuilder has gone through this process and created an exemplary way of going about it.
 +
 +
; What happens to graduated projects that fail to operate under the criteria set forth by OSGeo? 
 +
: So far this has not happened yet but there is continuous interaction with all projects through the OSGeo Live project which is a good meter to understand the internal workings of a project. Should a project chose to change course and deviate considerably from the criteria set forth by OSGeo then the community will have to decide how to proceed. Being a healthy, open an collaborative environment OSGeo will eventually find a solution.
 +
 +
; How does the Incubation Committee operate?
 +
: The rough guideline is that anything about the functioning of this committee is fair game for the email list. By the same token we encourage projects to push back on the incubation committee early and often (we can take it).
 +
 +
; What crosses the line and requires privacy?
 +
: Sensitive discussions of a legal/license nature are best bounced off a project's mentor, who could arrange for you to speak with a project's PSC if needed. If it has a chance of shutting down a project best have a sanity check first - often you will find the project/mentor are already on the job.
 +
 +
; What is the tone on the Incubation list.
 +
: We try to be fair but as everywhere this is just a group of individuals, many of whom have never met in real life before. Therefore please bear with us and, citing our current Chair, Australia has a kind expression: "Eat some concrete and harden up". By all means the incubation committee can be a supportive environment for some "tough love".
  
 
== Q: What is incubation ==
 
== Q: What is incubation ==
Line 25: Line 74:
 
== Q: What about long term viability? ==
 
== Q: What about long term viability? ==
  
The incubation process really wants to check that a project is not going to suddenly disappear:  
+
A: The incubation process really wants to check that a project is not going to suddenly disappear:  
 
 
 
* That a project has a high [http://en.wikipedia.org/wiki/Bus_factor bus number] and will not suddenly end if a central key developer leaves or is no longer available
 
* That a project has a high [http://en.wikipedia.org/wiki/Bus_factor bus number] and will not suddenly end if a central key developer leaves or is no longer available
 
* That a project draws on several organisations (and thus sources of funding) for its health and well being
 
* That a project draws on several organisations (and thus sources of funding) for its health and well being
Line 32: Line 80:
 
== Q: What about existing projects ==
 
== Q: What about existing projects ==
  
Incubation is a dynamic process reflecting the needs of the foundation today (in 2006 the foundation offering subversion hosting was seen as very important; in 2012 help balancing project procedures with the "fork me" style of development promoted by git is being wrestled with). The incubation process and checklists are updated to reflect these changes and are adjusted as the foundation priorities change.
+
A: Existing projects answer to the board
 +
 
 +
Incubation is a dynamic process reflecting the needs of the foundation today. The incubation process and checklists are updated to reflect these changes and are adjusted as the foundation priorities change.  
  
 
Existing projects are not expected revisit the incubation process they are answerable directly to the board via a "project officer". If the board requires any additional information or policy change suitable arrangements can be made.
 
Existing projects are not expected revisit the incubation process they are answerable directly to the board via a "project officer". If the board requires any additional information or policy change suitable arrangements can be made.
 +
 +
= Open Source Basics =
 +
 +
== Q: Open Source License? ==
 +
 +
A: Recognised by Open Source Initiative
 +
 +
It is not enough to give the source code away for free - projects are expected to be open source in license.
 +
 +
For the purposes of incubation that amounts to the projects being distributed under a license recognised here:
 +
 +
* http://opensource.org/
 +
 +
== Q: Attribution and Agreement ==
 +
 +
A: Record who wrote it and check they agree to let you distribute it
 +
 +
On the face of it this is a real easy check to understand - but a very hard one to get correct. Projects receive input in large part through contributors and committers; supplemented by patches submitted via issue trackers.
 +
 +
Some projects allow contributors to keep their own (c) and simply ask that all contributions be provided under a common license. Other projects ask that copyright be assigned to a common organisation this allows the project to change license in the future if needed.
 +
 +
Common mistakes:
 +
*  It is common for projects to get in trouble with individuals contributing fixes; while working as an employee. In these cases the employees often owns the contribution and a separate code contribution agreement must be filled in by the employer.
 +
* It is common from working code to be picked up from one project and used to fix an issue in another. Care must be taken to ensure the licenses compatible or suitable arrangements have been made.
 +
 +
This is often checked against file headers and verified using version control history, issue tracker history and any written records such as code contribution agreements.
 +
 +
Examples:
 +
* PostGIS contributions are made under a common license with no copyright assignment
 +
* GeoTools contributions are made after a developer has signed a code contribution to the OSGeo Foundation
 +
* GeoServer contributions are assigned to the Open Planning Project
 +
* GeoTools has a standing arrangement with GeoServer allowing code to be contributed; in each case an email request is made and formally responded to prior to a fix being back ported to GeoTools. This is a case of a procedure being established allowing the license of the code to be changed from GPL to LGPL.
 +
 +
== Q: Is a code contribution agreement required ==
 +
 +
A: A code contribution agreement is not required, but we do ask projects to make a decision either way (to be clear on how they operate)
 +
 +
Examples:
 +
* No agreement: The PostGIS project [http://trac.osgeo.org/postgis/wiki/DevWikiComitGuidelines RFC-5: PostGIS Committer Guidelines] asks developer to respect the coding standards, and tracks a name of the committers so the can be credited with the work
 +
* The GDAL [http://trac.osgeo.org/gdal/wiki/rfc3_commiters commiter guidelines] has a legal section stressing the responsibility to ensure the code is appropriately contributed. GDAL expects new commiters to publically acknowledge that they have read the guidelines and will endevour to adhere to them (on public mailing list).
 +
* The GeoTools project [http://docs.geotools.org/latest/developer/roles/commit.html Comitters] roles and responsibilities documents expectations on committter behaviour and links to a formal [http://docs.geotools.org/latest/developer/_downloads/GeotoolsAssignmentToOSGeo.pdf GeoToolsAssignmentToOSGeo.pdf] which must be printed out, and mailed to the OSGeo Foundation.
 +
 +
== Q: What is needed for Open Development ==
 +
 +
A: A procedure for several organisations to collaborate, open to new organisations becoming involved
 +
 +
How well a project practices open development is perhaps the most important indicator of long term viability.
 +
 +
We are really looking for two things:
 +
* Evidence that the procedures are in place allowing the project to be run by several organisations as a collaboration
 +
* Ensuring new groups can take part
 +
 +
While this is sometimes considered a tall order, what we are really asking is that projects write down how they are functioning today. As long as new volunteers can take part the project is considered open.
 +
 +
Examples:
 +
 +
* OSSIM makes key decisions made over breakfast in a monthly face to face meeting.
 +
* The direction for GeoNetwork was often set by key stakeholders meeting face to face each year.
 +
* MapServer [http://mapserver.org/development/rfc/index.html Request for Change] procedure has been adopted by several projects for public participation.
 +
* GeoTools [http://docs.geotools.org/latest/developer/procedures/proposal.html Request for Change] procedure
 +
* GeoServer has a [http://docs.geoserver.org/stable/en/developer/policies/gsip.html Improvement Proposal] procedure
 +
* The original [http://www.apache.org/foundation/voting.html Apache Voting Process] also gives good guidance
 +
 +
Several of these procedures make use of a project steering committee. In each case there is a procedure for new members to be added to the project steering committee.
 +
 +
= Checks =
 +
 +
== Q: Why check Email List Activity ==
 +
 +
A: Confirm open communication
 +
 
 +
Mentors sign up to the developer and email lists to look for a healthy interaction between developers and users. We are especially looking for evidence of collaboration between organisations.
 +
 +
A: Confirm open decision making
 +
 +
A key component of open development is ensuring that the project procedures are applicable to all groups taking part in the project. This is often really illustrated around accepting new contributors, planning future development and making new releases.
 +
 +
Note:
 +
 +
*  We do expect gaps (and understanding) around the careful balance between meeting paying customers expectations while still maintaining open communication with the community. As such we are used to see pending work proposed (and checked with the community) and then withdrawn if the appropriate funding was not obtained.
 +
 +
== Q: What to look for in headers ==
 +
 +
A: That they exist and that the correctly attribute the code and establish the project is allowed to distribute
 +
 +
Headers are your life lifeline if any legal questions are asked around your project. At a minimum they should provided copywriter and license information.
 +
 +
Examples:
 +
 +
*  (FAIL) Missing header
 +
*  (FAIL) Header indicating the file was copied and pasted from the Sun JRE source code
 +
*  (SUCCESS) [http://docs.geotools.org/latest/userguide/welcome/license.html GeoTools User Guide] listing both source and documentation licenses. Mix of licenses discovered during incubation - highlights include how to handle "one off" licenses (SOSNOKILLLICENSE and Happy Fun Ball License)
 +
*  (SUCCESS) [http://docs.geotools.org/latest/developer/conventions/code/style.html#but-what-about-the-header GeoTools Developer Guide Examples] showing how to attribute prior work; adjust code when changing license and more
 +
 +
== Q: Sample data licensing? ==
 +
 +
You should double check that you have permission to distribute the sample data included with your application or documentation. Even it is just toy data included with your source code for test cases.
 +
 +
A: If you are unsure where the data came from
 +
 +
You can mention that the sample data is of unknown license; raise an issue in your issue tracker to sort out, and proceed to graduation.
 +
 +
A: If you know where the data came from.
 +
 +
Other projects (in their review) tend write down where the data came from - often taking steps to thank the organisation that provided the data.
 +
 +
Examples
 +
 +
*  (FAIL)  Early uDig included some sample data from an ESRI product (simply because that was the data used for testing). The project pulled those releases when the problem was noticed.
 +
*  (SUCCESS) [[OSGeo Live]] contains and distributes the natural earth dataset and [http://live.osgeo.org/en/overview/naturalearth_overview.html mentions that the license is public domain].
 +
 +
= See also =
 +
 +
* [[OSGeo Community Projects]]
 +
 +
[[Category:Incubation]]

Latest revision as of 01:01, 18 April 2020

This is an informal FAQ mostly drawn from conversations on the committee email list where we help projects through the OSGeo incubation process.

About Incubation

Projects Joining the Foundation

This is a working draft of the the OSGeo FAQ section for projects joining the foundation.

What software projects are currently part of the foundation?
On its formation, the GDAL/OGR, GeoTools, GRASS GIS, Mapbender, MapBuilder, MapGuide Open Source, MapServer and OSSIM projects declared their support, and joined as projects in incubation. Since then all of these projets have successfully graduated as full projects from this list. Further projects have entered incubation and some have also graduated. See the OSGeo Projects on the foundation website for an official list.
What does a project need to do to join?
Projects need to go through the Incubation process to join the foundation. Details on how to apply, and how the process works are available on the Incubator web page.
So when can my project join?
The Incubator is now accepting applications to join the foundation. Only a limited number of projects can be effectively handled in the incubation process at a time, so please be patient.
Do foundation projects need to sign over copyright to the foundation?
No. Copyright to individual contributions in foundation projects is expected to remain with the original developer. However, assigning copyright to the foundation is an available option.
Do project developers need to sign a legal agreement?
No. Generally speaking this is not required, but some specific projects may require developers or their employers to sign a contributor agreement.
Do foundation projects need to turn over project control to the foundation?
No. The foundation is not interested in controlling foundation projects. However, foundation projects are expected to follow some foundation rules, mostly around the need to ensure that project code is not legally encumbered (e.g., not stolen, or improperly contributed), and that appropriate controls are in place to ensure code is properly contributed. Some additional expectations may exist around projects operating in an open and accountable fashion, handling foundation-provided funding appropriately and not taking actions that will cause legal problems or negative goodwill for the foundation. The foundation also encourages, but does not require, projects to support foundation goals, such as implementing standards-based interoperability.
Can my project operate as a benevolent dictatorship?
No. OSGeo projects are typically governed by a Project Steering Committee (PSC). The PSC should operate openly and with a consensus based approach. While the PSC may delegate specific responsibilities to particular project members it is ultimately intended to be the governing body for the project. A benevolent dictatorship is not considered a suitable open and consensus based approach to governance.
Do I have to use mandated source control / web system / bug system / mailing list from the foundation?
No. Projects joining the foundation can continue to use their traditional source control system, web site system, bug tracker and mailing list software. However, the foundation does offer these infrastructural components, and encourages their use to provide a more consistent way for users and developers to interact with the different foundation projects.
Does the foundation mandate a particular license for software?
The foundation only accepts projects that use Open Source Initiative certified licenses for their software, and requires that projects stick to OSI-certified licenses. This includes common licenses such as MIT/X, BSD, GPL, and LGPL. The foundation encourages library projects to use the LGPL or a more permissive license (such as MIT/X or BSD) rather than the GPL so that the libraries can be reused by non-GPL projects, but does not require it. The foundation also discourages a proliferation of new and incompatible licenses.
Does the foundation mandate a particular license for content other than software, such as geodata, educational materials, documentation, etc.?
The foundation accepts non-software projects that use Creative Commons or similar licenses for their public geodata, educational material, or promotional material. The foundation also discourages a proliferation of new and incompatible licenses.
What happens to projects that have fallen out of use or stop to be developed?
Projects that have passed a state of maturity and have fallen out of use are expected to retire themselves. The project MapBuilder has gone through this process and created an exemplary way of going about it.
What happens to graduated projects that fail to operate under the criteria set forth by OSGeo?
So far this has not happened yet but there is continuous interaction with all projects through the OSGeo Live project which is a good meter to understand the internal workings of a project. Should a project chose to change course and deviate considerably from the criteria set forth by OSGeo then the community will have to decide how to proceed. Being a healthy, open an collaborative environment OSGeo will eventually find a solution.
How does the Incubation Committee operate?
The rough guideline is that anything about the functioning of this committee is fair game for the email list. By the same token we encourage projects to push back on the incubation committee early and often (we can take it).
What crosses the line and requires privacy?
Sensitive discussions of a legal/license nature are best bounced off a project's mentor, who could arrange for you to speak with a project's PSC if needed. If it has a chance of shutting down a project best have a sanity check first - often you will find the project/mentor are already on the job.
What is the tone on the Incubation list.
We try to be fair but as everywhere this is just a group of individuals, many of whom have never met in real life before. Therefore please bear with us and, citing our current Chair, Australia has a kind expression: "Eat some concrete and harden up". By all means the incubation committee can be a supportive environment for some "tough love".

Q: What is incubation

Incubation in a process used to add projects to the Open Source Geospaital foundation. It is design as a quick safety check prior to a project being recognised as part of the foundation.

For more details see the main web page: http://www.osgeo.org/incubator

Q: Why have a mentor

The Incubation Committee committee asks for a mentor to assist each project through incubation for a number of reasons.

A: Outreach

We are making available a member of the committee on your developer email list as an out reach effort to your community. It is often easier to have discussions (on open source basics, or incubation checks) on the project email where everyone is comfortable

A: Privacy

Not all questions are suitable for public discussion. The incubation process can touch on a few subjects that should be handled with care (such as code ownership, code distribution, license questions and so forth). Having a mentor to talk (and arrange suitable help) can be very useful to collection the required information to continue.

Projects

Q: What about long term viability?

A: The incubation process really wants to check that a project is not going to suddenly disappear:

  • That a project has a high bus number and will not suddenly end if a central key developer leaves or is no longer available
  • That a project draws on several organisations (and thus sources of funding) for its health and well being

Q: What about existing projects

A: Existing projects answer to the board

Incubation is a dynamic process reflecting the needs of the foundation today. The incubation process and checklists are updated to reflect these changes and are adjusted as the foundation priorities change.

Existing projects are not expected revisit the incubation process they are answerable directly to the board via a "project officer". If the board requires any additional information or policy change suitable arrangements can be made.

Open Source Basics

Q: Open Source License?

A: Recognised by Open Source Initiative

It is not enough to give the source code away for free - projects are expected to be open source in license.

For the purposes of incubation that amounts to the projects being distributed under a license recognised here:

Q: Attribution and Agreement

A: Record who wrote it and check they agree to let you distribute it

On the face of it this is a real easy check to understand - but a very hard one to get correct. Projects receive input in large part through contributors and committers; supplemented by patches submitted via issue trackers.

Some projects allow contributors to keep their own (c) and simply ask that all contributions be provided under a common license. Other projects ask that copyright be assigned to a common organisation this allows the project to change license in the future if needed.

Common mistakes:

  • It is common for projects to get in trouble with individuals contributing fixes; while working as an employee. In these cases the employees often owns the contribution and a separate code contribution agreement must be filled in by the employer.
  • It is common from working code to be picked up from one project and used to fix an issue in another. Care must be taken to ensure the licenses compatible or suitable arrangements have been made.

This is often checked against file headers and verified using version control history, issue tracker history and any written records such as code contribution agreements.

Examples:

  • PostGIS contributions are made under a common license with no copyright assignment
  • GeoTools contributions are made after a developer has signed a code contribution to the OSGeo Foundation
  • GeoServer contributions are assigned to the Open Planning Project
  • GeoTools has a standing arrangement with GeoServer allowing code to be contributed; in each case an email request is made and formally responded to prior to a fix being back ported to GeoTools. This is a case of a procedure being established allowing the license of the code to be changed from GPL to LGPL.

Q: Is a code contribution agreement required

A: A code contribution agreement is not required, but we do ask projects to make a decision either way (to be clear on how they operate)

Examples:

  • No agreement: The PostGIS project RFC-5: PostGIS Committer Guidelines asks developer to respect the coding standards, and tracks a name of the committers so the can be credited with the work
  • The GDAL commiter guidelines has a legal section stressing the responsibility to ensure the code is appropriately contributed. GDAL expects new commiters to publically acknowledge that they have read the guidelines and will endevour to adhere to them (on public mailing list).
  • The GeoTools project Comitters roles and responsibilities documents expectations on committter behaviour and links to a formal GeoToolsAssignmentToOSGeo.pdf which must be printed out, and mailed to the OSGeo Foundation.

Q: What is needed for Open Development

A: A procedure for several organisations to collaborate, open to new organisations becoming involved

How well a project practices open development is perhaps the most important indicator of long term viability.

We are really looking for two things:

  • Evidence that the procedures are in place allowing the project to be run by several organisations as a collaboration
  • Ensuring new groups can take part

While this is sometimes considered a tall order, what we are really asking is that projects write down how they are functioning today. As long as new volunteers can take part the project is considered open.

Examples:

  • OSSIM makes key decisions made over breakfast in a monthly face to face meeting.
  • The direction for GeoNetwork was often set by key stakeholders meeting face to face each year.
  • MapServer Request for Change procedure has been adopted by several projects for public participation.
  • GeoTools Request for Change procedure
  • GeoServer has a Improvement Proposal procedure
  • The original Apache Voting Process also gives good guidance

Several of these procedures make use of a project steering committee. In each case there is a procedure for new members to be added to the project steering committee.

Checks

Q: Why check Email List Activity

A: Confirm open communication

Mentors sign up to the developer and email lists to look for a healthy interaction between developers and users. We are especially looking for evidence of collaboration between organisations.

A: Confirm open decision making

A key component of open development is ensuring that the project procedures are applicable to all groups taking part in the project. This is often really illustrated around accepting new contributors, planning future development and making new releases.

Note:

  • We do expect gaps (and understanding) around the careful balance between meeting paying customers expectations while still maintaining open communication with the community. As such we are used to see pending work proposed (and checked with the community) and then withdrawn if the appropriate funding was not obtained.

Q: What to look for in headers

A: That they exist and that the correctly attribute the code and establish the project is allowed to distribute

Headers are your life lifeline if any legal questions are asked around your project. At a minimum they should provided copywriter and license information.

Examples:

  • (FAIL) Missing header
  • (FAIL) Header indicating the file was copied and pasted from the Sun JRE source code
  • (SUCCESS) GeoTools User Guide listing both source and documentation licenses. Mix of licenses discovered during incubation - highlights include how to handle "one off" licenses (SOSNOKILLLICENSE and Happy Fun Ball License)
  • (SUCCESS) GeoTools Developer Guide Examples showing how to attribute prior work; adjust code when changing license and more

Q: Sample data licensing?

You should double check that you have permission to distribute the sample data included with your application or documentation. Even it is just toy data included with your source code for test cases.

A: If you are unsure where the data came from

You can mention that the sample data is of unknown license; raise an issue in your issue tracker to sort out, and proceed to graduation.

A: If you know where the data came from.

Other projects (in their review) tend write down where the data came from - often taking steps to thank the organisation that provided the data.

Examples

  • (FAIL) Early uDig included some sample data from an ESRI product (simply because that was the data used for testing). The project pulled those releases when the problem was noticed.
  • (SUCCESS) OSGeo Live contains and distributes the natural earth dataset and mentions that the license is public domain.

See also