Monday, May 4, 2009

Platforms, people, platforms! OpenWiser


I had a conversation years back with the WiserEarth people since it pains me to see history keep repeating itself.

Recently there was an effort to fund open APIs for the WiserPlatform which had me take another look at the software ecology behind the mission. And in that look I found a priceless quote:
Paul's vision for WiserEarth always, always included it being open-source - there was never any back-and-forth on this matter, which is why we've always been so openly confident and deadfast in stating that WiserEarth is an open source project. 
This is why folks in the sector need to find themselves some qualified technologists. Lets recap some of the highlights of executing this vision:
  1. They roll their own platform because they don't want to build on existing platforms like Drupal or CiviCRM or a million other platforms I'm not personally associated with.
  2. They don't make their code available to anyone (later remedied).
  3. They don't build a data standard or API for www.wiserearth.org
  4. They have to hire someone to "clean up" their code for the open source release.
  5. When they release their code, significant amounts of functionality from wiserearth.org are not available.
  6. They can't afford to build any APIs and have to crowdsource money to raise the money for it. 
  7. Near as I can see from their developer community, no one except the folks that paid to open source their code uses their platform.
First, these guys are deserving, they run a really compelling community and they have a bunch of great ideas. But their technology execution is horribly misaligned with their mission and vision.

If Paul's vision was always to open source the platform, he either meant it in "marketing-speak"or didn't really know what he meant by "open source" - he was just using the word. This is all to common among executives and progressives with good intentions, but that doesn't make it OK. Just calling something an open source project has absolutely NO mission impact other than providing a "marketing lie" that makes people feel better about signing up at your website.

So if you want to do a social change technology project and have it be "open source," please bring in the technology strategist that knows what that means and the coders with the experience to do it correctly -- just hiring any old development firm tends to put you square in the "marketing lie" category.

Another Painful Aside

No APIs?! Talk about not having a technological clue. I suppose the logic was "wikipedia doesn't have APIs, why would we need them" (even though by 2006, MediaWiki had APIs).

This is yet another area where you need a good technologist. As an illustration: 

Back in 2005, when we had to put together a "database in the sky" (which is an apt description for so many social change web projects) for a database of every missing person on the web in the aftermath of Hurricane Katrina  the FIRST thing we did was define a data format. The next thing we did was define an API. Then we built what we wanted to build.

Believe it or Not...

Having said all that, believe it or not, you should give a couple bucks to OpenWISER. I hope that someone will nock them upside the head and make them publish their data formats (or adopt existing ones) before they build code, but it would be a very good thing for the progressive movement to actually execute this one right.

3 comments:

Joe said...

according to http://www.wiserearth.org/article/6f1bd9f9c3d475cd9fd41354b327279a the site http://www.asknature.org/ is also running WiserPlatform.

Your point about them not 'getting' open source is right on -- another example is lower down in the WE about page, where it says "Open source standards . . .restrict users from selling it." I know OS licenses can get a little complicated, but that's a pretty basic misunderstanding.

On the plus side, since the platform is built on symfony, it shouldn't actually be too hard to generate some servicable APIs. It would be interesting to see what they plan on doing for $10k -- that's way more programmer hours than would be needed to implement basic access.

Angus Parker said...

Dear David:

Thank you for taking the time to lay out your concerns about the WiserEarth API and the process we have taken to get here. I'll try and respond to your comments one by one and give you some of the background as to how we got where we did:

You said: "1. They roll their own platform because they don't want to build on existing platforms like Drupal or CiviCRM or a million other platforms I'm not personally associated with."

Although I wasn't involved in this early phase of the project, I do know that the initial site was set-up using a simple off the shelf wiki. The problem with the wiki was that it would not allow for the hyper-relations / linking to the WiserEarth taxonomy (Areas of Focus) and neither would any other platform at the time, so the decision was made to roll our own.

You said: "2. They don't make their code available to anyone (later remedied)."

The code is available on SourceForge although it is for an earlier version. The code was cleaned up and made 'generic' enough for release as part of a partnership with the Biomimicry Insitute. This resulted in www.asknature.org which is built from the core WiserPlatform. Given the cost to support an open source developer community, the low level of interest in the WiserPlatform, and our scare programming resources, we have decided not to actively promote the WiserPlatform at this point.

You said: "3. They don't build a data standard or API for www.wiserearth.org."

It has always been our intention to have an API for WiserEarth so that the community's contributions (i.e. data) could be more broadly shared. However, given the relatively old version of Symphony that we were using this was not a simple thing to do and there were competing demands from the community for scarce programming capacity.

You said: "4. They have to hire someone to "clean up" their code for the open source release."

That is correct. The code did need to be cleaned up for general release to make it easier for other developers to understand and adapt and to make sure that we were not leaving WiserEarth open to attack or sharing of confidential data.

You said: "5. When they release their code, significant amounts of functionality from wiserearth.org are not available."

I don't believe that was the case. We provided the functionality that was available on the platform at the time. Since that point significant functionality has been developed.

You said: "6. They can't afford to build any APIs and have to crowdsource money to raise the money for it."

This is a strength in my opinion. When people have raised money for the API and marketed it broadly they have an incrased sense of ownership. I believe we will have better adoption as a result.

You said: "7. Near as I can see from their developer community, no one except the folks that paid to open source their code uses their platform."

Besides www.asknature.org, another community at http://wiserbainbridge.org is using the WiserPlatform and we have had expressions of interest from the UN amongst others. But you are correct in you basic assumption that there has been little uptake in the use of the WiserPlatform.

We are excited about the possibilities offered by the WiserEarth API precisely because it gives developers the freedom to access the communty's data outside of the WiserEarth user interface. I would encourage you to join us at http://www.wiserearth.org/group/API to learn more about the API and perhaps even help us out!

Best, Angus (Parker)
Program Director, WiserEarth

David Geilhufe said...

Thanks for the response Angus. This stuff is hard and even when you do everything right, you still might not succeed.

What is particularly difficult is that if your mission is *not* to build an open source community, then whatever your mission is usually gets in the way of building a healthy open source community.