With GPL, you're programming Freedom. With MIT, you're programming for free. ( lemmy.world ) Englisch

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.

mm_maybe ,

I am a consultant who sometimes writes code to do certain useful things as part of larger systems (parts of which may be commercial or GPL) but my clients always try to impose terms in their contracts with me which say that anything I develop immediately becomes theirs, which limits my ability to use it in my next project. I can to some extent circumvent this if I find a way to publish the work, or some essential part of it, under an MIT license. I'm never going to make money off of my code directly; at best it's middleware, and my competitors don't use the same stack, so I'm not giving them any real advantage... I don't see how I'm sabotaging myself in this situation; if anything the MIT license is a way of securing my freedom and it benefits my future customers as well since I don't have to rebuild from scratch every time.

Rayspekt ,

Can't you just publish the work under the GPL license? I have no idea of programming, maybe this is a dumb question.

brianorca ,

If someone is paying you to write code, they have some say in the contract about how it is licensed. You could be upfront about only doing GPL, and they could be upfront about saying no. But if you try to do it after the fact, that's a violation of the contract.

mm_maybe ,

The problem is, that would limit my own option to make a version of the software and sell it under a more limited license in the future. Whomever I sell it to then has the right to go ahead and redistribute it, competing with me. Sure, my current, highly niche code already carries that risk, but the MIT license doesn't stop me from releasing a modified version I may write that is more valuable as software, and then protecting that release with other licensing terms.

best_username_ever ,

that would limit my own option to make a version of the software and sell it under a more limited license in the future

Nope. As the author you're free to license your stuff however you want. You can use 10 different licenses for 10 clients if you want. You could write a custom version of your application and give a non-free license to a specific client if you want.

GreyEyedGhost ,

It really depends. If the contract gives ownership of the work created to the purchaser, he has no rights to it whatsoever. Moreover, trying to do a clean room implementation of your own code is almost impossible without help. A permissive license would give the purchaser unlimited use of the product, including resale while still allowing the producer unlimited use, as well. If the contract is written correctly, the producer might even retain ownership, with the right to use different licenses, while the purchaser would have few or no restrictions.

merc ,

Work for hire is a completely different situation. You have to accept the terms of whoever's paying you to do the work.

This comic is more about someone doing something as a hobby project, or writing their own software not under someone else's direction, where they have full freedom to choose their own license.

MeThisGuy ,
NaoPb ,

I didn't know there was a mailman living in my computer screen.

woelkchen ,
@woelkchen@lemmy.world avatar

Interestingly enough, Tanenbaum doesn’t seem to mind what intel did.

Yeah, duh. Intelligent people read licenses before they pick one.

But there are some examples out there of people regretting releasing their work under a permissive license.

That's like signing a contract before reading it and then complaining that it contains provisions that surprise you when they are enacted. I'm baffled on a regular basis by how many people understand FOSS licenses only on the basis for hearsay, for example when people insist that GPLed source code must be made available free of charge for everyone. The GNU project has a FAQ about the GPL that spells it out that this is not the case and yet hardly anyone discussing FOSS licenses has even read the FAQ.

glitchdx , (Bearbeitet )

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.

AceD ,

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

don ,

Some did, check the replies.

TheImpressiveX ,
@TheImpressiveX@lemmy.ml avatar

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.

AlpacaChariot ,

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.

Senshi ,

https://choosealicense.com/

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

woelkchen ,
@woelkchen@lemmy.world avatar

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

Senshi ,

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.

woelkchen ,
@woelkchen@lemmy.world avatar

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.

GreyEyedGhost ,

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).

s_s , (Bearbeitet )

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.

glukoza ,

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

JackbyDev ,

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.
interdimensionalmeme ,

Someone please SUE ANYCUBIC AND CREALITY FOR STEALING KLIPPER !!!!!!!
Make them give back to the community that created their business !!

laurelraven ,

I don't know much of anything about Anycubic, but isn't pretty much everything Creality releases open? How are they withholding from the community?

interdimensionalmeme ,

Last I checked, they haven't release the source of their modified / bastardized version of klipper

pineapplelover ,

My project is MIT because the upstream project is MIT, could I slap a GPL on there? How would I do that? What would that change?

TheOubliette ,

Yes you can. You just change the license that lives with the code.

What it changes depends on the project, how it's used, who uses it, etc. It's really a social question of how people might interact with your project differently.

nossaquesapao , (Bearbeitet )

