How free software and open source differ on the ground

Occasionally I see news stories that highlight the differences between the older free software social movement and the newer open source development methodology. The Free Software Foundation (FSF) has published a couple of essays on this topic (older essay, newer essay) and they’re both worth reading; elements of both essays continue to show up in the news. I recommend reading those essays to more fully understand references in this article.

The FSF told us

While free software by any other name would give you the same freedom, it makes a big difference which name we use: different words convey different ideas.

and we see that as open source philosophy plays out on the ground. Open source advocate Bruce Perens claimed (archive.fo copy) that the Open Source Initiative (OSI)

OSI was founded to evangelize the idea of Free Software with different language, because at the time RMS [free software founder and campaigner Richard M. Stallman] wasn’t really reaching business people – the message of a priori valuation of freedom over all else still plays best with programmers.

I suspect that free software businesses were “reaching business people” in a way the proprietary software business people didn’t like—software freedom threatened their business model directly by positing a need no proprietor can meet. Evaluating software on the basis of whether that program respects a user’s software freedom (the freedom to run, inspect, share, and modify published software even commercially) remains something incredibly important for computer users to do (including proprietors) but is also something no proprietor can compete with and proprietors know this. So proprietors figured out that they needed a way to chat up some of the same software without the freedom talk.

Part of this move took the form of objecting to “open source” entirely. The OSI obviously wouldn’t go for this but the OSI has consistently blurred the distinction between types of licenses they offer no clear terms to discuss. Take copyleft free software licenses as an example; copyleft is a strategy for preserving software freedom for derivative works. Copyleft free software licenses typically say that distributed copies of the covered work must be licensed under the same license, thus preserving software freedom for whomever gets the copy. The OSI, which eschews freedom-talk, has no way to discuss copyleft. Copyleft means preserving something the OSI was founded to not bring up—software freedom. Therefore all OSI-approved licenses are lumped together and listed as though copyleft and non-copyleft licenses are equivalent.

More recently there has been a shift toward thinking highly of gratis labor in the form of useful non-copylefted free software because those licenses are pushovers, allowing proprietary derivatives and add-ons (such as many web frameworks, the LLVM compiler, and unenforced GNU GPL-covered programs). Copylefted free software (particularly when defended in court) was not okay (consider Apple’s perverse hatred of the GNU GPL, for instance, which shows up in Apple being a GNU GPL licensor but not a GNU GPL licensee to the extent they are able—Apple got rid of Samba in MacOS X, Apple is working on getting rid of GCC as well, and Apple bought Easy Software which owned CUPS). The OSI has been around long enough to prepare a license list that explains the differences between OSI-approved licenses in a way that helps copyright holders differentiate among licenses based on protection of software freedom but nothing has materialized. Meanwhile, the FSF has long published their license list which makes precisely this distinction a major category of licenses.

Examples of how open source affiliated efforts don’t talk about software freedom (or eschew software freedom)

