Remix.run Logo
swiftcoder 6 days ago

I'm not so clear the choice was made consciously. There's a big swing away from the GPL and towards MIT/BSD around the time that Apple starts adopting a bunch of open-source projects for inclusion in MacOS X, and it accelerates when various big companies announced that they would be forbidding GPLv3 adoption. Fast forward to the cloud provider era, and basically no new software is being placed under the GPL (at least in part because Amazon/Google/Facebook/etc are predicating contributions on being GPL-free)

drob518 6 days ago | parent | next [-]

The problem with GPL was "tainting." It was never clear in what cases you could use GPL without it dragging all your code into being freely available. LGPL was supposed to help with that; AGPL made it even worse. The lawyers were terribly confused and recommended you just not use anything with "GPL" in the license.

The reason why MIT/BSD licenses flourished is that they were easy to understand. As long as you didn't sue the original author or try to claim the code was written by you, you were free to do almost anything with it, including mixing it in with other for-profit code.

Whether that's an abomination or a blessing depends on your corporate vs. free software politics.

duskwuff 6 days ago | parent [-]

GPL also gets incredibly ambiguous when it's applied to anything that isn't software written in a language like C for a personal computer. (What does "linking" even mean with respect to a Javascript library, for instance?)

account42 5 days ago | parent | next [-]

It's only unclear if you are trying to skirt the spirit of the GPL.

People who aren't trying to get freebies from he commons without paying back never had a problem with the GPL.

pabs3 6 days ago | parent | prev | next [-]

Just think about the goals of the GPL (software freedom for users), and its easy to see what you should do. Make it practical for a user to obtain and modify the source form (non-minified, non-transpiled, non-concatenated TypeScript/JavaScript/etc) of the library, build the version ran by the web browser, and replace the original with their modified version. Source maps can make part of that easier too. Progressive enhancement helps. Clean frontend/backend separation helps.

duskwuff 6 days ago | parent [-]

The "goals" of the license are irrelevant. What matters from a legal perspective is the text of the license, and every time that text sets legal conditions which reference specific technologies like "linking", "object code", or "interface definition files" which don't apply to all programming languages, a lawyer's blood pressure rises.

anikom15 5 days ago | parent [-]

Intent is relevant in law, especially when text is insufficient to determine a clear meaning.

notpushkin 6 days ago | parent | prev | next [-]

> For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

So I think it would cover pretty much any JS library usage, except maybe if you just drop in a widget and don’t interact with it in any way.

muragekibicho 6 days ago | parent | prev [-]

Exactly. I was building a WASM lib using Emscripten and this was the exact question I could not answer

rincebrain 6 days ago | parent | prev [-]

(All personal opinion, etc.)

I'm not actually sure what a better way to square the circle of not making the large entities that have developed a weird patronage relationship with open source projects run away while also avoiding the kinds of problem that the GPLv3 and AGPL are hoping to deal with, would be. Limiting the virality scope might be beneficial there, but I'm not sure how you would word that in a way that's not gameable.

It feels like we've wound up in a weird position where because so many GPLv2 projects moved to GPLv3, companies were startled into paying attention to the risks involved in a new license with open questions about how it would shake out in actual courts, as well as being jolted to the very real possibility it could happen again, and took the path of risk reduction by moving toward platforms where that couldn't happen.

You might compare it to everyone pointing to Solaris's source closing as a reason to not trust Oracle about MySQL's license remaining GPLv2. (As it turned out, so far, they haven't changed the license, but there was certainly a lot of fearmongering about that at the time.)

So I think I agree that it's not so much a coordinated effort to steer anything as the direct effects of companies avoiding funding that space, as well as the knock-on effect that anyone whose goals involve large companies using their product and leveraging that avoids picking a license that precludes that in turn.