How Open Source Can Still Save the World - Brian Behlendorf

Keynote address by Brian Behlendorf on 5 June 2009. Brian is a co-founder of the ASF, co-creator of CollabNet, and involved in the Mozilla Foundation, among others. He's now active in Washington, working to help the government understand OSS.

The most important part of open source is that you as a user have the right to modify it and pass those changes on to others. This is the huge distinguishing point between free software and free services (e.g. gmail, Google Docs). Let's put the consumers in control - and do away with the term "consumer" in favor of contributor, user, etc. Let's play a role as a community in the development of the software.

There's not a lot of infrastructure behind ASF, but there's a lot of people. There are people from Sun, and other companies, there are not enough girls, which is a problem. The group came together for pragmatic and idealistic reasons; having access to the web server made it easier to adapt to quickly changing protocols. Could add new things on the server side whenever we needed - we were skeptical of the commercial servers being able to keep up with our needs for change. But no one wanted to be a f/t web server developer - were very concerned about the future of the web and wanted to keep it from looking like the desktop. Many were participants in http working group, were part of the standards process and wanted to see wide and consistent adoption - they saw corruption in the standards process and thought if they worked together on the code that implemented the http protocol and could make good code that anyone could use, then they would get conformance to the standard for free. There would be no reason for a corporation not to conform to the standard, and in that regard we were successful.

There's a role for technologists to play in preserving our freedoms.

There's a role for us to play beyond just writing code - need skills in communication, to create the greatest common project. Karl Fogel's canonical textbook on how to be a FLOSS developer, it's a very human skillset outlined in there and it's as fundamental to understanding how to work in software development as writing compilers. If FLOSS communities are successful, they generate a lot of work, so how you manage and coordinate that is a big challenge. The other part of the challenge is how do you build this in a way that allows maximum participation on an emotional level. In SVN, tried to create a project that allowed broad participation - and it was very successful. The best projects are those with a diversity of interests and a diversity of players, but they are still able to come together and get something done.

Slide image - when you program open source, you're programming communism - a reminder from your friends at Microsoft; followed by the Empire of Microsoft - layout of the software wars. Reality is that OSS has existed in a milieu of competitive organizations going after the same technological resources. Hopefully we can compete on the points that do matter - 10 years ago, the Unix marketplace was 10-12 major Unix brands that weren't interoperable.

As OSS competition becomes more compelling, commercial vendors moved on in some areas; now it's probably easier to build some of the systems to open source standards rather than abstract APIs. Are there challenges that exist out there - social challenges - that are really problems not being met by the industrial world in an efficient and effective way? Can we take a given technology sector (higher level than OS) but software used to run schools and hospitals, track environmental data, where the vendors are not providing high quality software, and we can effect a phase change in that sector from an ineffective walled garden environment to something that looks more like the Drupal consultancy community?

Hundreds of small companies providing consulting services around Drupal, you can hire and tap into; you can hire one and it goes south for some reason, you can go to any one of the others listed in the directory (listed because they have contributed to the code). Drupal has an ecosystem that is a thriving, vibrant and very decentralized space. Services are at the core, not the periphery.

So if we were to transport this to another community - disaster management software - I know, sounds exciting. But previously there were no systems for this, or those that had been created looked like ERP systems to figure out how to distribute 10K pounds of rice or blankets. It looked like enterprise software that wasn't really useful for this purpose. After the Sri Lankan tsunami, developers realized that there wasn't a good system for this, no communications infrastructure or hierarchy, so a group of developers - when the government realized they had no tech infrastructure to handle the volume of donations and distribute them effectively, Sanjiva (sp?) pulled together a group of developers and put together a database system, to track people who were missing and people who had showed up. So within two days, they built a very simple mysql php systems with front-ends that could run on cell phones, set this up and within a week had an application to help manage relief camps, their needs, and the provisions that were being delivered. What emerged from all this activity was a collection of ERP software for managing disaster relief, dubbed SAHANA, which is a reusable system that has been repackaged and deployed in 20 cities (including NYC) in anticipation of need. It has been used in disasters already, there is now a business model supporting this, and the community is now sustainable. This is a platform for tackling different parts of disaster relief, and didn't require a big company to build it.

