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
That's the whole point, you're leveraging the use of the commons so that it's less feasible to keep your code closed. If they want to keep their code closed, they can spend a lot more manhours building everything from scratch.
Our man-hours come from leadership and architects so separated from code they can't agree on drawings or what constitutes a micro service architecture or... Any real pattern at all.
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.
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
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.
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.
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
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.
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.
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
Tanenbaum is right, they obviously could've taken the time and money to write an OS themselves if they had to, but they didn't have to, because a BSD license cuck wrote it for them. Thanks a lot, sucker!
I have no issues with this point.
But what’s up with the CIA “a bunch of n****rs” image above that? WTF?
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.
One project goal of OpenBSD is: "We strive to make our software robust and secure, and encourage companies to use whichever pieces they want to."
They are not being taken advantage of, this is a desired outcome.
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
Something I don't get paid enough to understand - what constitutes contributions, and what's the definition of selling the software?
For instance, I don't think I've worked on a project where we have made changes to the source code for security policies (much quicker path to update immediately if something gets flagged). But I don't think I know of an instance where we sell our software as a service - as far as I know it's largely used to support other services we sell.
Except now that I say that, that's not entirely true, we DO have a review board that we have to submit every third party library to and it takes forever to hear back but we have occasionally gotten a "no can't use that" or "contract is pending." So maybe I'm just super unaware of who reviews the third party software and they review the licenses.
we may also add a criteria to block non-release dependencies.
As a developer, you’re free to use anything that works
I have yet to figure out how my company views contributing back to open source. I don’t know of anyone actively doing that, but it turns out we host a few originals of open source. I’ve been trying to improve development processes, get tools and dependencies up to date ….. but then I ran into things where it’s a bigger change because of the downstream opensource dependencies and because it’s not really owned by the company
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.
I'm saying that when code is open source it helps the open source ecosystem and when using open source code means contributing your modifications everyone benefits.