Russian Open Source Forum was a gathering of local software companies, Open Source developers and government IT people that brought together about 1500 participants. The event’s celebrities were Jon “Maddog” Hall from Linux International and Larry Wall, the Perl creator.
Prior to the event I took a walk. from the Moscow white house to the Kremlin and the “chinatown” neighborhood. The whole center of the city was preparing for the Victory Day celebrations with posters and flags everywhere.
The first day of the event introduced the exhibition hall set up in Radisson Moscow to the speakers, and there was an evening gala in a floating restaurant on the river.
Ideas for Midgard’s future
After the gala winded down we went to a nearby cafe with Alexander Bokovoy, the Belorussian Midgard developer now working for IBM’s Linux Competence Center. Alexander was very happy to hear about the new Midgard 2 developments, and maybe a bit smug about the stuff he proposed three years ago finally becoming a reality.
The recent advances in Midgard got us talking about the long-term vision, and obviously Alexander had a bunch of ideas:
Alexander’s view of computing includes most processing moving to be grid-handled web services. The Open Source infrastructure for building grid-able services already exists in the form of the Globus toolkit. Globus enables web services to be built in C or Java, and supports things like Kerberos authentication between the grid scheduler and the service providers.
Another idea was to enable Midgard to use the new Git version control system as a distributed storage system. Currently Git is available only as a set of command-line tools but once the format stabilizes, a libgit could make this kind of work easy. Git repositories would know from which system each modification was coming from, and make Notes-like multi-direction replication possible. LWN has more information about Git.
We also talked about the problems of making Midgard bindings into different languages due to the inability to remove classes that have been declared once during runtime, and messy C APIs. Alexander had the idea of implementing the Midgard 2 API natively only for PHP and Java, and handling other languages through Web Services passed either remotely or via D-BUS. There are already D-BUS bindings to both Python and .Net (Mono), which would make creating Midgard bindings for them relatively easy.
Free Software and economy
Maddog’s keynote dealt with how local economies benefit from Open Source. The basic nature of Free Software is that it enables local service companies and software developers to easily create IT solutions without expensive licensing costs. Currently Brazil funnels a billion dollars every year out of their economy in software license fees. With Open Source, this money could be kept in the local circulation, and the solutions could be created by the local experts.
Free software also enables software users to localize the software for their own language, character set and cultural environment. In the proprietary world, American companies have very little incentive to translate their tools to Icelandic or some of the hundreds of Indian languages, but with Open Source this is happening constantly.
Open Source also means better security and longevity of solutions. Companies go out of business and change their product lines, but Free Software stays in running order as long as somebody still has interest in it.
Other interesting talks included Michael Sparks’ talk about how BBC Research & Development is developing Open Source video and audio streaming tools like the Dirac video codec. They have archive of hundreds of thousands of hours of footage, and moving that to a digital format and making publicly available might provide a really interesting service. Their Kamaelia tools are currently built in Python using the Unix toolkit methodology where different pieces of the system can be changed easily.
Rob Page was presenting the product strategies of the Zope Corporation. His presentation used the old Gartner OS CMS report as a source on market positioning, and mentioned that in the last year the number of Zope deployments have doubled to about 58k, probably due to Plone. Zope Corp itself is not an Open Source company. Instead, their products are distributed following a visible source model where end customers get the source code but are not allowed to redistribute it. Most of Zope Corp’s revenue is generated through hosting (40%) and product licenses (30%).
The professional services of Zope Corporation are fairly similar to the ones Nemein provides for the Midgard platform: Support with possibility of Service Level Agreement, feature development including projects split between multiple clients, localized documentation, and so on.
Larry Wall’s very funny talk, Building Open Source Communities dealt with building a thriving ecosystem for a Free Software project. Building a successful community is much more difficult than making a successful engineering product, and few developers are really familiar how the communities really work.
One major question is about the personalities involved, who will be interested in the project, who will be excluded, etc? The what questions included the goal of the community, and what the contributors will get out of it. In the where space, the questions deal on locations and services needed for running the community. When is a question of project maturity, and of when to allow community to form. Also, when the different project services should be opened, and when, if ever, the project should be terminated. Why is also relevant. Why should contributors join up, and also, why to release the project as Open Source.
The structure of the community should not be made too complex, or too designed before the actual community forms. People are all individuals, and as they succeed and fail, enter and leave, the community should be still able to function.
In general, communities succeed if they have a good habitat, plentiful food, they’re healthy, and practice plentiful cross-fertilization. Similarly, they die if one of these aspects fails. “A community needs to share a set of core values, but also allow honest differences of opinion on side issues.”