You can use the gpl license in newer versions of your software, but keep in mind, in order to avoid future misunderstandings, that you can only do that because the upstream project uses the mit license. If the project used a reciprocal license like the gpl, you'd need to stick to it or use a compatible one. You can't, for example, take a upstream gpl project and use a mit license

pineapplelover ,

From what I understand, I can't replace the license, but I can add on top of it. So it will kinda have both the upstrean's mit license and my gpl license. I remember looking this up a while back and it was a little confusing.

nossaquesapao ,

You can replace in the sense of making new releases on the gpl license. The mit license only requires to keep the original copyright notice. I changed the original comment to avoid this confusion, thanks for pointing that out.

HappyFrog ,

I find MIT to be good for libraries as you can get companies using it and working on it. However, apps and binaries should be copyleft to not get fucked over.

douglasg14b ,
@douglasg14b@lemmy.world avatar

This is what LGPL is for.

You can still use a library like a library freely, without restriction, but you are keeping your IP protected from being copied cloned and modified elsewhere.

mhague ,

Permissive licenses are truer to the spirit of free software but copyleft, while kind of a copout, seems more pragmatic due to corporations. I wouldn't avoid copyleft licensing on principle or anything but it feels incongruous to want to make something freely available to all but then nitpick over how they use it.

grue ,

Permissive licenses are truer to the spirit of free software

Yeah, which is why the person who popularized the concept of Free Software invented copyleft -- oh wait.

"The spirit of Free Software" is freedom for the end user; as such, copyleft is much more truer to it. Remember, the whole thing started with the notion that Xerox shouldn't be able to stop you from fixing your fucking printer by withholding the source code to it.

mhague ,

That's what I said. Free licenses are for free software, while copyleft is for "free software." Copyleft is because corporations like Xerox will act in bad faith, etc. Free licenses are for free software. Copyleft is for Free Software, The Movement. People aren't cucks for not deigning to make every piece of code they write part of some statement.

grue ,

People aren't cucks for not deigning to make every piece of code they write part of some statement.

Factually speaking they are, but I'll concede that sometimes they don't realize it.

pelya ,

Busybox was quickly replaced by BSD-licensed Toybox everywhere for that exact reason.

Copyleft licenses (like the Gnu General Public License) mandate that all derivative works remain free.

This is false. It's perfectly legal to take GPL-licensed work, modify it, and sell it. As long as the work itself does not reach the general public, you don't need to release it's source code to the public (e.g. your work for the military, you take money for your work, and provide source code to them, but not release it publicly).

Adanisi , (Bearbeitet )
@Adanisi@lemmy.zip avatar

Busybox is very much widely used though?

