Java GIS Collaboration

Collaboration?
It seems there is a call for collaboration between Java-based GIS projects like Jump and GeoTools, or uDig and gvSig every once in a while. This is an attempt to move from talk to action, since we usually just nod and say "yeah, we should collaborate" and it ends there.

Java-based GIS Projects

 * GeoAPI
 * GeoTools
 * gvSig
 * JUMP / OpenJUMP
 * JTS
 * uDig / JGrass
 * Deegree

What components?

 * GeoAPI (OGC/ISO specifications)
 * GeoTools
 * JTS

Contacts
People from each team who are taking part in this discussion:

OpenJUMP - Landon Blake (sunburned.surveyor@gmail.com)

uDig / GeoTools / GeoAPI - Cory Horner (chorner at refractions.net)

Problems
Licensing
 * LGPL vs GPL: everyone can use the LGPL code; GPL code will get less reuse
 * Different Feature Models. This makes it difficult to share code. For example, I can't just plug-in a data source from the GeoTools library because it won't give me JUMP Feature objects. It gives me GeoTools Feature objects, which I can't use. :] We can work towards a common Feature implementation, but that is difficult in many cases because so much existing code has been written. In the case of OpenJUMP a lot of code is written and also published bia public interfaces to plug-in developers, which makes it much harder to refactor code. (If you want to change things you break a lot of plug-ins.) One solution may be to design, produce, and maintain code that converts between the different object features.)

Ideas

 * draw a picture (who is using what right now?)
 * have an IRC meeting and figure out where we can collaborate
 * a BOF at FOSS4G2007 ?

Opportunities for Collaboration

 * Systems built on JTS. (Spatial Relationship Constraints, Geometry Constraints, Topology)
 * GIS Components that don't depend directly on the existing feature models. (Annotation/Map Labels Model, Non-Spatial Features)