Freedom fighter
Our utopia is a world with no proprietary software John Sullivan on 30 years of the FSF
John Sullivan has been working at the Free Software Foundation (FSF) since 2003 and since 2011 he’s been the foundation’s Executive Director. He’s worked on many of the FSF’s outreach efforts including Defective by Design, a campaign against DRM, and Bad Vista and Windows 7 Sins campaign aimed at steering users away from freedom-hating operating systems. He’s a former debate team instructor and a contributor to Emacs. Technically he’s also in the unique position of being Richard Stallman’s boss. We caught up with him at OSCON to talk about user freedoms, the GPL, Flash, GNU/ Linux and the perils of the cloud.
Linux Format: For the benefit of our readers, what’s the mission of the FSF?
John Sullivan: We work to protect computer user freedom by making sure that software is free software, that users are allowed to copy, modify and share, whether that’s commercially or non-commercially. The end goal that we’re trying to get to is a world where anything anybody can do with their computer (any computer, including a phone, a tablet, whatever form-factor it comes in) can be done using exclusively free software. Our utopia is a world with no proprietary software.
LXF: What is your role at the FSF?
JS: I’m the Executive Director, which basically means I’m responsible for the operation of the organisation, so I work with RMS [Richard Stallman] and the board of directors and we make decisions about what we’re going to focus on. I work with our staff which, besides me, is 11 people, I work in a management capacity helping to get them what they need in order to get the various pieces done. Plus I come to conferences like this and do some speaking on behalf of the FSF. I do writing and fundraising of course, as well as responsible things like preparing the annual budget and reports.
LXF: Tell us about how you first started with computers?
JS: The first computer my family had was a Commodore 64 and I was pretty quickly interested in programming, not real programming, using Logo and writing short programs in BASIC. These interests continued through my teenage years and I eventually ran a bulletin board system and got interested in online communities.
LXF: How did you become involved with the FSF?
JS: When I went to college I really got away from my interest in computers and went more in the direction of studying philosophy and creative writing. After graduate school I was looking for a part-time job related to publishing/ editing that I could do while doing my own writing. At that time the FSF was looking for someone to get the manuals to press and doing some editing on the manuals. So I was hired to do that and while I was in the FSF office I reconnected with my inner computer geek – a part-time job turned into full-time job and I became much more interested in software and technology again.
LXF: I work for a Linux magazine and we’re all about encouraging free software. Producing that magazine involves the unavoidable use of a lot of proprietary software. But the FSF is entirely powered by FLOSS, and has been that way for a while. Has this led to any problems?
JS: An example of a challenge that we used to have that has gotten much easier was working with graphic designers. We now have a policy of requiring them to use free software, a policy which is only possible because programs like
Inkscape and Gimp are so awesome now – that definitely wasn’t always the case. At first we had problems with outside services, especially ones that we don’t use on a regular basis: I had to ask our landlord to not send us memos in Microsoft Word format.
LXF: So the FSF is about to celebrate its 30th birthday, and you just gave a talk about it, can you give use a brief outline?
JS: I originally had planned to take this as an opportunity to bring some interesting, fun artefacts from our history that we have in the office that aren’t available on the internet yet, a lot of them predate the internet. I ended up not doing that, while I was writing the presentation I thought how close we were to the goal of a fully free world. My opinion on that question kept changing from day to day, depending on whether I had a good day at work or a bad day at work, basically. So I provided a list of reasons for pessimism and a list of reasons for optimism. Some of the pessimistic things were when Amazon remotely deleted copies of 1984 from people’s Kindles. It’s amazing that that did not instantly kill eBook DRM and proprietary eBook readers.
On FSF’s Vision: “The end goal … our utopia is a world with no proprietary software.”
Obviously trends like people using network services in such a way that they no longer have access to the program that they’re using at all, regardless of whether it’s proprietary or free. There’s the trend of Apple being successful and allowing absolutely no freedom on any of its mobile devices. On the other side we have Android: free at the core, but being used as a platform primarily to run proprietary things. Those are the terrible things that are happening, but then on the positive side we’ve seen some really successful protests against laws and treaties that would be really bad for computer user freedom. Things like ACTA as a treaty, or SOPA and PIPA as laws within the US, or the protests that led to net-neutrality reform. Those mass online gatherings producing actual results. Then actually encouraging some of the outreach programs that are being done in the world right now, such as OpenHatch (a campus initiative being run in the US) or the Software Freedom Conservancy, Outreachy providing internships for underrepresented groups. Those are all awesome things that are accomplishing very concrete progress.
Then I was trying to weigh those realising the metrics that the FSF has as an organisation, or for any free software project: how many subscribers are there on a mailing list? That’s been increasing. We run a conference once a year – that’s been growing. Revenues have been growing; number of members has been growing. We can look at things like that, but those don’t tell us how successful are we actually being at making more people aware of the control that they should have over their software, and how successful are we being at motivating them to insist on that. I’m making a commitment to spend more time over the next year coming up with some goals and metrics for free software as a social movement.
Other social movements deal with this problem too – they rely on things like opinion poles, or specific court victories, bills being passed or not passed, so what are the equivalents for us as a movement, so that we can know whether groups like the FSF whether the advocacy of the idea of free software is working? Use of a free program doesn’t really say much about the reason why. Facebook in its keynote here this morning said that Facebook does free software because it’s good for the company and we welcome its participation and it’s much better that it releases its work as free software, but that’s not an ideological position, that could easily change next week.
As part of that I was urging people to get back to doing more of including messaging about free software values along with free programs that they work on. I learned about free software originally from the documents that were bundled with Emacs, and people have done funny things like accidentally hit the wrong key combination and up comes the GNU manifesto, and that’s their first encounter with it. Firefox has done a little bit of this with its splash screen, it uses it to help drive some of the protest activity that I was talking about. So I think GNU/Linux distributions and individual programs both can do more, not to be preachy or be in people’s faces, but to give them a chance to treat that interaction as an opportunity to learn about the values behind the projects.
LXF: Let’s talk a bit about Linux, sorry GNU/ Linux distributions. Obviously we have things like Trisquel, which goes out of its way to be as free as possible, whereas others, in the name of useability, ship with flash plugins and other proprietary nasties. What does a distro have to do to get the Foundation’s seal of approval?
JS: We have a list of criteria and we endorse every distribution that meets those criteria, Trisquel and Dragora and so on. It’s not that a distribution has to refuse to install non-free software for the user, it’s that for one thing the distribution itself should include only free software. That already means we don’t endorse most of the common GNU/Linux distributions because they include proprietary firmware, at the very least, in order to make certain hardware work. After that one of the criteria is that distributions should not steer users toward non-free software. That’s the old adage about being the world that you want to see: Don’t have your distribution just be a way for people to run non-free programs. There’s a large range of things there but it applies to specific cases there like your web browser that has a plugin system: can you have a plugin directory that only allows free plugins, that has a policy against listed proprietary ones. Or when you visit a page that still, for some reason, has a flash video on it, don’t encourage the user to install Adobe Flash.
LXF: So rather than asking them to install Flash tell them to contact the site administrator and tell them to sort themselves and their web pages out?
JS: That’s one way, there are some cases where there are alternatives available. With Flash you can ask the user to install Gnash instead, which is a free program which plays most Flash videos. There’s creative workarounds for some of these situations, but we need to have some criteria like that because otherwise we would be endorsing let’s say Steam OS, for instance, which is a GNU/Linux distribution whose entire purpose is to run proprietary games and applications. What’s the reason we’re not endorsing that? It’s because it’s very clearly a system for, while it’s free at the base, steering users towards a proprietary environment. We don’t want to endorse that and you can find, to a lesser degree, unfortunately that practice is in a lot of common distributions.
LXF: Flash and Steam are the most infamous cases, but there are other places when proprietary code can sneak into your Linux. Recently there was a bit of brouhaha with Chromium downloading a mystery binary blob so that it could listen for ‘OK Google’ voice commands. Do you have any other examples?
JS: Yeah, there’s also the issue with Firefox, apparently only in the Window version but with more versions to come, on the first run it installs Adobe’s DRM plugin as part of the encrypted media extensions stuff for the W3C. That’s a big area of concern and we don’t want applications to be going that way. The Chromium example has arguably ended up as a positive example because for one thing, the fact of the application being free software that enabled people to notice this and then the outcry over it got it removed.
LXF: It was a good response, and everything turned out for the best. Or for the better.
JS: Yeah. The best would’ve been for it not to have happened.
LXF: Open source software has been around for a while now, and is generally well known about, but there’s still a long way to go. What are some of the FSF’s long-term goals?
JS: Well, one is for it to be talked about as free
software rather than just open source because that puts the highlight on user freedom: Free as in freedom, as opposed to it just being another way to develop software.
LXF: Point taken. What kind of freedoms should the user have?
JS: First, we have to mention as a precondition for having any freedom at all that the user actually have access to the program itself, as opposed to using Software as a Service (SaaS) having the application running on a system that they don’t control. It’s a precondition to any kind of freedom as well as other values that a lot of people have like privacy and security.
After that there shouldn’t be restrictions on what the user can do with the program. We don’t want a world where every program, for example, MicrosoftWord was able to say you can’t use this software to write anything critical about Microsoft. That freedom to run the program for any purpose is one that people connect with pretty readily. They need to have the freedom to share the program and I think that one is also one that people connect with pretty readily as long as they can be convinced that it’s not going to make all programmers starve if we share their programs.
Once they understand that these programs are being written by people who want you to share them, that’s easy to connect with. The harder ones are the freedoms to modify the software because people don’t think that they’ll ever modify a program in their life so why should they care about that freedom or the freedom to see the source code if they can’t understand it. I think we try to communicate even if you’re not going to exercise those freedoms directly yourself, in order for your freedom to be respected you have to help create a culture of software development where that’s the norm.
Just like with freedom of the press, you don’t have to be a journalist or publish a newspaper yourself, but if you don’t have freedom of the press in your country your freedom is directly affected because you get bad information and can be subject to censorship when you do choose to speak your mind. Software freedom is kind of the same way, by using free programs and talking about free software values you help create a world where the people who are writing the software you use will be able to do so under the conditions that produce programs that respect you as a user. LXF: So the right to modify and right to distribute and right to incorporate into a proprietary product, these all lead to different kinds of licenses. We’re now seeing some quite major licence fragmentation, does this concern the FSF? JS: Yes, one reason that we discourage people from writing new free software licenses for their projects is that some of the more popular licenses, like the GPL, have been in use now for many years and have been revised a few times and it’s very easy to commit mistakes in the drafting of a new licence that have already been learned from in the older licenses. That’s one reason not to try and re-invent the wheel there. Licence incompatibilities can be annoying for free software developers just trying to work together. Our licensing recommendations are that you should just license your contribution under whatever is the norm in the project that you’re contributing to, assuming that’s a free licence, because that’s the most productive way to work together. If you’re choosing a new licence for your program then we almost always recommend the GPL because as a copyleft licence it ensures that nobody can take the code that you write and use it to build a proprietary product, and that means that you are helping to build a free world on a strong foundation that can’t be removed. So for new projects that’s what we recommend, as opposed to writing a new licence.
LXF: When you start a new project on Github now you’re encouraged to choose a licence. But what is the cost of being ignorant here and not doing so? JS: The problem is that around the world, in almost all countries, if you don’t specify a licence then it falls under default copyright law which means that sharing modified versions is not allowed. So if you want people to have those freedoms you have to legally say so. I’m not a lawyer but that’s my understanding of copyright law. The other aspect is to let people know what their freedoms are, it’s not just a technicality – the reason that the GPL requires that you include a copy of the GPL with the program when you distribute it is that users by and large don’t know that they could have these freedoms, much less that they do in a particular case or not. So communicating that as a movement is important in order to raise awareness about that dynamic and encourage more people to expect those freedoms. It’s not just that it’s a legally important thing to do it’s that it’s a socially important thing to do.
LXF: I guess if you were to try and write a new licence, then for it to be worth it’s salt it’s going to have to be able to stand up in
On FSF’s criteria “Distributions should not steer users toward non-free software.”
court against a potentially rich and powerful adversary, and as such will have to stand up to intense scrutiny. It’s not something that you can scribble on the back of an envelope over a cup of tea.
JS: That’s right, you’re much better off choosing something that not only has been tested to an extent, but also has a lot of other people invested in having it be a success. Lots of people want the GPL to work in situations where it might be tested then it’s more likely that people will club together and help things turn out right than it is with your licence that you wrote by yourself for your one project.
LXF: What changes did GPL 3 introduce?
JS: We think GPL 3 is a much-improved licence, obviously GPL 2 has worked great and has been a key reason why we have the world of free software that we have today. But GPL 3 makes some key improvements, for example, protections against using things like DRM to lock down even free software. So you can tell the user that they have the freedom to modify and redistribute a program, but if the hardware that runs that program is hard-coded to look for a cryptographic signature that will fail if the program has been modified in any way, then the user doesn’t actually have that freedom. So GPL 3 protects people from that, and that’s a really important improvement.
It also has a much better system for resolving situations where the licence has been violated, which people should really like. It has improved internationalisation so it works better in more countries around the world. It has stronger patent language again to protect people from possible threats involving software patents where a company could distribute a program under a free licence in copyright terms, but then go after people who use it for patent infringement.
LXF: The GPL has made it to court on a couple of occasions, can you talk about that side of it?
JS: The best way to point to the strength of the GPL is to show how it has held up without going to court, particularly in the US because it’s treated as something that you do have to follow and is a solid protection. There’s the VMware case in Germany now, so that could lead to some potentially interesting results. The FSF, brought a compliance suit against Cisco several years ago after several years of trying to convince them to comply with the terms of the license without going to court. That case was settled by Cisco after we filed it. Harald Welte and his work with https://gpl-violations.org in the past has demonstrated the strength of the GPL in Germany. The Software Freedom Conservancy has had several successful cases in the past as well. We’ve had enough to know that it does work and it does accomplish what it’s supposed to accomplish.
LXF: Looking to the future then – are you concerned that current trends, such as cloud services, run counter to some of the key ideas about software freedom? JS: Well, a lot of the cloud is powered by free software, it’s just that the only people who have freedoms are the people who are actually operating the servers, not the users. It’s a good reason for people to consider using the AGPL more often for their code, because then people that are running services using that free code will have to share the source code for any modifications that they make. If more people did that it could really help free software development along. There would be more changes released and it would help users to, some extent, be able to evaluate one service against another, but the fundamental issue is that if the program isn’t running on your computer or a server that you control then it doesn’t matter for your freedom if someone else has the freedom to modify that program.
So it’s definitely a concern, we’re mainly focussed on building a model for some of these services that involves a decentralised and federated approach so that users can run instances or nodes on their system and have control over their computing, but still have the benefits of distributed storage or communication or whatever the service is designed to accomplish. I think that’s possibly the best way forward. The upside is that powerful computers are available in such small and relatively inexpensive formfactors and storage is very cheap there’s still I think hope for having that kind of decentralised model as long as it’s easy enough for people to set up and run. A lot of the reason people why people use remote services is so they don’t have to worry about things like backing up their own data, or being able to access the same files from multiple devices. But I think those are solvable problems within Free Software rather than turning to Software as a Service.
on The Cloud trend “The only people who have freedoms are the people who are operating the servers.”