In order to become the foundation of participation that I envision, the tools to properly support it need to be in place. The foundation has received a generous software grant from autodesk of an ‘enterprise’ piece of software built by collabnet. But frankly I have been shocked at how bad it is, considering its open source roots and that its purpose is to encourage communities of collaboration. Ok, it’s not that bad, but it does feel like a step backwards in many ways. I don’t want to write all about it here so this does not turn in to a post just ripping in to the details. Though if it annoys me enough I’ll probably shoot one off in a fit of rage (I came close a couple times, like when I realized their email search returns results completely unsorted? Or when we found out that reply-to all behavior wasn’t only list by default, but that was the only option.)
((rant preview, started in the past))
It’s like collabnet forked apache, and made it more rigid so they could sell it to corporations who wanted more control. While missing out with every advance the web has made since then. It’s way too developer focused. They’ve figured out how to cookie cut the infrastructure needed for an os project (though I’m not convinced it’s all that much better than source forge), and how to sell the tool that does it to management.
((end rant preview))
Though it seems like a friend just wrote about the post I would write, so if I ever feel the rage maybe I’ll just ask if I can repost it here, save myself some wasted energy.
But I do have a couple suggestions for the collabnet software. Much of what I want to talk about in this post may not be specifically relevant to software development, and thus if that’s all collabnet wants to do then some of these points are moot. But some of it is.
Get rid of the svn barrier to entry for web modification This is easily solved with a wiki, one of the single most important tools for any collaboration. I don’t even care if it’s not a wiki, if it’s just a wysiwyg html editor with versioning. But right now modifying anything on the website requires knowledge of subversion and html. This is fine if everyone’s a programmer, but any good open source ecology will have a number of non-programmers. You give them a wiki they can do amazing work. The barrier to entry must be lower for them. Wiki’s can be amazing for doing documentation, GeoServer and GeoTools have benefited hugely from such a switch. And many programmers don’t know html well enough to make nice pages.
Opt-in for creation of new lists Every new project started on collabnet instantly creates 6 new lists – announce, user, dev, issues, commits, and sometimes cvs. The problem is that most projects don’t need all of these, and too many lists just confuses. When a software project starts up you need a dev list. Soon you’ll probably need an issues list and a commits list. When you get users it makes sense to have a user list and announce list. But many of the projects on collabnet aren’t software. They’ll never use subversion or the tracker. The lists should be automatically created when the first commit is done, or when the first bug is logged. Any time before that it’s just clutter, so keep it off if it’s not actually being used.
Make a ‘news’ section, where adding new information is as easy as hitting a ‘add news’ button. This should be available as a feed. Indeed this could replace the ‘announce’ email list, or even better, combine the two – the list just puts the news items in to an email form.
Forum and email list integration One should be able to read an email list as a forum, or to use email through a forum. Nabble does this quite nicely, on GeoServer we get a couple emails a week through Nabble, and I’ve sent some myself to other lists. It’s super nice to not have to make the full commitment to subbing to a list, just to make sure you won’t be moderated for one post. A forum in many ways is just like an email list, except it’s on the web at all times. But I should be able to just ‘subscribe’ to a forum, and get updates from it, whenever they happen. I’m actually surprised that more people don’t offer this functionality, we’re going to do so with listen in our new OpenPlans software.
Ok, that’s it for the suggestions for improving collabnet, now let’s talk about the more fun software tools. Some of these don’t really exist yet, and I’m not sure it’s in the scope of the foundation to make them, but some could benefit us a lot.
The first one is a collaborative funding mechanism. This could be huge for open source projects, to spell out the benefits of diverse organizations pooling their resources, each putting in the next step to build something bigger than what they could alone. I’m hoping to put together a good presentation on how this can work for the Location Intelligence conference next month. But I could see some smart software playing a big role. The best example thus far is PledgeBank. Go ahead and explore it a bit, basically it allows you to make a pledge, usually monetary but not always, and if a certain number of people also sign up for it, then the money is released. But it’s only done if the goal is met, so that if you sign up, you see yourself as giving $5,000 instead of $10, since the pledge isn’t until 500 people give. At that level you can see the difference it’s making. There is a plan being kicked around for the foundation to allow companies to sponser open source, to ensure stability by paying for routine maintenance. Which I think is great, and that such a route may be the best model. But for new features, I can see a pledge bank type system working better. Paul Ramsey brokered a deal like this for GiST improvements to Postgresql. But it’d be great if someone could request a feature, get a developer to estimate the total cost, and say they’d pledge $500 towards it, but only if it got funded. This could then be further improved with dependency trees, where one could see how funding one improvement, say GML 3 support in GeoTools, could lead to others, like WFS 1.1 support in GeoServer.
The other pieces are more mundane, but still need some software modifications/improvements to support them. One that came up was task matching, a sort of ‘help wanted’ section, that could match up interested developers with new projects. Ideally this could link up with task trackers, so that they can make the bug assigned to them. Would be even better if they could get a ‘mentor’, who would walk them through the open source process. A variation on this theme is a section for students, who are looking for a thesis topic. They could be hooked up with projects that help open source, and that would be a size of work that would last about the time they have. This software could be a simple forum, but it’d be cool to set up.
A wiki for book material would also be very nice. The FreeGISBook never quite got off the ground, but it’d be a great thing to be in a format that lends itself to real printing, if it takes off. The editing should be wiki like, but also fit into a good formatting. I believe drupal may have a package that allows this.
Free hosted data in an example of an SDI stack is also another infrastructure thing to help out the foundation of participation. The stack would show off foundation software, a clear example of what is possible. And it would share as much open data as it could, through the interoperable web services. This could get expensive, but could partner with a university or something like the internet archive.
And past that the foundation could bring participation to the maintenance and creation of geospatial data. This is a subject for its own post, but basically have the foundation be a center of ‘geowiki’ activity, a place for people to create and maintain maps together, bringing the open source process beyond software, to geospatial information. There are three to four parts that I see as essential to really making an architecture of participation for geospatial data, but I think it’s possible. Indeed such ideas are the main reason I’ve started the blog, and it surprises me it’s taken this long to get to them. Hopefully I will have a chance to write them up soon.