Feedback on GeoServer Incubation Process

Update: GeoServer is now recommended for OSGeo graduation

It looks like I will be in a position to recommend GeoServer for OSGeo graduation this week. There are of course lots of people to thank, and a fair bit of hands on work on my part to make this happen:

  • GeoServer Project Steering Committee: The GeoServer project leaders work hard, and often transparently, to run a professional open source project. In this case I would really like to highlight their effort - thanks for putting in the hard work.
  • Australia/New-Zealand OSGeo Chapter: a big thank you to participants of the FOSS4G-au code sprint. A team with all manner of backgrounds participated in a "code-sprint" that consisted of reading through the source code on github and noting down the files with incorrect or missing headers and identified a few cases where we needed to clarify IP issues. 
    This is an excellent example of how an OSGeo Chapter can offer direct hands-on assistance to make the foundation access.
  • A couple individual shout-outs to Landon for mentoring GeoServer through this last burst of activity, Andrea Amie: for volunteering to be "GeoServer Project Officer", and Chris Holmes for keeping the communication going.
  • Finally our LISAsoft customers who kept asking when GeoServer would join the Open Source Geospatial Foundation. Now it has!

It is certainly good to be done :-)


Feedback on the Incubation Process

Although I often participate as a "mentor" in the OSGeo Incubation committee, I have a bit of feedback from the perspective of following the incubation process.

Incubation Checklist
Last year we updated the Incubation "checklist" to help write down the information needed for an OSGeo project:
  • Open
  • Copyright and License
  • Process
  • Documentation
  • Release Procedure
  • Information for the Board, Marketing, Projects and System Admin committee

Not all of the tasks can be completed prior to graduation, indeed some are slated to happen after graduation (volunteering a project officer, updating the logo to say graduated etc…). 

After the project was recommended by Landon, I ended up fielding questions on why some of our "join the foundation" tasks are not "checked off" yet. Well the answer is we are waiting on the incubation and board to approve the project.
Known Issues vs Fixed Issues
For incubation, the issues raised during review only have to be known ... not fixed. This seems to be a bit of a communication gap and I am not sure how to make it more clear.
  • For GeoServer we found the occasional test data where we were not quite sure how to document where it came from. While we did figure it out - it should not of been considered a barrier to graduation.
  • For GeoTools we managed to run into some more serious issues during review and decided to take time out and fix them right away. That kind of decision is up to the project team (subject to their time and budget).It is fine to graduate with a list of "known unknowns" - it allows the foundation (and any potential participants) to know what the risks are associated with a project.
The incubation process is designed to QUICKLY review what is being shipped, and get a handle on these "unknowns" - finding time or budget to address the issues found can take place outside of incubation.
If an issue is serious enough to prevent the incubation committee from recommending a project then the project mentor will let us know, for the rest just be happy there is a list.
Process and Quality Assurance
Capturing the processes associated with GeoServer was not difficult as our developers guide already covers how to release, how to contribute code and obtain commit access and what testing is available for the project.
However these kind of questions have been a cause for a lot of concern on the incubation email list. We really need to focus on communicating what the team does now - the goal is to let a potential developer know what they are signing up for.
Write down what happens today, even if the "process" is just sending an email or meeting for beer.