User: Password:
Subscribe / Log in / New account

Leading items

Puppets, chefs, and community competition

By Jonathan Corbet
March 10, 2009
There are many criticisms that one can make of the applications offered by the free software community, but lack of choice is generally not one of them. Our community thrives on competition while our licensing makes it hard to keep secrets from competitors. A recent episode in the Puppet community shows that, while this competition can sometimes take unwelcome forms, there is often little to do but to welcome it anyway.

Puppet is an automated configuration management system intended to make life easier for system administrators; it can be seen as a competitor to venerable tools like cfengine. Over time, Puppet has attracted an active community of users and developers; it would appear to be a tool which is growing in capability and popularity. Puppet is managed by Reductive Labs, which has a clear commercial interest in providing training and support services for Puppet users.

Recently (January, 2009), a project named Chef announced its existence. Chef's developers, who have previously worked with the Puppet code, set out to solve a similar problem. Chef is not a fork of Puppet, though; it's a new project developed from the beginning. Among other things, the Chef developers decided to use Ruby as the configuration language and they chose the Apache License (Puppet, instead, is distributed under the GPL). This project claims to be in active, production use, but its community, at this point, is clearly small. As of this writing, the chef-dev mailing list shows a total of four messages over its entire history.

Initially, the Puppet developers responded confidently to the Chef announcement:

Everything else in Chef seems pretty basic. They certainly have a smaller code base than Puppet does, but they're also brand new - Puppet didn't start this large, either, of course. To me, it's mostly a question of who has the best vision and who can execute. On those fronts, given my experiences (albeit tempered a bit these days by fatigue), I'm not afraid of competition.

More recently, though, Puppet developer Luke Kanies posted to the project's user list that Chef wasn't competing entirely fairly:

We've recently had some problems where one or two people are maintaining their presence in the Puppet community solely as a way to recruit people out of Puppet and into their community, at the expense of ours, and I think we need a straightforward community policy on this....

My take is that if your participation in our community is *solely* for purposes of shrinking it by drawing people into your community at the expense of ours, then you should be kicked from our community.

In particular, it is said that one developer from the Chef project has been sending private mail to Puppet users - especially those experiencing problems with Puppet - suggesting that they should switch to Chef. Luke, clearly, sees this activity as a threat to his livelihood; every Puppet user who deserts is one less potential customer. Even without that incentive, though; it can be hard to stand by and watch as others try to woo users away from your project. One need only think back to the days when "Ubuntu is better" posts were a semi-regular feature of the Fedora mailing lists to see how galling it can be.

In this case, a cooler perspective quickly won over and it became clear that there was little to be done. If nothing else, the objectionable messages were private email; there is little that the project could do to stop them even if it wanted to. Beyond that, though, certain things are inherent in the running of a free software project, including:

  • There will be competition, in some form or other. Somebody, somewhere, is sure to decide to scratch an itch, even if that itch is no more substantial than "I want to run my own project." This is both a strength and a weakness in our community. The ability for new and different ideas to develop into functioning projects is the source for much of the great software we now have, but it also leads to a certain amount of duplication of effort and confusion of users.

  • Some Puppet users expressed dissatisfaction that the Chef developers had clearly drawn a lot of inspiration and knowledge from the Puppet project. But, again, that's how our community works. Anybody who wants to hide the ideas that go into an application would be well advised to keep their software proprietary and closed. In the free software world we learn from each other - at least some of the time.

  • In a community which values freedom, attempts to silence or banish inconvenient characters will not get very far. When inappropriate or unethical behavior is seen (and spamming users of a competing project to urge them to switch is certainly pushing the boundary), shining light on that behavior is usually the best thing to do. In this case, the discussion made it clear that this email campaign did not inspire respect; it would not be surprising to learn that the pro-Chef emails have already stopped.

Andrew Shafer summed up the situation nicely:

Puppet is awesome, except when it isn't, and the best way to move things forward is to address those and get back to making more awesome. That's what we need to be worried about. Just more awesome, this is not a zero sum game.

Projects which are focused on "awesome" tend, over the long term, to be rather more successful than projects which worry about what others might be saying about them. They are also likely to be more successful than projects which put their effort into trying to poach another project's users. Puppet appears to have good code and an active and engaged user community. If it can stay focused on that code and that community, this project need not fear what its competitors are doing.

(Thanks to Friedrich Clausen for calling our attention to this discussion).

Comments (32 posted)

OpenStreetMap: the data behind the maps