Open source software (OSS) enthusiasts want to argue that they’re for software freedom, but only in circumstances when talking about software freedom won’t interfere with business desires for more power over the user (which typically require proprietary software).

  • Red Hat announced that they became “partners” with Microsoft (archive.fo copy)—Red Hat and Microsoft encourage you to run Red Hat GNU/Linux (which Red Hat calls “Linux”) on a proprietary Microsoft-hosted virtual machine (VM). This means trading away a system where you have more control over what hardware to use for your system where you lose all of the freedom you would gain by hosting the hardware yourself (or on a free software VM system under your exclusive control). The VM hoster gains the power to monitor everything one does on that VM. So one who hosts with Microsoft’s VM service gives Microsoft that control.This is not a move toward software freedom but it is inextricably bound up with “open source” because open source was defined to get away from software freedom. Red Hat and Microsoft also say what they offer is “all about choice and flexibility” but choice can be a scam: a choice of 3 proprietary programs that do the same job (3 proprietary word processors, for example) offer “choice and flexibility” but not software freedom. Choice and flexibility are not suitable goals in themselves and proprietors know this. Proprietors frame the issue in this way because they don’t want you thinking about software freedom.

    Later, in 2019, Red Hat and Microsoft would announce a partnership (archive copy) aimed to convincing people to subordinate their free software system to Microsoft’s proprietary VM system. Microsoft CEO Satya Nadella is said to have “embraced open source” “because it’s driven by what I believe is fundamentally what our customers expect for us to do” which is framed as “[d]oing what’s best for both companies’ customers” with no apparent regard for software freedom and (so long as Microsoft’s VM system remains proprietary) no software freedom is delivered to Microsoft’s users.

  • Canonical made a comparable partnership with Microsoft (archive.fo copy) offering much the same thing as Red Hat above—Canonical encourages you to run a (possibly free software) Ubuntu GNU/Linux system atop a proprietary Microsoft-hosted VM. It’s efforts like these that give rise to Microsoft’s changing public position on open source which used to be seeing it as a threat to now welcoming it so long as Microsoft is truly in control. At no point does anyone involved in the effort champion software freedom for its own sake using unambiguous terminology meant to get you thinking about software freedom.

  • Paint.NET developer Rick Brewster argued self-contradictory claims (archive.fo copy) in service of software non-freedom while claiming he’s not “anti-OSS”. Krita is a free software paint program, Paint.NET is non-free (proprietary, user-subjugating) software:

    Paint.NET is also not something I want to be chopped up and swept into other projects like Krita. Remember, I make my living off of this — why would I just give away my IP like that? (although, of course, the whole conversation space here is much more complex — please don’t assume I’m anti-OSS or something)

    It’s impossible to reconcile the conflicts between what Brewster claimed without understanding that open source is really not interested in software freedom (hence their enthusiasts’ support for proprietor partnerships and acceptance of running proprietary software). In addition, Brewster also used the term “IP” meaning “intellectual property” which is ill-advised and carries a hidden assumption.

    Two of the freedoms of free software include the freedoms to modify one’s own copy of a program (make derivative works) and to distribute copies (modified or unmodified) of the covered program even commercially. Paint.NET’s license (archive.fo mirror) prohibits all of these freedoms (“You may not modify, adapt, rent, lease, loan, sell, or create derivative works based upon the Software or any part thereof.”).

  • On 2019-05-10, Hacker News linked to a repository of Commodore 64 ROMs with a headline which read “Unencumbered Open Source Commodore 64 ROMs”.

    The license for software in that repo around 8AM on 2019-05-10 read:

    This software is Copyright Paul Gardner-Stephen (2019). All rights reserved.
    It must not be used or distributed without prior written permission of the author.
    NOTE: This is a placeholder statement until a final license is selected.

    It’s not clear what license could be chosen, as it’s not clear that Paul Gardner-Stephen holds a copyright in the work and thus has the power to license the work to others. But this and the license on the work listed above didn’t stop this from being called “unencumbered open source”. Despite the text of the license the complete lack of respect for a user’s software freedom is certainly there.

The older FSF essay on the differences between free software and open source philosophy mentioned:

This manipulative practice would be no less harmful if it were done using the term “free software.” But companies do not seem to use the term “free software” that way; perhaps its association with idealism makes it seem unsuitable. The term “open source” opened the door for this.

And we can see that philosophical difference play out in front of us—what Perens referred to as open source’s “different language” gave room for proprietors to talk about their non-free software as though it were equivalent to free software, just another choice to consider. An organization committed to pitching for software freedom wouldn’t do this, but the OSI did this.

Pitching non-free software as “open source” is known as “openwashing” (a term coined by former FSF Executive Director and now Chief Technologist of the Software Freedom Conservancy Brad Kuhn). The term derives from “greenwashing” because both use whatever socially attractive sensibilities exist to make something non-compliant appear to be better than it is (environmentally-harmful goods and services are pitched as environmentally-friendly, software not licensed under an OSI-approved license are marketed as “open source”).

Proprietary software is free software’s enemy not open source. However the open source development methodology apparently does work as designed and gives ground to the notion that it’s right and proper to push software freedom and freedom talk aside anytime software freedom becomes inconvenient.