A similar project - Mifos - to support microfinancing, which can drive a lot of economic development through very safe loans. Over the last 10 years, a lot of groups have gone out to set up the companies to do this, mostly nonprofits - who really don't have a budget for IT. They got their start tracking funds with paper ledgers or Excel spreadsheets. When it's a couple hundred borrowers, that scales, but being able to manage it at a larger scale gets complicated. Now that microfinance is proven to work, how do we grow it and scale it so that it continues to work right? Mifos is a project of the Grameen Foundation, the nonprofit arm that tries to scale and professionalize microfinancing. Mifos is FLOSS for running a microfinance bank, supporting a variety of user needs. It's not terribly sophisticated and can't do savings accounts yet, but Grameen funded 4 people plus a project lead for a year, but this is now running several banks in Subsaharan Africa, Latin America, and there are service models emerging, like individuals providing it as a service to banks so that the banks don't have to run it. They are probably 3 - 5 years from self-sufficiency. This was a context underserved by the commercial software community, but now a decentralized effort is allowing the need to be met.

In K-12 education, the big challenge is software to track attendance, grades, room assignments, etc. There's a class of systems called school information systems for this, and schools have never had much money to spend on IT. There are now companies that sell 6-7 figure software to large school districts that can afford to spend the money on IT, but there's a need in the smaller communities that can't afford that. You need this to do things like allow teachers to post assignments online, or establish online social networks for discussing how to improve the way the school works. Nonprofit called Shuttleworks foundation that has created SchoolTool, which just hit 1.0, that's for managing these administrative things and is easy to install and run. The goal is to be something that is drop-in and simple, allows schools to engage local IT resources to improve their systems. Schools are a natural place to drive volunteerism, if the school is running FLOSS, the ability for a local person with tech skills to volunteer and help is suddenly much greater than with commercial software. This software is changing the way things work.

Scratch is an online software that allows kids to learn programming and supports collaboration. It's put together by MIT and it's open source; they have had significant contributions from unlikely places. It also teaches kids how to collaborate and why open source is important.

To talk about health care, in the US, the costs of health care are spiraling out of control. In the States, we are worried about the unsupportable rising cost of health care bills, especially in the later years in life. Health care records are a part of this problem, and we have had the legacy issue of allowing private entities to keep our medical records, which is problematic when you go to a new service provider. People are dying today because information is not flowing the way it needs to be, and it depends on the ability to ship health care records where they are needed. The US government is spending a tremendous amount of money to work on this problem. Evidence-based medicine is also related to this - needing to record how well certain treatments work. A lot of money spent on standards development and so on, but a lot of brokenness in this model; many vendors products work best with their own products and poorly with all others. So hospitals and doctors choosing to use certain systems are not able to share information the way that they should - but it should work like email, where it doesn't matter what your system is like, but it just works. There are a couple of emerging efforts to see if we can move beyond to writing shared code. OpenEHR is starting to move in this direction, and there's a new national Connect community portal to develop translation tools to allow better interoperability among softwares. This will allow things like a cool iPhone app to allow you to do your own health monitoring that would be integrated in your health records. If we don't do this right, we will get companies with economies of scale, who will end up owning the space.

Has been spending a fair bit of time in Washington trying to get people to understand this. is a federally published data sharing portal, which only has a few dozen data sources now, weather data and airplane flight data, bird strike data - but this is raw material. What it requires is groups out there forming open source initiatives to consume that data and create something interesting. doesn't do this yet, but there are organizations like that are working in this direction - trying to build software to help run municipalities and states. But there are constraints for governments, like accessibility requirements - such as Section 508. US government web sites are legally required to follow this. If you look at the default out-of-the-box installation of Drupal or WordPress, not all of them follow Section 508, so there's a role for developers to play an important here. Another area is recordkeeping - if the US government decides to collect public feedback like the OSTP blog, you have to keep this data - it is illegal to delete citizen feedback, but the software doesn't support legal compliance. There's a role for developers who want government to pick up good software, and a role for government to communicate that need. Government will always be a passive consumer of the technology, rather than an open source organization, because if the government picked Drupal over Plone there would be a lot of consternation. The ability to be agile in government is limited, for good reason, and the main leadership role is going to come from nonprofits.