And how is it false that the GPL makes software remain free? Read the free software definition, it's about the freedom of users, not the freedom of people who aren't users (that doesn't really make sense). Free software isn't "source code available to general public even if they aren't users".

renzev OP ,

I think the confusion here is selling software vs distributing source code. Free software can be sold, as long as you provide the source code and don't try to stop others from redistributing copies for free. The busybox GPL lawsuits were about companies that redistributed busybox (or software built on top of busybox) without providing the source code. Whether or not they charged money for it isn't relevant.

pelya ,

It's false that you cannot sell GPL-licensed work.

Supermariofan67 ,

Ok but I don't see how that was ever in dispute?

brotundspiele ,

Interesting point for the military: If you build a rocket that contains GPL software, and shoot the rocket towards your enemy, you are obliged to send another rocket containing the source code.

Moorshou ,
@Moorshou@lemmy.zip avatar

This made me chuckle.

Fedizen ,

they'd have to sue you in court to get the second rocket.

nomadjoanne ,

Tannenbaum is fucking asshole. Isn't he the idiot that told Torvalds "you certainly would have failed my class if you submitted your OS as a final project?"

The guy deserves no respect.

nickwitha_k , (Bearbeitet )

Really?...

Just about every FOSS and Source-Available license that I've seen is perfectly valid. As a software developer, one has the option to choose how they wish to license their software. This can be based upon one's personal philosophical view or what seems most appropriate for the piece of software.

Not everyone is motivated by profit. Most software that I develop personally is permissively licensed because IDGAF as long as I have enough to get by. If I write some code that makes someone else's life better or easier, that's more than enough for me.

Wait. What am I saying? This is the Internet and, according to the rules of corpo social media, we're all supposed to be dicks to each other to further "engagement". WHICH ONE OF YOU SAVAGES IS USING TAB INDENTATION INSTEAD OF BLOCKS IN YOUR LICENSE FILES?!?;?!!!!111one

robigan ,

I like your idea about using permissive licenses as long as it helps people. But as you said, “if … that makes someone else’s life better or easier …”, what would you do if someone used it to hurt people instead? I’d personally feel like shit if my software were used for that, and as others said in this post, they’d prefer to have entities request an exemption rather than have their code used in ways they don’t approve of. So what say you?

nickwitha_k ,

what would you do if someone used it to hurt people instead? I’d personally feel like shit if my software were used for that, and as others said in this post, they’d prefer to have entities request an exemption rather than have their code used in ways they don’t approve of. So what say you?

I've a few thoughts on this:

  • Anyone who wants to use anything that I release for harm, will probably do so regardless of license. Bad actors are going to act badly. Plus, chances are that they'd see no legal repercussions as underdogs winning in court is the exception, not the rule. The legal system is heavily stacked against the little guy.
  • I tend to specifically avoid working on things that are weaponizable to reduce the chance of ethical conflict.
  • The projects that I've released or plan to release tend to be pretty esoteric. The one that saw the most interest was years ago and it was an adapter between abandoned gallery plugin and an abandoned social media CMS thing. It would take some great creativity to hurt people with that, other than making them read my horrible code from that era. My current projects are more about FPGA and mixed reality stuff.
  • Once I've created something and shared it freely, it is no longer wholely mine. I cannot dictate how one uses it, anymore than a musician can dictate how someone listens to the radio. As long as one abstains from creating tools intended to harm (or that can be predictably turned to harm), I don't see legitimate ethical culpability. We only have control over ourselves.
robigan ,

Interesting, I see why you’re saying that who wants to do harm with your code can do so however they want. Although licenses are the rules of the system which gives a fighting chance to stop such abuse if I can. Not that the system works properly most of the time, but it doesn’t mean it never will.

nickwitha_k ,

Exactly. Bad actors are going to act badly. Unfortunately, something that we have to accept as reality (and something that some political philosophies fail to plan for). Bad actors will break the rules and, if they are wealthy, they will more often than not get away with it in the current state of affairs.

However, I would say that you bring an interesting point. It would be worthwhile, philosophically to have a "Pacifist MIT" license, being permissive but explicitly denying legal use to MIC.

nUbee ,

When I think of Copyleft licenses, I just think of it as "Use this program as you see fit, but if you share/redistribute it, you may not add any restrictions to it."

I don't understand why there are communities that hate GPL so much. It is such a powerful license that practically guarantees that the program will be free for any who wants it, it just won't allow someone to add restrictions to it.

I've heard arguments against the GPL like: "It's too restrictive!" Only if you want your program to be muddled with any kind of program that doesn't respect freedom. Saying the GPL is too restrictive to developers is like saying the 13th amendment of the US Constitution is too restrictive to slave owners.

douglasg14b ,
@douglasg14b@lemmy.world avatar

I'm going to guess because of the tools that don't use LGPL.

Which makes them quite limiting and kind of controversial since you have to adopt their license from my understanding, even if used as a library.

I try and use LGPL on all my projects since it allows others to use the Library as a library, and anyone that wants to modify the source has to copy left.

corsicanguppy ,

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.

Is that arguable because it's complete bunk? You may as well say the same about IPMI.

uis ,
@uis@lemm.ee avatar

IPMI isn't required to boot regular desktop

boredsquirrel ,

Permissive License promoters are corporate trolls

pewgar_seemsimandroid ,

Apache and GPL should replace MIT

nossaquesapao ,

What are the advantages of apache over mit?

noahimesaka1873 ,
@noahimesaka1873@lemmy.funami.tech avatar

Patent licensing. Apache explicitly grants the use of patented technology in the code. MIT doesn't do that so you can be sued for patent violation.

nossaquesapao ,

Thats really interesting, I didn't know that concept existed in foss licenses.

uis ,
@uis@lemm.ee avatar

It exists outside foss licenses in countries, where math can be patented.

nossaquesapao ,

[Thema, Post oder Kommentar wurde durch den Author gelöscht]

  • Loading...
  • uis ,
    @uis@lemm.ee avatar

    natural substances can be patented.

    Oh, right. In USSA you can patent spider silk and apple tree. Complete absurd.

    uis ,
    @uis@lemm.ee avatar
  • Alle
  • Abonniert
  • Moderiert
  • Favoriten
  • random
  • linuxmemes@lemmy.world
  • haupteingang
  • Alle Magazine