They're silly, folks. Intellectual property is a spook.
Under communism all software will be free to share, use, and modify without restriction.
This post inspired by the current Ruby mimemagic
gem license drama.
In case you're not following:
- mimemagic is a Ruby library (gem) used for detecting the MIME types of files, either by their extension or by their content
- it's widely used and included in Rails
- it was MIT licensed
- it was using an xml file from freedesktop dot org, which is a GPL project
- the GPL license means that every project that uses that software must also be GPL licensed - open-source, freely usable/modifiable/etc
- someone from freedesktop pointed this out to the mimemagic maintainer
- the maintainer republished the gem as GPL and yanked all the MIT licensed gems, breaking builds everywhere, and making rails currently uninstallable
I have a big headache because of ideology.
Pure ideology.
The issue with GPL and living in a capitalist society means that if you have any significant library, tool, or framework, GPL licensing it means that you either effectively kill the framework by making sure that it can only ever be open source.
I'm not talking about applications, like Lemmy or whatever, which yeah if someone forks an open source application that I wrote or maintained it should stay open source if I want it to and not get turned into a new Alphabet product.
But that shouldn't apply to non-application code. GPL-poisoning a framework like Rails would kill it — companies not using it means that you can't get a job for knowing it, which sadly in capitalist society means that at best it becomes a niche or hobby tool. Contributions drop significantly.
Open source is great but I'm way more likely to find and patch bugs or add features to libraries and frameworks if I'm using them 40+ hours a week and getting paid for it. I don't have the energy to do my job after work.
LGPL solves this problem pretty well, but GPL will sharply reduce the number of people contributing to it.
deleted by creator
Yeah that's totally fair
Honestly the GPL license from this issue has done a fair amount of praxis in terms of wasting company time if my work is anything to go by lol
You can just use dynamic linking for libraries tools and frameworks tho
Yes and no, it's technically possible but can become an absolute nightmare from an ops perspective depending on the language and the framework — interpreted languages in particular become a huge nightmare with this approach. You'd need to basically rewrite entire language ecosystems to use that model in the first place.
This would also be a huge headache for reproducibility on developer machines, and that's even if your org is lucky enough to have a good package management tool chain (like Nix or maybe Docker) and if you limit developers to one operating system.
I've been responsible for build reproducibility for a 50ish member engineering department for several years. We mostly use interpreted languages and the number of hours I've spent on obscure DLLs breaking shit in weird ways on certain developer machines and not others is already really silly.
deleted by creator
A good life hack is that if you get your devs used to containers and then get rid of the containers, they sometimes express a sentiment that gets close to gratitude 🥲
deleted by creator
Haaaaa yeah that's a little too real
My devs have stopped doing that since my team started the cultural practice of tagging the entire team responsible for the broken build if it's towards the end of the workday and they don't respond, and fortunately bullying works 😌 shame keeps them from logging off until their specs go green
Probably helps that we've been good about keeping our CI server inline with prod so it doesn't break much, and to their credit the devs are good at fixing specs that intermittently fail
deleted by creator
Oof that's rough. Guessing if it's a small team it might not be an option, but if you can get them to do a little mini-rotation where they have to spend time "fixing the build server" (i.e. debugging what they think is wrong with the build server and realizing it's their shitty tests) to get acclimated that might help? Otherwise idk what solves that beyond a culture of treating broken builds and bad specs like the #1 priority after prod fires :/
Good luck and solidarity, comrade :rat-salute:
deleted by creator