logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git

My-journey-from-MIT-to-GPL.md (4679B)


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