this post was submitted on 02 Aug 2023
14 points (100.0% liked)

Programming

227 readers
1 users here now

Welcome to the Lemmygrad programming community! This is a space where programmers of all levels can discuss programming, ask for help with problems, and share their personal programming projects with others.


Rules

  1. Respect all users, regardless of their level of knowledge in programming. We're here to learn and help each other improve.
  2. Keep posts relevant to programming and related topics.
  3. Respect people's personal preferences. If you disagree with someone's choice of programming language, method of formatting code, or anything else, don't attack the poster. Genuine criticism is fine, but personal attacks are not.
  4. In order to promote breaks from typing, all code snippets must be photos of code written on paper.
    Just kidding :), please use proper markdown code blocks.

founded 2 years ago
MODERATORS
 

Copyright is a tool of suppression by the bourgeoisie etc etc but as long as we have to deal with this tomfoolery, what licenses do you use or recommend, and why? I'm also open to the idea of custom or silly licenses if you can justify that they won't cause more trouble than they're worth.

I've heard the tale of a Rust DS emulator whose github repo was deleted, but because either there was no license or the license was something dumb, no one was able (or brave enough) to revive it, so i feel like it's important to take this more seriously than i have been. For the few things i have made i just put "copyright is fake" or "this isnt my code, it is OUR code, comrade!" in LICENSE.txt.

top 7 comments
sorted by: hot top controversial new old
[–] [email protected] 14 points 1 year ago

There are lots of options for open source licenses. Most of them will make your code changeable and runnable by anyone. The question is: does someone who takes your code and changes it have to do the same thing?

If you don't care if someone takes your code, makes changes, and then close sources it all, then the MIT, Apache, or BSD license is for you.

If you want to keep each file you made open source, but let someone mix-in close source files, go with the MPL (Mozilla Public License)

If you want to keep your project open source, but don't care if a closed source project links to it and uses it as a library, then go with the LGPL.

If you want to keep your project open source and force anyone who links to it to be open source as well, use the GPL.

If you want to require even more openness, take a look at the AGPL. This requires anyone who uses your code to release their changes, even if they only run the code on their own servers and never ship the code to users.

I personally like the MPL. I want to keep any direct changes to my work open forever. But if someone wants to fuse in closed source code, I don't mind. It's not a super popular license though. Most people go with the BSD/MIT/Apache licenses or the GPL.

[–] [email protected] 10 points 1 year ago (1 children)

That's the whole point of the copyleft. It uses copyright against itself so that it remains free for all of time. Licensing under the GPL is exactly the same as saying “this isnt my code, it is OUR code, comrade!”. That's the whole point.

[–] [email protected] 6 points 1 year ago (1 children)

i know of copyleft, but im not sure i like MIT(+other lenient licenses) or GPL. MIT makes my code free for the taking for any big corpos (not that im cool enough for that to happen, but hypothetically) and i'd like to inconvenience them at every opportunity. yet GPL would be a pain for normal smaller devs who just want to use or modify my stuff without license headaches.

but i'm probably overthinking it, aint nobody using my shitty ass code 🙃

[–] [email protected] 4 points 1 year ago

You might want to use the LGPL then, which would allow your code to be linked dynamically without requiring the calling code to be GPL. That would allow your code to be used across most (but not all) platforms.

There's also the option of dual licensing. Qt is a large project that does this. You can use it for free under the GPL, but they are also willing to license it under a commercial license for users who can't/won't obey the GPL (embedded systems).

[–] [email protected] 9 points 1 year ago

GPL or bust, inconvenience the permissive idiots as much as you can. No half measures waltuh, it's free or it doesn't exist.

[–] [email protected] 6 points 1 year ago (1 children)

I’m a fan of the Affero GPLv3. It’s like the GPLv3, but it closes a potential loophole where if someone runs my code on a backend server, they wouldn’t have had to provide that source code to users.

[–] [email protected] 2 points 1 year ago

TIL about that loophole. im weary of using GPL because i dont want to inconvenience average joes who want to include and redistribute my work while using a different license for other bits. but if my mind is changed i would want to use Affero, thanks!