Friday, January 22, 2010

No More End Users: OSS Enables New Ways of Cooperating

Today's columnist is Carlo Daffara from Conecta. He writes:

One of the most fascinating thing about open source is that it allows the collaboration between entities that are in many ways anomalous. One of my favorite examples of this are the Sakai and Kuali consortia, created by large universities dissatisfied by their proprietary software systems. They found it more economical to pull their efforts together and create something new instead rather than simply continuing to pay for something that delivered less than expected. The process ended up creating something of value to themselves and to other universities and groups; it also provided the basis for a profitable business for those companies selling consulting services.

There are many other examples:

* some French municipalities joined forces and created software for managing cemeteries

* an Italian consortium between municipalities adapted a document management system to make it compliant with local laws, creating a large scale project that is currently being adopted in several other cities

* a Spanish region created a large scale geographic information system

The fundamental aspect is that this is unexpected in an area where users are not expected to contribute anything (apart from money). Most of the modern software industry is based on the rigid distinction between the developers (that create something) and the users (that consume something) with the only communication channel between them transferring things like requirements or modification requests.

A change in attitude is important because it creates economic alternatives to areas where the market is not capable of producing a suitable alternative. Despite this necessity, it is far from the norm, even when it would make sense. The main reason is that companies and administrations that are willing to spearhead such an effort are left on their own; there is no manual or knowledge base that will help in this. Most public initiatives are limited to the creation and proliferation of software forges, where most efforts are quickly forgotten.

I would like to give a few suggestions to anyone interested in starting these “anomalous” cooperations:

Clearly state what you are planning to do, and what is the target audience. A fancy website is not actually necessary, but a good description of the aim of the project is a fundamental prerequisite for finding interested parties. The target audience is also important: it is a developer tool? an end-user system? Who will use it? Clearly framing this will help the reader decide if it may be useful for them.

Be clear on what contributions may be useful. Not all contributions are in the form of code. Even knowing that the project is used by others may be useful; for example, when asking for public funding to advance development. Some projects have a showcase page that provides an indication of who uses it and in what kind of environment. Documentation is another common form of contribution; translations and localization may be useful to go outside of a single country's borders.

Don't over-complicate things: it is not (always) necessary to have a formal structure. An umbrella consortia that can provide a formal structure for a project, but the time and effort necessary may be too much for a small or beginning project. Leave it under the legal structure of a single partner, with clear contributory agreements to make sure that all the code is publishable. Most administrations can easily agree on a 1 or 2 page agreement, if it provides peace of mind.

Remember that projects are made of people; give people an opportunity to communicate. A project should always have a communication channel with the rest of the world – without communication, the probability of receiving something from the outside is greatly reduced. A mailing list and a blog site are sufficient - there is no need for a formal social media campaign. The important thing is to keep things updated and to answer questions within a reasonable amount of time.

The cooperation aspect of open source is the real game changer in the modern world of software. The fact that users are able to share their efforts, create new projects, and cooperate is what makes the difference between a software with code available to the user and a real open source project. The cooperation is not without costs – sharing, managing connections and contributions requires effort – but it can provide a good solution to something that has no solution at all in the traditional marketplace.

No comments: