Fundamentally, I think the best companies have a symbiotic (or at least respectful) relationship with their customers and not an adversarial one.
What are examples of large companies like this?
Do I like all that they do? Definitely not. But the services for which I ended up paying are reasonable. I would not like to build my one OS for a mobile, install the 10s applications required in an enterprise or manage my own data center/mail server.
Of course there are some that I find adversarial, but that is more a personal feeling - like Apple which asked X times more in price for minor (in my view) better quality for their devices.
Regarding Google, I’m consistently disappointed by the ads they suggests to me. I’d prefer relevant recommendations, but what I get is irrelevant. My favorite example: couple of years ago they kept showing me ads for a household appliance like 6-10 months after I already bought one, even if I had lots of emails regarding the buying process in gmail. I can't think "oh, they are evil masterminds" if they fail at their most basic stuff.
So they can record how many times per day I unlock the phone or open an app or the location if the GPS is on, good luck using that for something useful.
I do have limits to what I think they should collect in bulk (ex: video or audio), but I did not see allegations that they do that so far, and I think sometimes it's healthy anyhow to behave "as if they do it", just in case.
Never forget that Industry itself came to America by way of direct theft. https://en.wikipedia.org/wiki/Samuel_Slater
=====
If you care about your users, you should always prefer some copyleft license.
Prefer permissive licenses only if you want to subsidize big business. Hopefully you have a plan for when they decide to take it closed-source and outcompete you. You probably don't, though, since that's not mentioned in the aggressive "use permissive licenses" marketing campaign they've been running for the last decade or two.
Permissive licenses can fit in a niche for software that has already been implemented many times. But the downsides remain, and why aren't you just using the existing code directly? The main occasion on which I will consider it is when everybody else is doing it wrong (and content to do so), and I as a user keep getting annoyed at hitting those limitations.
The second-worst reason to use permissive licensing is arguably "I don't understand how to dynamic linking".
With copyleft licenses, developers always have to sell stuff adjacent to the software (support, individual development, software-as-a-service).
With permissive licenses, developers can just sell a license to the software itself. Much easier, much more direct.
It's the reason why there is much more tooling around permissive licensed projects vs. projects with a GPL style license.
Permissive licenses are win-win: Proprietory developers win because they get to sell licenses, users win because they have more tools they can use.
I can sell licenses to my tool because it is closed source.
If the big open source project was licensed under a copyleft license, I would have to make my tool open source as well. Then I would have a hard time selling licenses.
I couldn't have spent the last 10 years building a tool for the open source software, and users of the open source software would have had fewer tools available.
Proprietary software is the dead or soon to die branches of the tree of human development, may spawn some useful insights that will ultimately be applied elsewhere, and may be profitable and useful in the short term, but the branch dies, I don't want to subsidize dead branches, and I don't want to write software that enables people to make more of them, even if some of those branches might be nice to hang on for a while.
In theory, it would be nice if my tool was open source / free to use. But nobody makes a tool like mine for free, because it is a lot of work and not essential for using the open source software. The kind of people who need it are not programmers and extremely unlikely to come together to fund an open source version of my tool.
My contribution is that I make the big open source project accessible to more people. (Aside from contributing back to the project, which is in my own interest, because contributing fixes is easier than maintaining a fork. A lot of contributions to this open source project come from proprietary software vendors like myself.)
(Sorry for the generic description, I'm trying not to dox myself on HN...)
Obviously this has constraints. The developer must have full rights or ownership to redistribute the work under other licenses. This can be obtained from contributors via agreement, where every developer retains ownership of code they write, but grants permission to relicense it for the benefit the project. Ideally, contributors would also be rewarded for their time via bounty systems, contracts or direct employment.
It's possible to make non-derived works which utilize copyleft software. The license's conditions apply only to the derived works, and not directly to your code unless it unquestionably a derived work such as a fork. If your application is written in a way that it can function without dependency on a copyleft software, but can be augmented using copyleft software using a plugin system, then you're able to distribute your software under any license you chose, and only the plugin which uses the copyleft software would be required to be licensed under a compatible license. The "aggregate" would need to be distributed under the copyleft license - but there are also ways around that - simply distribute your software without the dependency on the copyleft work, and have it optionally download the copyleft plugins separately so that they're not part of the "aggregate".
Permissive licensing won't sustain itself unless the developers who depend on it start donating to the maintainers of the permissively licensed works they depend on. In some cases this happens, but mostly it's just the case that you can make money using software other people have given away and continue to maintain for free. What happens if they decide to stop maintaining it? Is your product still viable if you have to take over the task, or employ someone new to maintain it? Would it be viable if you, or your users, had to purchase a proprietary license fee for an alternative dependency?
1. Developers who work on the open source project
2. Developers who work on proprietary software based on the open source project
In reality these groups overlap. Developers contribute to the open source project, and they also work on their own software based on the open source project. If you look at the git logs of successful permissive open source projects, you'll see that a lot of the development time comes from developers who work for proprietary software companies.
GPL 2.0 and GPL 3.0 (to a much more significant extent) disallow use of plugins. Or well, the do allow plugins, but at the cost of infecting the entirety of your own codebase with GPL 3.0 obligations.
And that's my principle objection to GPL. Linking to GPL code infects my code, requiring me to also license my code via a GPL license.
Permissive license stand a better chance of getting funding because they allow commercial users to use your software, and commercial users are more likely to give sustaining grants to projects they depend on than mere-ordinary users.
> And that's my principle objection to GPL. Linking to GPL code infects my code, requiring me to also license my code via a GPL license.
No. You release a host application with no dependence on GPL code.
The end user loads a plugin that is (or uses) GPL code. The end user doesn't distribute anything.
In very practical terms, what is the enforcement here? Who is gonna sue the end user?
Really, when you take time to understand real restrictions, as opposed to repeated myths, the only argument in favor of permissive license is that they help big players use free labor.
You do, if sell means also allowing another vendor to use your software as a part of their proprietary software.
GPL alone, if you're not the copyright owner, would not allow you to sell software in this way. But if you are the copyright owner, you can bypass GPL and sell a proprietary license to the vendor saying "you can use this software in your proprietary product if you pay me $XYZ".
If you don't own the Qt copyright, you cannot sell Qt to a company who wants to use it to build a proprietary product - since Qt is GPL licensed, using it in a proprietary product would not be permitted.
But since The Qt Company owns the copyright, they can sell their own software to companies that want to build a proprietary product with it - they just sell it under a proprietary license, specifically tailored for this. The fact that it was previously released under GPL is irrelevant, because the copyright holder can license it under as many licenses as they want.
If you don't own the copyright to it, you can only """sell""" GPL software in a manner in which local DVD shops sold pirated movies back in the early 2000s.
These schemes wouldn't be necessary if industry would start paying for the stuff they use. And I wouldn't call it a "scheme" when the deal is clear - you either pay by giving money to the author or by giving source code to your users. Choice is yours, and since you are developing proprietary program you shouldn't really have any qualms with the first approach, unless you are a leech.
as a user i have the choice between yours and the original in both cases.
There is no possible way for users to be hurt by a permissive license. Even if some company were to make a closed source fork, who cares? The original is still there, still just as free as it ever was.
> Prefer permissive licenses only if you want to subsidize big business. Hopefully you have a plan for when they decide to take it closed-source and outcompete you.
I prefer permissive licenses because I'm making a gift to the commons. It strikes me as hypocritical to say "I'm giving this to you, but only if you things the way I approve of". Thus, I make it completely free for all users, whatever they want to do with it. You may not see it that way, which is fine. But I'm sick of the false idea of "you're just subsidizing big business" being promulgated. That isn't true.
And why would I care if someone "outcompetes" me? My gift to society is still there to be used if people want, or not if they don't want. It doesn't diminish or harm my efforts in any way.
They can add sufficiently popular functionality to said closed source fork and make the open source original a) obsolete and b) incompatible with the combined ecosystem, and thus deprive the users of a feasible free option.
And if the original can't compete it means the additional functionality was only going to exist because the financial model of the closed fork could pay for it.
Users cannot be trusted to make their own decisions about these kinds of things for the same reason that corporations cannot be trusted to be environmental stewards and children cannot be trusted to select a dinner menu or file taxes.
This completely disregards the fact that the "financial model of the closed fork" explicitly chose to build upon the permissively licensed original.
If the company chooses to build upon free software, they should be obligated to give back to the community from which they leech. Otherwise, they should just build their own thing from scratch with all the money they've hoarded, and keep it closed.
The original can't compete because the original author used a permissive license. Do you want to make yourself not compete?
https://en.m.wikipedia.org/wiki/Embrace,_extend,_and_extingu...
Users can get a bundled version that slowly breaks compatibility forcing vendors to align with the closed source version.
All the permissively licensed code that came with my mac disagrees. This is even more true of iphone software: you can technically look at some of the code that comes with it, but you can't modify it.
This is a common opinion, but seems uninformed to me. The free code helped them get started. They are Goliath now, but the benefitted from not having to do the R&D earlier.
I don’t know if they could have done the R&D. I definitely imagine it would not have been as good as the product they got from using BSD.
Anyway, I believe this kind of thinking is a shallow dismissal of the value that companies receive from starting from Libre software.
It is a dismissal of the idea, that using a different licence will magically transform the whole industry.
If the code is open, the profit orientated companies don't need to do R&D from scratch. They just take the copyleft source code and make it closed, either by simply not publishing it, or if they care about whistleblowers by rewriting it. Which is easy if you have sources of something working. Even more so today with LLMs.
That is why I am a fan of permissive licences. It is a working compromise for companies who would never consider copyleft code in critical parts of their product.
That would be preferable to me.
This is equally true of the GPLv2. The attempt to close this loophole - Tivoisation as Stallman called it - only won him a lot of scorn from Linux land and a refusal to adopt the GPLv3!
That's not quite true of AGPL (and for this very reason some companies, e.g. in the database provider space, use it for free versions of otherwise paid products)
Section 13 of the AGPL (the part that's not in the GPL) explicitly begins with "[notwithstanding,] if you modify the program [and allow users to access it over the network]". Merely using the upstream version is no burden.
The users of the closed source fork are harmed. They are unable to use the software to the full extent (e.g. inspect, modify, fix bugs). This is what copyleft intends to protect.
Closed source reduces the software into an appliance and the user into a consumer.
Two other examples come to mind: John Rolf arrived at the Jamestown settlement in 1612, having purchased tobacco seeds presumed to have originated in Spain (where their export was supposedly punishable by death, though I haven’t found sources confirming that).
William de la Barre adapted the rollers used in Minneapolis wheat mills from a European design. I have seen a few sources claim this was industrial espionage wherein Barre obtained employment in the mill and sketched its design out to copy it for his employers in Minneapolis, though Wikipedia makes no mention of this.
https://en.wikipedia.org/wiki/William_de_la_Barre
The American publishing industry also got its start by refusing to recognize British copyrights; this didn’t change until 1891.
This is to say nothing of the more explicit, above-board technology transfers involved in bringing European experts in to develop the American industrial plant. Similar things are currently going on in Saudi Arabia and China, and to a lesser extent in South America and Africa.
And then you have Operation Paper Clip and the looting of the German industrial plant after World War II.
Wikipedia says:
> He memorized the textile factory machinery designs as an apprentice to a pioneer in the British industry before migrating to the U.S. at the age of 21.
Doesn't sound like he stole anything? At most it's some infringement of intellectual properties. (Wikipedia says: 'He learned of the American interest in developing similar machines, and he was also aware of British law against exporting the designs.' But again, no theft.)
On the contrary, you would penalize small business, because they cannot stomach the increased developing costs. Large businesses wouldn't even notice the change.
Sure, for software exclusive businesses there were cases were a too permissive licence was counter productive for economic success.
i highly doubt that. sure technically they can copy it, but they could not guarantee 100% compatibility. yes, the model would work, but at least they would compete on somewhat equal footing.
what happened to redis, elastic search, mongodb etc was way worse. people switched to amazon and others because they got the original and did not have to risk issues when switching. further more, they also didn't have to risk lock in. (or at least had the impression of not risking lock-in)
in other words offering a functional copy vs taking the original (without paying for it) are two very different value propositions.
but amazon could have made the same offers using GPL software, or even AGPL. yes, it would have cost them more, but not as much more as developing their own. so the fact that they could afford to develop their own clone is not an argument for the original developer to just allow them to use their software without restrictions.
"you should just give this to me because i could afford to just clone it and put you out of business." what kind of choice is that?
small businesses can use GPL licensed software just as they can use permissible licensed software. if using GPL software hurts your business model more than spending the money to develop your own well then maybe it's the wrong model.
i'd argue that using GPL software can jumpstart your business faster than developing your own, and once you make enough money you can develop your own like everyone else who doesn't want to use GPL software. permissible licensed software doesn't provide that much of a jump-start. it also makes it easier for your competition.
and most importantly, it all happens at the expense of the original developer. why should they accommodate that?
??! Not sure what that has to do with ANYTHING.
I’ve written thousands of lines of copyleft code. I don’t see a practical benefit if you don’t want to obligate users of that code.
Some would argue that if you want that, then you need to license it in a way that protects anyone's freedoms and disallows other ones from stepping on them.
And whether it works or not is mostly untested in the legal sense but the idea with copyleft licensing is that big money shouldn't be able to ratfuck a free software embrace/extinguish-style, or some other way. I.e. it is supposed to protect the rights of the users to enjoy free software.
As long as you consider developers of derived software to be your users — permissive makes most sense.
But if you consider end-users of software it’s definitely copyleft.
In an argument about how much someone is able to use something, I think you could argue that a copyleft license turns more people away than it would force to participate, so the overall amount of work that is freely available is less than it would have been with a permissive license. (That is, if 10% using a permissive license don't contribute back and 90% do, you end up with more contributions than if 100% of users contribute back to copyleft but you only have 50% as many users.)
I do think it's very situational though - clearly Linux being GPL has been a huge boon in forcing contributions, and I think the killer bit here is that forcing those contributions means that people are able to use their hardware that might otherwise only run proprietary operating systems. That is, it's the forcing open of something that hardware companies would otherwise keep closed.
On the other hand, I don't see any huge reason why a good regex library, for instance, shouldn't be permissive - making a regex library copyleft isn't going to force open some proprietary software, they'll just use some other (maybe worse, maybe equivalent) regex library, and you might get fewer overall contributions and end up with a worse overall available library.
I like copyleft as a way to protect my code from freeloaders, but I don't think that imposing the same view on other people is fair TBH. I want people to be able to use my code without being forced to "convert" to my creed first
I am always amazed how many myths were created around FOSS licensing.
You could make sure the LGPL code only works through a C-API like interface, then you can sub-divide it off more easily, but that can be quite a bit of work.
GPLv4 should be AGPL+no-AI if it is supposed to have any effect.
The concept of copyright is the fiction that information - something that can be freely modified, copied, or transmitted - is of the commodity-form, that information should be treated as if it were a single real object that were inherently scarce.
It is a fiction that exists to serve of some of the most hateful, mafia-like firms - your Disneys, UMGs, Getty Images, and the like.
So if the AI interests are powerful enough to deal that whole rotten system a serious blow, then I'm all for them.
Doesn't prevent training in the US and use of the trained AI and material it produces here, I guess.
Then I have to start a civil law-suit and prove that the produced work is similar enough to the the original work. That was the step that failed in the Hellwig (Linux) vs. VMWare lawsuit.
No thanks. Seriously please no, I do not want to see it, that stuff has negative value.
SSPL works a bit similarly: https://www.mongodb.com/legal/licensing/server-side-public-l...
> If you make the functionality of the Program or a modified version available to third parties as a service, you must make the Service Source Code available via network download to everyone at no charge, under the terms of this License. ...
> “Service Source Code” means the Corresponding Source for the Program or the modified version, and the Corresponding Source for all programs that you use to make the Program or modified version available as a service, including, without limitation, management software, user interfaces, application program interfaces, automation software, monitoring software, backup software, storage software and hosting software, all such that a user could run an instance of the service using the Service Source Code you make available.
Not really a free software license, at least typically not considered one though.
IMO we should have more license like this. Who cares whether you've got the approval and branding of some other foundation?
The OSI declared it nonfree, because the OSI is a consortium of large companies - cloud service providers and the like.
The FSF decided not to issue any opinion.
Debian decided not to issue any opinion, but because it was only affecting a few packages and they have good GPL counterparts, switched to the GPL counterparts anyway.
There is no evidence the SSPL is nonfree. That is big tech disinformation. Please don't spread it. What the SSPL actually is is an extreme point in the WTFPL-to-AGPL spectrum - it's more AGPL than AGPL itself. It's still on that spectrum, not a completely different spectrum like a proprietary license.
And I'm surprised both by the fake grassroots campaign to attack sspl: https://ssplisbad.com
And by the OSI's interpretation of it as not open source: https://opensource.org/blog/the-sspl-is-not-an-open-source-l....
As for the internet service industry: AGPL already covers that, I think. However, I'm not sure if AGPL has ever been tested in court (especially outside of the USA). For the EU there's the EUPL v1.2 which should be AGPL compatible.
I don't think there's much you can do to stop AI companies from stealing your code unless you go out of your way to make every method name, variable, and string template contain at least one slur or support for terrorism. That way, someone will need to explicitly rewrite the code for it to be spat back out, which is more effort than most AI bros are willing to put in.
If the AI developer ignores the term and trains his AI with it anyway, they would clearly be in violation of your licensing terms, and then it would be for a court to decide.
Having the term in your license would be preferential than omitting it, since it's hard for a court to rule that they're not in violation of your license when its written there plain as day. If you don't have the clause then you basically have no defence as it can easily be argued that they've followed your licensing terms, which don't prevent its use for such purpose.
If you needed a license to train AI then that clause would be redundant. It doesn’t matter what clauses you add to a license if the courts let people train AI without a license.
The license is applying to using your work - a EULA if you like. If you provide a license which states that it cannot be used for training, then users of your work are required to follow its licensing terms, and not following them is a violation of the licensing terms.
If you've made your work available to use, without an explicit clause specifying that it can't be used for training AI, then it is a valid use of your work that doesn't violate its licensing terms.
EULAs themselves are a grey area where their clauses are not necessarily enforcible, but it's ultimately for a court to decide, and it would definitely be better to have it as a clause in your license.
If the user ticks a box to declare they've read the terms and agree, it's hard for them to argue otherwise in court.
A sufficiently advanced LLM should be able to read the term and comprehend that it can't learn from the work and should ignore anything from it. As AI improves it will be more difficult for the providers to argue that term violations were accidental because their AIs would specifically need to be instructed to ignore such clauses - and the developers who provide such instructions would have a much weaker defence in a court.
And, again, if they don’t need a license then the license is irrelevant.
Lastly, if you place restrictions on the use of the software then it’s no longer open source. You certainly can’t do it with the GPL.
(read the rest of his reasoning for this philosophical shift).
From the point of view of a user, a copylefted software allows the user to do more things: the license grants them permission to see and change the source code of the software, no matter how they got it. With so-called permissive software, the user may be stripped of this permission by third parties.
https://en.wikipedia.org/wiki/ISC_license
But anyone and their brother can develop those old utilities I created decades ago and enhanced over the years.
But if you create something very complex and provides a real benefit, then I can agree with this point. You may be better off to using the copyleft.
In anycase, you need to really need to think about the License you choose, not just use one because it is trendy now.
JohnKemeny•10h ago