Linux Format

The future of freedom

Bradley Kuhn explains the dangers to software freedom and GNU/Linux in the past, present and future.

-

I’m going to talk about things my mother told me to never talk about. My mother gave me very southern motherly advice, in polite company you’re not suppose to discuss religion and you’re not supposed to discuss politics. There are a lot of things in free software that are beliefs. These are the things I believe to be true about free software, but I can’t prove them to you as a mathematic­al proof. There’s a logic to them, but I can’t prove them to you.

My experience has taught me the world is a bad place, unless everyone has the right to copy, share, modify and redistribu­te software. In other words I believe software freedom should be universal and it’s a fundamenta­l and inalienabl­e human right. I can’t prove it has to be, but I believe it’s true.

I believe as a strategic matter, we should use the software licence to advance the idea of that software freedom. So I believe strong copyleft is an extremely important strategy for the future of software freedom.

I still believe developers have the right to choose the licence for the works that they have copyright on. This doesn’t mean I believe in the Tim O’Reilly Freedom Zero thing, that the most important thing is the freedom to choose the licence. This also doesn’t mean that copyleft shouldn’t exist, as some people argue that copyleft forces you to choose a copyleft licence. Well, it doesn’t require you to contribute to a copylefted project. You can go contribute to whatever project you like using whatever licence you like. In fact you can get a patch to a copyleft project under a noncopylef­ted licence, it doesn’t matter. You still have the right to choose.

In fact, as a copyleft advocate I’m not objecting to the debate: should copyleft exist? Is it a good strategy? Do we really need that strategy anymore? I have those debates all of the time. But I admit to a certain amount of annoyance over the last five years or so, having to continuall­y defend the mere existence of copyleft.

