In June 1976, Li-Chen Wang published a new version of Tiny BASIC, making it free to copy for all hobbyists in the Homebrew Computer Club, including Bill Gates. The license text of that Tiny BASIC for the Altair was “©Copyleft–All Wrongs Reserved”, one of the earliest examples of the real struggle felt by early practicioners trying to understand how to distribute software properly, legally, and maybe even, profitably.
“Theft.” A statutory offense frowned upon since the dawn of time. Mr. Gates asserted ownership of the code he had written. What does that even mean? If running a program means to literally copy its bit patterns onto the array of memory circuitry in a computer, is not code execution a form a plagiarism?
If we believe what he publishes in his Gates Notes every week, Bill is an avid reader these days. But in 1976 he had certainly not yet read anything from Pierre-Joseph Proudhon, who in 1840 published a seminal book called “Qu’est-ce que la propriété ? ou Recherche sur le principe du Droit et du Gouvernement”, which starts with a damning assertion on its first page:
Pourquoi donc à cette autre demande, Qu’est-ce que la propriété ? ne puis-je répondre de même, C’est le vol, sans avoir la certitude de n’être pas entendu, bienque cette seconde proposition ne soit que la première transformée ?
For those who do not speak French: Proudhon argues in this book that property is nothing but theft. To be honest, he was not the first to say such a thing: Rousseau and the Marquis de Sade uttered similar thoughts before him; as Saint Ambrose said: superfluum quod tenes tu furaris (“the superfluous property which you hold you have stolen”).
This idea, that property is theft, was first hauled and later rebutted by Marx. It was later reworked by Proudhon’s disciple Mikhail Alexandrovich Bakunin, for whom the means of production were to be owned collectively by society as a whole.
Most importantly, Proudhon’s and Bakunin’s later ideas inspired Pyotr Alexeyevich Kropotkin‘s thoughts in his classic book “The Conquest of Bread”, where he proposed a decentralized economic system based on mutual aid and voluntary cooperation.
(…) many critics will claim that people are lazy and they would not work willingly, even if it is only for five hours for the necessities. Kropotkin counters by saying that people are willing to work in jobs they enjoy and given the necessary free time to work on their own, with the guarantee of material stability, people will work willingly on collective gardens or in collective garment factories.
Collective gardens or garment factories. That is cute. Kropotkin should have mentioned SourceForge and GitHub instead.
Do the ideas of Bakunin and Kropotkin sound familiar? Let us recap: voluntary cooperation; decentralization; means of production owned collectively, and more. Any similarity to your preferred Open Source project is just a coincidence.
Yes, a coincidence; because Anarchy, as a political and philosophical movement, is based on two major principles: circled “A” graffitis on major cities, and the abolition of money. There is a chance your aforementioned favorite Open Source project is making money for somebody; a lot, even. Heck, Red Hat made 34 billion dollars out of Open Source. If that is not a lot of money, I do not know what is.
But if your favorite Open Source project is not making any money, beware, because the author might sabotage the next version of that code. That is what Kropotkin was talking about in terms of “guarantees of material stability” above; an aspect not really being taken care of by the current state of affairs.
But, wait. How did this article go from the Homebrew Computer Club to 19th century anarchists in a few paragraphs? The reason is that the key issue in the discussion of software licensing centers around the concept of property. Put in other terms: who owns the software?
If I write an app in Rust and I give you a copy of the final binary, what do you own? What do I own? Can you run it? If so, how much, when and where? What if I give you the source code? What can you do with it? Can you compile it, or are you just supposed to read it? What if the app is written in Python, where essentially there is nothing else but the source code? What if I write a SaaS application and host it on AWS? What do you own? What do I owe my customers for their monthly subscription? What does Jeff Bezos own? (Spoiler alert: at the current rate, he will soon own everything there is to own.)
All these are valid and difficult questions. They need an answer, because we do not live in that parallel universe where money does not exist, or where the Sex Pistols do not need to release a song called “Anarchy in the UK”; in this universe it does and they do, and money has a lot of power.
And because of this power, we need to know who is responsible for what. For example, what if a small business owner bought an Apple ][ in 1980 and installed VisiCalc in it, but later went bankrupt? Would Software Arts or Dan Bricklin have been responsible for such an event? Let us not venture into actual tragedies, where lives where at stake during (or affected because) the execution of a piece of code whose license dismiss all liabilities (more on this issue later).
Hence, copyrights, patents, and licenses.
The truth is that, in 1976, very few people knew what software was; let alone what a software license should look like.
Page 16 of Byte Magazine’s “Bicentennial Issue”, published in September 1976, features an article by Calvin Mooers called “Are You an Author?”, also freely available on the Internet Archive. The article explains in detail how copyright works, and what legal framework exists to protect intellectual property in the form of software.
Clearly, Bill Gates’ letter, published a few months earlier, had triggered many spirits. Mr. Mooers, who had been talking about the subject for a while, mentioned the word “softlifting” for the crime (yes, crime) of illegally using or distributing software.
Mr. Mooers’ article references prior work: one of those is “Development of an international system for legal protection of computer programs” (Communications of the ACM, April 1976, Vol. 19 No. 4, Pages 171-174) by a certain Oliver Smoot. This one explicitly mentions the need for a “fair use doctrine” (page 3), particularly in the case of developing countries, many of which did not even have a single computer inside their borders, but would, and soon enough.
Even the United Nations discussed the issue of software licensing, patents, and copyright, in the framework of equal development opportunities for all countries. “The Application of Computer Technology for Development, Report of the Secretary-General”, published in May 1970, says in page 63 (“The Protection of Software”):
It can be argued that computer programs like mathematical algorithms are ideas and as ideas they are not patentable. (…) no national patent law (with the exception of that of France of 1968, which came into force in 1969) makes specific reference to computer programs.
Precisely, France’s 1968 law 68-1 about patents literally does not consider “les programmes d’ordinateurs” as patentable inventions. This has been changed since, but it set a strong precedent worldwide, as anything that France does in general.
However, the overall ignorance of lawyers and judges in technological matters during the past 50 years has been, and is, legendary:
Whether you agree with what the Supreme Court said or ultimately ruled, it is impossible to ignore the reality that the Court just didn’t understand computers, and certainly didn’t understand the invention in question. A trend that runs throughout all Supreme Court opinions dealing with software and most Supreme Court decisions that deal more generally with patent matters.
Great. The theft of software, a statutory offense, is to be judged by people blissfully unaware of the nature of the thing being stolen. What could possibly go wrong?
The dramatic rise of software industry behemoths in the American economy, their active lobbying in Washington, and the overall ignorance of the field by those creating and applying laws, led to a series of successful changes in legislation. Successful, for the software industry, that is.
For those interested in the current state of things, chapter 5 of “Geekonomics: The Real Cost of Insecure Software” (2007) by David Rice is a must read, dedicated to the subject of liability in software projects. Or rather, the lack thereof, as guaranteed by said legislation.
After an explanation of the inner workings of the American legal system, one of the core points of the chapter is the all too important distinction between negligence versus strict liability:
(…) parties engaged in risky activities must be willing to ensure the safety of others as a price of doing business. (…)
Software manufacturers might indeed enjoy absolute immunity, but as history has shown, it will not, and should not, last forever. (…)
Zollers believes the court’s reasoning on strict product liability for (airplane) charts is a more perfect analogy for understanding software rather than the traditional thinking of copyright and intellectual property. Namely, software, like navigation charts, is functional and not literary.
“The Success Of Open Source” (2005) by Steven Weber is a bit of an outsider book in our industry. Written by a political scientist instead of a technologist, it rightly analyzes the social underpinnings of Free and Open Source software as “an experiment in social organization around a distinctive notion of property rights” (page 227). Mr. Weber starts by explaining the issues of property in software, and concludes:
The license represents foundational beliefs about the constitutional principles of a community and evolving knowledge about how to make it work.
The book finally puts the GPL in its right place in the great book of history, as one of the most important breakthroughs in the history and philosophy of property:
Open source licenses generally depend on copyright law for their claim to enforceability. (…)
The open source process relies on the principle that all software is always a beta release. (…)
The binding of third parties to an agreement like this (the viral clause of the GPL) is more like a property right, just one configured around distribution rather than exclusion.
(Pages 209 to 213)
Through research, I found out that the complex issues of software licensing are conveniently ignored by many authors, including McConnell and Barry Boehm. These issues are better explained by authors versed in politics and law, and we, as technologists, should read more of those. An important exception to this rule is Dr. David Wheeler, who has simplified our understanding of licenses, creating a map of all of them, explaining the connection between FLOSS and commerce, and even naming the first copyleft license by Richard Stallman among the most important software inventions:
The first real copylefting license (the Emacs Public License) was developed by Richard Stallman in 1985 – but since copyleft is really a social and legal invention, not a technological one, it’s not included in this list.
Enough Is Enough
Did you know that the Computer Fraud and Abuse Act of 1986, amended in 2001, “explicitly forbids action against software manufacturers for negligent manufacturing of software”, and that the provisions of this same act are at the origin of the tragic and all too early loss of Aaron Swartz?
Did you know that the DeWitt Clause contained in most commercial software licenses literally forbids anyone from publishing information about products without the owner’s consent? A clause that is a de facto infringement in the famous freedom of expression that Americans are so happy to talk about all the time.
We must, as a society, end the reign of the EULA, at least in its current form. This will not happen without government intervention, which this magazine openly encourages and support. It is time for software companies to face their responsibilities, and if needed, to face prosecution, in proportion to the preeminence of software in our modern world.
Simply put, current software licenses reserve all wrongs to society and all profits to Big Tech. It is time for a change.
Back To Micro-Soft
Microsoft has always had a complicated relationship with Free and Open Source software. Well, no, scratch that. It is not actually complicated. The key issue was always money. These days Microsoft is happy to use, collaborate in, and release software under open source licences; as long as their bottom line grows, all is fine.
And boy did it grow since Ballmer left the helm.
While he was still there, however, things were much more rocky. First he argued that Linux was communism. One year later, he said that Linux was cancer; well, actually, Linux was announced in late August 1991, which means that it is technically a Virgo.
In 2002, under pressure from pretty much everyone around them, Micro-Soft begat “Rotor”, an incomplete, clunky, cross-platform version of .NET 1.0 released under a “Shared Source License”… whatever that was.
Then, coup de théâtre: the cover story of the February 2007 issue of Dr. Dobb’s Journal was titled “Microsoft Loves Linux: What’s With That?” (sadly not available online). In it, Michael Swaine explained the repercussions of the recent Microsoft-Novell agreement, another chapter in the whole SCO vs Novell saga of the 2000s:
But instead, the reaction to the announcement was all about something that Microsoft was giving to Novell, or rather to Novell customers, under the agreement: A promise not to sue them for intellectual property infringement. (…)
As for the Microsoft-Novell deal, it may have, by contrast, helped Red Hat’s image. Red Hat’s stock went down after these developments, but it may come out a winner in the long run.
Now here is a prediction that turned out to be true; this explains each and every one of the 34 billion dollars.
That same year 2007, Ballmer said that Free and Open Source Software (FOSS) violated 235 Microsoft patents. But then in 2009, Microsoft “stunned the Linux World” by submitting device drivers to the Linux Kernel… with a GPLv2 license.
In 2016, years after leaving Microsoft, Ballmer finally openly confessed his love for Linux while Microsoft joined the Linux Foundation. As a result, Visual Studio Code (MIT License), .NET (MIT License), TypeScript (Apache License 2.0), F# (MIT License), and even SQL Server (ah, sorry, not open source), they all run in Linux these days. And if that was not enough, Linux is running on Azure, and you can run Linux apps natively on Windows.
All is well that ends well.
Maybe we should start a BreadTube channel for De Programmatica Ipsum. But before that happens, remember to donate to your indie-run, understaffed, but incredibly useful favorite FOSS project; and even to this magazine, if you enjoy it. We must all help each other to make a living out of our work. And instead of a license, a copyright, or a legal notice in your code, consider adding a blessing, like the one in the SQLite source code:
May you do good and not evil.
May you find forgiveness for yourself and forgive others.
May you share freely, never taking more than you give.