Free Software’s Fifth Freedom

Way back at the dawn of the open source era, Richard Stallman wrote the Four Freedoms which defined what it meant for software to be free. These are:

  • Freedom 0: The freedom to run the program for any purpose.
  • Freedom 1: The freedom to study how the program works, and change it to make it do what you wish.
  • Freedom 2: The freedom to redistribute copies so you can help your neighbor.
  • Freedom 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits.

For nearly three decades now they have been the foundation for our movement, the motivation for many of us, and the guiding principle for the decisions we make about what software to use.

But outside of our little corner of humanity, these freedoms are not seen as particularly important. In fact, the fast majority of people are not only happy to use software that violates them, but will often prefer to do so. I don’t even feel the need to provide supporting evidence for this claim, as I’m sure all of you have been on one side or the other of a losing arguement about why using open source software is important.

The problem, it seems, is that people who don’t plan on exercising any of these freedoms, from lack of interest or lack of ability, don’t place the same value on them as those of us who do. That’s why software developers are more likely to prefer open source than non-developers, because they might actually use those freedoms at some point.

But the people who don’t see a personal value in free software are missing a larger, more important freedom. One implied by the first four, though not specifically stated. A fifth freedom if you will, which I define as:

  • Freedom 4: The freedom to have the program improved by a person or persons of your choosing, and make that improvement available back to you and to the public.

Because even though the vast majority of proprietary software users will never be interested in studying or changing the source of the software they use, they will likely all, at some point in time, ask someone else if they can fix it. Who among us hasn’t had a friend or relative ask us to fix their Windows computer? And the true answer is that, without having the four freedoms (and implied fifth), only Microsoft can truly “fix” their OS, the rest of us can only try and undo the damage that’s been done.

So the next time you’re trying to convince someone of the important of free and open software, and they chime in with the fact that don’t want to change it, try pointing out that by using proprietary code they’re limiting their options for getting it fixed when it inevitably breaks.

This entry was posted in OpenSource and tagged , , . Bookmark the permalink.

