Leaked texts of the Trans-Pacific Partnership agreement’s “Intellectual Property” chapter confirm our worst fears: Big Content companies are pushing extreme copyright provisions in a secret trade deal that would put restrictive controls on the Internet.
LibrePlanet is an annual free software conference held in Boston, Massachusetts near the home of the Free Software Foundation. I watched a recording of the LibrePlanet 2015 talk on Document Freedom Day by Robinson Tryon and heard him present a false dichotomy about software freedom as well as non-critically endorsing the use of proprietary software during his response to someone asking about music score software (such as GNU LilyPond):
I think it would be great for students to be exposed to all kinds of software that are out there on the market today. Whether that’s going to be some proprietary alternatives or some free software. I think that if you give people a solid education, if you give them a solid grounding in a lot of different tools, I think predominately they’re gonna make decisions that we are happy with, that we’re excited about because they’re gonna express the same views we do. That, you know, why would we choose this thing that has reduced functionality, I can’t use it after I graduate, and they’ll say ‘This is ridiculous!’ and we wouldn’t have to make that point for them. But I think that at this time, we aren’t coupling our education, and our use of free or proprietary software, with that lesson.
Some of the teachers that I liked the most, that I enjoyed the most when I was in high school and college were the ones that taught life lessons about their time in the military or in political situations where their higher-up told them to do something that was totally ridiculous, or told them to do something that they couldn’t possibly accomplish. But the sort of lesson was: well, if you can get it done, you know, however you can get it done. Then everything will be okay; we don’t need to know how the sausage is made.
So I think it’s really important for us to actually be honest with students, to give them a full picture. I think it’s just as irresponsible for us to tell students ‘You should only use free software’ and that’s the whole message we give, as to say ‘You should just use Microsoft products’. If we want someone to use free software we need to talk to them about everything that’s out there and why we think free software is a good choice. And then let them make their own decision. Because that’s the whole point; it’s about freedom. And so I really hope that with music and with other tools, that if we provide an ecosystem, and if we get enough people interested, that yeah, we’re gonna see some adoption of notation software.
That’s not what the free software movement, Richard Stallman, or any Free Software Foundation article argues. Stallman is on record explaining at length exactly why non-free software is unethical. And when describing how education should be set up, he says (as recently as his 2015-03-21 keynote at the LibrePlanet 2015 conference) that students should only be allowed to bring free software to class because he doesn’t want children to learn not to share. “Moral education, education in citizenship” is critical, Stallman writes, “It’s not enough for a school to teach facts and skills, it has to teach the spirit of goodwill, the habit of helping others. Therefore, every class should have this rule: “Students, if you bring software to class, you may not keep it for yourself, you must share copies with the rest of the class, including the source code in case anyone here wants to learn. Because this class is a place where we share our knowledge. Therefore, bringing a proprietary program to class is not permitted.” The school must follow its own rule to set a good example. Therefore, the school must bring only free software to class, and share copies, including the source code, with anyone in the class that wants copies.”.
What we see in American schools is the opposite—proprietary software is unquestioningly installed and used without anyone teaching about software freedom, using free software (except maybe for a cost savings), or valuing software freedom for its own sake. Using free software to save on software licensing cost seems like a good goal if you measure success in terms of popularity. But popularity fades and is easily reversed by wealthy proprietors eager to use schools to introduce their proprietary software to students. This is what should get LibrePlanet speakers riled.
So where would anyone get the idea that the difficult choice we face is whether to teach exclusively free software without informing students of the unethical nature of non-free software, versus using only non-free software? I suspect this false dichotomy is the result of the philosophy of the open source movement. That movement doesn’t say non-free software is wrong. The open source movement was developed to placate businesses by pitching a developmental methodology which stresses convenience. Sometimes this means endorsing proprietary software. The FSF has written about the beginnings of the open source movement in a couple of essays (an older essay, a newer essay).
Software freedom is not about maximizing the number of software choices. Proponents of non-free software conflate choice with freedom because it gives them another opportunity to promote their non-free software even if they have to do that right along side free software, talking about the two together as if the two are ethically equivalent. This helps take ethics off the table for discussion and grants proprietors a chance to reframe any debate around technical convenience. The problem for users remains: One cannot gain or keep software freedom by using non-free software.
We shouldn’t look for ways out of teaching students what ills proprietary software brings society. We should not present all options as if they’re equally ethical and hope that people figure this out on their own (“let [students] make their own decision”, as Tryon put it). Moral education is critical and schools must do this. If we don’t teach people to value their freedom and fight for it we will lose our freedom. We know this is true from history with proprietary derivatives of non-copylefted free software, and we heard from Karen Sandler’s LibrePlanet 2015 conference closing speech that she was unsuccessful in trying to get VMWare to comply with the GNU General Public License (a license that grants software freedom to all users so long as they pass on that same freedom if they distribute the software further). As she said in her talk, one way you can help is by endorsing free software licenses that defend software freedom for derivative works (known as “copylefted” free software licenses like the GNU GPL):
We not only need financial help, we need your help as advocates. We need you to be going out and supporting enforcement. We need you to explain why copyleft is important, and why it matters. And we won’t be able to do it alone.
And most importantly, I think, seeing a public swell of support for the GPL and for copyleft, could even influence the lawsuit itself. You don’t know; by showing that the public cares about it, it escalates this issue to one of public importance.
Helping people understand the value of keeping their software freedom via copyleft requires teaching people to value software freedom for its own sake.
But just as free software lawyer Eben Moglen often points out in his talks, “Stallman was right”, Stallman had already written about so much of what came up:
In February 2015 the public discovered that Lenovo released new Lenovo laptops with Microsoft Windows came preinstalled with “Superfish” which allowed, among other things, spying on user’s web connections even if those connections were encrypted. The software responsible for this is “Superfish”. You can read more about Lenovo/Superfish on Ars Technica and Wikipedia. Lenovo claims laptops shipped between October and December 2014 have Superfish preinstalled and Lenovo claims they won’t resume shipping Superfish. But why trust them?
The Free Software Foundation (FSF) calls on Lenovo “to create and sell laptops that are certified to respect user freedom and come with a preinstalled free operating system“. The FSF also points out the difference between proprietary security exploitation (such as what was done with Superfish) and free software privacy mistakes (such as what happened with Heartbleed and POODLE):
Recent high-profile security vulnerabilities in free software, like Heartbleed and POODLE, were created when well-intentioned developers made mistakes that were difficult to detect. But this is different — Lenovo and Superfish caused a massive security breach for the sake of expedience in generating ad revenue.
Digital Citizen agrees with this call. Lenovo can set a trend for respecting user freedom by working with the FSF and the FSF’s Respects Your Freedom campaign to produce laptops that users can buy which respect the user’s freedom right out of the box.
Update (2015-02-22): Ars Technica publishes an article saying that there are now 14 known programs using the same code that renders users helpless against secure website spying. And the article also reminds us that “Superfish CEO Adi Pinhas issued a statement on Friday saying Superfish software posed no security risk“. It’s worth keeping this in mind the next time you hear any proprietor tell you their software is secure. Free software offers no guarantee of security but software freedom lets you inspect the program to make sure it does only what you want it to do, alter the program until it meets your needs, and distribute the program to help others. Proprietary programs are an unknown quantity—you can’t tell all of what they do because you have no complete corresponding source code, you have no distribution rights so you can’t help others or get much help from them, and some proprietary programs even restrict when they may be run.
Most people interact with free software every day, but many of those people don’t know what free software is or why they should go out of their way to use it. The Free Software Foundation (FSF) wants to fix that (and I think you want to fix this too), so the FSF commissioned a short video that makes free software easy for everyone to understand:
There are a few small “easter eggs,” both intentional and unintentional, in the “User Liberation” video we just released. One that drew some comments is the desktop screenshot flashing by near the video’s end.
Is that…a Skype icon? Is that…Flash? Is that…nVidia? IN AN FSF VIDEO?
After this was brought to my attention, I first thought it was fine to include the icons, because of the overall framing. The narrator in that section of the video says, “We’ve still got work to do.” None of the context promotes or recommends use of those programs, and since the icons flashed by in a second, I didn’t think we were increasing their recognizability or notoriety. Everything about the video problematizes proprietary software and advocates user freedom. The only application the character is directly using is free software. The other icons seemed merely part of a realistic scenery, and as we all know, the scenery of our digital lives contains much ugliness.
Microsoft recently announced that they were releasing their .NET software under the MIT license; ostensibly making Microsoft’s .NET implementation Free Software. Microsoft also published a patent promise telling each user Microsoft won’t “assert any .NET Patents against you for making, using, selling, offering for sale, importing, or distributing” covered .NET code. Mono, a .NET implementation, has incorporated Microsoft’s previous code contributions and plans to do more of this.
Mono developer Miguel de Icaza mentioned “Open Source” 9 times in his blog post, each time endorsing the open source movement and Microsoft’s actions.
But Microsoft’s software has a patent trap within: Microsoft is not clearly granting each user an irrevocable patent license for all of its patents that Mono actually exercises.
Was it ever wise to include Microsoft’s code?
Is it wise to do this now?
Is it wise to build dependencies on C#, a language that depends on a .NET implementation?
Is it wise to build dependencies on anything else involving .NET?
It’s worth looking at history to see what traps Microsoft has set and determine if those problems still exist.
In 2009 the FSF advised against writing software in C# and pointed to a practical alternative to C# while making it clear that the problem lies not with C# or .NET implementations but with taking great risks believing Microsoft’s patents won’t be used to sue users into losing the very freedoms they ostensibly gained. Here’s how the trap would work: Neither Microsoft’s Patent Promise nor Microsoft’s chosen license grant you an irrevocable patent license. Microsoft has promised to not sue you. A promise not to sue and an irrevocable patent license are not the same thing because the circumstances that make Microsoft’s promise true today can change tomorrow rendering the promise obsolete. The same is not true of an irrevocable patent license. As the FSF pointed out in 2009:
The Community Promise does not give you any rights to exercise the patented claims. It only says that Microsoft will not sue you over claims in patents that it owns or controls. If Microsoft sells one of those patents, there’s nothing stopping the buyer from suing everyone who uses the software.
The FSF’s 2009 essay cites quotes to clearly show how Microsoft has the intention to be a patent aggressor targeting Free Software users. It should be obvious that Microsoft has the means to litigate.
Computer users beware: Avoid .NET dependencies (including C# and .NET applications) and don’t get other users into a patent trap. As FSF Executive Director John Sullivan wrote in 2009 it’s not bad to have free .NET implementations but we should not depend on them because they carry unnecessary patent infringement risk:
We should systematically arrange to depend on the free C# implementations as little as possible. In other words, we should discourage people from writing programs in C#. Therefore, we should not include C# implementations in the default installation of GNU/Linux distributions or in their principal ways of installing GNOME, and we should distribute and recommend non-C# applications rather than comparable C# applications whenever possible.
I can’t help but notice how “open source” is all over the announcement and supporters’ blog posts encouraging you to take Microsoft’s patent bait. I don’t see one open source proponent warn you about any potential patent problems. And I notice that the Free Software Foundation offers sage warnings about patent ownership, about how ownership changes render patent promises moot, and I see that the FSF gives us practical solutions to avoid Microsoft’s patent trap. This is no accident. It’s part of how Free Software and Open Source differ and how those philosophical differences sometimes lead to radical differences on the ground.
The Free Software movement is a social movement known for looking out for every computer user’s software freedoms to run, share, and modify published computer software. Open Source is a younger business-friendly developmental methodology designed to never raise software freedom as an issue so your loss of those freedoms never comes to mind (read source 1 and source 2 for more information on this).
“you’re only protected if you’re distributing the code “as part of either a .NET Runtime or as part of any application designed to run on a .NET Runtime“. So if you add any of the code to another project, then you lose protection and MS reserves the right to sue you or ask for royalties” (source)
“the protection only applies to a “compliant implementation” of .NET. So if you want to remove some parts and make a streamlined framework for embedded devices, then your implementation won’t be compliant and the protection doesn’t apply to you.” (source)
So even if ESP is correct and a promise not to sue is as good as a license, Microsoft’s patent promise has enough problems with it that you’re still left with the same result: you’re better off not building dependencies on .NET. Don’t follow the aforementioned “open source” promotions.
Today I came across a report in Trisquel GNU/Linux’s issue tracker describing a new bug in Mozilla Firefox which, Trisquel developer Rubén Rodríguez Pérez says “allows Mozilla to install any binary into the browser, through a dedicated system of updates”.
This situation is a clear indication of how Free Software underscores one’s security and how nonfree (or proprietary) software undermines one’s security.
Trisquel is a fully-free GNU/Linux operating system. The software in this system is entirely free for users to run, share, and modify at any time for any reason. Mozilla Firefox is a web browser developed by the Mozilla organization, a proponent of the Open Source development methodology which distributes Firefox as Free Software. The Free Software Foundation is a non-profit organization dedicated to informing computer users about software freedom (the freedom to use, study, copy, modify, and redistribute computer programs).
One week after the International Day Against DRM, Mozilla announced a partnership with proprietary software company Adobe to implement support for Web-based Digital Restrictions Management (DRM) in its Firefox browser. Mozilla changed Firefox so Firefox would prompt the user to install a proprietary program to decode a certain kind of video, the kind of video some video distributors such as Netflix, wish to use. Firefox will do this by looking at a list of repositories from which Firefox can download the program, download a program to do this job, and then run the program from the user’s system.
Firefox’s current implementation
We now know that this alleged “feature” is implemented in such a way that it could allow Mozilla to get the user to run any program Mozilla wants to publish (as Pérez describes). This is troubling because if the repository ever comes under the control of someone untrustworthy, the repository could be used as a distribution point for malware.
But couldn’t any browser do the same? Why is Firefox uniquely worthy of mention here?
Any browser could implement the same mechanism in the same way (and for all we know other nonfree browsers already do this). But since Firefox is Free Software users have the freedom to:
modify the browser to not load the externally-provided binaries in the first place thus avoiding the entire issue,
distribute the improved freedom-respecting variant to others to help one’s community avoid the nonfree software,
run the improved browser whenever they want and make it a part of a wholly Free Software operating system as Trisquel is doing. The power of a better example is compelling.
These freedoms allow programmers to deliver derivatives of Firefox such as “Abrowser” which respect a user’s software freedom by effectively disabling the malware-loading code and changing the browser so it won’t introduce users to nonfree add-ons by default.
Fortunately Firefox is not the only Free Software browser out there and users of other Free Software browsers have the same freedoms. Users of nonfree browsers don’t have these freedoms and are thus at the mercy of whatever the browser developers want to allow (and whatever the programs those browsers install allow).
So the big deal is freedom of choice, right?
No. Software freedom is not freedom of choice because freedom of choice is easily turned against the user. Imagine if all the browsers a user had to choose from were nonfree. That user would have to choose amongst a variety of browsers where none of the choices were safe from this malware distribution mechanism. If a user didn’t want malware they’d have no freedom to prevent malware from being distributed to them, posing as a program purporting to offer some benefit, and running that malware without having any opportunity to vet the software or reject it.
But I’m not a programmer! I can’t vet any software. Whether the browser is Free Software or not doesn’t matter to me, right?
Software freedom should matter to all computer users because we all need to make sure our computers are safe for us to use. There’s too much Free Software out there to vet all of it ourselves, we have to rely on someone to do some vetting for us. But if we don’t support software freedom for its own sake we can’t trust anyone to review software with our interests in mind. This leaves us at the mercy of those who will do us harm by getting our computers to run malware.
We can’t know what other problems await iTunes users because iTunes was and is nonfree software. Users aren’t allowed to inspect, share, or modify the program. So even if users find another problem with iTunes they can’t legally prepare and distribute an improved version of iTunes that doesn’t have the flaw. The same problem applies to all nonfree programs.
Mozilla can’t and shouldn’t control which websites one visits. But Mozilla can control what Firefox presents to the user as a reasonable addition to enable some desired functionality. And this situation gives Mozilla an opportunity to educate users about the problems with DRM and the tough choice they face in delivering a browser that respects user’s software freedom even when those freedoms mean doing without Netflix. Mozilla should not make it easier for users to run nonfree software.
I don’t agree with any form of DRM (Digital Restrictions Management) being “justifiable” for some forms of media but not audio (presumably because consumers have been acclimated to DRM-freedom for audio). A series of technocratic explanations won’t justify rejecting Apple’s latest attempt to subject more individuals to DRM, only ethical examinations will provide the lasting and consistent critique called for here. Marco Arment’s rationale suggests he is not analyzing this situation from the most important perspective—a user’s software freedom and a user’s freedom to replay the recording at any time, in any location, and completely in privacy if desired. “Piracy” and “theft” are rightly identified as “smear words” as a US judge presiding over a trial for copyright infringement said. Unauthorized copying is no justification for treating users as DRM treats them.
Arment’s technocratic arguments all fail to dissuade anyone who buys his setup from accepting Apple’s upcoming format because it’s so easy for Apple to supply software to overcome any technological barrier so long as one accepts Apple’s software. Arguing from the perspective of what’s good for “the industry”, or guessing about Jobs’s personal motivations that he “also truly disliked DRM, as a tasteful consumer, technologist, and human being, and wanted to abolish as much of it as he could” doesn’t jibe with the long list of restriction-riddled products and services Jobs championed, but more important these arguments won’t convince people to defend their interests in respecting their rights with media.
I suspect Arment’s article comes from the “open source” perspective; a movement which accepts software proprietors because that movement was designed to favor business interests over user’s interests. Free Software activists reject DRM in any form for any work for consistent and sound reasons grounded in ethics and pitched to all computer users; the Free Software movement is a social movement which says that all computer users deserve the freedoms to run, inspect, share, and modify computer software for any reason. Treating users otherwise is not respecting fundamental rights all computer users need to live in a good life in a community of goodwill, cooperation, and collaboration. Open Source advocates, by contrast, accept whatever businesses want to pursue because that’s the entire rationale behind the Open Source movement—start with Free Software, throw away the software freedom and any ethical argument tied to respecting a user’s software freedom, and pitch the rest primarily to business as a development methodology encouraging business leaders to accept the work of programmers under amenable licensing terms such as what the Free Software movement identifies as non-copyleft Free Software licenses. These licenses grant users the freedoms of free software but allow for nonfree derivative programs that deny users software freedom. After all, if “People care about music and convenience, period.” these individuals don’t care about their own freedom to experience the media they’ve obtained whenever and wherever they wish, reselling it if desired, and enjoying the media without being spied upon, right? Such individuals are “consumer“—individuals who are never to be thought of as someone possessing rights like a citizen but instead to be thought of as erroneously using up information. This means there’s no good reason for any consumer to reject Apple’s upcoming audio format. If Arment were more interested in user’s freedoms he would point out to readers how that view serves business interests looking to take away citizen’s rights via DRM. See Defective by Design and Richard Stallman’s personal website for more information; both are replete with examples of how people lose rights with DRM they had with non-DRMed media. The ethical underpinnings of these arguments are far more compelling than any business interest or convenience-based explanation. Some users rights aren’t more important than other user’s rights, we need to fight for everyone’s software freedom and rights to not be subjected to DRM.
Why would a business push again for DRM in audio? Because from their perspective they see a lot of opportunity:
people accepting the aforementioned divide-and-conquer argument behind some media being “justifiable” for DRM (as Arment claims). In this greedy framing of the debate, it’s okay that some media (videos, ebooks) exploit citizens and other media have yet to be fought for hard enough. When this issue is framed according to what’s in a user’s best interest, all DRM is unethical. Under DRM we lose rights we had with traditional forms of media (including right of resale and control over our own computers via installing nonfree software). Therefore nobody should purchase from DRM’d media sources and nobody should encourage others to take on DRM’d works.
A couple of issues have come up recently highlighting the difference between the younger Open Source movement and the older Free Software movement which help properly frame the issues and provide some historical context.
Free Software is a social movement that started when Richard Stallman began the GNU Project in 1984. This movement wants all computer users to be free to run, inspect, share, and modify all published computer software (including for commercial software uses). Open Source is a developmental methodology that started in 1998 as a reaction to the Free Software movement. This movements proponents omit any mention of software freedom in their pitch to software developers promising more robust and reliable programs when one develops a program using this development methodology.
[P]eople from the free software movement and the open source camp often work together on practical projects such as software development. It is remarkable that such different philosophical views can so often motivate different people to participate in the same projects. Nonetheless, there are situations where these fundamentally different views lead to very different actions.
The idea of open source is that allowing users to change and redistribute the software will make it more powerful and reliable. But this is not guaranteed. Developers of proprietary software are not necessarily incompetent. Sometimes they produce a program that is powerful and reliable, even though it does not respect the users’ freedom. Free software activists and open source enthusiasts will react very differently to that.
A pure open source enthusiast, one that is not at all influenced by the ideals of free software, will say, “I am surprised you were able to make the program work so well without using our development model, but you did. How can I get a copy?” This attitude will reward schemes that take away our freedom, leading to its loss.
The free software activist will say, “Your program is very attractive, but I value my freedom more. So I reject your program. Instead I will support a project to develop a free replacement.” If we value our freedom, we can act to maintain and defend it.
The Open Source proponent’s reaction to this is general acceptance: be it reluctant or otherwise qualified acceptance, the additional software will be welcomed regardless of what effect it has on the user’s ability to ensure their computer only does what the user wants it to do. As the FSF points out, Mozilla makes this change favoring popularity over software freedom for Firefox users despite that Mozilla “have produced no evidence to substantiate this fear or made any effort to study the situation”.
The Free Software advocate’s reaction to this is rejection: any proprietary software means a reduction in software freedom which invariably lead to a number of problems as those in control of the proprietary software have their way with the user’s computer. In light of the strong ethically-backed rationale Free Software advocates provide and in light of the Snowden revelations, one realizes that democracy depends on privacy and privacy on a computer is impossible without software freedom.
An operating system kernel is a program that makes it possible for multiple programs to share a computer’s resources. The Linux kernel does this job and has become remarkably popular. But Linus Torvalds, the first developer of the Linux kernel, doesn’t think software freedom is worthwhile. Initially he released Linux under a license that forbade commercial use which made Linux nonfree software. Then later he changed the license to the GNU General Public License version 2, making Linux free software. The Linux kernel Torvalds distributes includes nonfree software in the form of “binary blobs”—code intended to allow the Linux kernal to work with certain computer hardware while not revealing how this interoperation truly works.
The Open Source proponent’s reaction to binary blobs usually comes down to convenience: it’s more convenient to run an operating system based on the Linux kernel (such as a GNU/Linux operating system) where all parts of the user’s extant computer system are fully operable, than to have to get different hardware or do without some functionality hardware provides because the only software that works to talk to that hardware is nonfree. Convenience leads to popularity and popularity is critical for an Open Source proponent.
The Free Software advocate’s reaction to binary blobs is to excise them. A group of kernel programmers build Linux-libre, a fork of the Linux kernel which purposefully excludes the nonfree blobs. Any less-functional or non-functional hardware is considered an opportunity; a call for reverse-engineering in order to figure out how the hardware really works, document that behavior, and implement free software to fill that gap.
By 2005 Linux kernel programmers had been using a nonfree program called “BitKeeper” to keep track of their programming work on Linux. BitKeeper was available at no charge to some Linux programmers because Larry McVoy, a Linux kernel developer and the head of BitMover, Inc. which makes BitKeeper, wanted to entice Linux programmers to become dependent on BitKeeper. Some Linux developers, such as longtime Linux developer Alan Cox, objected to allowing a proprietary developer to control how they worked with a free program and didn’t use BitKeeper to track their work. In 2005 Andrew “Tridge” Tridgell released software that allowed anyone to get code revision metadata from a BitKeeper server without using the BitKeeper program to do this job. Tridge’s work angered Torvalds and Tridge’s work was the principal cause for McVoy to rescind gratis licenses to the Linux developers. Ultimately Torvalds went on to develop “git”, a free software source code revision tracking system, used by many projects including Linux.
Torvalds’ anger is a typical Open Source proponent reaction to Tridge’s work; Torvalds said Tridgell “screwed people over” and he “tore down something new (and impressive) because he could”, and “He didn’t write a ‘better SCM [source code management tool] than BK [Bitkeeper]’. He didn’t even try – it wasn’t his goal. He just wanted to see what the protocols and data was, without actually producing any replacement for the (inevitable) problems he caused and knew about.”. From the perspective of someone who doesn’t value software freedom, Tridge’s actions are not valuable in themselves only in how they led to McVoy’s reaction to deny Linux developers gratis copies of a practical means to an end. Assigning responsibility to McVoy for McVoy’s choices (both in trying to make free software hackers dependent upon nonfree software and in later rescinding gratis licenses to BitKeeper) is simply not a viable explanation for Open Source proponents. That would call for recognizing (even implicitly) the damage of nonfree software and the proof of that damage when the gratis licenses were rescinded.