One of these nonprofits is Benetech - they have a social mission and will fund the software to get there. One such technology is Miradi, a FLOSS project to run citizen science, particularly water monitoring, which allows citizens to adopt a river and monitor its health. Another is a software to support human rights workers who are going into dangerous areas, and record the stories that people are nervous to tell because they could get disappeared, this is cryptosoftware that encrypts the data before it's saved, so if a laptop is taken from the human rights worker, the stories are still safe. Even the US government would have a hard time cracking it, so this allows safe data collection in hostile environments.


Andrew - Going back to the early part of the presentation, what are the implications now for the FLOSS ecosystem of the Sun and Oracle deal for the open source community?
Brian - I wouldn't worry about Oracle canceling mysql; wouldn't be surprised to see them release products for mysql. The main impact is that they will be more hard-nosed about the way the investments are made.

Yeliz - 5 years ago ran across a World Bank project to match volunteer skills to needs in developing countries through remote work. Any projects like that for education purposes?
Brian - Not that I've heard of, that's more like a skills discovery thing - like a Craigslist. Haven't seen anything that tries to do this. But the hard problem is that people's work is not fungible, one person's 5 hours is not the same as another's.

Olivier - Do you see open source hardware in the future?
Brian - Absolutely, big fan of Edwino (?) and there is movement in this direction from Sun's chips, a project with UAVs - drones, and the whole MAKE magazine phenomenon, which is encouraging people towards DIY hacking with their hands. It's become cool again to be able to make neat shiny things by yourself. I think we're a long way from the open source TV and BluRay player, but maybe not.

Some guy - Apache is one of the most studied projects by academics; has that changed anything in the project as a result of academics studying it?
Brian - Not any more so than we were already being transparent. If the perception ever was that Apache was a closed project, we would have withered away within a year or two, because people naturally move on after a year or two in a volunteer project like that. I think Apache does want to be that model project, so maybe we aren't good to study for that.

Greg - Do you see a world where there's all open source, or is there a role for closed source?
Brian - I think that an all open source world is unlikely and perhaps undesirable. Certain types of applications wouldn't get written for purely thermodynamic reasons if everything was open source. But for critical infrastructure, like road systems, that allow us to exercise our freedoms, that should be open and if there aren't existing incentives then the government needs to step in to support it. Part of this healthy ecosystem is that IBM can pick up and contribute to Apache, put a little windowdressing on top to solve a business problem, and sell it. I'm not an absolutist and don't see it as a moral problem.

Paul Adams - Issues of openness and freedom are inherently political. What's happening in the US is interesting because it's happening from the top - I work with PloneGov, which got a foothold in the French-speaking parts of Belgium by bringing the developers to them. So in the US you have this coming down from the top, we made it work in Belgium and France by working it the other way. I don't think the PloneGov model is sustainable for all projects, but we can't rely on this happening from the top. How long do you think it will take for things to start working the way the US government is doing it?
Brian - Actually the case for bottom-up is strongest at a local level. DMVs as an example - high cost to run the software; RI and HI figured out they had the same needs and started working together on meeting them. It's easier to make the case that states need the same things, and then get them to each pay a portion of the cost, play a clearinghouse role to make things work out, and then bring in more states. The US is now taking a role in spreading the message about transparency, openness and collaboration - it's not about open source yet, but it may well go that direction.

Tony - When you've talked about Grameen Bank and so on, the mobile phone plays a major role in these cases. But we're seeing a trend toward openness in mobile ICTs; what do you think about the direction of this?
Brian - Unfortunately open source mobile isn't the runaway success as it has been in other areas. Even though Nokia has dabbled in open source, the iPhone is sort of in this direction. I wish I could say that open source will be big in mobile, but instead I think it will be a subterranean thing through projects like Moblin and Android. Hopefully we'll get to the point where mobile is a sufficiently standardized technology that it will run like PCs and we can have and create the apps we want.


Andrea! Thanks for your time to take such detailed notes and post them here!