Hi all,

Last week at foss4g a number of us sat down in an informal GeoTools BOF:

* Adrian, Martin, and Vincent from GeoMatys
* Andrea and myself from GeoServer / OpenGeo
* Andrea and Sylvia from JGrass
* Jesse from uDig
* Jan Jezek from Summer of Code
* And a number of other existing and future users

Discussions ranged from a number of topics, so I will try to break the
summary up into chunks. *Warning* this is a long email... so grab
yourself a coffee first ;).

Current Status of the Library
-----------------------------

Much discussion revolved around the current state of the library, and
much of the cleanup that needs to be done. Now much of this has been
discussed over the last few months in various threads so I wont go over
the issues in detail. But the general consensus is that Geotools, while
a very powerful library, has become a quite messy one which is becoming
increasingly difficult to manage. Bottom line: There is a lot of cleanup
to be done. Cleanup that is hard to do since the library is so big and
gets pulled in many different directions.

Collaboration
-------------

First a bit of background on the situation. As many of us know the folks
at GeoMatys have started a project code named "GeoTidy". GeoTidy is
essentially a fork of the geotools referencing and metadata modules. The
reason for the new project is to give Martin an ability to do a lot of
clean up in those modules which he has been wanting to do for quite some
time, without being hampered by the rest of what is going on in
Geotools. Furthermore is the need for Geomatys to work against Java 6.

At the moment Martin has stated that he will no longer be actively
maintaining referencing in Geotools 2 past the following:

* minor bug fixes which are easy to apply
* changes which keep referencing aligned with Geoapi

End background.

Discussion revolved mainly around coming up with a process to move
forward which would account for all the following:

  * Prevent a Geotools fork and keep us working together

  * Give Martin the freedom to maintain Geotools referencing as he sees fit

  * Continue to allow projects which depend on geotools such as udig and
geoserver to benefit from Martin's work

We discussed tools (such as Mercurial and distributed version control)
which could be of help in implementing such a process. While this is by
no means set in stone, here is a process we came up with that we thought
would accomplish all of our goals:

* Martin continues to maintain GeoTidy as a separate project, what the
final name of the project will be remains to be seen. And how that
project will relate to "Geotools 3" (see next section) is up to the
community.

* A second mercurial repository for GeoTidy is set up and operated by
Geotools. This second repository will pull changes from the geomatys
repository. Any changes which are "incompatible" to GeoTools will not be
pulled down. Such changes include Java 6 specific language features, and
any 3rd party dependencies which are problematic for other modules in 
geotools (for example jaxb).

Martin has agreed to do his best to separate commits so that the above 
changes are easily reverted. Note that Mercurial and distributed version 
control makes this easier than with conventional svn or cvs.

* Geotools depends on referencing through maven, and referencing is
built separately from the rest of the geotools library.


GeoTools 3
----------

We talked a bit about what might make sense for Geotools 3. Now this
undoubtedly deserves its own thread but i will just summarize what we
hit on.

We thought that turning Geotools 3 into an "umbrella" for multiple
projects might be a good way to proceed. For instance, geotidy or
referencing would be its own separate project and maintained solely by
Martin. Projects in the umbrella are built and versioned/released
separately with dependencies managed of course through maven.

The key point to make is allowing different parts of the library to move 
at different speeds by making them actually different libraries. 
Actually on a personal note this is a direction i have been wanting to 
see GeoTools move in for quite some time.


Moving Forward with Geotools 2
------------------------------

Since referencing in Geotools 2 will not longer be fully maintained it
leaves us with the question of what to do for the remainder of GeoTools 
2.x. We discussed a number of potential options:

  * Jump straight to the process described above and make referencing a
separate project which the rest of geotools depends on through maven

  * Attempt to patch referencing in geotools with changes from geotidy
for the remainder of geotools 2.x.

  * Do nothing with referencing and leave it unmaintained for the
remainder of geotools 2.x.


Finally we agreed that we could not, in one session and with only part
of the community present, resolve all the issues before us. We would
like to get a better handle on the work that needs doing (Jody's
"technical debt"). We need to figure out a structure through which to
isolate the parts of the library which need to move at different speeds
or in different directions. Finally, we need explore various work flows
and the impacts of distributed versioning systems to those work flows.

This email is the beginning of bring our discussion out into the full
geotools community so we can resolve some of these issues.

-Justin

-- 
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to