[Incubator] New Application: GeoToolkit
Howard Butler
hobu.inc at gmail.com
Sun May 24 12:49:35 EDT 2009
On May 24, 2009, at 7:15 AM, Adrian Custer wrote:
> When I speak of returning to the old governance model of GeoTools, I
> am seeking to return to a similar way of working. There was a time
> when voting was very rare in the Geotools community. It became
> popular initially as a shortcut during IRC meetings towards polling
> for consensus where participants, instead of offering opinions,
> simply typed "+x".
MapServer, who's governance model [1] is copied across a lot of OSGeo,
provides for short circuiting the tyranny of the majority by allowing
people to veto. A veto has consequences, however, and the person
vetoing makes themselves responsible for coming up with a viable
alternative to the proposal. This prevents folks from merely saying
"I don't like it" and forces them to say "I don't like it and I think
this is better." If I recall correctly, there have been *no* vetos in
MapServer to date. I think this is because proposers understand who
they need to placate when they are proposing implementations or
solutions.
> Jody eventually formalized this way of working in his 'proposal'
> process as the approach that would be required for any changes to
> the main module and to core API, and this proposal process then came
> to control all changes to the library.
My experience with MapServer and GDAL is that they tend to only write
proposals for areas that look like they will impact lots of people.
The idea is if you are wondering whether or not you need to write a
proposal, you probably do. In the same way that writing a question to
an email list can crystalize your knowledge of a problem, writing a
proposal can have the same effect. In fact, I have written a few
proposals for MapServer that were quite simple or even irrelevant
after I went through the effort of writing it. I think the proposal
process is too heavily relied upon as primary documentation for
MapServer, but this is better than before when there wasn't even that.
GDAL also requires proposals for changes to core APIs, but I think
GDAL's culture is quite different than GeoTool's. There is
practically no refactoring in GDAL, because we think the churn it
creates for users is quite high and it sheds them. While I find this
terribly infuriating sometimes, from a practical standpoint it means
there is very little subtraction from the public API, and developers
must live with some of the impudent aspects of the externals and
internals of GDAL. This policy has served the project well even
though it can cause plenty of developer heartburn.
> At the same time, I found myself formally excluded from consultation
> since I have never been on the PMC and therefore do not have any
> standing on that decision making process.
"I am forking this project unless I can be on the PMC and have some
control over my destiny" would have probably been sufficient to cause
the PMC to act, especially if they thought you had the wherewithal to
follow through and make it stick ;)
> There even arose during this period a closed, hidden mailing list of
> the PMC which is one of the most insidiuous steps a governing body
> can ever take.
I agree that private PMC lists (at least ones that have discussions
about anything significant) can be rather poisonous to project harmony.
> I believe, on the basis of intuition alone, that the systems of
> distributed version control (DVCS) have fundamentally altered the
> world of software development and provide an enourmous democratizing
> potential for project governance.
I do not believe that DVCS is incompatible with OSGeo-style project
governance. As a SAC member, I have been investigating the DVCS
technologies, because I think it is inevitable that we will have to
support one. I would like one that integrates with Trac first and
foremost because I think Trac has been a productivity boon to all of
the OSGeo projects. One that integrates with Subversion would be nice
but not a blocker.
DVCS can widen the source code availability, usage, and convenience,
but I disagree that it does much for project governance. The
"project" is a construct that sits atop the source code. I think the
really important issues that a PMC helps to clarify, like when/how to
release, still happen regardless of the version control.
> PS The name Geotoolkit actually seems to me to better reflect the
> nature of the project than GeoTools ever did.
My opinion is to outsiders, especially uninformed users, this is
unnecessary ambiguity. A name need not describe what something does
(MapServer, I stare in your general direction :), but it needs to be
distinctive enough to discriminate -- *especially* within the context
of a fork. Otherwise, it will be hard to allow the two projects to
diverge from a technical standpoint, right?
[1] http://mapserver.org/development/rfc/ms-rfc-23.html
More information about the Incubator
mailing list