Wednesday, January 11, 2006

sustainablog: Building an Open-Source Community for Appropriate Technology

The "Open Source" meme is making widespread change in the computer industry. Nobody can doubt that, and the change is moving step-by-step through the whole of the computer industry. It means a change from the former normal business practice of having proprietary advantage over your competitors, and using secrecy to preserve that advantage. But I think society as a whole loses from the secrecy, because what's allowed science and technology to flourish is for each succeeding generation to stand on the shoulders of science. But in the computer industry the secrecy actively prevented succeeding generations to stand on the shoulders of giants.

Building an Open-Source Community for Appropriate Technology: is an article discussing the possibility of using the open source model in the development of "appropriate technology". Open Source concepts are obviously new to Jeff.

"Appropriate technology" generally, as I understand it, is in opposition in many ways to business-as-usual. Business-as-usual depends on consumption, the more the better, as high levels of consumption mean higher sales which mean higher revenues.

Since appropriate technology generally doesn't fit normal business practices, it's probably a good fit for open source development models.

My take on open source models, from having used open source software over the last 25 years, is that the owner of a product is the one who gets to determine the licensing under which it's distributed. By licensing, I mean the ability to take the product design and make your own. For example only the Ford Motor Company is able to make a Ford car, because it is Ford that owns the design and doesn't tell anybody else the design except under license agreements in the cases where they outsource parts construction.

It is the goals of the owner/developer of a product which determines the sort of license they use.

In the open source software world, the people generally have a goal of sharing and openness. In contrast the closed source software companies have a goal of control, and making the most money they can.

Jeff mentions some difficulty with learning to use open source software. This is an interesting byproduct of the OSS process. The quality of an OSS application depends on the contributions by the community that builds around that application.

In some cases the community cares a lot about usability and documentation. But often the community around a project is made of software developers, and software developers are notorious for not quite grokking real usability issues. For example, an error message that makes sense to a developer is often completely foreign to the typical end user.

I think this partly stems from the "we're building this ourselves" nature of the open source process.

This may be a resulting attribute of any appropriate technology developed under an open source model. In fact I came across an example the other day.

Maria 'Mark' Alovert and others are developing designs and documentation for producing biodiesel. The web sites are biodieselcommunity.org and localb100.com. There's a lot of great information there, but it's a little haphazardly organized, and certainly not a finished and polished product you can just buy and begin using. Instead they have a bunch of pieces, parts, documentation, etc, and expect the end user to do a lot of learning and assembly.

What would tend to happen is some people are willing to roll up their sleeves and dig into the problem. It's those people who are most motivated by the problem set, and it really does, I think, contribute to the overall increase in knowledge among society as a whole.

For example I can offer an analogy from operating system design. If the only computer operating systems one could get were closed source, then almost nobody would understand the fine art of operating system design. But because of Linux, FreeBSD, Darwin, and other operating system projects, there are a large number of people who have spent a lot of time studying, analyzing, modifying, tweaking and improving operating system design. The result is, I think, very good in demystifying and opening up computer system design.