I was around and already a free software activist when certain events happened. It culminated in the OSCON 2001: The Great Debate ( http://bit.ly/SharedvsOp­en).

So around this time Microsoft discovered free software was a threat to Microsoft’s business model. So it started to attack us and it was smart. It was smart politicall­y and most people don’t realise how smart Microsoft was. Microsoft studied free software, it looked for fault lines, Microsoft found a big one and it was the divide between copyleft and noncopylef­t.

They put [in the debate] next to Craig Mundie, Brian Behlendorf the then president of the Apache Software Foundation. I was running around doing my political thing, protesting against this. So I sat down with Brian and asked “what are you going to do tomorrow?”. He said to me “I’m really upset about this and here’s why. If we let Microsoft say that copyleft is bad and I agree with that, I’m suddenly the most radical person on the stage. The Apache Software Foundation should not be radical. I want to be the moderate, but I can’t be copyleft and the FSF is not there. So I’m going to defend copyleft up there.”

So Craig Mundie gets up and says we love open source as long as you use one of these Apache or BSD licenses. Brian steps in and defended copyleft is an important part of our community and that we need some code to be copylefted. It was wonderful that Brian did that. I’ve thanked him every time I’ve seen him for doing that. I don’t think the ASF would do that today for us.

The thing with politics is as a cause becomes integrated with the society you face

“Developers today grew up in this land where they never had the source code.”

co-option. Once an idea becomes accepted as the ‘right thing to do’ just saying you’re doing it becomes enough. It’s just a way to take the exploitabl­e part of a movement and leave the rest. For any movement that has value, eventually the co-opters find this out: they take the parts they want and leave the rest. For us, the result is ‘Open Washing’. That’s the co-option term we’ve coined in the free software community for what it means to be co-opted. Like my friend Richard Stallman, I believe that open source is the open washing altogether.

I also believe businesses prefer proprietar­y software. People assume you can make more money with proprietar­y software than you can with free software. I don’t want to debate that, the veracity of this is immaterial as it’s what people believe. Therefore most companies try and keep as much software proprietar­y as they can.

So OSCON 12-years later. Tom Preston-Werner the co-founder of GitHub gets on the stage. He’s the guy that wrote the blog post “open source almost everything, keep the secret sauce private.” ( http://bit.ly/ OpenSource­AlmostEver­ything) The interestin­g thing about his comments is he’s built his company around a GPL’d project that’s a member of the Software Freedom Conservanc­y. In fact Conservanc­y was nice enough to agree that he had trademark permission to call himself GitHub, since he was promoting Git project generally. But Preston-Werner still stands up and says: “the GPL is not focused on freedom. It’s too long, too many restrictio­ns.”( http://go2.pt/

yVFYc).

Now what I’m wondering is: Is he saying

that Git’s licence was so restrictiv­e he couldn’t build a business around it? That seems strange. This position is incredibly self-serving, and I’m surprised people don’t see it. It really gets my goat that people don’t stand up and challenge this by saying “Your claim is just best for your business if you have all your options open and can prioritise code as you want to. You’ve even found a way to make a bunch of money of a copyleft program, so how how is the GPL so restrictiv­e?” No one’s asking that.

We were fortunate that Microsoft wasn’t powerful enough to kill copyleft in the late 1990s and early 2000s. But thousands of uncoordina­ted start-up and other business interests can. This isn’t a conspiracy. It’s a spontaneou­s alignment of independen­t self- interests. Many companies have independen­tly discovered copyleft isn’t in their self-interests.

The problem is the strategic planning of companies that oppose copyleft has gotten much better. Look at LLVM: Qualcomm and Apple are putting lots of resources into LLVM because they want GCC to die. We already see multiple companies selling proprietar­y addons for LLVM. The default compiler of the future is a mixed free/proprietar­y software one, with a free software core and a suite of optimisati­ons to buy. This is the dystopia that I sadly think is coming.

I think we played the stalemate with the Free Software operating system. We got most of the kernel all the way up to the basic API layer. Proprietar­y software got everything else. Now we’re under attack from multiple sides as they try to re-proprietar­ise all the stuff where we reached stalemate. During this time all software got far better and got far more complex.

This opens two new fronts: The first front is that for most people on the desktop are using applicatio­ns through the browser. The second is if you’re not on a desktop system – if you’re on any type of ‘embedded’ system – software acquisitio­n is in a (mostly proprietar­y) app store model.

On the first front. We find today that the web is nearly dead without Javascript. There are advantages to Javascript, but one of the scariest things about JavaScript is that it turned installati­on of software into a HTTP request; your browser grabs a file and installs proprietar­y software on your computer. Javascript also blurs this line between object code and source code. People like to say Javascript is source code, well it’s not; it’s often minified source code, which is a form of object code. This is just a new form of compilatio­n.

Meanwhile, developers today grew up in this land where they never had the source code, but were often given a Json API. For example, consider the Google apps. You feel like you have an amount of freedom, as the APIs generally work – ie software has gotten better. You can build your own Javascript program which you might make free software, but often, you’re relying on Google Maps and other such third-party API-available proprietar­y applicatio­ns. What you’ve created is a mixed proprietar­y/free applicatio­n. Yet, it feels like you’ve created a Free one, as there were so many free (as in price) on-the-web APIs you could grab.

So when you’ve been developing solely in this environmen­t for long enough, you really don’t consider it reasonable to expect the entire source code for your system. The idea of Gentoo is completely foreign to these programs: the idea that one could build everything from source and binaries come out from it – JavaScript developers have never lived in a world like that.

Also, the web also didn’t have a copyleft licence. The FSF had one; I helped design it when I worked at the FSF long ago. Sadly, we were too slow getting it out into the world. hile I’m proud to have invented the Affero GPL, I’m embarrasse­d I hadn’t invented it ten years before, as we needed the Affero GPL in the late nighties. By the time it had become available the non-copyleft licence had become the standard for the web and regular GPL acted just like a non-copyleft license in most web deployment­s.

The people that grew up in this environmen­t are the ones who now found all the startups. They know the value of co-opted Open Source. They let their employees upstream when it behooves the company. It’s not clear to the employees why they need copyleft, because there’s just enough open source going on in their companies to make them feel a taste of software freedom.

My hope, as ironic as it might be, is that people will have to continuall­y reinvent the wheel. Like in the old days of Unix, you’d change employer, you wouldn’t have your old code, you’d have to write everything from scratch again. If that happens to you enough, you discover why copyleft matters and you’ll choose copyleft. That happened to most of us old-school Unix geeks: we eventually wanted the right to take your code from our previous employers under copyleft and not have to reinvent that wheel again. Hopefully Javascript developers will start to

“…as a cause becomes integrated with society you face co-option.”

feel that, too.

However, the other side of the problem is still happening. We’re down to in my view the last copyleft program that matters. Copyleft only works as intended when people who wouldn’t otherwise liberate code choose a copylefted program because it’s so advanced. In my view, Linux is one of the only programs that companies today cannot live without.

So, they’ll do everything as non-copyleft except Linux. Android is a great example: the only copyleft program is Linux, everything else is Apache-licensed, as Google said “we’ll rewrite what we need under a non-copyleft license”, and other companies were happy to help. But even they wouldn’t attempt to rewrite Linux, that’s why the battle is there.

Sadly, the bigger part of this problem is: the GPL on Linux isn’t treated like the GPL. We’ve had the proprietar­y kernel modules for some time. The GPL, for Linux, is too often treated like it’s the LGPL. Until we start to fight that problem in a big way, the co-option comes from that direction too. And slowly but surely, we won’t have the kernel as the last great GPL program.

Most companies, even those that purport to supporting copyleft, want this situation to continue; they oppose enforcemen­t of the GPL for Linux. Of course, that’s logically inconsiste­nt and is hypocrisy. They want the GPL to just be a symbol of software freedom, but when someone refuses to play by the rules of the license, most companies argue, we should just ignore it. I say: if the GPL is just a symbol of software freedom and it’s never going to be enforced, to hell with it. In that world, I might as well go join the Apache Software Foundation. I believe that we have to fight for copyleft and say it matters and stand up for it, if we’re going to succeed with the strategy of copyleft. Yet, the problem won’t be solved with that either. I’m working on copyleft enforcemen­t with my organisati­on the Software Freedom Conservanc­y, but I’m not so arrogant as to say that enforcemen­t is all we need; it’s only one piece of the puzzle. A bigger piece of the puzzle is on embedded (mobile) devices. It’s not only that those platforms have proprietar­y drivers and other Linux GPL violations, but the applicatio­ns in the app stores are mostly all proprietar­y.

I’m reminded with the app store model of what happened with Microsoft Windows in the 1990s and the boutique software company. In that model, one company supported a single program, employing 30 or so developers, deployed it on Windows. There were tons of these in the 1980s and 1990s. I believe that model has returned, in the mobile app-store world: it’s profitable to write a single purpose app with a few developers and make money.

This, in my opinion, is the new ground war. We need more Free Software apps on these mobile devices. At this point, even if the OS is freed as Android, and even if we get the Linux parts freed by Conservanc­y’s enforcemen­t, all the apps are becoming proprietar­y.

There are things I think we have to do. The copyleft enforcemen­t thing is a necessary condition, but is not sufficient. Conservanc­y will continue to run the GPL Compliance Project for Linux developers, which enforces the GPL for Linux. If you hold Linux copyrights you can join us and help us enforce. If you don’t you can send us a dontation https:// sfconserva­ncy.org/donate. But, even more than that, the thing I want to ask you the most is get out there and code up Free Software apps for mobile devices.

It’s ismple: find an app you think should exist, write it and GPL it. Learn the Android API, I’ve looked at it; I know it’s annoying, and I don’t like Java either, but the future of software freedom is those apps being Free Software on everyone’s phones.

If you’re an old-school hacker like me, we need to enter these communitie­s that don’t know anything about copyleft and teach them. Go learn Node.js; go learn Javascript; go learn all the things the kids are into this week. Join their communitie­s and tell them what you’ve learnt about copyleft in a friendly manner: by writing cool copyleft software using their technology and sharing it with them.

The other important thing is to keep coding on your own time and keep the copyrights for the work you do. Try to convince your employer to let you keep the copyright for this work. One of the problems we have in the Linux world is – while there’s plenty of developers who have their own copyrights, like Matthew Garrett and many others – they’re in the minority in comparison to the for-profit corporate copyright that’s found its way into Linux. Many Linux copyrights are held by companies that oppose GPL enforcemen­t, or oppose the GPL itself.

The Samba community is an excellent example. Many of the Samba developers have told their employers: “No. I’m keeping my copyright and licensing it under GPLv3.” Those developers have been successful with pushing that. I think more projects should say that, as a project, together in a group, when speaking to their various employers.

The other thing I ask is that you look at the Affero GPL ( http://go2.pt/K956qa) if you’re doing web applicatio­ns. The GPL and the ISC licence merge into the same thing (politicall­y speaking) with regards to server side code. The Affero GPL is the copyleft of the web and it’s designed for that, but it’s not particular­ly widely used. And, unfortunat­ely, many companies use it in wrong and abusive ways. Thus writing your own code and putting it under the Affero GPL is a good way to make a big difference for the future of copyleft. To learn more read the guide at: https://copyleft.org/guide https://sfconserva­ncy.org/supporter

“And slowly but surely, we won’t have the kernel as the last great GPL program.”

 ??  ??
 ??  ??
 ??  ??
 ??  ??

Newspapers in English

Newspapers from Australia