Second day of Nonprofit Technology Conference

The friday started with Esther Dyson’s breakfast talk about the importance of Internet for philanthropy and human interaction. After that we had the Online Publishing and Content Management with Open Source Software session chaired by Ryan Ozimek. Ryan and Usha Venkatachallam of Beaconfire opened the talk by introducing the audience to Open Source Content Management in general and then we had the SpeedGeeking introductions of the different CMSs present.

Usha's CMS presentation

What is the Matrix?

What surprised me was that Usha and Ryan recommended the OpenSourceCMS.com service as a definitive resource on Open Source Content Management. In reality that service showcases only a very narrow selection of CMS tools, all of which are low-end PHP and MySQL systems. The service also more or less feels like just an advertisement for OpenSourceHost, the company hosting some of those systems.

It should always be remembered that Open Source CMS is much more than just the lightweight tools like PostNuke and Drupal. A service like OpenSourceCMS.com misses all of the major systems like Zope, Midgard, Lenya and OpenCMS. When I refuted Usha’s point on OpenSourceCMS.com being a definitive resource we ended up in argument about what then would be the recommendable resource. Unfortunately the OSCOM CMS Matrix is in really bad shape, so only service we came up with is CMS Matrix. It would be good if OSCOM could rise up to provide a better comparison service.

The Midgard Points

The SpeedGeeking model meant giving a short 5 minute “elevator speech” presentation about the system to circling groups. As the time was short, we had to keep to the point. I decided to focus on the points that differentiate Midgard from the other systems, an approach familiar to my earlier blog posts. The main ones were:

  • Midgard uses PHP for scripting but provides its own Application Server that is provided as an Apache module
  • The application server enables us to do cool things like NTLM single sign-on with Windows networks
  • Midgard’s replication system enables offline usage in low-connectivity environments like Africa, and supports real staging/live setups with multiple servers
  • Besides PHP, Midgard also has native Java and Ruby support
  • The “Edit this page” model reduces overhead with publishing content
  • All modifications in Midgard are stored in RCS version control repository

I also introduced the group to the Exorcist concept of migrating content between different CMSs using the Java Content Repository standard.

Open Source Project Management

The CMS discussion continued over lunch, and I was invited to speak in the How to make a successful open source project panel in place of Karl Fogel of Subversion fame who had had to cancel.

People in the panel

The challenges of building an Open Source community include:

  • Keeping the project goal clear
  • Providing support and documentation
  • Making the software installable
  • Predictability, providing a believable roadmap and release schedule
  • Ensuring that the application or component is attractive to developers

The question of roles is also important. In a balanced project there would be not only developers, but also project managers and usability experts. However, that rarely happens in a for-free Open Source projects. Developers ready to work on pro bono basis usually want to be free from the constraints of typical commercial development projects. The easiest way to ensure the availability of also non-coding resources in an Open Source project is to pay for them. The OpenUsability project tries to bring usability expertise into Open Source projects, but its impact will remain to be seen.

All Open Source projects need a selection of tools. There should at least be a bug tracker, version control system and a mailing list. Wikis can be very useful for developer conversations and user documentation. In several projects Planet-aggregated weblogs and instant messaging are beginning to override mailing list as the communication medium. Project management tools like BaseCamp could also be useful.

To get the project really rolling:

  • Invest into making a working version 1.0, then recruit volunteers
  • Get people who know the community the project is for
  • Built usability into the development process
  • Enable users and beta testers to get feedback directly to the developers

The question of documentation and “final polish” has traditionally been difficult for Open Source projects. One way to make things easier is to get the consultancies and value added resellers utilizing the projects to contribute good-quality documentation. Extreme usability sprinting can also help.

Wrapping up NTC

NTC was a nice event. Much bigger and more commercial than the typical Open Source conferences, it still had lots of interesting people and conversations to offer. However, the scope of the event being everything related to technology in NGOs, the discussions fragmented quite easily.

I’ve only moblogged the event, but for better pictures, there is the nten05 Flickr tag.

Tomorrow would be the Chicago Penguin Day. However, my flight is leaving quite early, so I probably will rather do some sightseeing instead. The historic skyscrapers of the center are really begging to be photographed…


Read more Midgard posts.