Taking a Principled Position on Software Freedom

Those of us in the free/libre and open source software (FLOSS) community know the routine by now. Despite the fact that "free software" and "open source" refer to the same software and the same communities, supporters of "free software" like the FSF would have us advocate for FLOSS by talking about users’ rights to use, modify, share, and cooperate; open source supporters like the Open Source Initiative would have us advocate for software by talking about how securing these rights produces software with "better quality, higher reliability, more flexibility [and] lower cost."

One reason I tend to stay away from "open source" claims in my own advocacy is that I’m worried by the way that these arguments rely on a set of often dubious empirical claims of superiority. Free software, on the other hand, can be seen as statement of principles. Regardless of whether we say "free software" or "open source," I’ve found that a focus on principled statements is both more robust against counter-arguments and does a better job of describing the motivations of most contributors.

Principles can be thought of like opinions. They may or not be compelling but are neither right or wrong outside of a particular ethical framework. Most people won’t demand evidence for someone’s commitment to nonviolence or an adherence to the Golden Rule. What would you need to prove? Principles are based on a type of Utopianism; they are a statement of how we think things should be.

On the other hand, open source’s argument that openness leads to better software or a better software development methodology can be measured, tested, and declared right or wrong. A FLOSS program might be better or more reliable than proprietary software. Or it might be worse. The open source methodology might be lower cost for a consumer or more profitable for a producer. Or it might not. There are plenty of FLOSS success stories. There are many more failures.

The problem for open source advocates is that while FLOSS is often better than proprietary software, this is not always the case. I was using FLOSS in the early 1990s when GNU/Linux was indisputably less featureful and buggier than its proprietary competitors. On the business side, we learned in the Dot Com boom and bust that, despite Eric Raymond’s assurances, building a successful FLOSS project turned out to be harder than a COPYING file and a tarball on a webserver: Netscape is essentially gone; VA — the single largest Dot Com IPO — is a shadow of its former self; LinuxCare became a proprietary software company.

If, as open source advocates would argue, the reason we’re here is to build software more efficiently or at greater profit, we must also advocate for proprietary development methodologies in areas where evidence seems to show that they are more effective. Where are these advocates? Where are the open source advocates applauding LinuxCare for saving themselves by abandoning FLOSS. Don Marti has observed that this doesn’t seem to be what is going on:

Do people really spend their weekends helping annoying new people install free software because it has a more efficient development methodology? Of course not. If it were only about efficiency, hobbyists would volunteer to replace the old ballasts in companies’ fluorescent lights.

Of course, Marti is right. The reason that hundreds of thousands have spent their time assisting FLOSS efforts has less to do with a passion for efficiency and more to do with a set of implicit principles.

Humans are driven to imagine worlds that they would want to live in. For a growing group of people, that’s a world where software can be used, shared, and collaborated without restrictions or discrimination. We may think of this in ethical terms, in terms of an attitude toward innovation, or as a set of political or economic positions. But we should realize that these are, ultimately, principled stands.

And if we are taking principled positions, it is in the long-term interests of both our cause and our credibility to frame our arguments and our advocacy in those terms. We can use empirical evidence to help bolster our arguments but we should be careful to not confuse these empirical claims with the principles themselves. They can, and sometimes will, be proven wrong.

By honestly highlighting our principles and not shying away from explicit Utopianism, we can return to questions of efficiency as means toward achieving our principled ends. Approached from this angle, we need not seek to explain why FLOSS is better than proprietary software — which it may or may not be at any given point in time and for any given project — and can instead ask how we can make it better.

Humans are creative, innovative problem solvers. We set goals and devise social structures and technologies to achieve them. The fact that we have created socio-technical means of creating better software through free ways in so many areas is a reflection of this ingenuity applied toward principles at the heart of FLOSS. We would be well served to remember that this is how FLOSS will win, not why.

Note: This essay has also been posted on Advogato.

FLOSS and Grants

