Difference between revisions of "General Principles of Incubation"

From OSGeo
Jump to navigation Jump to search
 
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This document is meant to be a guide to the incubation process in general. The goal is to introduce you to the concept of incubation in open source and how we do it here at OSGeo.org. It is currently a work in progress.
+
==Revision Notes==
 +
* The official 1.0 version of this document, from July 2006 is at: http://www.osgeo.org/incubator/process/principles.html
 +
* This document is proposed to be retired, as its contents are mostly duplicated by other documents, or out of date.
 +
* Identifiers have been added to this wiki version, as well as references to equivalent words from other documents.
  
== Introduction ==
+
== Purpose of Incubation ==
 +
The purpose of the OSGeo incubation process is to ensure that projects that are officially part of OSGeo:
  
Open Source (OS) is often associated with anarchy or certain rights to do as you please. However, software is complex, hard to manage, and most software projects are prone to total failure or riddled with debilitating bugs. The story is true in OS as well as proprietarily produced software. The simplistic view is that software is software. The primary difference between OS and proprietary software is that in OS, we can all see the code and in some cases see the process of code creation.  
+
* <span id="1">1</span>. have a successfully operating open and collaborative development community. Ref: [[Project_Graduation_Checklist#open.2]]
 +
* <span id="2">2</span>. have clear IP oversight of the code base of the project. Ref: [[Project_Graduation_Checklist#Copyright_and_License]]
 +
* <span id="3">3</span>. adopt the OSGeo principles and operating principles. Ref: [[#Operating_Principles]]
 +
* <span id="4">4</span>. are mentored through the incubation process.
  
=== Open Source Project Principles===
+
== Principles of OSGeo Projects (The OSGeo Way) ==
The key to success for software is elusive. There is no silver bullet. However, we can say that there are a few things that can contribute to success:
 
* Utility
 
* Some type of leadership and/or decision process
 
* A process for changes to the code
 
* Documentation (design and end-user docs)
 
  
=== End Users Principles ===
+
* <span id="5">5</span>. Projects should manage themselves, striving for consensus and encouraging participation from all contributors - from beginning users to advanced developers. Ref: [[Project_Graduation_Checklist#open.2]]
 +
* <span id="6">6</span>. Contributors are the scarce resource and successful projects court and encourage them. Ref: [[Project_Graduation_Checklist#open.2]]
 +
* <span id="7">7</span>. Projects are encouraged to adopt open standards and collaborate with other OSGeo projects. Ref: [[Project_Graduation_Checklist#Projects]]
 +
* <span id="8">8</span>. Projects are responsible for reviewing and controlling their code bases to insure the integrity of the open source baselines. Ref: [[Project_Graduation_Checklist#Copyright_and_License]]
  
Software is useless, or at least unused, without end-users. We want to ensure that the project targets present in the OSGEO foundation are accessable to end-users. ''Thinking up front about end user needds helps by reducing the time that the project developers have to spend on support.''
+
== Operating Principles ==
  
Here are a few things important to end-users:
+
* <span id="9">9</span>. Projects should document how they manage themselves. Ref: [[Project_Graduation_Checklist#processes.3]]
* End-user documentation
+
* <span id="10">10</span>. Projects should maintain developer and user documentation. Ref: [[Project_Graduation_Checklist#Documentation]]
* user email lists for supporting user questions
+
* <span id="11">11</span>. Projects should maintain a source code management system. Ref: [[Project_Graduation_Checklist#processes.1]]
* Issue Management (on OSGeo we user Project Tracker)
+
* <span id="12">12</span>. Projects should maintain a discrepancy tracking system. Ref: [[Project_Graduation_Checklist#processes.2]]
* Home page and content (including documentation)
+
* <span id="13">13</span>. Projects should maintain project mailing lists. Ref: [[Project_Graduation_Checklist#processes.2b]]
* Simple to use downloads with automated installation
+
* <span id="14">14</span>. Projects should actively promote their participation in OSGeo. Ref: [[Project_Graduation_Checklist#Marketing]]
 +
* <span id="15">15</span>. Projects are encouraged to adopt OSGeo look and feel, branding, [[Logos | logos]] on their project sites. Ref: [[Project_Graduation_Checklist#Marketing]]
 +
* <span id="16">16</span>. Projects are encouraged to participate in OSGeo standardization efforts to present a common interface for OSGeo visitors and members. [[Project_Graduation_Checklist#Marketing]]
 +
* <span id="17">17</span>. Projects should have automated build and smoke test systems. Ref: [[Project_Graduation_Checklist#release.2]]
  
=== OSGEO Foundation Principles ===
+
[[Category:Incubation]]
The OSGeo Foundation has a few things that need to be done:
 
 
 
* Intellectual Property verification of ownership and choice of OS license
 
* Contact with owners of the project
 
* A review of the merits of the project and if it is worthy of hosting at OSGeo.org
 
* Ensuring that the project is healthy
 
 
 
====More about Intellectual Property====
 
Intellectual Property verification is required for due diligence. It helps us all ensure the code is truly open source and that the licenses have been applied directly. The foundation is a legal entity and should cover its self. The license is also imortant as we must ensure that the open source license you are using is compatible with the foundation.
 
 
 
==Incubation and You==
 
Incubation is aimed at getting the above items to be done in some manner. The actual processes, content, and organization of the OS project is less important in this process as the actual execution and verification that these things are done. Incubation is meant to ensure that the project is ready and will succeed within the bounds of the foundation and that the foundation can help the project succeed.
 
 
 
=== Requirement One: Management ===
 
Projects should document how they manage themselves
 
 
 
=== Care and Feeding of Volunteers ===
 
Contributors are the scarce resource and successful projects court 
 
and encourage them.
 
 
 
=== Playing Nice with Others ===
 
Projects are encouraged to adopt open standards and collaborate with 
 
other OSGeo projects
 
 
 
== Hatching ==
 
 
 
Here is a checklist:
 
# Projects should maintain developer and user documentation
 
# Projects should maintain a source code management system - svn or cvs 
 
preferred
 
# Projects should maintain a discrepancy tracking system
 
# Projects should maintain project mailing lists
 
# Projects should actively promote their participation in OSGeo
 
# Projects are responsible for reviewing and controlling their code 
 
bases to insure the integrity of the open source baselines
 
# Projects are encouraged to adopt OSGeo look and feel, branding, logos 
 
on their project sites
 
# Projects are encouraged to participate in OSGeo standardization 
 
efforts to present a common interface for OSGeo visitors and members
 
 
 
== Assistence in the Incubation Process ==
 
 
 
The OSGeo will in turn attempt to make available the best of breed 
 
open source collaborative tools and resources to support those 
 
efforts, if we offer better tools and resources projects will 
 
naturally migrate to the better implementations.
 
 
 
==Discussion==
 
I'm sure I've missed several important points, the main point being 
 
that we lead vs control.
 
 
 
New projects compete for our approval with the same guidelines - 
 
hopefully they will be included based on their perceived value to the 
 
OSGeo overall goals and objectives.
 
 
 
 
 
[https://incubator.osgeo.org/servlets/ReadMsg?listName=incubator&msgNo=224 Mark Lucas' thoughts on incubation]
 

Latest revision as of 11:52, 29 October 2015

Revision Notes

  • The official 1.0 version of this document, from July 2006 is at: http://www.osgeo.org/incubator/process/principles.html
  • This document is proposed to be retired, as its contents are mostly duplicated by other documents, or out of date.
  • Identifiers have been added to this wiki version, as well as references to equivalent words from other documents.

Purpose of Incubation

The purpose of the OSGeo incubation process is to ensure that projects that are officially part of OSGeo:

Principles of OSGeo Projects (The OSGeo Way)

Operating Principles