this post was submitted on 16 Jun 2024
1005 points (88.7% liked)

linuxmemes

20880 readers
8 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 

Context:

Permissive licenses (commonly referred to as "cuck licenses") like the MIT license allow others to modify your software and release it under an unfree license. Copyleft licenses (like the Gnu General Public License) mandate that all derivative works remain free.

Andrew Tanenbaum developed MINIX, a modular operating system kernel. Intel went ahead and used it to build Management Engine, arguably one of the most widespread and invasive pieces of malware in the world, without even as much as telling him. There's nothing Tanenbaum could do, since the MIT license allows this.

Erik Andersen is one of the developers of Busybox, a minimal implementation of that's suited for embedded systems. Many companies tried to steal his code and distribute it with their unfree products, but since it's protected under the GPL, Busybox developers were able to sue them and gain some money in the process.

Interestingly enough, Tanenbaum doesn't seem to mind what intel did. But there are some examples out there of people regretting releasing their work under a permissive license.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 15 points 5 months ago* (last edited 5 months ago) (8 children)

I'm an idiot making a thing, and I need to pick a license. Where's a good place to talk to people more knowledgeable than myself on the subject?

EDIT: so my thing isn't software, i probably should have mentioned that. I am making a ruleset and setting for something similar to but not exactly a tabletop rpg. The ORC license sounds promising, but the legalese makes my brain gray out. ChatGPT tells me to use a version of the Creative Commons license, but ChatGPT isn't exactly reliable.

[–] [email protected] 13 points 5 months ago

https://choosealicense.com/

Very simple guide with in depth examples if you want further clarification.

[–] [email protected] 9 points 5 months ago* (last edited 5 months ago) (1 children)

Not an expert by any means, but it depends.

Are you okay with people potentially making a closed-source fork of your code? If yes, then choose a permissive license like MIT, BSD, or Apache. If you do not want people to make closed-source versions of your code, and want all forks to remain open-source, then go with GPL.

Remember that choosing the GPL means other people, especially businesses, will be less likely to consider your project because that would mean they would have to make their versions open-source, which some people may not want to do.

EDIT: As always, this is not legal advice and I am not a lawyer.

[–] [email protected] 6 points 5 months ago

Just a small note that the businesses only have to open source their version if they release it. If they just use it internally then they don't have to distribute the source code. So it depends on the use case.

[–] [email protected] 6 points 5 months ago

I'll throw my opinions in here.

If you're publishing a standard or a reference application, a permissive license makes sense. What better way to guarantee compatibility than being able to use the reference code in your product. This is what happened with the TCP/IP stack, and it was used in its original form in Windows for years.

If you're making something that you want to build a community around, something more akin to the GPL may be more aligned with your goals. The nice part is, you can include MIT licensed projects as part of your GPL project. This means there is nothing stopping you from building your standard with a MIT license while building your community-driven application using GPL, maximizing the reach of your standard while reducing the risk to your community.

Note that either option opens you to EEE (Embrace, Extend, Extinguish), the GPL option just takes an extra step (clean room implementation of a published standard).

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

Wish someone would reply to this guy. I am also, a fellow idiot making a thing.

[–] [email protected] 3 points 5 months ago

Some did, check the replies.

[–] JackbyDev 6 points 5 months ago* (last edited 5 months ago) (1 children)

My personal philosophy:

  1. Is this trivially small? Don't bother licensing. People will just copy and paste regardless of what I do and I don't care. But it gives you the option to change your mind later. Licenses are irrevocable. (I specifically mean not applying a license and maintaining all rights.)
  2. Is it a small part of a whole that people need to use? LGPL. But take this with a grain of salt. FSF says to prefer GPL.
  3. Otherwise, AGPL. If there was a more strict but also commonly used license I'd use it instead.
[–] [email protected] 1 points 5 months ago* (last edited 5 months ago) (1 children)

Doesn't bother licensing

