OSGeo Community Projects

From OSGeo
Revision as of 09:42, 19 January 2018 by Wiki-Surveyor (talk | contribs)
Jump to navigation Jump to search

About OSGeo Community Projects

OSGeo Community Projects are software projects that:

  • Have an open source license.
  • Welcome new contributors.
  • Are in the process of building their developer and user communities.
  • Are in the process of working on project governance, documentation, and marketing.

OSGeo Community Projects may not yet have an active developer and user community. They may be benevolent dictatorships or feature experimental and unstable technology.

How OSGeo Community Projects Are Related To OSGeo Incubation

There are two ways for an open source software project to join OSGeo. The first way is through the regular incubation process. This is best for projects that already have an established community of developers and users. (This community should be diverse. This means that developers should come from more than one organization or group.)

If a project doesn't yet have an active and diverse community, it can join OSGeo as an OSGeo Community Project. OSGeo Community Projects get help from the incubation committee with things like choosing an open source license, setting up project governance, promoting the project, and building the project community).

The same volunteers that help software projects through the OSGeo Incubation Process also help OSGeo Community Projects.

Purpose

The purpose of OSGeo Community Projects is to provide a home at OSGeo for projects that don't qualify for our normal incubation process. This allows them to get help from the volunteers on the OSGeo Incubation Committee and to become familiar with the guidelines and operation of OSGeo as an organization. Most OSGeo Community Projects are working to qualify for the normal incubation process, but this isn't a requirement.

The normal OSGeo incubation process requires that software projects meet a high standard for things like project governance. Working through the normal incubation process can involve a lot of work. in contrast, we want the process to become and OSGeo Community Project to be as painless as possible. That allows projects to build community strength before they enter incubation.

Qualifying As An OSGeo Community Project

We would like to make joining OSGeo as simple and painless as possible. If you wish to join the foundation please send a description of your project to the OSGeo Incubation Committee Mailing List, or e-mail Landon Blake.

You will need to put in a little bit of effort (checking your license, source code and repository) before you can be listed. We will be happy to help answer any questions you have, but we do not have volunteers standing by to do this work for you.

If your project would like to join OSGeo the technology initiative asks:

  1. That your project is geospatial (or directly supports geospatial applications);
    • Data & doc projects would of course need an appropriate data or documentation license
  2. That your project is open source
    • Uses an OSI approved open source license
    • That you know where your source code came from, and that care is taken when accepting external contributions
  3. Participatory (accepts pull-requests)

Getting Started

If you need assistance meeting the criteria to be listed please ask for direction and help on the mailing list:

  1. Selection of an open source license if the project hasn't already done so.
  2. Checking your source code headers and history
  3. Setup appropriate LICENSE, CONTRIBUTING and README files (for github projects)

Once you have been accepted as an OSGeo Technology Project we would be pleased to help you with the next steps:

  1. Creation a home page for the project. The OSGeo wiki is recommended for this page.
  2. Announce and discuss the project on the OSGeo Discuss email list.
  3. Set the project software development up on the OSGeo infrastructure if appropriate (mailing lists, ec...).

Member Projects

The following projects are listed with the community projects:

Member Project History

The following projects have now graduated from incubation:

There is an archive of the old OSGeo Technology Projects page at OSGeo Labs Page Archive.

Comparison with Incubation

As shown below there is some overlap requirements for an OSGeo projects (as defined by the incubation process graduation checklist).

Responsibility OSGeo Community OSGeo Project
Open Source

- check headers
- See LICENSE.md

X X
Participatory

- See CONTRIBUTING.md

X X
Open Community

- communication channel
- decision making process

X
Active Healthy Community

- user and developer collaboration
- long term viability

X
Development Process

- version control
- issue tracker
- leadership open to new members
- transparent decision making

X
Documentation

- user documentation
- developer documentation

X
Release Procedure

- release process
- documented testing process

X
Foundation Resources Technology Project
Representation
incubation chair
project officer
infrastructure and facilities X X
promotion & marketing X X
budget and fundraising X X

Available branding:

Community Project
OSGeo Community Project OSGeo Project

Volunteers Needed

Assisting new projects is the responsibility of the incubation committee. If you are passionate about open source, helping development teams and making OSGeo great - we would love to hear from you!

As a volunteer you can help new projects with:

  • Project marketing.
  • Development of user and programmer communities.
  • Establishment of programs and policies for project documentation, copyright assignment, and licensing.
  • Establishment of programs and policies for software development. This includes version tracking, bug tracking, and feature request tracking, creation of a development road map, and organization of code sprints/events.
  • Establishment of project governance programs and policies.
  • Collaboration on technical standards, data formats, and code sharing with other open source geospatial software projects.
  • Utilization of software development infrastructure like mailing lists, bug trackers, version control software/hosting, and web hosting.
  • Mentor projects entering the OSGeo incubation program

How good is my project

While this can serve as a useful exercise for projects seeking to improve their game (and may be useful to incubation mentors) please note that it is only an exercise. You may also consider looking at Open HUB metrics as used by OSGeo Live (and are impartially calculated based on commit history).

In the past OSGeo Labs used an informal “project status” system to assist programmers and users evaluate projects under development.

  1. Source Code Completeness
  2. Source Code Stability
  3. Community Support (Mailing Lists, Documentation, Tutorials)
  4. Project Deliverables (Programming Libraries and/or Executables)
  5. Project Infrastructure (Source Code Versioning, Bug Trackers, Feature Trackers, Web Site, Mailing Lists, Discussion Forums)
  6. Project Governance (Decision Making Processes, Licensing, Copyright Assignment, Release Schedule, Coding Standards)
  7. Community Activity
  8. Marketing and Outreach

Here is what that ended up looking like:

  • RnD Project: This project is in the conceptual stage. There may be some source code written, but it is incomplete or very experiemental. The project may lack deliverables, community support, project infrastructure, project governance, community activity, or marketing and outreach.
  • New Project: This project is moving beyond the conceptual stage with some concrete code. However the code is still experimental and isn't stable. Projects at this status level could still experience a lot of change in their code base. This project should start to have some project infrastructure and some basic documentation.
  • Stable Project: This project has functional source code, although it may not be "mature and feature rich". For example, the code may only be usable as a programming library or a command line tool instead of featuring a GUI. The project has started to support users and programmers with communication tools, trackers, and documentation. The project has started to think about project governance and marketing, perhaps creating plans in these areas that are not fully implemented.
  • Established Project: This project has a usable and user friendly deliverable, like an executable program or a stable and well-deocumented programming library. The project is supporting users and programmers with communication tools, trackers, and documentation. It has started the initial phases of incubation. This includes addressing issues of copyright, licensing, and project governance. The project also has a marketing and community growth plan and has started to implement the plan.