Sometimes there’s a benefit in getting open source code into proprietary software. Think libraries implementing interoperability APIs, communication protocols, file formats, etc
That’s what permissive licenses are for.
If some company wants to keep their code closed and they have a choice between something interoperable or something proprietary that they will subsequently promote, and the licence is the only thing stopping them from going for the open source approach, that’s worse.
Completely agree that a good breadth of everything else is suited to copyleft licensing though
This is a hypothetical that has no clear bearing connection to common practice.
In other words, I could just reverse this to contradict it and have equal weight to my hypothetical: devs should always use GPL, because if their software gets widely adopted to the point where companies are forced to use it, it’s better that it’s copyleft.
This is not a hypothetical and is in fact quite common. Say you’re working for a non profit, write code for a standard specification that is better than all other open options. It is better for everyone that companies adopt this code for interoperability.
Someone biulds a thing and puts it on the curb in front of his house with a sign:
I had fun building this and learnt a lot. Do with it whatever you want.
Then someone else comes along, takes it, and sells it.
I fail to see how the inventor was taken advantage of. They presumably thought about which license they want to use and specifically chose this one.Taking without giving is always viewed negatively in social settings.
Maybe “taking advantage of” is wrong but then again, it is a dick move anyway.
If I’m putting BSD or MIT license on something, I’m explicitly saying you can use it however you want, you can change it however you want, you don’t have to share back, I just ask for credit for my part in it
It’s not taking so much as being given freely
Exactly this. I have a couple of small projects that are MIT licensed specifically because I don’t care how people use them or what they use them for. If someone finds it useful then they’re welcome to do whatever they want with it.
This idea that I’m being somehow hoodwinked or taken advantage of because the thing that I explicitly said could be used freely is being used in a way that doesn’t align with the values of some other completely uninvolved third party is beyond absurd.
I’ve always found it funny that GPL is considered “free as in freedom” but you don’t have the freedom to use it in your own way if it’s proprietary code.
I think you are missing the point. I am not saying it wasn’t. But if you makes a gift for your friend’s birthday, and they don’t bother at all to return the favor/attention, would you be upset as you would think it is kinda a dick move?
But if you makes a gift for your friend’s birthday, and they don’t bother at all to return the favor/attention, would you be upset as you would think it is kinda a dick move?
That’s kind of a different thing. But no, I would have no issue if I gave someone a gift and they didn’t give one back. A gift is a gift, not an loan they didn’t ask for.
It isn’t about it being a loan. It is about attention, care and respect. That is why I wrote favor/attention. You won’t be friends with someone who doesn’t in any way show you that they care/respect you.
Edit: just to be very clear, the gift is an example of you expressing care, in my example. It is not necessarily a gift, it could be helping them move, or anything else that expresses some level of care.
You don’t expect me to care for you, so you are probably not upset when I don’t hold open the door for you when you are 4 steps behind me. But if your friend would do the same (assuming that they know you are there) you could take it negatively.
With software there would be infinite copies of that free item for everyone to get. So the dick move is to sell it to people who are unaware that they could get it for free.
It’s a little different than that, isn’t it? More like: " look at what I built, here’s a step by step guide that makes it work. Do with it whatever you want." Some people want to use it for their job. Others might use it for personal use, or to build more open source projects.
This person takes advantage of people who are unaware that they could just get it for free as well.
However, if this person is putting in an effort to sell this item (like advertisement or creating a platform to distribute this item more easily) then I don’t see anything wrong in charging money for that.
That’s not really a common situation though. Sure, people might use the BSD license on something they did as a hobby, or just to learn things. But, the scenario described here is more like:
A group of people all have the same little problem, and they work together to come up with a solution for it. They solve the main problem, but their solution has a few rough edges and there are similar problems they didn’t solve, but they’re not motivated to keep working on it because what they have is good enough for their current needs. So, they put out some flyers describing how to do what they did, and inviting anybody who’s interested to keep working on improving their fix.
A company comes along, sees the info, and builds a tool that solves the problem but not quite as well, and for a small fee. They spend tons of money promoting their solution, drowning out the little pamphlet that the original guys did. They use as much IP protection as possible, patenting their designs, trademarking the look and feel, copyrighting the instructions, etc. Often they accidentally(?) issue legal threats or takedown notices to people who are merely hosting the original design or original pamphlets.
Maybe the original inventor didn’t get screwed in this scenario, but you could say that the public did.
This is perfectly fine to do under GPL as well. I don’t see the problem.
There are companies that sell Linux distros on a DVD or USB drive.
This seems like complaining that the BSD license does exactly what it intends to do.
Yeah, as if the authors had no idea what terms the license has…
I feel like most people base their decision on license purely on anecdotes of a handful of cases where the outcome was not how they would have wanted it. Yet, most people will never be in that spot, because they don’t have anything that anyone would want to consume.
If I had produced something of value I want to protect, I wouldn’t make it open in the first place. Every piece of your code will be used to feed LLMs, regardless of your license.
It is perfectly fine to slap MIT on your JavaScript widget and let some junior in some shop use it to get their project done. Makes people’s life easier, and you don’t want to sue anyone anyway in case of license violations.
If you’re building a kernel module for a TCP reimplementation which dramatically outperforms the current implementation, yeah, probably a different story
I once read that the license should be smaller than your code. Gives me a good baseline:
-
Permissive license for small projects and little tests
-
Copyleft license for big projects
I’m stealing this 👍
Cries in left-pad.
-
Well, ideally you’re choosing your license based on the cases where it differs from others and not the majority of times where it doesn’t make a difference.
Someone aiming to make Free software should use a copyleft license that protects the four freedoms, instead of hoping people abide by the honor system.
Also, no one can 100% accurately predict which of their projects will get big. Sure, a radical overhaul of TCP has good odds, but remember left-pad? Who could have foreseen that? Or maybe the TCP revision still never makes it big: QUIC and HTTP/3 are great ideas, and yet they are still struggling to unseat HTTP/2 as the worldwide standard.
Seems like using a copyleft on the reference implementation of a new protocol is a great way to ensure the protocol is never widely adopted.
People who used left-pad deserved everything that happened to them. But, very valid point.
There is no honor system. If your code is open for commercial reuse, that’s it. If you have any expectations that are not in line with that, then yes pick a different license.
I guess I agree with you, I’m just phrasing it from a different perspective.
I read a story of someone that contributed to a BSD project, including fixes over some period of time, but later they ended up having to use a proprietary UNIX for work, that included their code, in a an intermediate, buggy state, but they were legally forbidden from applying their own bug fixes!
At the very least the GPL guarantees that if I am ever downstream of myself, I has fix my own damn mistakes and don’t have to suffer them.
I am still willing to contribute to BSD stuff, but vastly prefer something like the AGPLv3.
I know Luke Smith is controversial, but this Blogpost of him is kinda funny and fits the topic:
To an extent I agree with this, but “Once upon a time, this guy licensed his code under BSD instead of GPL and basically it’s his fault the Intel Management Engine exists” is definitely a step too far
yeaah true
In some cases it works, in some it doesn’t. PostgreSQL for example for huge support after Oracle got control of MySQL, despite the license.
Yes. But it’s despite.
Can someone help me? I have been licencing my code under BSD2Clause, I wish to switch to gplv3. How do I switch?
- Do I have to put the licence at the top of every file?
- Where do I put my name ie Copyright <Author Name> <Year>
Thank you
Here is a guide from the GNU website: https://www.gnu.org/licenses/gpl-howto.en.html
Thank you so much. This is exactly what I needed
One other thing you may have to do if you have contributors who have also committed code is to get their permission to change the license as well, as the code they committed may still be under their copyright and not yours, and they can choose to allow their code to be relicensed or not. Some projects use a contributor release to reassign copyright for contributions for reasons like this, for instance. This is partly the reason why the Linux kernel has never changed to GPLv3 and still uses GPLv2 (and also because Linus just doesn’t like some provisions of the GPLv3) — it would be pretty much impossible to get everyone who contributed code to a project as large as the kernel to agree to a license change. Any code that couldn’t be changed would need to be extracted and rewritten, and that’s not going to happen given the sheer size of the code base.
If you don’t have other contributors then you’re home free. You can’t retroactively change licenses to existing copies of the code that have been distributed, but you can change it going forward.
Delete the current LICENSE file in your repository and replace it with the new one.
You don’t have to put your name, year etc anywhere, the license is valid for the entire repo. You are not filing for an IP, it’s just a usage license.
Note that all the legal jargon is not necessary, you can write one yourself as long as you make it clear what you allow and what you don’t allow.
I.e. “don’t be a dick” requires elaboration, “do not use my code if you intend to make money off of it or parts of it” is clear and legally binding.
So just replace my old licence file with the GPL?
Yeah.
LGPL ftw
No one brought up ai yet? No, srsly ……
My opinion on these licenses is theoretical since I haven’t actually developed any open source.
However an analogous scenario which DOES affect me, and most people here ….
- I’ve posted my opinion online in various places. Offered freely to the public to do as they please.
- I’m fine with companies making money off providing the aggregate of such efforts to the public, such as by advertising. However my pseudonym retains credit and the audience is open
All well and good until AI came along and everyone sees a potential jackpot. And there’s Reddit, wanting a bigger share of that jackpot. They’ve taken the idea a step farther and I’m not ok with it. I guess I don’t like the restrictions and I don’t like the extra levels of profiteering: Reddit makes money off providing my content in a limited form to private companies. They in turn make money off AI trained by my content, to a limited audience and there is no longer a portion credited to my pseudonym. Technically they’re in the right since I never thought to prevent this scenario, but they’re not using it in the way I expected/intended/ was told
Personally I believe that the rights of users to privacy and freedom are more important then a corporations right to use open source software to make proprietary software. There’s a reason why nobody uses FreeBSD and why Linux is the dominant open source operating system.
The reason is not the license.