15 Responses to Free Software’s Fifth Freedom

  1. sil says:

    However, finding someone of my choosing to fix an issue is considerably harder than it looks. We had a discussion about this in the most recent Bad Voltage show (1×38): if a bug in a piece of software is affecting you, you’ve filed that bug and it isn’t yet fixed, and you want to find someone to fix it… how do you do so?

    • With straw dear liza says:

      If your car has a flat tyre on the side of the road, and you don’t have a spare, or don’ t know how to change it yourself, how would you fix that?

      Why you you think this would be any different to that?

      • Michael Hall says:

        Two reasons:

        1) Unlike mechanics, who fix a car for one person and then move on to the next, open source developers tend to find a project (or projects) they like and stick with that. It’s hard to find people willing to drop what they’re working on and make your fixes if they’re not already part of that project.

        2) Also unlike mechanics, we (users) are much less inclined to pay market rate for a developer’s time. When everybody will benefit from the fix, we don’t want to pay everybody’s share of the cost, just our own. And everybody else, for the most part, doesn’t care about it enough to pay. So we’re offering potential “mechanics” only a fraction of what it should actually cost to fix it.

        • sil says:

          Agreed entirely with Mike about the market rate thing; this is why I don’t like Bountysource and similar places. See, for example, https://www.bountysource.com/issues/1327838-gedit-doesn-t-release-ram-used-to-open-a-document which presumably will require somebody to instrument a ton of gedit code to work out where the problem is, and will pay $15, which is 25 minutes work at standard market rate for a US software developer.

        • Incongruous says:

          You don’t see a certain … lopsidedness … in the idea that somebody else gave you the benefit of their time and experience and skill – but then when you want even more of that from them, you feel uncomfortable compensating them fairly for spending that time on your problem, because maybe some other freeloader might benefit from your contribution?

          By that logic, my neighbours ought to set up a roster to come and mow my lawn, because collectively they benefit far more from it not looking like a feral jungle than I do!

          Nobody who writes software has an empty todo list of things which annoy them, that given enough spare time, or enough annoyance, they’ll spend some of their own precious time to fix. If you want them to prioritise fixing your problem ahead of their own set, you’re going to need a slightly better incentive than “I don’t feel inclined to contribute more than a small fraction of the value of your time to get what I want”.

          It shouldn’t be a surprise that people don’t leap at the chance to drop what they are doing to take up an irresistible deal like that. Would you? And if you would, how do you reconcile that with your lack of inclination to “pay someone else’s share” for having it done by someone else?

          The “problem” isn’t that it’s difficult to find people who could do it. It’s that you’re unwilling to offer them delicious cake that’s more inviting than what is already heaped high on their plates, that they are already struggling to finish.

          Some people do that by offering code. If you don’t have the inclination to learn that skill, you’re going to have to offer something of equal or greater value, or simply be patient. Which probably sounds a bit more “us and them” than I mean it to, but the basic dynamics here really aren’t any different to how trade works in the rest of society
          when the people doing the work have the ability to choose their own wages hours and conditions. They didn’t give that up just because they shared some of what they invested it in freely with everyone.

          Some people don’t understand why people give things away “for free” like this. Others don’t understand why they aren’t entitled to get everything “for free”. The reality is far more subtle. Nothing is free, and you get what you want in rough proportion to the measure of which you contribute to it. The more you are willing and/or able to contribute, the more of what you want you’ll find you get. It’s not magic, but it can look a bit like it if you squint just right and pull your weight in the places that really matter.

          HTH.

          • Michael Hall says:

            I very much see the lopsidedness of it. I wasn’t saying that this is the ideal situation, I’m was saying that it’s the actual situation we live in today. We give a value of a thing not just by what its worth on its own, but also by how obtainable it is. Water is far more valuable on it’s own than a diamond, but it’s also far easier to obtain, so we don’t feel like we should pay very much for it.

      • sil says:

        I’d fix that by looking in the Yellow Pages under “car mechanics” and finding a phone number. There isn’t a section for “open source freelance developers”. This is my point — I’m sure that there are people out there who are willing if not eager to fix a bug and get paid market rate for it, but how do you find them? Large consultancies such as Collabora don’t do small-time work such as fixing one bug — they’re in it for big projects.

        Addressing Alan’s point below, this is much less of a problem for projects which have built their own developer community: Joomla, Vtiger, and the like are examples, and Jeremy brought up PostgreSQL during the Bad Voltage discussion who do the same thing. But GEdit has no such community of people making a living out of enhancing it to third-party wishes; nor does Kdenlive or the Font Manager or Unity.

        • david says:

          There’s a site on which you can put a bounty on issues and bugs. Can’t remember the name, I’m on mobile ATM. Look up open source bounty

        • I’ve found that Collabora specifically are more than happy to fix just one bug for you, as long as you’re willing to pay them. They may be a large consultancy, but they’re not going to turn down money just because you’re too small a customer.

    • Alan Bell says:

      Well that would be my day job (more or less), we put Free Software into businesses adapting it, integrating with other systems and fixing bugs as we go (and contributing fixes back to the main project where appropriate). I am broadly in the business of fixing Free Software on behalf of other people. There are plenty of companies out there doing the same kind of thing, various projects foster a partner community, if you have a problem with Vtiger, Joomla, Odoo or an assortment of other things then there are people to help. Now I am not particularly interested in fixing a bug with a desktop media player (unless it bothers me personally), that kind of software has no business model for consultancy around it, but quite a lot of bits of software have a partner community.

  2. informatimago says:

    This was covered by freedom 3, but it’s not bad to write it up explicitely.

    That said, when you tell a customer that you cannot do anything about their privative software, and that to make a small improvement to their system you will have to rewrite everything from scratch, you could hope they would understand the point of freedom software with open sources, but I don’t see much change in practice. Indeed, people don’t manifest on Infinite Loop, #1 for their freedom. They just give their money to the AppStore and gladly relinquish their freedoms.

  3. When I give presentations on Ubuntu, I always discuss the four rules of Free Software, and I always talk about Rule 3 by proxy, which is that even if you don’t program, you might hire someone to make an improvement (and then I discuss why sending that upstream is basically free maintenance for when newer versions come out and you don’t have to reintegrate the patch).

    I tie that into why Free Software tends to improve in quality and I always see lightbulbs going on over heads.

  4. Michael,

    I’m with you. Let me add a sixth freedom:

    * Freedom 5: the freedom to write software without having to reverse engineer other programs or file formats.

    I find myself in this situation every now and then: I have big amounts of data to analyze or to display, but it’s encoded in a non-open format and none of the proprietary software packages available offer the functionality I need.

    Given that reverse engineering is extremely time expensive, most of the times I’m forced to give up. I often feel that I have no control over the information I own.

    Other than me, I know many people who would be very happy to use my data analysis software… the fact is: I don’t have time to design such software. And this always makes me sad, very sad. :(

  5. Pingback: Best KDE Distros, GNOME Resurgence, Ubuntu 15.04 Beta | PHP World

  6. Majeric says:

    Generosity cannot be mandated.

Comments are closed.