A couple weeks ago, I gave a talk to all of the folks who received grants from the Knight Foundation as part of the Knight News Challenge. I gave a pretty basic "this is what free software and source are all about" with an emphasis on history, licenses, and community management. Knight asked me to give the talk because they require their grantees to release any software produced as part of the grant under a free/libre open source software (FLOSS) license but many of the grantees don’t know much about FLOSS. Knight makes FLOSS a requirement because, as a charity committed to the promotion of the public good, they feel that they can better live up their own mission by ensuring that grant-funded code is released freely. The positive impact is already being seen. For example, as part of the requirement, we recently saw the release of the code behind Adrian Holovaty’s wonderful EveryBlock.

Then last week, I heard from my friend Jean-Baptiste Soufron about two calls for grants (announcement is in French) by the French Government that will finance projects around Web 2.0 and serious gaming to the tune of 20 and 30 million Euros. One of the requirements of the grants: projects must be released as free software and built using open standards. I know that, in the past, the Open Society Initiative has gone out of its way to fund FLOSS projects as well.

It’s exciting news but it also had me scratching my head. Why are funders dedicated to the public good — groups like foundations and governments — ever not making FLOSS a requirement of grants that involve software development?

One good way to ensure that grant-givers live up to their own obligations to improve the public good is to make sure that the products of their grants are, themselves, public goods. FLOSS is an easy way to make this happen. As in Knight’s case, requiring FLOSS can also make it easier for funders to support work by for-profit companies while making it clear that the grant is not just free money to help enrich a commercial entity. Even if a company is doing the work, the product will remain under the control of its users as long its free.

I hope that these examples are the beginning of a trend. I look forward to the day when charities and governments take such requirements for granted.

Send Me Your Antifeatures, Win a Flessenlikker

