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.
Ah okay, i read the comment as "MIT is bad for public use". I usually license my open source stuff as MIT since I don't care what happens to them.
Anything built on top of MIT software can then be licensed under a proprietary license allowing capitalists to effectively take from the commons and give nothing back.
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.
Yeah that's totally fair
anyway, the problem remains capitalism. what license destroys capitalism?
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.
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 🥲
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
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:
Intellectual property is the no 1 “it so obviously shouldn’t exist but go ahead and try telling that to an American-brained person” issue..like people sometimes nod along if you say “how can you OWN a piece of the earth??” Yet I should be jailed for trying to sell merch with Mickey Mouse on it, or downloading music that the artists barely get paid for anyway.
Of course, the most important right of all is the right to make money, not the right to access resources. So beg for your insulin and penicillin you fucking peasant, and enjoy this deep fake commercial of bob Ross drinking a mtn dew.
I'm all for open source but GPL is a fucking headache in any commercial use.
It's ironic that Stallman says that GPL has more "freedoms" while in fact, those freedoms aren't freedoms at all, they are restrictions so people cannot use any GPL software without it infecting everything it's used with the GPL license. Just by using one piece of GPL software, your software becomes GPL too.
I think the license with the most freedom would be the public domain since it doesn't dictate where and when you can use the software.
Yeah, maybe it’s a view I have internalized since I write code for a living and I have to be really careful about licenses in software we use.
If course if there was no profit motive in software, GPL would be completely fine.
I still think the viral nature with GPL is a bit too much, I prefer LGPL model where you can use unmodified version of a library without your own software becoming GPL. It also encourages you to provide patches upstream so everyone benefits from the improvement without having to GPL their code.
Yeah your perspectiveon this is basically that of the corporation, because in doing your job you do enact their will, so what makes your job easiest is what the corporation dictating your work wants. It is a pain for corporations by design, and part of your job is managing this difficulty, in which they place all blame upon you, its easy to end up hating the license instead of the corporation that demands you avoid it.
The problem with all of this is that being a part of the community doesn't buy me food.
The main incentive for a developer working for a capitalist to use free software is to make their job easier or to get their boss off their ass. GPL doesn't do that, and in fact actively works against it.
If the GPL could incentivize developers to turn against their bosses, that would be great. But a software license can't do that.
So the only people who contribute to GPL are either independently wealthy or weirdly enthusiastic about doing their day job for free in their spare time.
they are restrictions so people cannot use any GPL software without it infecting everything it’s used with the GPL license. Just by using one piece of GPL software, your software becomes GPL too.
That's the idea, you're preventing software that depends on you from enforcing bullshit restrictions.
those freedoms aren’t freedoms at all,
Freedom to restrict people's use of software is a net decrease in freedom. Restrictions in how you can restrict people's use of software is a net increase in freedom.
are you sure you don't want to spend hundreds of dollars a month so you can subscribe to adobe so you can have their newest photoshop that is pretty much the same of the last version with a maybe 2 new features most people would not even be aware of how to use instead of just downloading a pirate version of it for free??
Under communism all software will be free to share, use, and modify without restriction.
I like the restrictions that the GPL put on a project, so people have to share the source with the software if they use/improve some GPL software, but I imagine those kind of restrictions won't be necessary without money or states.
This is copy and pasted from another comment I wrote in this thread but here's my take on it:
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.
Afaik that's backwards: using GPL to create derivative works requires you to GPL license your stuff too, but AGPL only applies if you distribute your derivative works (ianal but I think that applies to web stuff too? Not sure)
AGPL is the Affero GPL , and it's stricter than the GPL, because it also requires you to share your source even if you only use it to provide services online, and never distribute the program.
somehow doubt this emote is gonna stay in the list long
what's the GPL that has an exception to the inheritance rule if the software is used as a library? I like that one the best, it avoids headaches like this.
The LGPL, if they modify your code it has to be LGPL, if they use your code in a project it can be whatever license they want
I uploaded a project to github recently because I wanted access to an issue tracker. It only works for proprietary hardware and data, so it isn't useful for anyone else, but for fun I uploaded it with a modified version of the Fuck Around and Find Out license. I like that one.
e: This was posted by someone here a week or two ago, and I think it's a good, timely read on the topic of licenses. https://www.boringcactus.com/2020/08/13/post-open-source.html
That's a fascinating read, thanks for sharing! I'd never seen the FAFO license before but I like that one too. Reminds me of Doug crockford's "don't use it for evil" license clause which the FSF people got mad about, Google Code won't host it, and IBM's lawyers specifically asked for an exception to it lol
Yeah, any time. I don't think I'm ever going to write code in my own time that can be used to make profit.
Christ, that was Crockford? How long until he comes out with a "GPL: The Good Parts" license and says something misogynistic in it?
I agree with what's been said here, licenses are generally bad but necessary under capitalism. Pragmatically I am most interested by these licenses https://licensezero.com basically things have to be ((open source || non-commercial) || pay for a license). I have yet to decide, but will probs re-license all my projects under one of these or similar at some point
I'd like to see a license even more onerous and infectious than the GPL, but with restrictions lifted when used by coops. Like it's nice that you made your software completely toxic towards capitalist-owned businesses, but it's pretty arrogant to think that's sufficient, or the only thing you need to keep their hands out of. Software isn't that important.
How about a "you can use it unless I say otherwise" license? For the most part I wouldn't care who tf uses my code, I would just want to revoke on a case by case basis.