Difference between revisions of "General Principles of Incubation"

From OSGeo
Jump to navigation Jump to search
Line 5: Line 5:
 
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.  
 
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.  
  
 +
=== Open Source Project Principles===
 
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:
 
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
 
* Some type of leadership and/or decision process
 
* A process for changes to the code
 
* A process for changes to the code
 
* Documentation (design and end-user docs)
 
* Documentation (design and end-user docs)
  
Software is useless without end-users, so we want to ensure that the project targets the end-user. This also helps by reducing the time that the project developers have to spend on support. Here are a few things important to end-users:
+
=== End Users Principles ===
  
 +
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
 
* End-user documentation
 
* user email lists for supporting user questions
 
* user email lists for supporting user questions
Line 19: Line 23:
 
* Simple to use downloads with automated installation  
 
* Simple to use downloads with automated installation  
  
 +
=== OSGEO Foundation Principles ===
 
The OSGeo Foundation has a few things that need to be done:
 
The OSGeo Foundation has a few things that need to be done:
  
Line 26: Line 31:
 
* Ensuring that the project is healthy
 
* 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.  
 
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.
 
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
 
Projects should document how they manage themselves
  
 +
=== Care and Feeding of Volunteers ===
 
Contributors are the scarce resource and successful projects court   
 
Contributors are the scarce resource and successful projects court   
and encourage them
+
and encourage them.
  
 +
=== Playing Nice with Others ===
 
Projects are encouraged to adopt open standards and collaborate with   
 
Projects are encouraged to adopt open standards and collaborate with   
 
other OSGeo projects
 
other OSGeo projects
  
 +
== Hatching ==
 +
 +
Here is a checklist:
 
# Projects should maintain developer and user documentation
 
# Projects should maintain developer and user documentation
 
# Projects should maintain a source code management system - svn or cvs   
 
# Projects should maintain a source code management system - svn or cvs   
Line 50: Line 63:
 
# Projects are encouraged to participate in OSGeo standardization   
 
# Projects are encouraged to participate in OSGeo standardization   
 
efforts to present a common interface for OSGeo visitors and members
 
efforts to present a common interface for OSGeo visitors and members
 +
 +
==Assistence in the Inccubation 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 56: Line 71:
 
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 12:26, 22 May 2006

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.

Introduction

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.

Open Source Project Principles

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

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:

  1. Projects should maintain developer and user documentation
  2. Projects should maintain a source code management system - svn or cvs

preferred

  1. Projects should maintain a discrepancy tracking system
  2. Projects should maintain project mailing lists
  3. Projects should actively promote their participation in OSGeo
  4. Projects are responsible for reviewing and controlling their code

bases to insure the integrity of the open source baselines

  1. Projects are encouraged to adopt OSGeo look and feel, branding, logos

on their project sites

  1. Projects are encouraged to participate in OSGeo standardization

efforts to present a common interface for OSGeo visitors and members

Assistence in the Inccubation 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.


Mark Lucas' thoughts on incubation