No difference between Free Software and Open Source? It’s all too real a difference.

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.

The theme is simple and consistent, just as explained years ago in the Free Software Foundation (FSF)’s essay “Why Open Source misses the point of Free Software“:

[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.

In May 2014 Mozilla announced it would partner with Adobe to implement changes in Firefox so Firefox users could be restricted in what they could do with webpages (see Cory Doctorow’s essay in The Guardian, the Free Software Foundation’s reaction, and Brad Kuhn’s essay for more views on this). Firefox users would ostensibly install additional Adobe software to let Firefox communicate with any web service that wanted to implement digital restrictions on users. This additional software will be proprietary in order to keep users from understanding what it does.

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.

The Free Software activists response is what Tridge did (and a reason why Tridge is a 2005 Free Software Award winner). McVoy’s reaction garnered thanks from Richard Stallman as “Linux development will no longer use this program, and no longer spread the message that nonfree software is a good thing if it’s convenient”. Free Software activists know that software freedom is a good in its own right and mere practicality is insufficient to achieve what a democratic society needs to run ethically and with respect for its citizens.

Tips for speaking and recording lectures

I’ve watched a lot of conference videos on a lot of topics. Few lectures are recorded well and it doesn’t take much to greatly improve most recordings I’ve seen. Here are some tips for improving recordings of lectures.


If you’re speaking, here are some tips for you.

  • Know where the microphone is and which direction it is aiming because a lot of mics are very directional; turning your head away from the mic greatly reduces the microphone’s ability to accurately pick up your speech. You go from being heard to sounding like you’re mumbling from another room.

    Either wear a mic attached to your head that turns with you (such as an ear clip or head piece) or practice holding a portable microphone in front of your mouth even when you turn your head by turning your chest with your head. If the mic is stationary, practice pivoting around the head of the mic so you’re always speaking into the mic even when you’re not facing the same direction as the mic. This should allow you to look at the person to whom you are speaking while still being recorded by the mic.

  • Don’t gesticulate between the projector and the screen. Anyone standing in between the projector and screen gets in the way of the projection by casting a shadow on the screen. If the recording captures what’s projected instead of the feed coming from the your computer, your audience can’t read your slides. If the recording captures the video feed instead of the projection, those viewing the recording won’t see what you’re doing in front of the projection. Either way, your gesticulation means something you deem important enough to do is lost on some of your audience.

    Instead use your computer to highlight something on the screen as you talk. Use the computer to highlight something (via drag-and-drop or selecting interesting words and paragraphs). Structure your slides to focus on one point at a time. This approach will let you simultaneously draw the audience’s attention to something on-screen while speaking aloud to elaborate a point.

  • Enunciate your words, don’t mumble. Your audience chose to hear and see you, you should be heard and understood clearly.

    Practice speaking slowly in front of people unfamiliar with your talk. Ask them if they could understand what you said. You are more familiar with your name than anyone you’re speaking to so don’t rush through speaking your name.

  • Don’t poll the audience (“How many people here have used the BarFoo system?”, “Anyone already familiar with the Foobar programming language?”, “Who has visited my website?”). You should speak to an audience outside the room (ideally audiences you will never meet watching your recording later, including audiences seeing/hearing you after you’re dead). It’s too late to change your talk to suit a different audience. Clear thinking and clear explanations contain summaries of situations that convey how you understand the situation you’re about to elaborate upon.

    If you need to speak to a particular audience instead of a general audience, make sure the lecture description contains expected prerequisites.

  • Are you taking questions from the audience? Repeat each question before you answer each question so the recording (the most important audience) understands the context of your response and everyone listening to you understands what you got out of the question.
  • Consider not using slides because they distract the audience away from what you’re saying and because you probably have too many slides which are hard to read or contain too much information for anyone to remember.

Event organizers

If you’re organizing a set of lectures or recording someone speaking, here are some tips for you.

  • Distribute the recording of the talk in formats that favor free software because everyone can play formats that favor free software such as WebM, Opus, Vorbis, Theora, and FLAC. Installing VideoLAN Client or a free web browser such as GNU IceCat lets users see WebM movies in free formats.
  • Convey details clearly and completely in your invitation by laying down clear ground rules for your event when you invite speakers. Tell speakers in advance what they can expect from the audience (who is likely to attend, what reception are speakers likely to get). Anyone who doesn’t like what you’re describing can decline your invitation.

    Tell speakers:

    • that their lecture and any subsequent question/comment period will be recorded and/or distributed live online in whatever format(s) you pick.
    • the specific license under which all recordings of the event will be distributed. Don’t be vague by saying recordings will be distributed under “A Creative Commons license” (which one?) or by saying the recordings will be “Freely available” (which freedoms will you convey to recipients? Or do you mean available at no charge?). Name a specific license such as “The Creative Commons By-No Derivatives 4.0 license” and provide a clear reference for the license such as a valid link to the complete license text.
    • that you expect all speakers at your event to highlight some idea or favor something in their talks. If I were organizing a series of lectures about Free Software, I’d expect each lecture at the series to focus on and favor software freedom for its own sake and not “Open Source” or proprietary software, nor would I want speakers to fail to distinguish between the GNU operating system and the Linux kernel, no matter how inconvenient expressed opinions might be to business sponsors.
  • It is better to record the speaker and only record the speaker well than to record everything in the room poorly. Do not be shy about recording speakers! Place your camera in the front row and get a feed from the in-house audio system used by the speaker. Condenser mics in located far from the speaker (such as those attached to a camera at the rear of the room) do a poor job of recording the speaker. The speaker’s talk is the primary attraction, so if you are organizing an event give the speaker a mic attached to their head (so the mic turns with their head) or a mic they can hold as they turn and have backup equipment ready should the speaker’s mic fail.
  • Don’t interrupt the speaker(s) for administration details during their talk. In recordings of the 2014 DEF CON talks I noticed that convention administrators interrupted the speaker’s talk to give first-time speakers drinks and a speech announcing the interruption. I found this annoying to do at all; the interruption meant waiting for off-mic administrators to finish, and the interruption broke my concentration when I was focusing on the talk (the reason I spent time with the recording). Instead I think administrators should engage with speakers after the talk, or between the talk and Q&A, or after the Q&A has finished.

How the difference between Free Software and Open Source affects choices in Fedora firmware distribution

Alexandre Moine posted about GNU not including Fedora GNU/Linux in its list of free software distributions. Moine’s post and responses highlight the differences between Free Software and Open Source, differences that come up quite a bit.

Free software and open source are not the same thing. While free software activists and open source advocates can and do work together on many projects, the philosophies are not the same. These philosophical differences lead to radically different results. The GNU project has published essays detailing this philosophical difference (Why “Free Software” is better than “Open Source” and the updated version of this essay Why Open Source misses the point of Free Software, to name a couple).

Moine and responses mention how non-free software running in devices (i.e., non-free firmware) are used to make certain hardware work with Fedora GNU/Linux. Fedora GNU/Linux users end up running this software because the Fedora project favors making sure their system uses the hardware available—convenience—instead of using the opportunity to educate the user about software freedom. Catering to convenience over freedom is a hallmark of the open source movement as the older essay describes in fear of freedom:

The main argument for the term “open source software” is that “free software” makes some people uneasy. That’s true: talking about freedom, about ethical issues, about responsibilities as well as convenience, is asking people to think about things they might rather ignore. This can trigger discomfort, and some people may reject the idea for that. It does not follow that society would be better off if we stop talking about these things.

Years ago, free software developers noticed this discomfort reaction, and some started exploring an approach for avoiding it. They figured that by keeping quiet about ethics and freedom, and talking only about the immediate practical benefits of certain free software, they might be able to “sell” the software more effectively to certain users, especially business. The term “open source” is offered as a way of doing more of this—a way to be “more acceptable to business.” The views and values of the Open Source movement stem from this decision.

This approach has proved effective, in its own terms. Today many people are switching to free software for purely practical reasons. That is good, as far as it goes, but that isn’t all we need to do! Attracting users to free software is not the whole job, just the first step.

Sooner or later these users will be invited to switch back to proprietary software for some practical advantage. Countless companies seek to offer such temptation, and why would users decline? Only if they have learned to value the freedom free software gives them, for its own sake. It is up to us to spread this idea—and in order to do that, we have to talk about freedom. A certain amount of the “keep quiet” approach to business can be useful for the community, but we must have plenty of freedom talk too.

Why Open Source misses the point of Free Software illustrates how different values can lead to different conclusions:

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.

Moine and some respondants distinguish between running software on one’s “main CPU” and other processors in a modern computer system. The distinction isn’t made to highlight security problems (as the FSF did when developers of a fully free/libre version of Android found and closed a huge security hole in Samsung Galaxy devices) or to highlight how you deserve software freedom for all of the computers in your system. Instead, open source advocates say this as because they think it justifies Fedora distributing non-free firmware to users; somehow running non-free software on one’s “main CPU” is ethically objectionable but running non-free software on some other computer hardware is okay. This distinction is meaningless from the perspective of software freedom—users deserve software freedom on all of their computing devices. This might mean making inconvenient decisions like choosing different computing hardware or not fully exploiting the capabilities of one’s computer until free software exists.

Kevin Kofler, a respondant on Moine’s blog, says one of the Fedora project’s goals is to move “hardcoded blobs to use the dynamic firmware loader instead, so they can be moved to linux-firmware”. This is merely moving the non-free firmware from one bundle of software to another. When the move is complete the Fedora project will still distribute the non-free firmware package alongside their other packages, thus endorsing the non-free software. This change doesn’t address the issue of software freedom at all because this change was not meant to give Fedora GNU/Linux users software freedom. Relocating the package where the non-free firmware comes from is a minor bookkeeping detail. A default Fedora GNU/Linux install will either install the non-free firmware package or steer the user toward a Fedora project repository where the non-free firmware package can be downloaded. From the perspective of a user’s software freedom, the Fedora project’s effort to relocate the non-free firmware is doing a good job of reaching a bad goal rather than encouraging users to favor hardware they can operate in freedom, or to write and publish free firmware to operate the hardware that doesn’t work in freedom. For the free software movement, non-free software is a social problem to be fixed by increasing a user’s software freedom. For the Fedora project non-free firmware is acceptable non-free software to remedy an inconvenience even if that means making users become dependent upon the proprietor. By contrast, it’s a good bet that the Linux-libre project‘s work (to distribute a Free Linux kernel) became a part of the GNU Project because Linux-libre makes these choices in a way which make software freedom a priority—Linux Libre comes with only Free Software.

Kofler also maintains that hardware which moves firmware into ROM makes the firmware proprietary (“Firmware in a ROM is proprietary forever.”). This misunderstanding highlights how the user’s freedom is not taken to heart: non-free firmware is software only the firmware proprietor can alter. By contrast, code in ROM is code nobody can alter. Neither of these situations are particularly desirable because the user might want to understand and alter this code, so free firmware is the best option. But code in ROM is different from non-free firmware: code in ROM means the user and the manufacturer are equally unable to alter the code. No software update will change the ROM. By contrast, a proprietor could issue a new proprietary firmware file. If a user’s system loads that new firmware file into the hardware, the hardware’s behavior changes and that user’s software freedom is denied. A proprietor’s promise of someday freeing the firmware doesn’t change the reality on the ground—non-free firmware is non-free software which keeps users subordinate to the proprietor. Kofler also later maintains that “Burning something into a ROM does not magically make it “hardware”.”. When one looks at this situation from the perspective of gaining software freedom rather than prioritizing convenience at the cost of freedom, hardware with code in ROM is unmodifiable.

Kofler asks “Imagine Apple making a ROM iPhone, maybe so they can sell you a new phone each time they upgrade iOS, would that make it a Free smartphone???”. Such a change could give those users a less moving target with which to focus their efforts when trying to get iThings to run Free Software. Thus, an iThing with code only in ROM chips would provide a Free Software developer a chance to develop something once and be sure their software wouldn’t be rendered obsolete due to Apple changing how that iThing worked.

As it stands, Apple is already selling many of their iThings based on changes to iOS which they don’t backport to older Apple hardware. But the issue of one’s liberties for cell phones carries challenges beyond software freedom for computers. Cell phones rely on cell phone towers which track one’s location. A cell phone’s usefulness is greatly diminished when one has no cell phone tower access. Richard Stallman, founder of the GNU Project, discusses this at some length in his talk on “A Free Digital Society”.

Kofler claims “Or what if Unix had been in a ROM? Then GNU as it was at its beginning wouldn’t even have been possible!”. This is a side issue at best, but I doubt any of the salient points of GNU’s beginning would be significantly different. GNU began as a project to bring a free Unix-compatible OS into existence (Stallman wished to “put together a sufficient body of free software so that I will be able to get along without any software that is not free”). The Unix system Richard Stallman used at MIT’s Artificial Intelligence Lab was proprietary. A laser printer software issue highlighted how frustrating and unjust it was to not have the freedom to control one’s computer, so Stallman quit working for MIT and began the GNU Project to liberate all computer users from the tyranny of (what would later become known as) non-free software. Bringing GNU into existence required either writing new programs (where no free alternative existed) or finding free replacements to press into service. All of this would have been true if the Unix system were in ROM.

The Fedora project apparently teaches people to endorse the open source philosophy of developmental convenience not the ethical examination one finds in the free software movement. I hope that the Fedora project’s position will change to favor software freedom and the Fedora project’s behavior will change to allow the GNU Project to list Fedora GNU/Linux among its recommended distributions.

Another Apple copyright infringement

Apple got caught infringing copyright again. Whether it’s GNU Go, GCC, or distributing VideoLAN Client in ways they deny themselves, Apple (or in the case of GCC, NeXT later owned by Apple) has quite a history of commercial copyright infringement.

China Daily reports that Apple has lost a copyright infringement case in China and told to pay $118,000 for commercially distributing copies of books in their store without permission from the copyright holders.

Judge Feng Gang said Apple should take responsibility since, as a big online downloading platform, it has the duty of checking whether books uploaded by third parties are in line with current laws.

“The writers involved this time include Mai Jia, whose books are often on best-seller lists across the country,” he said. “In this way, Apple has the capability to know the uploaded books on its online store violated the writer’s copyright.”

If you needed a complete list of reasons why you shouldn’t do business with Apple, look no further.

Remembering Aaron Swartz

Aaron Swartz worked hard for our mutual benefit through sharing and he also introduced people to free software. Aaron kindly granted me an interview some years ago for my old radio show. Facing a prison sentence and what Lawrence Lessig rightly calls a bully of a prosecutor, Swartz hanged himself on January 11, 2013. Swartz will be missed.

Reaction from around the web:

What makes digital inclusion good or bad?

As Google and area projects aim to bring high-speed Internet access to more people through new networks, society should ask the question Richard Stallman poses in this talk: What makes digital inclusion good or bad?

Quoting the description provided by the Free Software Foundation’s Audio-Video archive:

Activities directed at “including” more people in the use of digital technology are predicated on the assumption that such inclusion is invariably a good thing. It appears so, when judged solely by immediate practical convenience. However, if we also judge in terms of human rights, whether digital inclusion is good or bad depends on what kind of digital world we are to be included in. If we wish to work towards digital inclusion as a goal, it behooves us to make sure it is the good kind.

Here’s a recording of a talk he gave on this subject on October 19, 2011 at Sciences Po in Paris, France. This recording is licensed under the CreativeCommons Attribution-No Derivative Works 3.0 license.

More deep wisdom from Eben Moglen

Some years ago, I went to the Free Software Foundation’s annual member meeting. It was well worth the trip, but Eben Moglen’s talk was worth the price of admission.

I have become interested in his talks over the years, and I intend to bring them to a wider audience. Here’s one recent talk from the HOPE 2012 conference (and the transcript is available as welllocal copy). This recording is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 license.

Undercut the CRB, broadcast liberated music instead

One area of copyright licensing I’ve found a lot of copyright reports get wrong is music licensing. Consider this quote from’s “Senator Wyden Introduces Bill To Bring Some Sanity To Webcasting Royalty Rates“:

We were just talking about how incredibly broken the system is for establishing webcasting rates, in part because the law itself explicitly says that the Copyright Royalty Board (CRB) Judges should look to prevent disruptive innovation and preserve “prevailing industry practices.” In practice this has meant that basic webcasting rates, established by CRB judges, are usually somewhat insane and impossibly out of touch with reality. It’s only gotten worse over time — and the last round ended up being so crazy that everyone basically agreed to ignore those rates and set their own. And while those rates were lower than what the judges wanted to set, they’re still ridiculously high, significantly limiting the amount of webcasting available today. Even the leaders in the field, like Pandora, admit that with current rates, it’s basically impossible for the company to ever make a profit.

You’d think that this statement covers all webcasting of all music; one just can’t set up their own broadcasting station and avoid paying for major label tracks.’s reportage doesn’t explain organizations like Magnatune, a label which licenses all of their tracks to share, or Musopen which describes itself as “a non-profit dedicated to providing copyright free music content” (such as the Musopen lossless DVD). Every year there are more labels providing music in a variety of genres, all licensed to share in any medium.

The wealth of viable alternatives to major label tracks make me lose sympathy with those who want to become another corporate repeater station and complain about Copyright Royalty Board rates shutting them out. The time is now to establish something better that helps more artists struggling to be heard, artists who offer their work to you under amenable terms.

We know that this model works in the marketplace—Broadcast Music, Inc. (BMI) started in a comparable way, providing a repertoire of music for American radio stations to play under better terms than the competition from ASCAP, a competing royalty/licensing organization which had been around for 20 years. BMI undercut the competition from ASCAP at a time when ASCAP demanded “a fixed percentage of each station’s revenue, regardless of how much music the station played from ASCAP’s repertoire”.