Towards an ethical open source license

James Harton on April 16, 2019

Recently there has been a lot of discussion about 996.ICU and this has highlighted an uneasy feeling I've had about Open Source for a very long tim... [Read Full]
markdown guide
 

other than those which enable derivative works to stay open source

This one is only there because Linux and GNU's software was already under the GPL when OSI got off the ground. To understand this, you need to understand what open source was about in the 1990's when the OSI started and why they had to include GPL software under their umbrella.

So, it's the 1990's. Most people collaborate by passing floppy disks around. Places with serious IT chops have LANs and servers. The Internet explodes onto the scene, and suddenly everyone sees no reason that they shouldn't be networked. Windows for Workgroups and Windows 95's built-in LAN networking worked okay for small offices. I remember being dropped off as a 15 year old intern with a pile of cable and a network hub to turn a small business into a networked small business. The setup took about an hour. The training took longer, but a large part of that was people excitedly asking you to confirm that, yes, they could just open this file on Bob's computer without having to copy it on a disk first.

As soon as you outgrew that, you were looking at putting a server in. These places weren't going to drop the money for a Windows NT license and the many thousands of dollars for a Solaris, HP-UX, Digital Unix, or AIX server was out of the question. So you grab a spare PC and install a free Unix clone.

That would have been BSD, but a frivolous lawsuit tied up that whole world in the early 1990's. You couldn't in good conscience leave a machine running an OS that might be declared illegal or suddenly require the business to pay licensing fees that they never agreed to. So people glommed onto Linux (which was a piece of crap at the time compared to BSD), threw the GNU toolchain on it, and got a usable free Unix clone. By the mid 1990's you could order CD sets from RedHat, SuSE, Slackware, Debian, TurboLinux, and others that don't exist anymore.

That low end market hasn't got much money in it. The money is upmarket. Fledgling companies like RedHat and SuSE wanted to move upmarket. IT consultants who were working with Linux wanted to move upmarket, too. But enterprise IT is a different game. They have purchasing processes and vendor relationships and support contracts. When someone shows up saying, "Sure, here's some CDs for free and all the source code," they assumed that they were being scammed. It didn't seem serious. And then they went online and started reading about free software, and found Richard Stallman, "information wants to be free," and people using the word hacker, and told the Linux community to get lost before the FBI was called.

Enter the open source movement. Richard Stallman and the FSF controlled "free software." You couldn't rebrand that term. There was too much baggage out there around it. So a new term was needed: "open source." And Linux was the poster child. Eric Raymond traveled the country and wrote essays. Microsoft published total cost of ownership analyses (which for a corporate IT department were likely correct at the time). And big corporations got the idea: these guys are writing this software that is good enough and I can take it for free, and they even fix my bugs faster than the vendor that pays me because it makes them feel important.

At this point a lot of companies started trying to cash in by saying that they had open source software, so OSI trademarks the term "open source" and sets up guidelines for a license. But remember, this is all about market disruption. The clauses in the GPL that force people to give away changes they make were embarrassing for them. But if they excluded the GPL, they would have excluded Linux and GNU's software, they would have excluded GhostScript, they would have excluded a bunch of other stuff, and no one would take them seriously. Remember, BSD was poisoned by the lawsuit.

The whole point of "open source" is to be friendly for businesses, to reduce their cost of doing business, and to allow a set of disruptive businesses to move upmarket. It intentionally divorced itself from ethical notions.

So why don't we see more restrictive licenses that impose ethical clauses? Part of it is inertia and community expectations. Given communities expect certain licenses. The libraries that I released in Haskell were largely GPL licensed originally. BSD is the norm in that community, and I ended up relicensing several of them when I handed them off to other maintainers.

Part of it is that writing a good license is a lot of work and requires a fair understanding of international intellectual property law, so grab the GPL, slap it on, and call it a day. Those of us who lived through this fracas in the 1990's learned more about software licensing and intellectual property law than was probably healthy, and with that came a sense of "oh man, I have no idea how I would write that so it makes sense all over the world." For example, if you have an employee from a country that forbid labor unions, the 996.ICU license would prevent a company that had unionized employees from using the software. Or say that you have a country with a socialized healthcare system that forbids companies from providing supplementary healthcare as a benefit to employees. An employee from that country would force a US company to no longer provide health insurance to use 996.ICU licensed software. "Stricter" can go both directions.

 

Thanks for the refresher. At the time I was fully bought in on the GPL and what it stands for. The Ruby community loses it's shit if you license your code anything other than the MIT license, so these days I tend to use that.

You're right that writing new licenses will not be easy, however it seems to me that a framework like CreativeCommons might work where you have a base license and some optional clauses.

code of conduct - report abuse