Difference between revisions of "General Principles of Incubation"

From OSGeo
Jump to navigation Jump to search
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.
+
This document is meant to be a guide to the incubation principles of OSGeo.
  
== Introduction ==
+
* Projects should manage themselves striving for consensus and encouraging participation from all contributors - from beginning users to advanced developers.
 
+
* Projects should document how they manage themselves.
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.
+
* Contributors are the scarce resource and successful projects court and encourage them.
 
+
* Projects are encouraged to adopt open standards and collaborate with other OSGeo projects.
=== Open Source Project Principles===
+
* Projects should maintain developer and user documentation.
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:
+
* Projects should maintain a source code management system - svn is preferred.
* Utility
+
* Projects should maintain a discrepancy tracking system.
* Some type of leadership and/or decision process
+
* Projects should maintain project mailing lists.
* A process for changes to the code
+
* Projects should actively promote their participation in OSGeo.
* Documentation (design and end-user docs)
+
* 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.
=== End Users Principles ===
+
* Projects are encouraged to participate in OSGeo standardization efforts to present a common interface for OSGeo visitors and members.
 
+
* Projects should have automated build and smoke test systems
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.''
+
*
 
 
Here are a few things important to end-users:
 
* End-user documentation
 
* user email lists for supporting user questions
 
* Issue Management (on OSGeo we user Project Tracker)
 
* Home page and content (including documentation)
 
* Simple to use downloads with automated installation
 
 
 
=== OSGEO Foundation Principles ===
 
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   
 
The OSGeo will in turn attempt to make available the best of breed   
Line 71: Line 21:
 
naturally migrate to the better implementations.
 
naturally migrate to the better implementations.
  
==Discussion==
 
 
I'm sure I've missed several important points, the main point being   
 
I'm sure I've missed several important points, the main point being   
 
that we lead vs control.
 
that we lead vs control.

Revision as of 10:12, 12 June 2006

This document is meant to be a guide to the incubation principles of OSGeo.

  • Projects should manage themselves striving for consensus and encouraging participation from all contributors - from beginning users to advanced developers.
  • Projects should document how they manage themselves.
  • Contributors are the scarce resource and successful projects court and encourage them.
  • Projects are encouraged to adopt open standards and collaborate with other OSGeo projects.
  • Projects should maintain developer and user documentation.
  • Projects should maintain a source code management system - svn is 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.
  • Projects should have automated build and smoke test systems

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.

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.


Mark Lucas' thoughts on incubation