There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

With GPL, you're programming Freedom. With MIT, you're programming for free.

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.

glitchdx , (edited )

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 ,

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 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 , (edited )

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 , (edited )

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.
dan , (edited )
@dan@upvote.au avatar

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 ,

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

dan ,
@dan@upvote.au avatar

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 ,

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

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

boredsquirrel ,

Permissive License promoters are corporate trolls

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.

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 , (edited )

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.

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 , (edited )
@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 ,

This made me chuckle.

Fedizen ,

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

nickwitha_k , (edited )

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.

snek_boi ,

We are at risk

of losing many developers who would otherwise choose a license like the GPL. Fortunately, I’m glad to be surrounded by people, just like you, who care about licenses like GPL. By uploading this type of content and engaging with it, be show our commitment to it. I wish to suggest how we can deal with this threat.

We will lose developers who choose GPL if we use words that suggest GPL is “restrictive”. Sure, the word “restrictive” was avoided in this meme by using the word “copyleft”, but the cognitive jump from “permissive” to “restrictive” is minimal: just add an “opposite” and you’ve got “permissive is the opposite to restrictive”. It really is that simple. That’s how brain works (check out Relational Frame Theory to see how that works).

So what can we do about it?

Well, we can approach this with science. There is a historical global trend towards people being more meta-cognitive. That means that people are becoming more aware of how our thoughts interpret everyday reality and how to be intentional with our relationship with our thoughts so that we live better lives. We know this trend is happening to virtually everyone everywhere because of the work of brilliant sociologists like Anthony Giddens and Christian Welzel. Heck, even the history of psychology —going from noticing and changing behaviors (behaviorism) to noticing and changing behaviors and thoughts (cognitive-behaviorism), to noticing and changing the context and function of behaviors, thoughts, and emotions (functional contextualism)— reflects this trend.

We can use meta-cognition in our favor; we can use the meta-cognitive tool of framing to change how we think about GPL and MIT licenses. Effective communicators like influencers, political campaign experts, and influential activists use framing all the time. For example, instead of using the dangerous framing that suggests GPL is ‘restrictive’, we can use another one that truly displays the virtues of the license.

What would this other frame look like? I may not have a perfect answer, but here are some

ways of framing (thinking about) the relationship between licenses like GPL and MIT:

(ironically!!!, these were ‘suggested’ by an LLM; I wonder if these frames already existed)

  • “Investment-Protecting Licenses” vs. “Investment-Risking Licenses” (as in developers invest by working on projects that they could (not) lose the ability to contribute to)
  • “Community-Resource-Guarding Licenses” vs. “Exploitation-Vulnerable Licenses”
  • “Give-and-Take Licenses” vs. “Take-and-Keep Licenses” ⭐
  • "Freedom-Ensuring Licenses" vs. “Freedom-Risking Licenses” ⭐
  • "Contribution-Rewarding Licenses" vs. “Contribution-Exploiting Licenses”
  • “Open-Source-Preserving Licenses” vs. “Closed-Source-Enabling Licenses”

I’d be happy to hear what you think, including suggestions!

lemmynparty ,

There’s a fair bit of bias in those terms, which make GPL seem like a ‘better’ choice than an unrestricted license like MIT.
The truth is, GPL is restrictive to developers. Copying just one line from a gpl-licensed project will automatically restrict you to using only gpl-compatible licenses. I’d prefer to advocate for LGPL and similar licenses, as they seem to offer a better tradeoff between user and developer freedom.

TwiddleTwaddle ,

GPLs “restrictions” are freedom preserving though. It only restricts developers from keeping dirivitive code proprietary. In order to violate the GPL you’d have to choose to use GPL code and then choose not to release your modified versions of it under a similar copyleft license. It may seem counterintuitive, but having those restrictions results in more software freedom overall - similar to the paradox of intolerance.

I’m not saying MIT or so called permissive licenses are bad, but the permissive/restrictive language is just as loaded as the OPs suggestions. Both styles are needed, but copyleft licenses are better at promoting software freedom.

Edit: I do agree with you that LGPL serves an important role in promoting free/libre software where it would otherwise would never be used.

snek_boi , (edited )

There’s a fair bit of bias in the terms “restrictive” and “permissive”, which make MIT seem like a ‘better’ choice than a give-and-take license like GPL.

The truth is, MIT is risky for developers. Using just one line from an MIT-licensed project will automatically allow others to exploit your work without giving back. I’d prefer to advocate for balanced licenses that protect both user and developer interests.

lemmynparty ,

Ha, maybe I should have licensed my comment.

You’re wrong though.

Using code from an MIT licensed project will not allow others to exploit your work. MIT is compatible with almost all other licenses, so you can incorporate the code without needing to relicense your project.

If you meant that choosing to license your entire project with MIT would allow others to exploit your work, then yes, that’s the whole point of the license.

For some small projects, I’m completely fine with throwing it out into the world with no expectation of anything in return.

If a company ends out using my 50-line file conversion tool in their commercial product, I see that as a bonus thing to put on my résumé.

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.

ILikeBoobies ,

I support MIT because I believe that’s how all software should be

Everyone builds upon each other

s_s ,

I mean, essentially, the GPL just obligates someone borrowing from you to keep doing things “how it should be”.

ILikeBoobies , (edited )

Yeah but I don’t really care if someone takes it to sell, it creates an endpoint branch but someone else will create a growing branch

One assumes even an endpoint will pass things upstream

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 ,

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

nossaquesapao ,

deleted_by_author

  • Loading...
  • uis ,

    natural substances can be patented.

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

    uis ,
    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 or use the source has to copy left.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • [email protected]
  • lifeLocal
  • goranko
  • All magazines