A couple months ago there was some drama in the Clojure community. An excellent summary can be found in eccentric_j's top comment on this reddit thread.
The TLDR is that someone got sick of how difficult it was to make contributions to Clojure and ragequit (politely), then Rich made this "it's not about you" post, and then a few days later as if to rub salt in the wounds REBL was released with a non-open-source license.
The whole saga just reminded me of Zed Shaw's essay on Turd Cookies. Especially the REBL conclusion.
FB: “You don’t have to eat them sir! Nobody said you had to eat my free cookies!”
Z: “You offered them to me asshole! If I’d known there was turds in the free cookies I would have just bought the fucking turdless cookies from you and saved myself the epic amount of shit now coating the inside of my fucking mouth.”
Except here the turd is that the code actually isn't free software.
This isn't unique to Clojure, or Ruby, or Python communities. There's tension in all of open source between developers and users, though some places have less tension than others. OSS developers want to be treated respectfully, even when you're not paying them (nor do they have to accept any offers of payment including donations) and in that sense they don't "owe" you anything. Users don't want to use shitty software. Users who are also developers sometimes want to feel part of a "community".
I don't have any answers, but I do have my own perspective. The thing I'd want to encourage more of over anything else is Carmack's "fire and forget" open source. You put something that was proprietary out there under an OSS license, and even if you do nothing else with it, that's amazing. The perspective is shaped by the belief that the things that really matter are the Four Freedoms of free software.
* The freedom to run the program as you wish, for any purpose (freedom 0).
* The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
* The freedom to redistribute copies so you can help others (freedom 2).
* The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
If you have this, I'm happy. If you don't have this, I'm unhappy.
If you have this + other potentially beneficial things, great, but the other things are less valuable. If you have the freedoms but not this or that (ongoing support, new releases, community, ability to distribute a copy that takes away the freedoms (BSD licenses), patent protection, tivoization protection, trademark grants, the program in a programming language you prefer...) it's ok. You've still got something amazing, you have what you need.
I'd still consider myself Clojure-curious after all these years, but I've definitely cooled off on it since I last did a project that paid me to use it. The biggest reason is that my philosophy has diverged from the language founder's. What the latest round of drama revealed I think is that the philosophy diverges more than people expected; there's no hard commitment to the principles of Free Software that sometimes we onlookers just assume "open source" developers share even if there are quibbles over OSI licenses. (Honestly I thought that was clear with Datomic.)
I'm not as far-rms as to say that the disagreement is one of such moral magnitude that good and evil come into play, but there is at least a right and wrong, a better and worse, and as always tradeoffs. I won't fault anyone trying to make an honest living, in fact I encourage it, and sometimes such methods include creating new proprietary software. (That's my own source of livelihood at the moment too.)
Posted on 2019-02-09 by Jach
Trackback URL: https://www.thejach.com/view/2019/2/open_source_dramas