Wednesday, February 26, 2014

Changing tracks on the GeoTools release train

The GeoTools release train has been burning through the stations and setting a rapid pace.

This activity marks a great deal of research and development, and a track record of consistent planned delivery. The turn around time for stable releases is also an important measure for getting fixes out to developers. Everything thing looks great right?

Holding on for the Ride

There is a downside to this rapid pace. In February I had a chance to do a roll call of LocationTech projects using GeoTools. Here is what I found:

- GeoGit uses GeoTools 9.0
- GeoMesa uses GeoTools 9.5
- GeoScript python uses GeoTools 9.0
- GeoScript Java Script uses GeoTools 9.0
- GeoScript Scala uses GeoTools 9.3
- GeoScript Groovy uses GeoTools 11-SNAPSHOT
- GeoTrellis uses GeoTools 9.5
- uDig uses GeoTools 9.0-M1

Not only were these projects not using the latest they were back on GeoTools 9 series (which had reached its "End-of-Life" in August 2013).

The release train was proving too exciting and many projects had simply fallen off.

Switching Gears

In discussions on the developer email list it gradually came out that there was a tension between having access prompt access to a release (wonderful when you are waiting for a fix) and the testing burden associated with upgrading (falling off the ride).

From an RnD standpoint the 6 month cycle is working out well. GeoTools needed a way to hold on to stable releases longer without over taxing the developer community.

Here is the resulting change proposal: Extended Release Schedule
  1. Drop back to releasing every other month
  2. Extend the release schedule with a 6 month maintenance phase
This proposal has now been accepted. Both the GeoTools and GeoServer release schedule will be effected.

Planning GeoTools 11

GeoTools 11 is scheduled for release in March, and will see a release every second month as we alternate between stable and maintenance branches.
  • GeoTools 11.0: March 2014 (Stable)
  • GeoTools 11.1: May 2014
  • GeoTools 11.2: July 2014
  • GeoTools 11.3: October 2014 (Maintenance)
  • GeoTools 11.4: December 2014
  • GeoTools 11.5: February 2015
Additional point releases may of course be added at the bequest of a development team. If you fall in a gap between releases don't be afraid to speak up.

Planning GeoTools 10

GeoTools 10 will no longer be retired in March, and is now extended with additional 6 months of life as a "maintenance" branch.
  • GeoTools 10.5: Feb 2014 (Stable)
  • GeoTools 10.6: April 2014 (Maintenance)
  • GeoTools 10.7: June 2014
  • GeoTools 10.8: August 2014