At OSCON this year, I’m going to be giving a talk about "antifeatures." Antifeatures are a way to describe a particular practice made possible by locked down technologies. Antifeatures, as I describe them, are functionality (i.e., "features) that a technology developer will charge users not to include. You can read my short article on the topic published in the FSF bulletin in 2007 for a series of examples and a more in-depth description.

One thing I want to do is put together as large a collection of these antifeatures as possible before the talk. Please read the article if you haven’t already and send me examples of other antifeatures either as a comment or in email to mako@atdot.cc. Credit and my deep gratitude will be given to anybody who sends me something. A prize in the form of a real Dutch flessenlikker will given to the best example I get.

GitHub, Firewalls, and Freedom

Dafydd Harries pointed me to this announcement of a "Firewall Install" version of GitHub. Basically, it’s a locally installed version of GitHub designed to serve those that, “wish to enjoy the benefits of GitHub, but are unable to do so because of corporate restrictions or laws that prevent you from hosting your code with a third-party service.”

Daf and I put a little time in writing up a short reflection which I’ve posed over on autonomo.us. Our key points are that this represents an important compromise in the rough direction of autonomy by an important cloud player and that, unexpectedly perhaps, it has been motivated by organizations under strong institutional pressures — groups like large firms and governments. Although it certainly makes sense that these players would be reluctant to “outsource” to centralized systems, we argue that these groups might provide an unlikely ally in at least part of the fight for autonomy.

AttachCheck Revved

I finally got around to pushing out a new version of AttachCheck — a trivial little program I wrote several years ago that tries to prevent people from having to send followup emails with subjects that include phrases like, "REALLY attached this time," by asking you for confirmation when you send an email that says you’ve attached something when it looks like you haven’t.

The release fixes a single bug that affected a few users — thanks to Iain Murray who sent the patch in and apologies to him and others for taking a while to push it out.

There’s very little to AttachCheck and, if I remember correctly, it was the very first program I wrote in Python. I’m only mentioning this revision because it’s been quite a few years since I last mentioned the program and, while the script doesn’t do much, it continues to save me a little embarrassment and effort every other week or so.

LibrePlanet 2009

If you’re interested in free software — and free network services in particular — and should try to join me in Boston for the weekend of March 21st and 22nd.

The FSF is organizing its annual members meeting again. This year the model is very different. For a start, the audience isn’t limited to FSF members and the conference is not just about FSF projects and work.

Instead, the meeting has been rebranded LibrePlanet and has been broken up into a two-day event that is going to talk about and then try to tackle some of the biggest problems facing the world of free and open source software. Saturday March 21st will feature a series of talks about major issues facing free software. Sunday March 22nd will be focused on an unconference attempt to tackle and explore several of the key themes or tracks: network services, high priority projects, and the nascent LibrePlanet activism network.

I’ll be focused on the track around free network services which I’m helping organize in part through Autonomo.us. For more information on that angle, please take a look at my blog post over at Autonomo.us. We’re going to have a great group of people at the track and I’m excited by the idea that that we’ll be able to make some real progress on the issues.

I encourage anyone who thinks they might be able to make it to consider doing so. There are details including travel, location, hotel information and much more on the event web page and wiki (login is required to RSVP). Please spread the word!

Annual Free Software Foundation Fundraiser

When I explain the importance of free software, I often use some variation of the following example:

Suppose I see a beautiful sunset and I want to describe it to a loved one on the other side of the world. Today’s communication technology makes this possible. In the process, however, the technology in question puts constraints on message communicated. For example, if I pick up my cellphone, my description of the sunset will be limited to words and sounds that can be transmitted by phone. If I happen to have a camera phone and the ability to send a picture message, I will be able to communicate a very different type of description. If I’m limited to 150 characters in an SMS message, my message will be constrained differently again.

The point of the example is this: the technology I use to communicate puts limits and constraints on my communication. Technology defines what I can say, how I can say it, when I can say it, and even who I can say it to.

This is neither good nor bad. It is simply the nature of technology. But it means that those who control our technology control us, to some degree. As information technology becomes increasingly central to our lives, the way we experience, understand, and act in the world is increasingly controlled by technology and, by extension, by those who control technology.

I believe that the single most important struggle for freedom in the twenty first century is over the question of who will set these terms. Who will control the technology that controls our lives?

Free software can be understood as an answer to this question: An answer in the form of an unambiguous statement that technology must be under the control of its users. When free software triumphs, we will live in a world where users control their technological destiny. We simply cannot afford to fail.

The Free Software Foundation is the most important organization fighting for the rights of users in this struggle. Here are some of the ways that I plan to direct the FSF to support software freedom in the coming year:

Network Services

Last year, the FSF organized a meeting on software freedom and network services that lead to the creation of the Autonomo.us group and the release of the Franklin Street Statement on Freedom and Network Services. As network services — like those built by Facebook, Google, and others — continue rise in popularity, progress in this conversation is of increasing importance.

This year, I will direct the FSF to build on the work of Autonomo.us to launch the first of what I hope will be several FSF position statements on software freedom and network services. More importantly, the FSF will begin to provide support and planning for solutions — technologies, social campaigns, and legal steps — that will protect computer users whose freedom is currently threatened by network services.

Enforcing free software licenses

Early on, people who decided to work on free software did so because they agreed with — or, at the very least, were willing to abide by — the principles and rules laid out in our licenses. In our push for software freedom, we have created software of immense value and attracted companies and individuals to our community who are less willing, or simply less interested, in protecting users’ freedom.

In December 2008, the FSF went to court for the first time in the organization’s history to force Cisco to uphold the freedom of the users of FSF copyrighted software. This lawsuit asks Cisco to live up to its obligations under the GPL and to ensure that it does so in the future. The FSF needs the support of its community in this and in future enforcement actions.

The FSF has operated a compliance lab for several years and has ensured software freedom for countless users. As free software becomes more successful in the next year, the FSF will be playing an increased role in protecting software freedom from those who do not share its principles.

Continuing the fight against software patents

As I said last year, one cannot write non-trivial software today without running a serious risk of infringing patents. The software patent minefield we’ve found ourselves in is a very fundamental threat to the success of free software and we’ve already begun to see the first casualties and costs. We must eliminate software patents. Now. The FSF will continue its work toward this end.

The FSF’s End Software Patents project’s major contribution this year was a brief submitted in the In Re Bilski case at the U.S. Court of Appeals for the Federal Circuit. Recently, an opinion was issued which seems to mark an important shift away from broad protection for software patents. With this victory, now is the time to keep up this momentum. The FSF is drawing up a strategy to do just this and will be announcing the relaunch of its campaign on February 9,2009 led by Ciaran O’Riordan.

Every recent fundraising appeal seems to mention the difficult economic climate and it seems to cliche to do so here. That said, the effect of a bad economy is, in fact, felt most strongly in non-profits dependent on donations. The FSF is not immune.

The FSF’s work is essential for success on the issues I’ve described here and on all of its other campaigns and projects. Although the cost of a membership or donation may be less easy to afford this year for many of you, the free software movement cannot afford a weakened FSF at this important moment.

If you are not an FSF associate member, now is the time to become one. If you are already a member, please join me in giving generously through a tax-deductible donation. The FSF is a very lean, very humble organization of passionate and dedicated individuals working tirelessly for software freedom. Every single gift makes a difference.

BadVista Declares Victory

Over two years ago, the FSF started its BadVista campaign with the goal of educating the public on problems related to software freedom, DRM, and more, with Microsoft’s latest operating system. Today, the FSF is declaring victory; the name "Vista" is synonymous in the public eye with failure.

The real credit, I suppose, should go to Microsoft. Vista’s design put the desires of big media companies, software companies, and Microsoft itself ahead of the desires of users. Vista defeated itself.

But the FSF’s campaign drew a huge amount attention to the problems with Vista — especially early on — and provided a central location aggregating and amplifying criticism of Vista. In doing so, the FSF played an important role in helping the whole process along and in balancing this criticism with a more positive message about free software alternatives.

Gratitude is due to the FSF staff, members, and supports who made BadVista a success. Please read the announcement, Digg the article, support the FSF, and follow its other work in its other campaigns so that all the FSF’s work can be as successful as BadVista.

Debian Bug Squashing at MIT

I was thrilled to be part of a successful Debian bug squashing party organized by MIT’s Student Information Processing Board on December 13th. Greg Price, who helped organize the event, did a wonderful write up which he sent to the debian-devel email list.

I though it was worth mentioning the BSP now because I think it’s a wonderful model that I’d love to see replicated in Debian and beyond. The event was initiated, organized, run, and executed by people with little or no direct experience with the project. While the organizers went out of their way to recruit several Debian developers and other experts to the party, these experts’ role was more in answering questions and helping others. The the majority of the participants — around 30 of them in total — had no previous experience doing Debian development.

While the 11 bugs closed or dealt with are the most visible outcome, I’m not sure that it is the most important. The event acted as an important learning experience for everyone involved and, perhaps most centrally, an important first step for most participants from using free software to giving back and participating in the community.

You don’t need experience, connections, or a @project.org email address to organize a party like this for Debian or your own free software project. All you really need is a few people, some technical knowledge, an Internet connection, and the desire to make it happen.

Other things can help, of course. In particular, the SIPB folks have packaged up some scripts they used to select bugs to work on and put them online.

Wikimedia and GFDL 1.3

I spent more time than I would like to admit massaging the process that ultimately led to the release of the the GNU Free Documentation License 1.3 (GFDL) by the Free Software Foundation (FSF). Hours counted, it was probably one of my biggest personal projects this year.

The effect is to allow wikis under the GFDL to migrate to the Creative Commons BY-SA license or, as Wikimedia’s Erik Möller has proposed, to some sort of dual-license arrangement.

There are many reasons for this change but the most important is that the move reduces very real barriers to collaboration between wikis and free culture projects due to license compatibility. BY-SA has become the GPL of the free culture world and Wikimedia wikis were basically locked out from sharing with a larger community, and vice-versa; projects will no longer have to choose between sharing with Wikipedia and sharing with essentially everyone else. The GFDL has done a wonderful job of helping get Wikimedia projects to where they are today and Möller’s proposed switch seems, in my opinion, the best option to continue that work going forward.

The FSF gets a lot of credit (and a lot of flack) for what it does. Offering to "let go" of Wikipedia — without question the crown jewel of the free culture world — represents a real relinquishing of a type of political control and power for the FSF. Doing so was not done lightly. But giving communities the choice to increase compatibility and collaboration by switching to a fundamentally similar license was and is, in my opinion, the right thing to do.

Everyone who has worked hard to make this happen deserves the free culture movement’s thanks. This list includes Richard Stallman, Brett Smith and Peter Brown of the FSF; James Vasile and Eben Moglen of the SFLC; Erik Möller, Mike Godwin and Shunling Chen of the Wikimedia Foundation.

The FSF in general, and RMS in particular, deserves a huge amount of credit for what it has decided to not do in this case and for giving up control in a way that was responsible and accountable to its principles and to GFDL authors and in the interest of free culture movement more generally. It has not been easy or quick. If you support or appreciate work like this, please support the FSF and express this while doing so. Doing so is an important way to support these essential and almost inherently underappreciated efforts.

Eric von Hippel

For those that are curious as to I’ve been up to recently, you might be interested to read this portrait of Eric von Hippel on Linux.com. The article mentions that I’m currently studying with von Hippel in my own effort to try to help build a more evidence-based understanding of how free software works and explore some of the ways I might help it work better.

Software Freedom Day Boston

It’s late notice but Boston area folks should drop by the local Software Freedom Day events today. It goes from 10:00-16:00 and is located in a great space in Chinatown. More information in on the wiki.

I’m teaming up with John Sullivan of the FSF to talk about free software on in your pocket on unexecpted platforms. We’ll show off CHDK (for cameras), the FreeRunner (a phone), and probably also talk about RockBox, iPodLinux, and more. It should be laid back and fun!

The whole point of SFD (and this SFD event in particular) is create a space that’s appropriate to folks that don’t already know about free and open source software and that aren’t necessary technical. If you are a hacker or an advocate, show up and meet some like minded folks and introduce new people to the ideas that inspire you. If you are just curious about this stuff this event is designed for you.

If you’re not in Boston, check the SFD webpage. There are hundreds of events around the world and may even be one near you!

Happy Birthday GNU

Nearly a week after its release, I suspect most of my audience has seen the FSF’s Freedom Fry video of Stephen Fry wishing the GNU project and the free software movement a happy birthday. While I’m not usually one for birthdays, I thought I’d at least reflect on it briefly. Certainly, it’s a wonderful video — for which Matt Lee at others at the FSF should be proud. But it’s fact that the GNU project is now twenty-five years old that is truly noteworthy.

/copyrighteous/images/freedom_fry.png

Wikipedia says that a generation (i.e., the average interval between the birth of parents and of their offspring) is somewhere between 25-30 years in most of the Western world. Twenty-five years isn’t just a big number divisible by five, it marks a generational shift.

Certainly, GNU has matured and accomplished wonderful things in last quarter-century. More importantly perhaps, it’s produced wonderful progeny. It has spawned hundreds of thousands of free software projects, thousands of free or nearly-free operating systems, and an unbelievably vibrant global free and open source software community. Beyond the software realm, the free culture movement, most free licensing projects, and much of the access to knowledge movement can trace a connection back to GNU. We are living, and building, a new generation of the free software movement.

It’s not been an entirely smooth ride, feelings have been hurt, and it’s hard for GNU’s proponents — myself included — to not wince at some of what has been done in GNU’s name and because of its example. But even cynics must admit: the world is an undeniably better place because of GNU and the efforts and ideas that it has motivated.

I turn 28 in December and have spent my entire computing life in world where free software was a viable option and an active form of resistance. Here’s to another generation! May we be half as productive and positive as the last!

Free Software Project Management HOWTO

I took a little time today to make a new release of the Free Software Project Management HOWTO. Nearly eight years after I wrote it, much of the document is out of date or has been replaced with better, more comprehensive write-ups. In particular, I think Karl Fogel’s book, Producing Open Source Software says everything insightful I say in the HOWTO, a whole lot clearly — plus adds a lot I missed.

That said, my HOWTO is short and is apparently still useful to folks. I updated it to include links to a new German translation courtesy to Robert F. Schmitt, to fix a bunch of links that time broke, and to address a few obvious mistakes that readers have pointed out.

Thinking about the documents’ future, I’m happy to release it under Creative Commons BY-SA in addition to GFDL and would love to help out on a wiki book project to merge a few of related efforts into a comprehensive wiki reference work.

Charles Kane and Jim Gettys

I watched Citizen Kane several weeks ago and was shocked to learn that the major villian in the film is a political boss named Jim Gettys. Of course, a real Jim Gettys is a well known X Window System contributor who is currently working at an OLPC manager.

Last night someone reminded me that OLPC’s new President and COO — who I’d always just thought of as Chuck — is named Charles Kane!

Here’s a short clip from a video of the fictional Charles Kane giving a rather long speech decrying the fictional Jim Gettys! (Also in Ogg.)

I haven’t been this amused since I learned that the head villian in the cartoon Jem was named Eric Raymond!