One of the items we launched with our new web site this spring was what we have been internally calling “the menu”, and ended up calling “core development“. The premise is that a generation of proprietary software experiences have broken customers of the idea that they can directly pay a vendor for a new feature — as customers we’ve been trained to just wait until the next version and hope. But in an open source world, developers (us) are happy to work on new features directly for customers. So in our core development “menu” we try to provide customers with some guidance about what is possible, writing up some descriptions of larger development pieces and enumerating the functionality they would provide.
One of the items I put in my PostGIS menu last spring was “geodetic types“, native support for latitude/longitude coordinates that allows for indexing of features that cross the poles or dateline, provides direct calculation of distances and areas on the spheroid, and integrates with the other functions in PostGIS. And a few months ago, that menu item was funded by a client! We are currently approaching the final delivery date, the code is committed to the PostGIS SVN repository, and I’m spending the rest of the week testing and polishing.
Amazingly, the open source development started paying off almost immediately — I was getting testing and bug reports from third parties very early in the process, which means the final delivery will be that much stronger for the client. I’ve also added a large number of functions above and beyond those itemized in the contract terms, since this code is going to be in wide use as soon as it is released.