That's usually not what someone would want to do. The default if you don't provide a license is essentially "all rights reserved", and you're not granting anyone else permission to use it in any way. Everyone that wants to use it has to get explicit permission.

If you really want "no license" then you probably actually want to release it as public domain.

[–] JackbyDev 1 points 5 months ago (1 children)

For truly small random pieces of code I'm putting online, yes, that is what I generally want. (Also, that's sort of presumptuous to believe you know what I want better than myself.) I'm not going to hunt down people who are infringing on projects like this: https://github.com/JacksonBailey/julian

I made that because I was bored and thought I could easily solve a problem my wife described having at work. If someone copies and pastes it into their own project do I care? I mean, sort of? Not really. It's just too small to worry about. Specifically leaving it unlicensed gives me.the freedom and flexibility to license it as I choose in the future and also pursue people using it if they refused to stop. (Although this example is particularly trivial. I probably wouldn't do that. But that's my whole point, I'm only choosing to do this with trivial code.) Applying a license doesn't give me that flexibility though.

(Apologies for typos, I just woke.uo.and don't have my glasses on either.)

[–] [email protected] 1 points 5 months ago* (last edited 5 months ago) (1 children)

I'm not going to hunt down people who are infringing on projects like this:

It's more that people won't use the code at all if there's no license attached. For someone that's looking for a snippet of code to reuse, it's much easier to instead find a permissively licensed piece of code that performs a similar function, instead of contacting the author of the unlicensed code and trying to figure out what to do.

Also, that's sort of presumptuous to believe you know what I want better than myself

Sorry - I meant to address it to readers of your comment rather than you. I edited the comment to make it clearer.

[–] JackbyDev 1 points 5 months ago

I think you're putting a lot of faith in people when you say that. When's the last time you properly obeyed a license when copyijg and pasting from Stack Overflow? When's the last time you think the average dev did?

Also, no hard feelings about the presumptuous thing. Idk why I got defensive.

And as an aside, I think I've heard that in some jurisdictions there is no concept of public domain and in others you cannot willfully put things into it. So licenses like CC0 or the awfully named Unlicense are better alternatives. (Bad name because Unlicense and Unlicensed are so close in spelling but wildly different.)

[–] [email protected] 3 points 5 months ago (1 children)

Rule of thumb: if your full license text is longer than your actual source code, you've probably picked the wrong license.

[–] [email protected] 2 points 5 months ago (1 children)

That is actually a really bad rule, though you probably are only joking.

There are many examples of short, but very valuable code. Just think about anything math or physics related.

A totally new or even just a very efficient implementation of an already existing algorithm can be gigantic if others need to build upon it.

And many licenses are verbose not because they are complicated in intent, but merely because they need extensive legalese prose to cover against many possible avenues of attack.

[–] [email protected] 2 points 5 months ago

That is actually a really bad rule, though you probably are only joking.

No, I wasn't.

There are many examples of short, but very valuable code. Just think about anything math or physics related.

A rule of thumb is not a strict law. I never disputed that there are certain edge cases. What has to be considered but is not on the radar of most people: Threshold of originality. A "valuable" 3 LOC bash script is likely not being able to be copyrighted in the first place. In cases where the work is tedious but not creative, the work may also not be able to be copyrighted (depending on jurisdiction). See https://en.wikipedia.org/wiki/Sweat_of_the_brow whether a certain jurisdiction protects tedious work or not.

[–] [email protected] 2 points 5 months ago

You sound like someone i know xD

But I think gpl isn't limited to software, or is it ? Anyhow, you have different varaites of Create Commons, depending on much limits you put, from 0(nothing) to 4(no commercial use, no remix etc.) they have license chooser on website here

[–] [email protected] -1 points 5 months ago* (last edited 5 months ago)

Sometimes you just wanna get fucked. --MIT

Sometimes you want to start a beautiful family that makes the world a better place. --GPL

Match your license with your feelings about the project.

Just don't, you know, pick the former and mistake it for the latter because your ego gets stroked. If you pick MIT, you increase your chances of collaborating, but get in and get out.