OSGeo Community Projects
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.
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 an OSGeo Community Project as simple and painless as possible. If you would like your software project to become an OSGeo Community Project, please send a description of your project to the OSGeo Incubation Committee Mailing List, or e-mail Landon Blake.
Your software project needs to meet the following criteria to be a OSGeo Community Project:
- The technology in your software project should be geospatial (or directly support geospatial applications).
- Your project should be open source and welcomes new contributions. If you don't have a license selected, we can help with that.
Once your software project has been accepted as an OSGeo Community Project, the Incubation Committee will assign you personal mentor. This mentor will help your project withcommunity building and other tasks. First steps for an OSGeo Community Project include:
- Creation a home page for the project. The OSGeo wiki is recommended for this page.
- Selection of an open source license (if the project hasn't already done this).
- Announcement and discussion of the project on the OSGeo Discuss OSGeo Discussion mailing list.
- Set-up of project infrastructure (mailing list, source code repository, doc repository).
- Creation of plans for software development, marketing and documentation.
The following projects are listed with the community projects:
- Postal Address Geo-Coder
- Virtual Terrain Project
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 CONTRIBUTING.md
| Open Community
- communication channel
| Active Healthy Community
- user and developer collaboration
| Development Process
- version control
- user documentation
| Release Procedure
- release process
|| incubation chair
|infrastructure and facilities||X||X|
|promotion & marketing||X||X|
|budget and fundraising||X||X|
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.
- Source Code Completeness
- Source Code Stability
- Community Support (Mailing Lists, Documentation, Tutorials)
- Project Deliverables (Programming Libraries and/or Executables)
- Project Infrastructure (Source Code Versioning, Bug Trackers, Feature Trackers, Web Site, Mailing Lists, Discussion Forums)
- Project Governance (Decision Making Processes, Licensing, Copyright Assignment, Release Schedule, Coding Standards)
- Community Activity
- 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.