March 6, 2009

This article was contributed by Tom Chance.

In my last article on OpenStreetMap I looked at the recent mass imports of public data — everything from British oil wells to the entire road network for the United States. But for those interested in more than an alternative to Google Maps, the ability to extract or add data to the project is what really makes OpenStreetMap shine. Whether you want to get an SVG of a campus map or import a local government's database of every building in the city, Linux users will find plenty of tools that cater to their needs.


The export tab on the web site provides the most simple way to access data. Users can draw an area on the main map view and then grab an image (in PNG, JPEG, PDF or PS formats); some HTML to embed the map into your web site; or the raw XML data. To further modify the data, either in the OpenStreetMap database or a local copy (stored as an XML .osm file on your disk) download the data using an editor like JOSM (the 'Java OpenStreetMap editor'). To make life easier when selecting the area to download, open up the preferences dialog and install the namefinder and slippy_map_chooser plugins.

Grabbing larger amounts of data would be difficult, slow and clumsy with these methods. More advanced users can get data directly through the API. Check the latitude and longitude coordinates for the area you want — an easy method for this is to use the export tab to draw an area, then note down the coordinates it records — then fire up wget or curl and download the data:


The main api only lets you grab 5,000 points per request; you have to page the request to get the additional data. To pull out a really large chunk of data, or to filter it (for example to just download all the pubs in the city) use the extended OSM API (XAPI, or 'zappy'). Access to really enormous amounts of data, such as the entire planet or a country, can be found in the frequently updated dumps listed on the Planet.osm wiki page.

Once you have the data there are all manner of uses - your GPS navigation device, rendering your own maps for the web or print, or converting the data into another standard GIS format with tools like the Ruby osmlib. The documentation for each tool various enormously, but the toolchains tend to be relatively straight forward.

Of course, extracting data is only half the story. Not only should all good open source citizens be contributing back, but you will get the most value from the data if you collaborate with others in developing a rich data set that will lead to tools and use cases you can later replicate.

