My-journey-from-MIT-to-GPL.md (4679B)
- ---
- date: 2019-06-13
- layout: post
- title: My personal journey from MIT to GPL
- tags: ["philosophy", "free software"]
- ---
- As I got started writing open source software, I generally preferred the MIT
- license. I actually made fun of the "copyleft" GPL licenses, on the grounds that
- they are less free. I still hold this opinion today: the GPL license is less
- free than the MIT license - but today, I believe this in a good way.
- If you haven't yet, I suggest reading the [MIT
- license](https://opensource.org/licenses/MIT) - it's very short. It satisfies
- the four essential freedoms guaranteed of [free
- software](https://www.gnu.org/philosophy/free-sw.html):
- 1. The right to use the software for any purpose.
- 2. The right to study the source code and change it as you please.
- 3. The right to redistribute the software to others.
- 4. The right to distribute your modifications to the software.
- The MIT license basically allows you to do whatever you want with the software.
- It's one of the most hands-off options: "here's some code, you can do anything
- you want with it." I favored this because I wanted to give users as much freedom
- to use my software as possible. The GPL, in addition to being a [much more
- complex tome to understand](https://www.gnu.org/licenses/gpl-3.0.html), is more
- restrictive. The GPL forces you to use the GPL for derivative works as well.
- Clearly this affords you less freedom to use the software. Obligations are the
- opposite of freedoms.
- When I first got into open source, I was still a Windows user. As I gradually
- waded deeper and deeper into the free software pond, I began to use Linux more
- often[^1]. Even once I started using Linux as my daily driver, however, it took
- a while still for the importance of free software to set in. But this
- realization is inevitable, for a programmer immersed in Linux. It radically
- changes your perspective when all of the software you use guarantees these four
- freedoms. If I'm curious about how something works, I can usually be reading the
- code within a few seconds. I can find the author's name and email in the git
- blame and shoot them some questions. And when I find a bug, I can fix it and
- send them a patch.
- [^1]: Fun fact: the first time I used Linux was as a teenager, in order to get around the internet filtering software my parents had installed on our Windows PC at home.
- The weight of these possibilities did not occur to me immediately, instead
- slowly becoming evident over time. Today, this cycle is almost muscle memory.
- Pulling down source, grepping for files related to an itch I need to scratch,
- compiling and installing the modified version, and sending my work upstream -
- it's become second nature to me. These days, on the rare occasion that I run
- into some proprietary software, this all grinds to a halt. It's like miscounting
- the number of steps on your staircase in the dark. These moments drive the truth
- home: Free software is good. It's starkly better than the alternative. And
- copyleft defends it. Now that I've had a taste, you bet your ass I'm not going
- to give it up.
- As the number of hours I've spent on FOSS projects grew from tens of hours, to
- hundreds, to thousands and tens of thousands, I've learned that the effort I
- sink into my work far outstrips the effort required to reuse my work. The
- collective effort of the free software community amounts to tens of millions of
- hours of work, which you can download at touch of a button, for free. If the
- people with their fingers on that button held these same ideals, we wouldn't
- need the GPL. The reality, however, is that we live in a capitalist world. Our
- socialist free software utopia is ripe for exploitation by capitalists, and
- they'll be rewarded for doing so. Capitalism is about enriching yourself - not
- enriching your users and certainly not enriching society.
- Your parents probably taught you about the Golden Rule when you were young: do
- unto others as you would have them do unto you. The GPL is the legal embodiment
- of this Golden Rule: in exchange for benefiting from my hard work, you just have
- to extend me the same courtesy. Its the unfortunate acknowledgement that we've
- created a society that incentivises people to forget the Golden Rule. I give
- people free software because I want them to reciprocate with the same. That's
- really all the GPL does. Its restrictions just protect the four freedoms in
- derivative works. Anyone who can't agree to this is looking to exploit your work
- for their gain - and definitely not yours.
- I don't plan on relicensing my historical projects, but my new projects have
- used the GPL family of licenses for a while now. I think you should seriously
- consider it as well.