OpenStreetMap abounds with methods and tools for entering data. You might like the "old school" method of tracing a breadcrumb GPS trail — much more fun in the early days when I mapped much of Reading with some friends from a completely blank slate. Many mappers have traced basic road layouts and buildings from aerial imagery donated from Yahoo! so that others can go in and identify street names and points of interest. The main editing tools are Potlatch, a flash interface on the main web site (just click on the 'Edit' tab once you're zoomed into your local area), and the previously-mentioned JOSM. The wiki has plenty of guidance.

When importing large sets of existing data, things get a little more complicated. The first step is to step back and have a good think. Imports can cause two kinds of headaches for other contributors if done wrong: you might put a load of new data over the top of somebody else's efforts and make a complete mess in the process; or worse, you might import data without proper permission, causing legal difficulties for the project and technical difficulties in taking the data back out again.

It's always best to begin by asking a few questions on the relevant mailing list; there are localized lists for many areas, a general (high traffic) "talk" list, and a "legal-talk" list for legal issues such as licensing for imports. It's especially important to avoid convenient interpretations of web site notices regarding copyright and database rights when deciding if you can import the data. You need to get written confirmation so that the OpenStreetMap project is immune from legal attacks. There are some nice general guidelines on the wiki, which are worth a read.

[Canvec data in JOSM]

If you have data with written permission to use it, you can begin the import process. The first, and most laborious, step is to map out the data against standard OSM tags, as in this UK public transport example or this really comprehensive exercise for CanVec data. You'll notice that oftentimes source-specific data (like unique IDs for features and really niche data) is retained in a namespace like "CanVec:FID" and "naptan:StopAreaCode". This can also be useful where you don't want the data to appear until volunteers have gone through checking it against existing data in the database, for example to merge two bus stops (one crowdsourced, the other from the import).

For large chunks of data, importers have tended to write custom scripts to then bring the data in. If the data is in the OpenStreetMap format, and it is in a state suitable to go straight into the database, this bulk import script makes the process quick and painless. The Canvec2osm code shows how to pull in more complicated data; this converts 11 different shape files into themed osm files with correct tagging, which can then be worked into a suitable state for importing.

A more cautious approach can be appropriate in areas with a lot of existing data. One quite technically challenging route is to set-up your own Web Map Service (WMS) using a tool like mapserver, and then set-up the JOSM WMS plugin to pull those maps in as a layer underneath your map data so it can be traced. This Map Warper tool is in beta and tries to make this process easier. If the data is quite simple you could just put the source and editor side-by-side on your screen and use your judgement to copy over points of interest.

However you want to proceed, you're probably best off getting in touch with some local or more experienced community members. Interested people could even just lobby local government officers and public institutions to get the data, then pass it along to somebody with more of an appetite for the technical stage. Given 6 months to study, process, and import the data, you should find richly detailed maps and underlying data available under a Creative Commons BY-SA license; the license, incidentally, may soon change to one more suitable for databases. Whatever you do, just remember to have fun.

Comments (35 posted)

Interview: Ciaran O'Riordan of End Software Patents

March 11, 2009

This article was contributed by Bruce Byfield

Software patents were rejected several years ago in the European Union (EU) and undermined last year by the Bilski case in the United States. Under these circumstances, what direction should anti-software patent activism take? Ciarán O'Riordan, the newly-appointed director of the End Software Patents (ESP) campaign, answers that now is the time to organize the arguments and legal documents used in the past so that they can be used to fight the next software patent battles around the world. This material might be useful not only in the EU and USA should the status of software patents change in either jurisdiction, but also in the rest of the world.

O'Riordan began his career as a software developer with a strong interest in free software. In fact, he has membership card #8 in the Free Software Foundation (FSF), which indicates that he was one of the first to take out membership when it was offered. Moving from Ireland to Brussels in 2003, he found night time work in a bar. Increasingly, however, he found his days being filled by lobbying members of the European parliament as the debate over whether to allow software patents in the EU intensified.

"It was very strange," O'Riordan recalls. "In Europe we had the habit of reading Slashdot, and reading about all the crazy patents in the USA, and we all had a good laugh. Then, very suddenly, we were faced with our own software patent problem."

At first, O'Riordan's lobbying was volunteer work, in which he was simply "looking for the most important thing to work on." However, several months before the European parliament rejected the idea of software patents, he was hired as a lobbyist by Free Software Foundation Europe (FSFE), a separate organization from the FSF.

After the vote in parliament, he continued to lobby for FSFE whenever an issue emerged. The work, he says, "was very interesting and very important, and I found it wasn't very difficult. There was a bit of a power vacuum in the European Parliament, because people in Europe are not very interested in European politics. So when I asked politicians if I could talk to them, they were very available. So I was able to talk to various politicians, and I was able to get deeply involved in the topic, despite not having a background in patents."

Recently, O'Riordan has been studying law at Facultés universitaires Saint-Louis in Brussels and taking a leave of absence from his FSFE work. But when offered the position at ESP by the FSF, the campaign's major sponsor, he jumped at it. "Since it's a legal topic and the FSF is a good institution, I decided to give it a try," he says.

Phase 2 of the ESP Campaign

As the new director, O'Riordan replaces Ben Klemens, who was hired in November 2007 when ESP was first organized, and quietly departed in spring 2008 after preparing an amicus curiae brief in the Bilski hearing. "When the Bilski case was over, there wasn't a similar case in sight, so I guess that at that point he decided to move on," O'Riordan says, although he has yet to talk to Klemens directly.

O'Riordan now refers to Klemens's time as director as "the first phase" of ESP. In discussing the directions in which he might take the campaign, O'Riordan concluded that "in the next phase it would be a good idea to document what happened in the EU before all the documents completely disappear, and then do the same for the Bilski case. The Bilski case did its job in terms of influencing the court's decision. but it can also do a second job of aiding people all around the world who are working on similar projects. It seemed that an obvious Phase 2 would be to move from the specific to the general, and try to turn the previous campaigns into a base for future campaigns."

O'Riordan argues that such cataloging is badly needed:

If I were a foreigner looking for the documents assembled in the EU, I know I'd have a very hard time finding them. Even though I was involved in [the anti-software patent fight] for many years, I have a hard time finding some of these documents — and some of these documents have completely disappeared.

We have great documents that were published by Germany's monopoly commission, and we have economic studies published by universities in The Netherlands that were approved by the government. We have a lot of documents that people don't seem to know about. And when you're looking at the anti-software patents websites around the world, how could people know what's on these sites? There's dozens of websites, and some of them have changed names, and some of them have broken links now. It really is scattered." Considering the situation, he concludes that the contributions that ESP could make by adding more arguments "isn't as great as the contributions that could be made by assembling the arguments and cataloging the work that's already been done.

Applying a global perspective

Admittedly, law can differ greatly between jurisdictions. All the same, O'Riordan suggests that ESP's new direction will be useful because most laws that concern software patents are based on international treaties. In Europe, for instance, most countries' patent laws are specific implementations of the European Patent Convention.

Similarly, given that patent law in most countries is often written ambiguously — it often pre-dates software — and is ill-equipped to deal with it, interpretation is essential. Most of the time, O'Riordan observes, interpretation is based on the question "'how do we harmonize with the rest of the world?'" — which, given the historical American dominance in trade, usually means "'how do we harmonize with the USA?'"

Even when laws and circumstances differ, O'Riordan adds, a global viewpoint can put matters into perspective. For example, the tendency of small and medium-sized American companies to support software patents — perhaps because they "are afraid of angering their mega-corporation business partners" — might be countered by pointing out that "small and medium enterprises aren't using software patents in Europe, Canada, or Australia. If we can build a picture from other countries, sometimes that can fill the gaps in the argument in one country like the USA."

In addition, O'Riordan hopes that ESP can provide a more accurate perspective. For instance, during the campaign in Europe, the fact that 77% of software patent applications in the EU were by American companies caused some observers to view the issue of software patents as a matter of American domination. However, if you take ESP's estimate on its home page that software patents cost the United States $11.2 billion, then you can establish that "it's not a case of one country taking over the world; it's a cost to everyone, and it's slowing down innovation. A lot of these arguments are actually improved by putting all the information together."

Looking ahead

To help with Phase 2, O'Riordan plans to extend the ESP's repository of information beyond the United States and Europe through a wiki that should be ready in the next few weeks.

"The first thing will be to find out what's happening already in people's countries," O'Riordan says. "For example, in the Philippines, does the patent office give out software patents? Well, I don't know. Who can I ask? So, in some cases, we're going to document what's not known, or at least what people or legal authorities or organizations we know in an area. We'll start with that and, when we have time to dig into each jurisdiction, we can start asking them questions."

As O'Riordan points out, there is no way of knowing beforehand what information might be found:

Because, you know, sometimes there are active campaigns in certain regions, and we don't even know what these campaigns are doing. I think maybe India is one of the best examples. In 2005, the government was ask to change the patent policy to create software patents, and rejected the idea. And this was widely publicized in the tech media for about a week, and then the topic went away again. So, In Europe, I'm left scratching my head and wondering, 'How did they do that?' There must be mailing lists and archives of information among the Indian free software community and the technology centers in India. We'll have to try to talk to the software companies and individuals there, and fine out some of the arguments they had. Maybe they'll be useful in the USA, or maybe in countries that have an economy similar to India's. At the moment, we just don't know.

Other content for the ESP site might include advice about how to conduct a campaign and lobby politicians. "There are certain ways to talk to politicians," O'Riordan says. "They like hearing about studies, and they like hearing about legislation, legal wordings, and comparisons between other countries. They like hearing about these things, but, if people start without having these resources, then sometimes they can get off on the wrong foot."

O'Riordan also points out that politicians are not just a source of support, but also of advice about how to conduct a campaign. For example, in his own lobbying, the Green Party's explanation of how the European legislature worked was as important as the eventual votes of its members.

O'Riordan does not rule out ESP's involvement in specific campaigns. Recently, for instance, O'Riordan and other activists distributed a one page letter about Microsoft's patent case against TomTom at the company's Innovation and Growth Day in Brussels. "This is just a small way to keep the topic alive and always remind everyone that there are people against software patents."

However, ESP's main focus for now will remain education and gathering of information. Although the issue of software patents is relatively quiet now, O'Riordan does not assume that it will remain so. "The European Commission [the EU executive] will change in November , and the European patent office is having a consultation about this topic, so there's a chance that the topic will come back on the table. There's also a small chance that the [American] Supreme Court will review the Bilski decision. So now is a good time to talk stock and to prepare for possible new campaigns."

Moving into Phase 2, O'Riordan counts on the support of the free software community. "The free software community tends to understand these issues very quickly, so it's very useful, because these people get active a lot easier than people who are new to the topics of freedom and software." At the same time, though, he stresses that ESP is not directly connected to the FSF, nor aimed only at free software users. The goal of ESP, O'Riordan says, is "to build a real coalition, to really convince the politicians that this is something that effects everyone — every computer user, and every business." And, for now, the best way to reach this goal, according to O'Riordan, is to prepare the ammunition for the next campaign.

Comments (8 posted)

Page editor: Jonathan Corbet
Next page: Security>>

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds