“I wish I could have licensed the Id source code releases as BSD”
twitter.com
twitter.com
> I touched on that recently with the comment about open source culture and game dev;
One thing I learned the hard way is how game dev is all about IP, creating business oppportunities, publishing deals, getting the game into the hands of as many kids as possible (while being able to keep paying for the mortgage), whatever APIs get used is a very tiny detail of the whole games production circus.
Focus on what is the core part of a company. For most game companies that seems to be about developing multiple games at the same time, finding one that is good enough to develop to a finished product, while surviving on the last released game.
That is just the basic implication from a cost perspective. I am not a game developer but there is likely a bunch of other considerations, both legal and technical.
I don't know if that's a good example of the 'best aspects of the GPL' that Carmack was talking about, but it's at least certain that all of the work contributed to ET Legacy is work that had the potential to be closed-sourced, but wasn't.
It would be really interesting to see the lineage of open-source projects based on the GPL-licensed id games. The family tree at wikipedia[1] isn't complete (doesn't show ET Legacy, for example), and doesn't differentiate by license.
[1] https://en.wikipedia.org/wiki/Id_Tech#/media/File:Quake_-_fa...
You can put modifications (that enjoy copyright protection) to BSD licensed code under the GPL or put BSD licensed code in a larger GPL code base, but you cannot re-license code covered by the BSD license.
Now, with that said, modifications made to a GPL codebase, when published must be under the GPL. This is where the virality or copyleft come in. This in turn means that a GPL codebase cannot be anything but GPL. Putting BSD licensed code inside a GPL codebase is like pouring fresh water into the ocean. And even if you did do that, it should be a separate codebase, because if its a direct modification, then that should be GPL as well.
Wrong. Why does the GPL crowd continue to believe they can re-license copyrighted works they don't own? Only the copyright owner has the right to re-license. The GPL does NOT give permission to re-license.
The below copyright notice is displayed in ET:Legacy source files and id Software (or a superseding entity) will hold that copyright until it expires a little over a hundred years from now.
Wolfenstein: Enemy Territory GPL Source Code
* Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company.
>This in turn means that a GPL codebase cannot be anything but GPL.Wrong again. A project released under the GPL can include permissively licensed code such as BSD, MIT, or ISC. The FSF lists licenses which are compatible with the GPL. What you cannot do is change the license on that permissive code to GPL.
>because if its a direct modification, then that should be GPL as well.
It can, but nothing compels it because the original is under the another license. Also, not all modifications meet the standard to be covered by copyright; the modification must be significantly expressive.
GPL advocates say it's so that your code isn't exploited by corporations.
But I'd say that choosing GPL means it's more important to you that your code "is not exploited by corporations" than that it can be used for good by people with commercial interests.
Those two things do not have to be synonyms. I'd much rather allow the second if it means tolerating the first.
(Edit: Seeing the downvotes, I'd be genuinely interested in counter-arguments or thoughts on this)
(Edit 2: Just because it keeps coming up, let me make absolutely clear that I do NOT in any way think GPL might never be a valid choice, nor that anyone, myself included, should feel "entitled" to "free as in *.*" code.)
The only thing you have to do is provide sources under the same license if you release binaries. If you're not even willing to do that I understand some people rather have you not use their software.
A small GPL library for, say, some statistics calculation, would mean an entire product's source code would need to be released if it used the library.
If the larger software is so much more expansive than the little GPL covered work and so valuable, then the commercial interest presumably has the resources to either write their own or license a commercial variant.
I find a lot of complaints about the GPL come down to "why can't I do what I want to do with your stuff?" and the obvious answer, started before the question is even asked, is "because that is what we don't want". It isn't one extreme getting in the way and being a bad guy, it is the two ends of the spectrum being incompatible by default. This can be dealt with amicably by either negotiation or moving on and leaving the other "side" to do their thing without you. IMO trying to frame it, as some very much do with comments about viral licensing and such, as good-vs-bad, is either naive, entitled, or bad in itself, or some mix of the three.
I feel most people don't understand that their projects are unbillable and "negotiating" is not an option.
If you project is avaliable through AWS/GCP console I could "pay" at my discresion.
If there was a clear price and billing details, I can email my boss and get it authorised
If something needs to be negotiated, we have to get senior stakeholders involved - those people don't move for less than 100k, you will never get paid.
Why do you want to negotiate? Large corps are burocracies. I can only get mine to donate to a registered charity, is your project one? To pay a bill is easier.
There are few people that have authority to negotiate and their time is expensive. If they spend two hours to "negotiate", they are charging a pile of money the company could have paid you instead.
Right, but making my code MIT won't get me paid either.
I will just spend more of my free time offering free support to some large enterprise that can't even figure out how to make a 1h negotiation happen without wasting boatloads of money.
That is a valid point in some cases.
But counterwise I feel that many people on the other side of this need to accept that in many cases the creator(s) of the GPL covered code simply don't want it used that way and that is their prerogative, and they don't agree with the assessment that either they, the project, or the world at large, would be better off some other way. In those cases billable or not is a moot point, as is negotiation for that matter and you will be rebuffed (hopefully politely, there is no need to be dickish about it).
In my view, if your business requires leeching on unpaid work without contributing back I am happy about my code being useless for you.
(edited to clarify I don't mean ALL projects become useless through GPL)
It's free-as-in-couch software.
2) If said corp refuse to collaborate with me and will use my code for free instead, then it will not help me, or anyone else, except said corp.
Why I should care about (2)?
2) they may change their mind
3) they may pay for dual licensing (in case of work by a single author)
In general interests of unfriendly corporations and mine are more likely to be opposite than shared.
For example, Oracle tried to outcompete RedHat by cloning the RedHat Linux into Oracle Unbreakable Linux.
The Audacity drama is solved by GPL, you can compile your own version without telemetry. Forks will pop up and the Audacity developers will backtrack and remove the offending parts of the code.
As for Audacity - the exact same thing would have happened with any other Open Source license; GPL doesn't make it any easier.
Assuming that Audacity does not have a CLA the GPL license will prevent muse from forking Audacity into a closed source project and continuing their development there instead. Instead they are required to keep any modifications open source, allowing users to remove aspects like the telemetry.
As for Audacity: its owners couldn't do that without closing their fork, which would mean splitting off with the developer community and becoming irrelevant.
No, it's about keeping those improvements open source.
>As for Audacity - the exact same thing would have happened with any other Open Source license; GPL doesn't make it any easier.
Yes, it does make it a lot easier since the Muse Group (assuming they don't own all copyright of Audacity, if they do the license doesn't indeed really matter) has to release all improvements as GPL and the fork can simply cherry-pick them. With a MIT/BSD style license they could just make it proprietary and then we would be stuck having to choose between an outdated Audacity and a non-free Audacity.
I cannot understand your question.
> And why didn't it prevent the Audacity drama?
It does. See https://github.com/temporary-audacity/audacity
https://www.youtube.com/watch?v=ReKCp9K_Jqw
If you believe that users should have such freedom, then letting someone who isn't a "user"--and I think this is where people get so stuck on forums like this, as most of the people here are developers and they want everything to be maximally biased in their favor--be able to modify your software and then not grant the freedoms we GPL-folk care about to actual "users" is unacceptable: it simply isn't why we are writing open source software, as the open source part is supposed to be able to benefit "users". So it frankly shouldn't be at all confusing why the GPL has the properties it does: if you think my open source code is so beneficial to your project that you want to use it in your project, you are more than welcome to do so!!! Only... you have to be willing to respect the freedom / rights of "users" that is codified in the license.
Why is it unacceptable? Why are people writing open source software then? "Benefiting users" can be done in various ways.
In my view, the GPL only manages to protest and protect software against the problems of intellectual property, copyright and capitalism. It's only about politics.
I agree with the sentiment, but that's really all it does, it doesn't solve legal problems. I'm curious to see which software licensed under BSD or similar suffered problems where the GPL would have protected them against.
Because, very often, we ARE users of our own software, so, we don't want the licensee of the code to forbid the licensor of the code his right to modify his own code on his own device.
Developers are users too. They use code. The GPL community’s insistence on segmenting those two groups and valuing the needs of one over the other for the last thirty years has led to way more angry threads than the world has ever needed. A community built upon unassailable rights granted to one class whilst mandating behaviors in another is somewhat incongruent at its base because it doesn’t track with unconscious notions of fairness and equality that most people carry. It also explains why developers are usually the one chirping about it, because they’re the second class in this picture. How that remains elusive after all the bloodsport and drama over this license is something I’m not sure I’ll ever understand.
I say that understanding the entire rationale, by the way. I absolutely get why both sides say what they say and I’m not disputing what you’re fighting for. Negotiation at gunpoint is what it is (again, scroll), and despite fighting what is otherwise a good fight worth believing in, expecting those at gunpoint to go along with no complaints is a bit naive in itself and a shocking lack of communal social understanding among the free software community. “Why won’t they work with us? We are telling them exactly what to do” is a self-evident position.
So instead we do this thread on HN and Slashdot and whatever every few weeks and get it out of our systems, then go back to status quo of not understanding each other nor why either side is much interested in engaging the other. It’s honestly puzzling that people still try.
The whole point of the GPL is that the reverse is true as well. If I - the user of the software - wants to become a developer of this software I can only do so if I have access to the source code.
That is not "mandating behaviour", if you are the original developer of a piece of software, you are free to take it closed source any time you wish.
If you benefitted from having the code of your software available to you, why would you want the right to prevent someone else to benefit in the same way ?
I am genuinely curious why that makes you feel so attacked.
I prefer offering more rights to all my users, including those GPL advocates tend to perceive as exploitative, which is why I use more permissive licenses than GPL in my software. I don’t lose sleep over Boeing patching a random library I wrote and not sharing the patch. It’s genuinely that simple. We have different priorities and shit we care about, and I can have mine without excluding yours or entering a confrontation where someone feels “attacked” over IP law (of all the things).
And no, what you’re saying isn’t the whole point of the GPL. I’ll give you a point but there are plenty of other rationales behind it, many spoken in this thread.
If I am honest, I did not understand your point, then. Your start-off was that the GPL segments between users and developers and disagreeing with that.
What I tried to offer as a counterpoint, is that the GPL does not actually segment between the two, it just mandates that this non-segmentation be conferred at every new iteration of distribution.
What you call "permissive" then is only permissive in the short term, because it precisely introduces this segmentation between users and developers in the long term. If you look at this as a tree structure, it's permissive only to your immediate children, because you are granting them the right to take away this precise freedom from your grandchildren, thus introducing the separation between users and developers.
Or in GNU speak: you are allowing your user/developes to take away their users's freedom 1 and 3, so since there are four freedoms, I will claim that this is at least half the point of the GPL.
What are you expecting? My gosh, you’re right, the freedoms I’m depriving of my users not subscribing to your orthodoxy? Show me the light? Not happening, sorry. The free software community has had decades to win me over and every time it ends in this. You’re not the first. Won’t be the last.
If your community spent more time listening rather than wagging fingers and tutting at the choices of others you’d get somewhere among the (most) people who don’t respond well to that. This thread is a pretty good microcosm of that because you’ve heard precisely none of what I’ve said; if you had, you’d have known the shaming sermon with a lot of “you” thrown in probably wasn’t the way to go.
Perhaps the GPL itself is incompatible with not explaining someone else’s business to them because that’s its whole trick to achieve the outcome desired. This thread kind of helped me realize that. You don’t even know you’re doing it because unconsciously you’ve accepted that telling others what they can and cannot do is a workable approach as it’s codified into the whole methodology of your movement.
Hmm, I am not trying to shame you into anything. I was using "you" in the generic sense. Like this here https://en.wikipedia.org/wiki/Generic_you I can understand, though, how you might have misunderstood me here. Even though I am just a stranger . That was not the clearest of way to speak, even though I have spoken it for a long time, English is not my first language. Then again, it is usually best to try and assume good intent.
I do have a feeling (possibly incorrectly) that your (vsw02´s) usage of "you" is directed at me (yosamino) directly, though. And since you have clearly deduced that I do not even know what I am doing, and I am clearly too stupid to understand the point that you are making, while you already know all of mine, I would like to agree: it's best this ends here.
> What you call "permissive" then is only permissive in the short term, because it precisely introduces this segmentation between users and developers in the long term. If you look at this as a tree structure, it's permissive only to your immediate children, because you are granting them the right to take away this precise freedom from your grandchildren, thus introducing the separation between users and developers.
It sounds like vsw02 understands your argument, and has already showed that they don't consider the scenario you describe to bothersome. One might say vsw02 predicted your argument, but I'd say you didn't fully consider vsw02's argument.
Your example sounds like the paradox of tolerance, but there is a critical difference: consequences. If you are tolerant of intolerance, then the repercussion is that intolerance continues, and even increases, which can also increase physical violence, and various human rights violations. If you give code freely to those who will not provide the modifications to that code freely, there won't be an increase in violence, or what most people would consider human rights violations.
Could we have a bit more FOSS code if all OSS was libre? Maybe. Carmack disagrees though in TFA, stating "I'm pretty sure there would have been more total users of the code, likely making the amount shared in the open still greater." Explaining libre isn't helping, you need to provide an argument that vsw02 hasn't already shown to be irrelevant to them, and ideally, one that also addresses Carmack's argument (saying "that's just speculation" is true, but it seems Carmack's speculation is speculation that a lot of us subjectively already agree with)
All I can say is oh well, I guess.
I think that's because, in my experience (outside of HN), many people really don't get it. They say something like "this proprietary software did something nasty again" without knowing that the GPL exists or that it's effectively impossible for GPL'ed software to do nasty things. Hence, it is always worth explaining the GPL and its values to them.
It's not always easy to see when someone already understands the values and just disagrees with them.
Which in your example would be the airlines, not the upstream.
The GPL is someone who will invite anyone who asks, as long as they themselves will also commit to inviting anyone who asks. That is, anyone who is invited by the GPL person cannot discriminate about who else they admit to the group.
The BSD is someone who will invite anyone who asks, and they can be as cliquey as they like. They can discriminate on any basis, or form in-groups among themselves where other people are not permitted.
Does the first or the second social group seem better to you? This might be a good predictor of whether the GPL or BSD model is more intuitive.
It can be argued that GPL'd code (in contrast to a license such as BSD) is less a net positive for users because the constraints the GPL places on how code may be used (requiring any user to expose modifications made to the GPL'd code along with a subset of the code connected to the modified code) means that some developers may not choose to use that code in their application. This results in fewer applications, which means fewer ways for users to solve their problems.
For Carmack in particular, I think that's the argument he's making. Carmack's goal isn't to guarantee developers maximum freedom to hack; his goal is to get his code in as many places as possible (because he prides himself on being the smartest guy in the room, and the more people use his code the more proof there is of that assertion). Maximal code adoption is not served by a GPL license; the GPL license sacrifices a bit of that opportunity to protect the developers' freedom to hack.
You are a developer of proprietary software. Your aim is to provide the same freedoms in practice that users enjoy in GPL'd software. What do you do?
There is a sensible and real answer here-- custom software development. If a user is paying a dev/dev-team to build that user some custom software, then barring fraud they have full control over what the software does. Plus, custom software and custom software development probably make up a huge chunk of the dev economy.
But notice that this is nearly never what GPL opponents are talking about. (In fact there is surely overlap between GPL'd software and custom software dev.) Instead they talk about consumer applications, games, etc.-- software which does not give its users the same freedoms as GPL'd software. In this class of software, there must then be an implicit premise: either the freedoms that end-users enjoy in both GPL'd software and custom software do not matter, or some other novel argument that downplays both the practical and ethical benefits of those freedoms.
And here's the thing-- whatever the implicit argument is, it runs counter to the spirit of both GPL'd software and custom software dev.
GPL advocates ought to use this argument to split the opposition between custom software development (regardless of license) on the one hand, and whatever the word is for proprietary software that aims to lock users into a system they can't control on the other.
Btw, the fact that I can't think of the word for the second category is a red flag that GPL advocates do a shit job with their propaganda. :)
Edit: clarification
Most custom software clients want full ownership. Not a copyleft license. So most custom software developers look at licensing the same as most proprietary software developers. They want other developers to use permissive licenses because it makes their job easier.
Most likely Windows and UNIX clones would have kept taking their pieces out of BSD, after the 386BSD lawsuit was settled without any other alternatives to reach out for.
You can see this from how much Playstation OS gets upstreamed into FreeBSD.
If you want to talk GNU/Linux, then we can switch to Android and ChromeOS, which have indeed done several contributions, in fact many of those left out weren't accepted.
With Android, Google wanted to give their changes back, so they were able to use GPL-ed code. They would give the changes back without GPL too. You can see that with non-GPL-ed projects they contribute to.
Several Google contributions were taken, just not 100%.
One notable contribution was cleaning up the kernel from all VLAs, the fortifications of several modules, some cleaning outcomes from clang compilation support.
Or the ongoing efforts to allow Rust drivers.
With Sony there were 0%.
You're stopping your reasoning at the numbers: some contributions from Google, none from Sony. (At this step you're also ignoring contributions to FreeBSD from companies that do contribute back, but whatever.) The big picture would be understanding why GPL wouldn't affect that situation.
GPL advocates love when their code is used by corporation, as long as they don't violate the license.
GPL advocates say it's so that improvements to the code are still benefiting the group.
Just because GPL code is in the open does not mean it’s wasted if companies can’t use it for their own profit.
And then along comes CakeCompany LTD, complaining that they just want to be part of the group to learn recipes for free without sharing any ideas back, because it would be bad for business, and calling the group a bunch of idiot zealots that are wasting cake recipes by not letting CakeCompany LTD add some nicotine to one of the group's recipes without letting their customers know what their modified recipe is.
My take on this is that those two things are almost equivalent. There are very few cases where I wouldn't consider someone using my open source code for financial gain without contributing back to not be exploitation.
If you're making something for personal use or even for some business cases, I see no valid reason you couldn't adhere to the GPL. If, however, you insist that what you make should be your own property and you just want to take what I made as your own and give nothing back to me or the project, then you should pay for dual-licensing or pay your own engineers to develop an alternative.
Open source developers are volunteers - many of us would gladly volunteer at a homelrss shelter, give blood, etc., but I can't imagine you'd find many people willing to volunteer for a company. For reasons why that is, ask anyone who's been in an unpaid internship.
I'd say that for a lot of people using the GPL that is exactly correct, but they distinguish between the people using the code and the commercial interest that they work for much more than your wording suggests. That good person will eventually move on, potentially leaving just the commercial interest.
Of course there are more extreme views (that good people and commercial interests do not mix) so it isn't that simple for all.
And there is the obvious twist of the point that by avoiding the use code covered by GPL, someone is tacitly stating that the potential for commercial exploitation is an option that they (directly or via following their employers' wishes) expressly want to keep available.
This is why some projects dual license, but that can have its own problems for projects with many maintainers or forks - sharing back becomes a relicensing issue of it's own (it is less of an issue for a protect maintained by small team, or a team of one).
Here's where I think the misunderstanding is, and maybe I should have made this point in my original comment: I do think there can absolutely be cases where a dual license of GPL / commercial can make a ton of sense. I think those cases tend to be for projects like Linux, Blender, etc.
But what I'm saying I personally think is a bummer is that for years, most open source projects - down to even small but useful libraries - were put under GPL simply because it was "the thing to do".
Like Carmack says, in my mind that is a net negative, since these libraries then were not able to be used by projects which were under other licenses, due to their copy-left viral nature.
I want children (or everyone?) to have access to all of culture, knowledge and art regardless of their parents wealth. I want that researcher has access to research papers and software technology in order to enable the improvement of the human race, especially on the medical side.
I want life-critical and life-saving technology to be transparent and verifiable. I want technology that can be repaired and not arbitrary prevented from being repaired. I want that people have the ability to remove malicious code from devices that they own.
I do not want 20 years long government enforced monopolies on vague concepts. I do not want multiple lifetimes worth of government enforced monopolies on concrete art, culture and life-improving technologies.
People who want to use code for good with commercial interests could sign an agreement that follow those above wishes, including additional corner cases or obvious bad behavior which I might have forgotten. Alternative I can use a license that get me as close as I can using preexisting understanding of those licenses.
WI absolitely support the idea of getting comoanies to contribute to OSS they use, but in most cases the projects are not prepared for this.
There is no obvious standard way to pay that I could take to my boss
But I am not sold on the idea that only children have a right to culture, art and knowledge regardless of social economic status. There is plenty of good arguments in favor of giving everyone equal access regardless of the ability to pay. The issue tend to come to how society should then go around incentivize and enable those who produce such culture, art and knowledge.
The struggle for economic justice and the equality of persons is not universally admired, so we have to start somewhere. Not suing children for accessing culture, art and knowledge is such start, and it would be great if the law recognized that.
You can use GPL code commercially. You just have to publish source on anything it touches. It that makes your business model nonviable, the amount of good you were doing is... questionable.
As a side effect they had to publish their incomplete implementation of STL that was adopted by multiple other studios as it was so much faster and less memory fragmenting than alternatives.
it s hard to deny that the most-used OSS software, is GPL
[1] https://en.wikipedia.org/wiki/Zlib [2] https://www.microsoft.com/en-us/legal/products/notices/win
Which is why Linux is used in zero commercial projects.
And how do you feel about LGPL? Many companies seem to be terrified of it for no reason.
This got Id paid and let modders and the open source gaming community go wild. What's the downside?
Carmack's argument about perception, but his view is really about having had more people use his software.
I think he's wrong. Brave thing for any SWE to claim but Id wouldn't have open sourced a second engine if the first was freely taken by a dozen companies and sold in competition with for game sales, giving no source improvements back.
And no, GPL advocates say it protects users of downstream projects. Software freedom is a huge topic, but the user is the focus.
The arrangement Id had protected them too. Carmack's take is just odd.
The point I maintain is, in Id's position at the time, a MIT/BSD license would have just cost them their engine business. Their code would have been everywhere, but they'd lose the business case for future open sourcing. The net amount of usage would be way down on what we have today.
I think that open source projects, that aren’t gpl, have proved that you can build software and still money from it. Godot, React, Chromium, and Node to name a few. Active development is worth much more than the actual code and encouraging your users to contribute back without the cost of giving away their product has allowed these and similar projects to grow.
I think ID would have had a similar experience had they gone with a different license.
I don't agree with this statement, because they used to open source their engines a generation behind their current one.
They released the Doom source when Quake was state of the art, so I doubt having another company release a Doom clone in the era of Quake would've put them at a significant disadvantage.
But it is a moot point anyway. That hypothetical other company could've taken the GPL engine and created a game that competed with their games. All that would've been required of them is to make their modified source code available (assuming they even modified the source - their new game might as well have been the stock QUAKE.EXE with a proprietary .PAK and it would've been totally acceptable).
But in order to compete against them that game would've actually had to be good: It would have to have good graphics assets created from scratch along with good gameplay. Not to mention strong marketing given the strength of the Id brand.
What I'm saying is that I don't think the GPL protected Id from their competition from using their open-sourced code against them.
And with a MIT IdTech2 engine, would any of their IdTech3 customers layered on their own improvements to the older engine? It's not like an engine is an drop-in solution. You still have to work it, and IdTech3 is after all just Id's improvements. Somebody could have taken the earlier engineering and run with it, just as open source efforts did, but into their own closed-source product.
WRT competition, I don't disagree on the point about the game's not being solely about the engine, but the era of gaming we're talking about did very much rely on novel technology. I think changes like those done by Infinity Ward may have changed the engine marketplace pretty disruptively in the early 2000s' flood of WW2 games, if they'd had to release them. GPL protected Id's take (CoD has an extremely long tail), as well as letting IW keep all their changes theirs.
I'm not privy to the details of Id's licensing contracts, but I imagine that they priced their licenses in such a way that licensing was more attractive than creating your own engine.
If IdTech2 was available under a BSD/MIT license then IW could've just taken that, improved it, kept their changes to themselves and not pay Id any royalties.
I see your point, but I'm still inclined to think that it wouldn't have made much of a difference to Id's engine licensing business at the time.
In our hypothetical situation where IdTech2 was available under MIT/BSD then IW would either be stuck with inferior graphics or would've had to spend significant resources to get it up to the standard of IdTech3 (which also comes with the business risk of whether you'll be able to pull it off and how long it would take). They would also have to rely on themselves to get support, rather than Id.
I think executives would in the end just see licensing IdTech3 as the cheaper and less risky option.
I think this is what Carmack's tweet is about: At the time his business partners thought that the GPL license would protect their business and insisted upon it, but now with the benefit of hindsight he recons that the code would've had a greater impact if it was made available under a more permissive license.
I am not sure which GPL advocates you have spoken to, but I like the GPL, because it puts me center as a user. I can use and copy a programm as I see fit. And if I come to a point where I think something has gone wrong with it or something is missing, then I can modify it myself, or pay someone to help me do that, and I can distribute these modifications.
This ensures my freedom as a user. Maybe the software got abandoned, maybe someone added telemetry, maybe xyz, it's helpful in many cases.
More restrictive licenses, let's say the MIT one, do not prevent me from making making my contributions closed source. This ensures the freedom of the developer to prevent users gaining access to the code. Thus it restricts the rights of the user, that they would have under the GPL.
If a commercial project feels it's within their right to prevent me from accessing the code that is running on my machine, that is their decision, but that is at odds with the freedoms that are granted by the GPL.
Given all that, I would like to disagree with your conclusion
> But I'd say that choosing GPL means it's more important to you that your code "is not exploited by corporations" than that it can be used for good by people with commercial interests.
Chosing the GPL means it's more important to me that my users, not my code, is not exploited "by corporations".
The GPL then does not prevent "good people with commercial interests" from using my code - but given that "good" is a relative term: from my point of view preventing someone from having meaningfull access to the code that is running on their machine is not good - it is bad.
Also, your convoluted explanation of why permissive licenses should be called "restrictive" is hilarious.
I am not sure why you are trying to make fun of me:
Permissive licenses ensure that the first generation of users/developers benefit from the code in question being free, and then allow restrictions. Licenses along the lines of the GPL make sure software stays free even after generations of copies. The restriction in the GPL that sets it apart from, let's say, the BSD license, is that it doesn't allow further restrictions.
So the tree of descendants of an originally "permissively" licensed code contains potentially more restrictions, that the tree of descendants of originally GPL licensed code.
Quite possible that this makes the GPL the less successfull of the bunch.
That shares a similarity to the paradox of tolerance: To ensure a society stays tolerant, it has to be intolerant against it's intolerant subgroups. You can argue that a society should be so free that is does not do this, but that just diminishes tolerance in the long run, so of the two paradigms, paradoxically, the more tolerant society is the one with a specific intolerant rule against intolerant minorities.
This is, as you rightly noted, not how modern business models function.
> So the tree of descendants of an originally "permissively" licensed code contains potentially more restrictions, that the tree of descendants of originally GPL licensed code.
I think the number of users should count as well. A proprietary application distributed to millions results, in a way, in more "freedom" of use (albeit of a thinner scope) compared to a GPL'd application rarely used or distributed.
> This is, as you rightly noted, not how modern business models function.
Some do, some don't. See e.g. Carlo Daffara on open source business models.
I think you are understating how crucial a license like the GPL was in Linux getting to where we are today. It was essential.
Things got complicated once people put libraries under the GPL, which is when all the legal uncertainties cropped up about what constitutes derivative work.
This position increasingly wants technically not-open-source licenses that reserve the right to profit from the code for... actually, a certain corporation, the one of the "original developers". It's not really about "by corporations", but "big corporations" vs "plucky entrepeneurs who deserve to get rich from their innovation".
Whereas before, for open source enthusiasts, it was about "those who get rich from code" (whether big corporations or 'plucky entrepeneurs') vs some kind of 'commons' or 'public good'. (The new ideological position believes they are still open source enthusiasts somehow, but that their non-open-rights-reserved licenses are somehow 'more truly' open source than... actual open source licenses including the GPL. The term 'open source' still has too much credit for them to say they are opposed to it, even when they are).
There is definitely an ideological shift going on. I am curious if anyone has written/researched more about it.
They are probably downvoting because time and time again people explain that the _purpose_ of GPL isn't to stop commercial use (commercial use is fine), it's to stop developers from depriving users of the same rights to the source code that you, the developer had.
I'm not even a GPL guy, just a guy that can take 10 minutes to read a license and an FAQ. I've also used GPL in commercial software, it's very simple to comply with the license.
This is the tale of Linux vs FreeBSD. Companies like Juniper that made heavy use of FreeBSD as the basis for JunOS have an atrocious history of failing to contribute their changes back to the community, and Juniper isn't the only one engaging in this behaviour. Sure there are other reasons that Linux took off and FreeBSD didn't, but license is a major factor in how their respective communities behave.
Yes, there are times when copying BSD licensed code is easier if you don't want to publish your source, but it isn't too difficult to adapt business processes to this constraint for the vast majority of applications. Look at what happened in the wireless router market. Early in the 2000s many products made use of the various vendors' Linux based SDKs and weren't compliant at publishing their source. Today OpenWRT is vibrant and most vendors offer GPL archive downloads on their websites. Personally, I don't think this would have happened if Linux wasn't GPLed and there wasn't the pressure the GPL afforded on vendors to open up their code.
I understand and respect John Carmack's position, and the GPL isn't for everyone, but people need to understand that license can result in significant differences in the viability of a community built around a software project on the longer term scales of 10-20 years.
I think that's an important distribution, because the userspace equivalent would be GPL with an exception carved out for dynamic linking (i.e. the LGPL).
Many companies using FreeBSD, including Juniper, NetApp, Netflix, Netgate (pfSense), iXsystems (TrueNAS), Dell (Isilon) contribute significant code to FreeBSD. It's very expensive to maintain long-lived changes from upstream, so there's a large incentive not to do so. Code that's "not contributed back" is largely code that isn't suitable for upstream anyhow - because it is incomplete, limited in scope, etc.
Looking at "Sponsored by" tags on the last 6 months of commits to FreeBSD I see the following:
The FreeBSD Foundation
Netflix
Rubicon Communications, LLC ("Netgate")
Chelsio Communications
NetApp, Inc.
Mellanox Technologies // NVIDIA Networking
Innovate UK
Klara, Inc.
Diablotin Systems
Dell EMC Isilon
iXsystems, Inc.
Citrix Systems R&D
Axcient
Netflix, Inc.
DARPA
Alstom Group
Eldorado Research Institute (eldorado.org.br)
Ampere Computing
Marvell
Stormshield
Amazon, Inc.
(and a long list of entries with one or two commits each)There's a backlog of work that contributors would like to get into FreeBSD; a limiting factor is availability of mentor and reviewer time to guide contributors through the process and iterating on bringing the code into a committable state.
The idea of going viral as making it something everyone can partake in and something nobody can tell you not to do as long as you don't try to restrict others is pretty positive.
Companies and copyright firms will have us believe the "viral" just refers to the way COVID is viral, but it's become more than that.
Any company advocating against or complaining about GPL isn't worth paying attention to, in my opinion. In this case, the one of an individual developer, that's not the case though. Not everyone who chooses GPL wants to kill copyright, especially people in the game dev world whose entire business is that of copyright. For those people, GPL is the wrong license to release their source code by for many reasons, though it's also the right license to release their source code by for many others.
I've always seen copyleft as a fight against copyright, an abuse of the system meant to accumulate private wealth and restrictions, by forcing people to give up their private gains or make them reinvent the wheel if they wish to keep their IP to themselves.
Any patent owner will say IP is necessary for the market to stay competitive, anyone who's ever had to buy patents (media codecs, mobile communication, etc) or who's been sued by patent trolls will likely say that patents stifle innovation instead. It's all about what you gain personally.
I like the idea of copyright for individuals, but corporate copyright as a thing that can be sold, bought, or pooled, has been so terribly restrictive to most of the world that I'm in favour of a massive reform.
Are we really to believe that there is anyone out there encouraged to write because they know their work will still be copyrighted for 70 years after they die?
If a work loses its copyright after 10 years, I could grab emacs 23.3 and make some changes and release it all close source. Or gcc 4.6.1. iText became AGPL in '09.. version 5.1.1 was released 10 years ago (5.5.13 is current) and it could be brought to a closed source library.
Whats more, I believe that the photographs that I took 10 years ago still have as much value as the day that I took them. There are a lot of photographers who's livelihood is based on their library of photographs that they have taken over the years.
---
Lifetime plus 70 was done in the era where publishing content had a very long tail and the estate (and children) were able to collect from that long tail for their lifetime too.
While I'm in agreement that lifetime + 70 is too much, I believe that 10 is far too little.
--
A prediction / alternate world -- if copyright was 10 years on software, you'd get an EaaS model - everything as a service. You wouldn't have anything that you could install. No libraries - nothing. You make calls out to services to do whatever you need. This would likely include connecting to VMs controlled by large companies from rather low powered terminals. Yes, this looks a lot like chrome books and the cloud for everything.
> There are a lot of photographers who's livelihood is based on their library of photographs that they have taken over the years.
There are a lot of people whose livelihood is based on crime. This isn't a valid argument for what is right or wrong.
Copyright is supposed to encourage new works for the greater good of society. This is written into the US Constitution, no less. It would be interesting to see if lengthening the term of copyright has caused an increase in the number or quality of creative works being produced. I highly doubt that it has.
> A prediction / alternate world -- if copyright was 10 years on software, you'd get an EaaS model - everything as a service.
Why would it change anything for existing free/open-source software? We'd still have GNU/Linux and the BSDs. If it made proprietary software even worse, then so be it. More reason to use free software.
You are suggesting depriving artists and writers of their livelihood.
I will agree that the Disney Micky mouse mess is ugly and does make things worse, but making it so that a photograph that I took {N} years ago is no longer something that I am able to protect and gain value from is... not something that I'm ok with. I do still sell the occasional print from a photo I shot a decade (or two) ago. Having someone else take that print and then make a poster from it and sell that leaves a bad taste in my mouth.
> Why would it change anything for existing free/open-source software? We'd still have GNU/Linux and the BSDs. If it made proprietary software even worse, then so be it. More reason to use free software.
Open source would lose its protections after that decade. MongoDB for example went AGPL in '09... and that wouldn't be enforceable anymore on that version.
My prediction is that open source would die shortly afterwards since there would be no way to enforce the GPL or any copyleft on old code.
No, open source wouldn't be thriving in that world as it can't enforce its license through copyright.
BSDs wouldn't really notice. Linux and the GPL would find itself closed source - not just locked down and tiviozed. GPLv3 and AGPL would lose all their teeth.
The GPL is there to try to make it easier to hack or tinker with the things you own that use something that has been GPLed. With copyright toothless on old code, that GPL and AGPL gets used without contributions. Proprietary steps up its DRM and licensing - where you're "renting" an application with a subscription so copying it from one computer to another is pointless... but then we're already there for proprietary applications.
A short term copyright is a loss for artists and open source - it doesn't make it worse for exiting proprietary applications.
That's unsurprising.
> Having someone else take that print and then make a poster from it and sell that leaves a bad taste in my mouth.
Don't share it then. Simple solution. Nobody will ever enjoy your pictures but you.
> The GPL is there to try to make it easier to hack or tinker with the things you own that use something that has been GPLed.
No it's not. The GPL is not about you or me. The GPL is about society. This is what you don't seem to get. Maximising the greater good for society rarely coincides with maximising individual interests. Think of it like global optimisation vs local optimisation. Permissive licences seem to locally maximise individual freedom, ie. if you happen to have the source code right now, you have complete freedom to do what you want, up to and including denying others that freedom. The GPL tries to globally optimise freedom by "disabling" copyright. So you have the freedom to do what you want, but you don't have the freedom to deny those same freedoms to others.
If we reformed copyright, of course a few individuals would lose out. But society as a whole would be far richer.
I think, like many people, you consider copyright to be like some unquestionable right. But it's not. It was invented about 400 years ago and it's way out of date. We can and should question it. If you can't think about copyright, you won't understand copyleft.
What people mean by virality is not some copyright coming back; it's the fact that GPL "spreads" via linking. And that does have consequences: it's where license incompatibility comes from, and it's also why you can't use GPL-ed code with code under other (Open Source) licenses.
License incompatibilities are certainly possible with proprietary licenses, there's nothing special about the GPL (or copyleft) from other copyright licenses that grants it magical incompatibility properties. Someone could license you software only to use in industry A while somebody else forbids you from using their software in that industry. There are also plenty of non-free licenses that require use to be non-commercial that could face a similar problem.
Licence incompatibility is not in the slightest bit unique to the GPL. It's simply how licences work. Other licences can seem interchangeable because they are very simple and one may stipulate a superset of the requirements of the other, so you can always "upgrade". But you can't "downgrade". You can't mix a BSD-licensed work with a WTFPL work and license the whole thing under WTFPL because you will violate the BSD licence.
Licences are only a thing because of copyright. Every single licence out there only works because of copyright. Different licences have different aims. The aim of GPL is to "disable" copyright. The GPL is antiviral.
Doesn't stop me from treating GPL software as a radioactive contaminant in practice.
It’s not the only antidote to copyright, though. Dismantling the current legal system that is designed to protect profits above human need could solve the problem more permanently.
> The GPL virality wound up being a net negative, and more value would have come from BSD. [...] The best aspects of GPL work didn't manifest, but tons of opportunities to just copy-paste-modify were lost due to license concerns.
One of the answers on Twitter:
> Then what if it's being exploited by big techs and make your work proprietary? GPL preserves the four essential freedoms, BSD does not.
Yes. Okay. Carmack is aware of that.
When he says "The best aspects of GPL work didn't manifest", he specifically addressing those concerns, and saying that he basically saw no benefit from "not being exploited by big techs".
Like, I find it intensely frustrating that, when an industry veteran says "I've heard the pros and cons of each approach and I found that in my real-life experience GPL was a net negative", people answer with a 101 on the philosophy of GPL.
Is there a word for that? Dismissing empirical evidence by clinging to philosophical assertions?
A bit generic, though.
Small nitpick -- Carmack's assertions are anecdotal, not empirical.
Faith? Zealotry?
Dogmatism usually means this.
That word, I claim, is 'ideology'.
Did someone get sued for downloading a copy of a game with the quake source code in it?
Did someone release a game with quake code in it, only to go after users for patent infringement?
DRM locked devices built on the quake code?
A license is simply the condition for which an author allows others to do things for which copyright law make illegal. There is also a culture and a movement that has been built around common rules for software development.
Carmack does not explain what he wanted out of the license, and so people attempt to fill in the gaps. That people interpret that as "Dismissing empirical evidence" is on those making that interpretation. I do have a word for that, but we should strive to improve the tone on HN and so its better to just explain the purpose of those who replied to Carmack.
(I don't flag comments often but this is a prime example. Hugely frustrated, dismissive, with a bit snarky tone. The comment would be hugely improved by simply skipping the last paragraph. The outcome? A bunch of up and down votes in all the comments below in typical flame war fashion)
I don't think reducing it to that actually helps the discussion.
A license/law/policy can't be analyzed via its bare verbatim text. One also has to look at its unintended effects in the real world. Yes, the GPL license has noble intentions but that doesn't mean it's immune from causing actions that indirectly contradict its goal. (Wikipedia article on that phenomenon: https://en.wikipedia.org/wiki/Perverse_incentive)
A license or law can have a stated positive goal or ideal with the text written for that intention and motivation ... but the complexity of the real world may work also against it.
>Carmack does not explain what he wanted out of the license,
To use framework of "perverse incentive" to interpret his tweets..
He wrote: "The GPL virality wound up being a net negative," and followed up with:
>the best aspects of GPL work didn't manifest, but tons of opportunities to just copy-paste-modify were lost due to license concerns. It is possible that some of the source ports wouldn't have been as open, but I'm pretty sure there would have been more total users of the code, likely making the amount shared in the open still greater. I'm still supportive of lots of GPL work, but I don't think the restrictions helped in this particular case.
So in this particular case, he claims that GPL unintentionally caused less openness instead of more. Seems like a textbook example of Perverse Incentive.
Yes, we could get pedantic and say GPL verbatim text mentions "freedom" instead of "openness". True, but many interpret GPL's copyleft reciprocal nature of "I share my code and you share your changes back" as trying to create source code abundance. Carmack is claiming that in his case, GPL's restrictions unintentionally caused less code to be shared.
One can still disagree with Carmack but it's still worth understanding what he's claiming.
(We could dig into the terminology around "openess", a classic tar trap in the GPL and BSD flame wars, but I doubt such path would lead towards comments getting more thoughtful and substantive.)
Going thus back towards getting users and copy-paste-modify events, as a strategy GPL is rarely if ever a maximize for those goals. The discussions around licenses for stackoverflow code seems to have concluded that claiming copyright at all on small code snippets is counter productive and something most users don't seem to even acknowledge or know that it has a license. A patent grant is however a good protective measure, which would be more akin to the apache license rather than BSD.
For maximum users we have both Iphone and Android as examples of BSD vs GPL, and the conclusion seems to be that the license has very little effect. In contrast one could make a strong correlative argument that proprietary software on top and DRM is the best strategy out there if you want to maximize users.
I doubt however either is what Carmack is talking about. Instead it seems to be the rather common pattern we have seen in the past when old developers test out open source. They look at projects like linux and expect to get similar contributors by releasing their own projects under GPL, and then they end up not getting many and announcing that "the best aspects of GPL work didn't manifest". The question is if that would also have happened under BSD. He could try it today, and if we got the same result, what would that prove?
Exactly, one can still disagree, and he is making a claim. Those are 2 things:
He does not know what would have happened, had they gone with BSD license. No one does ultimately. It might be a case of "the grass is always greener on the other side".
Second is, that he might write however good code he wants, but what is its use, if it can only be used in 1 product, and then gets copied into other people's proprietary products, with no modifications shared back to the community? His code could have been "trapped" in that one BSD licensed product, if they did not make use of it themselves later on. By going GPL, at least they got the people, who did in reality, not just in imagination of an alternative past future, use the code, to contribute back. Those are the facts and they were caused by the license choice. A BSD license does not ensure any such thing. Of course it is possible, that there would have been more adopters and more people sharing code back, but that is not guaranteed, which is kind of the point of GPL.
BSD/MIT/permissive and our use of them did make it a hell of a lot easier to approach my previous employer about contributing back on company time/pay (they now do). They even came back with "but no GPL." One of the biggest problems in OSS is paid time/contributions, and GPL discouraged it in at least this one case.
One would think, that if any contributions flowing back are allowed by a company, then it is to GPL licensed projects, because competitors, who want to use it in their products, would have to also contribute back their modifications. Basically to ensure, that a competitor cannot gain an invisible advantage based on ones code. (If all play by the rules.)
Fair enough, I guess.
I do think my last line had merit. I'm pointing a pattern I'm seeing: people dismissing Carmack's object-level argument without arguing on the object level themselves, because they deem that the general ideology of GPL makes Carmack's object-level claims irrelevant.
In case of Linux, GPL is regarded as a good fit.
In case of games, it'd be surprising now, to see GPL as a good fit. Open source and GPL are not used predominantly, thus never disrupted much in that space. However, this is based on a kind of hindsight bias as well.
In many ways, Free Software is regarded a means by itself: To keep software Free. So the goals of the ideology might not ressonate with the goals of every game developer.
Evidently Carmack would rather the Id source releases be of use to as many developers as possible. As he says though, My partners would never have gone for it, precisely because it would have been valuable to developers of non-Free games, who compete with Id.
It's natural that people think he's using his status as a super programmer to lobby for the position that currently benefits him.
I don't see why he would be more qualified to assess the pros/cons of the GPL than the Linux and GCC authors.
That is simple: he has thought about it in more depth than most of them. Most Linux and GCC authors don't really care about licensing much, just code they can work collaboratively on. Since the code they are working on is GPL they use GPL and get back to work.
I suspect if Linus took the time to really think he would use BSD for Linux - it hasn't been possible to make this type of change since like 1992 at the latest though so there is no point in him thinking about it. And in turn that means my claim is not testable.
Its a good watch for the philosophical background on which license Linux is under and Linus's feelings about the GPL v2 and v3.
No, he wouldn't have used the BSD license - it didn't match what he wanted for linux.
I don't think he is. I would be equally frustrated if Linus Torvalds made an argument about the pros and cons of each license and people replied with generic proselytism.
My point isn't that Carmack's status means people should automatically listen to him. I'm saying he made a thought-out argument, based on practical considerations, and the way most people answered didn't really address the argument, so much as re-state a previous held belief that license X is better than license Y.
You think that's frustrating, try watching an expert talk about economics.
Physics, too. I once mentioned on a forum that at least as the fat guy in my group of friends I coasted down a slope faster on my bicycle than did my skinny friends. (It was quite noticeable, too).
The number of people who jumped in to tell me I was wrong and attempted to do that math using their first semester freshman physics knowledge to prove it was astounding.
They did a decent job--for bicyclists on the Moon. For bicyclists on Earth--not so good. They all neglected wind resistance.
The acceleration from a given force is inversely proportional to the mass of the body it is applied to.
The larger person has more mass and a larger cross sectional area. The question then is this:
Is Mf/Ms > Af/As,
where Mf and Ms are the masses of the fat and skinny persons, and Af and As are the cross sectional areas of the fat and skinny persons?
If Mf/Ms > Af/As then the fat person will feel less force from wind resistance at a given speed than will the skinny person.
Let's say my mass was 50% higher than my friend's mass. Unless my cross sectional area is also 50% higher than theirs, I'll experience less acceleration from wind resistance than they do at a given velocity.
If my increased mass came from just being bigger in all dimensions, I'd be 14% bigger in all dimensions, and have 31% more cross sectional area.
In reality, the increase in cross sectional area is even less than that. When you get fat you don't get taller. You get wider, but not as much as you get longer. Height and width are the ones that matter for cross sectional area assuming you aren't ridding side saddle.
Go ask authors of ElasticSearch or Airflow or whatever the new thing that AWS steals will be.
Hence why they and mongodb switched to a shared source license that is not Free software.
If Microsoft took the source code to Nano and made a Nano+ that reads word files or something, closed-source, selling it for big bucks, etc, the value of what they're offering cannot possibly be more than the delta from what is freely and openly available. They didn't make the original any less available, and a user is only possibly going to pay if the features are different enough to merit the cost over the freely available version. Similarly, if Amazon has a product based on an open source product, what they charge can only possibly be for the values that they've brought to it. They haven't stolen anything.
A lot of GPL advocacy seems to be based in sour grapes and it's offputting.
I think its interesting that you described exactly the big problem the GPL was supposed to solve. The entire intention is to not allow another party to take the work you've done and build a minor increase in value and then piggy backing on all the value you've created.
Now you've removed contributions that could have made the original project better - most of the intention of open source is to make something that others can contribute too.
I'm talking specifically about the notion of people making money off of open source -- whether BSD, GPL, etc. You cannot possibly make a penny off of what is freely and openly available. It's economic market value is $0.00. It's human value is considerable, but again the market value is $0.
This is lost on all of these sour grapes "wah, they're stealing" arguments.
It is less obvious because its not as directly and easily measurable when a direct dollar sign is put on a product. The same feeling happens when big tech builds huge profit machines using something a person made and gave away as a cog without contributing back. Or when AWS takes something like Elasticsearch and hosts it for profit - Elastic co. sure thought they were stealing.
You call it sour grapes and then describe how someone is stealing something of value. Was Elastic's response to AWS also sour grapes?
This is absurd, and this is just circular. I feel like many of the open source arguments, particularly GPL-based, are predicated on detached bullshit.
Being in denial
In the context of Linus values, open source means basically the right of forking software, but copyleft means the right of merging back worthwhile patches from downstream forks. This is absolutely critical in an industry full of binary blobs: this is basically the reason we have any kind of source code for Android kernel drivers, routers, and many other products.
What Linus doesn't value is the goals of free software movement: empowering the user of the computer. He just wants the code. That's why he doesn't care about tivoization, but he cares a lot about GPL.
Freshmansplaining?
I do find it notable how many of my peer computer programmers/software engineers no longer believe in open source though. 15 years ago it was very popular to believe in open source, as a way of combating the power of giant corporations.
The dislike/distrust/desire to combat large corporations is still there, but there seems to be a popular and growing opinion that, as they have seen big corporations get only more powerful while using open source, this must mean that open source serves big corporations, and we should be anti-open source if we want to combat big corporations. So it's still anti-corporate, but now much more popular to be anti-open source.
The difference I guess is that now the idea is that open source privileges big corporations against smaller for-profit concerns, that it hurts the kind of "entrepreneurs" that the speakers want to be, hurts their ability to become rich themselves. Whereas before the idea was that open source would help "the people" against the corporations, not help some entrepeneurs get rich themselves.
ANYHOW. This is definitely a thing. Anyone who's been in this "scene" for 20 years is seeing it.
Is anyone writing more about it and what's going on?
No commercial game developer is willing to ship a game with GPL’d code because the license is incompatible with most middleware and console SDKs. We missed out on what could have been a free and open competitor to Unity or Unreal.
The rise of the PC is what sparked open source as we needed cheaper (free) tools. Once the tools were free it accelerated the growth of the web which was built using said free tools (remember LAMP stacks?). Mobile built on the web and used the same free tools allowing more money to be made. It basically put a computer in everyone's pocket in two decades which is no small feat.
In the end open source did win in a way. We still use open source tools. Linux powers most of the web as well as Android. Much of iOS/MacOS is built of/with free tools (GCC/clang, BSD, etc). But OSS remains a beast of burden which powers money making platforms. And there's a lot of money to be made on those platforms so focus has greatly shifted.
Reminds me of a phrase used to describe the evolution of Jazz music: "Born in a whiskey jar, grew up on pot, and died on heroin." Open source was born in that whiskey jar of general purpose beige boxes. It grew up during the wonky web years and showed great promise. Now its highly addicted to corporate money and slowly fading away.
In the eyes of original generation of OSS supporters, the 'lot of money to be made' was what made OSS important, to ensure that people access to software that served them as users, instead of just being made to make a lot of money off of them.
Arguably, despite the takeover of open source, that vision failed.
So, now, rather than opposing "money to be made" with the "interest of users" those opposed to open source (while making a case that they are the ones really more "in the original spirit of open source" than open source itself)... say they are sticking up for the ability of the small entrepeneur to make money not just the big corporation.
That's the change, not that there's a lot of money to be made from software. From the start of the OSS movement there was a lot of money to be made off of software, if there weren't OSS wouldn't have been relevant in the first place. Original OSS said if making sure users have the freedom to do what they need with software reduces the money to be made off of it... that's fine. New line says the thing is to reserve the right of the small entrepeneuers (or those who can convince the internet mob that they are smaller and more deserving than Amazon anyway) to make money off users, and try to prevent big corporations from getting a piece of the pie that rightfully belongs to "deserving" businesses, who are deserving because... they're smaller.
I have some ideas of what the differences actually are, I think it's not about how much money is to be made, but how the actual individual software engineers made money; who their employers were and how those employers behaved. I think it has to do with both greater "austerity" and "efficiency" among large employers, and greater dreams of getting rich as an "entrepeneur" among individual developers.
Cognitive dissonance
I also kind of think 90% of the comments here misses the point. It isn't GPL vs BSD. Some software should be GPL, or APGL even. Some are better for MIT and BSD, or even CC0.
The human element of the programmer who can understand, adapt and develop some program is more valuable. The valuable thing is their time and overall knowledge, not the end piece of content necessarily. I think you do want to make sure people who have good ideas get recognised, (but this is like GitHub, employment record etc) but truly it's more beneficial to society if those good ideas propagate freely and get reused. I think the copilot thing really brings this to light. I believe BSD is probably the best option.
Valuing the programmer more, caring more about who develops your app is more important than merely the code at the end of the day. Eg is this a reputable team I want to support? The copyright/license system seems out dated in light of new information. I think the citation model works better. If its truly well established knowledge then yes maybe a formal reference exists somewhere, but they sort of fade into the background.
That this is connected to how "valuable" code is, is in a sense a happy coincidence. The conditions are attached and entangled because this forces people to listen and pay attention.
A more "permissive" license (like BSD) is weakening that point. It allows you to reuse code but does not require the re-user to allow the above mentioned openness. So is kind of missing the point, from that perspective.
Maybe the license isn't the correct place to address this. I'm not sure what the solution is, though...
I really liked that comparison and I've thought about it a lot since. And here it's worth asking, how did we go from alchemy to science? How did we end up figuring out that openness and transparency is beneficial?
I know one thing, it wasn't with licenses. But I'm really curious, because I want to live in the world where open source is the default. I just don't know how we get there.
Licenses only matter because there's trademarks and copyright. In places where IP isn't protected as much, they also would not matter, in a way that they would not be necessary. But because stuff can be copyrighted, there also must be a way to share that, aside from liberating it from the copyright of course.
I think a close real-life analogue is a potluck. The custom requires that participants bring some food, and in turn can consume from what the others brought. And it's a nice old thing too, with etymology dating back to the 16th century.
> There is some value to having windows itself, but the more valuable thing is the horde of programmers, and all the other resources behind it.
This is partly true. What's valuable is for code to do things for people. For that to happen, you need programmers who can make that code, and maintain it over time. The way companies make money on proprietary software is by controlling the intersection - they control the access to code and programmers who can work on it, so if you, as end user, want your computer to do something, you have to pay them. If you want the program to do something else, you have to pay them (or their partners, friends, subsidiaries) to make the modifications/extensions.
GPL exists to defeat this stranglehold. It does it in two ways. First, like permissive licenses, it ensures you can modify the code yourself, or commission some programmers to do that for you. Secondly, unlike permissive licenses, it ensures that you can't just turn around and lock down your improvements, preventing other end-users from doing to the improved version the same thing you just did to the base version. In this way, it ensures the money can only flow from users requesting work to programmers doing the work - it removes the ability to seek rent for the work already done. It removes control over users from the hands of companies and software developers.
Permissive licenses are obviously preferred by software industry, because they give more control to us, software developers, at the expense of end users.
That is the dogma, but in practice it is false. Khtml was GPL, that didn't stop Apple from forking it in such a way that their changes couldn't be reused. In practice many who change BSD software find it worth while to contribute their changes back - so they can continue to use the latest version instead of maintaining their own fork.
I see a lot of value in not pointlessly reinventing the wheel. GPL encourages/enforces people who fix things to give those changes back to upstream where they may benefit everyone. So ideally only one set of fixes per problem has to be globally implemented and maintained.
The implications for global wealth are non-trivial. How much Linux alone has done, I wonder?
One can argue GPL encourages reinventing the wheel by not being permissive enough.
The GPL doesn't give primacy to the thing that's built - but to the user of the thing. The GPL implicitly values the user's freedom over developer's convenience - the opposite is true for BSD-like licenses.
Generally, I feel like the affinity most people have to one license or another entirely depends on how they more closely identify as a user of. software, vs as a developer
That assumes a very specific kind of user. The kind that has the time and energy, not to mention the ability, to read and understand source code and modify it according to his needs. Basically the RMS kind of user.
For most users, that freedom is not much of a concern at all. For them, the most important freedom is: the freedom to enjoy the fruits of labour of a large horde of programmers who can make a fruitful living out of creating apps for said users.
They enjoy this freedom a lot more in what GNU calls non-free platforms like Windows and Mac and iPhone, which is why they keep flocking to them.
Actually, no. End users also benefit when code is contributed back to the software they use.
My intent was only to help the GPL and free software fanatics see an important freedom provided by non-free platforms, not to belittle the achievements of open source community.
Saying that the source availability is not important because you won't use it is like saying free speech is not important because you have nothing to say.
Sounds a bit like "I don't care about free speech, I don't want to say anything!".
Looks like you got too excited to be able to read the entire comment? XD
> it is like saying free speech is not important because you have nothing to say
The only thing your "alternative" reply changes from that is grammar.
Anyway, like I have already said, my intent here was only to try to make people like you see another perspective (namely that non-free platforms can create ecosystems where users enjoy the labours of a large number of developers who can make a profitable living out of programming for that ecosystem - access to such ecosystems is also a freedom and one that many users care about). Apart from making that limited point, I had no interest in having a pointless argument with an open source fanatic.
Apart from that, It is clear from my comment history that I do have a side. Nevertheless, calling me an "open source fanatic" is kind of rude.
As for scientific research, most of the software behind scientific paper is basically closed source. Which is another reason why there's a whole reproducibility problem with science papers: it's quite possible many papers are just bad interpretation of data due to bad software.
Also note how much software / research / data is proprietary. How can one quote that?
I wouldn't mind using only BSD in the future if I get to read the Apple iOS source code on GitHub.
Even copyright... isn't Elsevier a major copyright holder for all academic papers and thus causing all sorts of problems. It's not like it's all kumbaya out there. The academic world is much worse than GPL and open source on multiple dimensions.
No, I could be wrong, but it’s my understanding that the author of the academic paper still holds the copyright, it’s just the author licensed sole (or near exclusive) distribution rights to Elsevier in exchange for publication in their journals. It’s basically the same in the publishing world, I own the copyright on the book I coauthored, but WROX Press owns the distribution rights as we gave those up in exchange for them publishing.
I suppose the academic world might be considered worse than GPL in some copyright sense, but not in the practical sense of sharing/reproducing/extending results. And, of course, one does not need to publish with Elsevier -- there is no shortage of "open-access" journals.
2) Yep, the whole idea of GPL is to allow those good sources to propagate freely and get reused. Read the license, please.
3) Citation model is the core of BSD license, so use it for your own code.
Removing patents and copyright from public funded universities is an on-going struggle that has yet to be fixed. We have yet to start to make all scientific research free from patents and copyright.
We should strive towards the utopia where all that was expected is that people will cite the source, and then everyone could build off the work of everyone else.
Research is not copyrighted. Particular write-ups of the research are copyrighted.
That paper would be subject to copyright.
However, if I go read the paper at the library and then use the knowledge I gained from it to make the superconductor and test it and applied the theory I learned from the paper to other superconductors, that would not violate the copyright of the paper.
If I wanted to then tell you how to make the superconductor, I would not be able to make a copy of the original paper and give you that copy. That would be violating the copyright on the paper.
But I could write up my own description of how to make it in my own words, using what I learned from the paper, and give you that description. That would be fine from a copyright point of view.
Because people don't hide their equations and ask you to pay them money to evaluate them given a set of variables.
GPL wouldn't be necessary if sharing code were already the default. It's an ugly hack to solve a really stupid artificial problem.
Microsoft Copilot uses billions and billions of lines of code. It charges for the service. If Microsoft had to license the code, could it build as good a service? If not, then that proves that the (trillions of) snippets have value. Microsoft only says it's valueless because it can get away with stealing it.
It's the same way water is free at the river. But that doesn't mean it has no value. Water has price tags in a supermarket.
When Google photographs billions of streets it at least provides a public service with it and a way to remove yourself.
Centuries ago, petrol was considered useless and a nuisance. Now it's very valuable because it has uses. Microsoft is trying to convince people that petrol has no value exactly because it does.
Just because every line of code is worth millionths of a penny, doesn't mean it's valueless when Microsoft will make billions of dollars off of the service.
Well, that's the point. GPL is working as intented.
Really terrible license.
Seeing as that scenario didn't come to pass, the only result is a net loss of games that could have been made (or made cheaper) by reusing Carmack's code and instead weren't. Maybe some of these games would have been proprietary, but it's still a net loss that they weren't made at all.
Users?
There's been a handful, but nothing like the flurry of Unity games, etc.
There are games which are fully opensource, but where you have to pay for the assets (and where the source code was released at the same time as the rest of the game). This was not the case for doom, but the demo for doom was free and came out at the same time; the engine was always freely available.
Which is why Unity and the Unreal Engine are free. Oh wait...
The source code enables the profitability of the assets. In the end the distinction is irrelevant to this matter. This is like saying Facebook doesn’t make money from its platform but from its deals with advertisers.
My Quartz64 SBC sits unused because of non-free boot path and supervisor code.
platform
Also its really annoying people say gpl is some anti corporation license or a license for the community, since Stallman has been explicitly clear its about giving "freedom" to the end user
I've heard Mozilla license is the compromise but I've got no idea.
Joan Robinson
Sums up GPL vs BSD succinctlyThat's strongly from the point of view of people who are mainly developers.
But the main beneficiaries of the GPL are not developers but users: users of GPL software have the right to view and modify the code that runs on their computers. On the contrary, users of BSD-licensed software may have had this right stripped by middlemen between the author of the software and them.
The GPL may annoy some developers but it always makes the users happier, and I think that's beautiful.
The same is true for software, and I benefit even if I'm not the one paying for the work myself. The modern internet would look very different if KHTML hadn't been a GPL/LGPL project and Apple had been allowed to hold their changes in WebKit as a proprietary secret, and the same for Chrome/Blink. Companies can be users too, and the virality ensures that every user sees the benefits.
GPL is about being kind to everyone, as long as they are as kind as you. When sharing something valuable under a GPL license, you’re incentivizing others to be kind like you.
Obviously, if you’re a millionaire like Carmack, you don’t need others’ kindness to get by, so from his point of view a BSD license is better, as his goal is simply to disseminate his code as widely as possible.
And anyway, what does it matter if someone steals your code? The point of the GPL is not to prevent people stealing your code but to hope that it at least provides some value to others through good faith forks respecting their freedoms.
I don’t see how the GPL is special in the discussion around Copilot.
For BSD licensed code, you must reproduce the license and attribution for that code, but the rest of the code can be licensed as you want. For GPL code there are additional requirements.
GPL is is Open Source but for you to benefit, you have to make derivative works GPL.
BSD is Open Source and you can close derivatives so that you benefit and you don't have to share back.
I'm not sure how you don't see how an auto-suggest tool that inserts GPL code into yours is different to BSD.
This means that authors of BSD licensed code have their rights violated to the same degree as those of GPL licensed code.
The default shouldn't be "you can violate people's licenses until you notice or get caught". Sure, in practice it probably won't cause anyone legal trouble: it would be really hard for, say, the author of some BSD-licensed code to prove that a user of Copilot actually caused them monetary damages by not providing attribution.
But this isn't really a world I want to live in; we shouldn't treat other people's work with such entitlement. Copilot should be able to trace the provenance of a suggestion it makes, and notify the author of their licensing obligations.
If that's not possible, then Copilot should not exist.
All AIs are trained on copyrighted data scraped from the internet. What you guys want effectively amounts to making most AI illegal. At least outside of big tech companies with large private datasets. Is that the world you prefer to live in?
Github and Microsoft should have trained it on their own code because they could make it public domain. Using other peoples code with various licences and many different requirements is just going to be a complete shitshow.
The point was that you can fix attribution errors pretty simply once they are uncovered, its a lot harder to pull GPL code out of your project to prevent you from having to relicence.
It doesn't sound like it is fit for purpose.
This is not exactly true, GPL is not magic that automatically re-licenses your code behind your back. What actually happens is your are in violation of the GPL , one way to solve the violation is that you re-license your code (so you have to do it, it is not happening behind your back automatically). I am not aware of any case where someone did not want to GPL the software and a judge forced him to do it. This kind of problems are also happening with proprietary license, some developer copy-pastes some properietary code and in the end you have to make ti right remove the code and make a deal with the party you damaged.
> The C compiler in use at the time was GCC, which was released under the GPL. To avoid the restrictions of this code, NeXT provided its front end as a library that end users would link against GCC, thereby avoiding the GPL (which only applies to distribution of the software, not how you use it). This little legal maneuver didn't work, however, so NeXT was forced to release the code.
private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
if (fromIndex > toIndex)
throw new IllegalArgumentException("fromIndex(" + fromIndex +
") > toIndex(" + toIndex+")");
if (fromIndex < 0)
throw new ArrayIndexOutOfBoundsException(fromIndex);
if (toIndex > arrayLen)
throw new ArrayIndexOutOfBoundsException(toIndex);
}
https://www.copperpodip.com/post/oracle-v-google-shows-why-f..."Alsup did agree with the jury that the rangeCheck function and eight security files were a copyright infringement, but the only relief available was statutory damages up to a maximum of US$150,000"
So your argument is exactly my point, the license is not infecting your product, you have to pay damages or in case of GPL you have the OPTION to comply with the license and release the code.
Again, copy -pasting some GPL code is not magicaly transforming your other code into GPL. Or the reverse copy pasting some Oracle/Microsoft or Google code in yoru project does not make your project Oracle or MS property.
> However, in this case, Donald writes, "with Cisco, years of trying to work through their predecessor's compliance problems didn't generate the progress we were hoping for, so we had filed a lawsuit. It was quickly settled, and compliance was achieved." > > There’s an even brighter silver lining to this story: Cisco later became a contributor to the GNU Project. "It really is a success story in bringing a violator into the free software community," Donald wrote.
For a proprietary code, it doesn't work because a commercial company is looking for profit.
So you would prefer you had by mistake infringed on MS/Google or Oracle code then some dude's GPL shitty left pad ? For me it seems that the license is not important but who exactly you upset.
Anyway the point is the license did not infected Google code, Google had to pay damages and it could have been GPL or other proprietary license.
https://twitter.com/eevee/status/1410037309848752128?lang=en
2. Someone posted how copilot reproduced the famous fast inverse square root function verbatim, including comments.
Microsoft already launders open source code by just hiring people in China and Romania to rewrite it. Copilot is their engineering culture distilled. However most big companies do this.
Framing it like this makes it sound like a problem with the GPL in particular, when really it's a problem for anything (including ingested code with no discernable license) that isn't expressly available under permissive licenses--more permissive than even the BSDs or MIT license, which after all, still require attribution by way of reproducing any copyright notices and distributing the text of the license itself.
The only terms where this isn't really a problem is limited to basically WTFPL and public domain code.
3. Microsoft decided to exclude proprietary code from copilot learning date. If they were concerned that copilot's output might infringe on other companies proprietary code, they should have the same concerns about free and open source licensed code.
The answer becomes more interesting if you could use them as input to an AI that generates source code (beyond Copilot).
(Apologies if this has been discussed recently.)
He's pretty confident BSD would have definitively given Id source code more total "use"(copy/paste/modify). That's always the pro-argument for BSD because it allows the source to be "used" in a wider licensing scenarious, but his statement is still counterfactual history.
If you want to read into something - he was bullied into using the GPL and not the BSD license.
No he was not. He did believe it was a good pick but in retrospect it wasn't.
He was not 'bullied'.
The nerve...
He also says - "but tons of opportunities to just copy-paste-modify were lost due to license concerns".
It appears that the goal John was shooting for was to have as broad an impact by having the code being reused in as many situations as possible. On this metric, yes BSD would have been a superior choice.
I interpreted his words directly as he wishes he gone a different direction given what he knows now. At the time he thought GPL was the best move, and now how he doesn't.
HNTitle at the time of my reply: "John Carmack wishes he'd used the BSD license instead of the GPL"
Releasing the engine code at all was a big deal back then, and inspired some others to do so, but others sometimes had more restrictive than GPL licenses; GPL is certainly better than a license prohibiting commercial use.
The GPL prohibits some commercial use.
The BSD license does not.
> The BSD license does not.
Really a nitpick but is this actually true?
I mean the GPL actually defends your right to do whatever you want with the software including selling or renting it out.
What it restrict is what limitations you can put on those who use it, but (and here comes the nitpick): prohibiting others from using something in a certain way isn't what I'd call "commercial use" or "use". I guess a lawyer could argue that but in everyday speak, no.
Not a native speaker though.
But realistically, practically, you can't. There is nothing to sell if the software has to be open source. The list of commercial GPL applications is really short compared to the millions of applications which include BSD-licensed code.
The typical business model is a paid hosting and paid support for the product.
You actually can.
You just cannot without giving back.
That's the intended beauty of it.
Edit: let me point out that I am not an AGPL evangelist. I'm less annoyed at it than I used to be but I still prefer liberal licenses for almost everything.
That’s rhetorical. I can’t do so legally without receiving a different license for the copyrighted code.
The counter example to what you claim is trivial to construct.
So, your point was?
> IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES
Which is still better than no source release. But it doesn't get your code out and used by other projects.
You basically made the point on why using the BSD license would've been superior...
There are a lot of things the GPL prevents and Carmack is spot on about it.
It's just a matter of perspective.
I find interesting his point of view compared to his partners': he would have preferred if the code was used by more people, his partners were more worried perhaps about competition (if anyone released a game based on their code, they had to contribute the changes back; which is something id could use as long as they keep that engine GPL).
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD license was used for its namesake, the Berkeley Software Distribution (BSD), a Unix-like operating system. The original version has since been revised, and its descendants are referred to as modified BSD licenses.
-
Discussion on bsd vs gpl:
Didn't Apple remove all GPL-based code from the whole iOS and macOS dev infrastructure at some point due to GPL licensing concerns?
I also believe Apple sticked for a very long time to an older version of GCC in the past, due to licensing concerns of newer versions of GCC [0]. That was, until Apple replaced GCC with Clang.
And I am not sure if GPL-based code can even be submitted to the AppStore [1][2]. As a dev I always avoided GPL-based code in my iOS apps with the exception of GPL2 licensed static libraries (which to my understanding are ok to distribute as part of an app without licensing concerns).
These days I think most big companies avoid GPL3-based code like the plague, thus limiting the spread of GPL-based software.
---
[0]: https://qr.ae/pG4YqQ
The concern there seems to be the anti-"tivoization" provisions, which could force Apple to allow people to replace GPLv3'd code.
That... does not sound correct to me at all, unless they were actually LGPL2, and not GPL2.
2) Chris Lattner--after he was working for Apple--actually got permissions to offer the copyright for clang over to the Free Software Foundation... which turned it down for (unfortunate) ideological reasons involving hating the idea of compiler libraries (as they undermine GPL compliance) and that Stallman claims to have missed the e-mail (due to incorrect usage of his e-mail client). This was, of course, before GPL3. But it demonstrates that Apple mostly hates GPL3... as GPL2 honestly barely matters in a world of locked bootloaders and pervasive codesign.
3) But like, part of the backstory here is important, as it helps explain--if you accept what I think are immoral goals from Apple as "ok in their eyes" (so you have sympathy or whatever... I clearly don't ;P)--the bad blood between these two groups and the deep suspicions that lead to some of these decisions: Steve Jobs actually had gotten bit before by the GPL, when Next decided to develop an Objective-C frontend and actively tried to circumvent the GPL by building it in such a way where users would link it later to gcc-as-a-library.
People disagree on whether this was a good result for GCC or not, partially on the grounds that the Objective-C frontend wasn't that useful without the Objective-C runtime library, and the GNU replacement for that was--until somewhat recently (by which I mean in the grand scheme of things, versus when this story started, as RMS can be found talking about in 1992 already this using the phrase "long ago")--always lagging so far behind as to be kind of useless (as Objective-C really "got good" much later, particularly with Objective-C 2.0). But like, that there was some kind of argument going on here that left scars on both parties--a scenario that specifically involves this specific project and player that are almost always cited as if without any "history"--is important.
And FWIW, Apple does actually take advantage of the fact that they don't have to release the changes they make to LLVM to prevent collaboration: as a particularly amazing example, they kept the arm64 backend for long enough that Google was forced to lead a community effort to write their own (which I do think they called aarch64, but maybe I'm misremembering) from scratch; but then, when the community was ready to begin mainlining it, Apple decided finally to release their arm64 backend and insisted that everyone work on merging them, which set everyone back on the 64-bit Android front even further. (And like, sure: why should anyone get to benefit from the work Apple poured into their backend? That's their competitive advantage, after all... except in a world of GPL that's the pact everyone is agreeing to: "Apple got to benefit from our work, so we should get to benefit from Apple's work". It certainly isn't like Apple developed LLVM... god I hope Chris Lattner was sufficiently compensated by them when they hired him and took over that project, but frankly knowing Apple I can't imagine he was :/.)
His efforts have taken him to Tesla, Google, SiFive (which recently got some Intel love).
I guess he has been sufficiently compensated by his efforts.
Are there any AAA game engines released under a BSD license to compare with?
I don't think many games (or other software) ended up shipping with code from the GPL Quake source, other than Quake source ports. Is that because of code quality, code specialization, license, lack of support, or something else? Hard to tell empirically; I think a lot of game developers do want to be able to sell their creations, and not disclose their source code though.
Er, stating what should be the obvious here, but the fact that the answer to this is "no" is really making the point of the person you're challenging...
An more relevant question is, "Are there any commercial licensees of id's code, who would have not had to license it had it been available under a permissive license?" Answer for that is, "Yes, lots".
It is not easy to conclude that that would be the case if Doom's source code was not released under the GPL. Actually, GPL has been working exactly as intended and exactly as I expected it to work.
Carmack said he wishes the source had been released under the BSD license instead of the GPL.
You're saying that it's not easy to conclude that new versions of Doom would exist if the sources had never been released at all.
If you're trying to troll and suggest that it's not easy to conclude variants and updates would exist if the sources had been releases under the BSD license instead of the GPL, then we all know that's completely ridiculous, so I'm giving you the benefit of the doubt and suggesting you either didn't read or understand the tweet.
If you want to suggest there'd be less variants and versions? That'd be reasonable, but you're not saying that.
Why? Because the world is more complicated than the FSF ideologues want it to be. Developers do not collectively or exclusively want to work for free and live a life of poverty.
Not to mention that the GPL is simply too risky and expensive to use in any commercial context. There are countless lawyers consulting organisations on how to avoid the viral aspects of GPL-licensed code. And since case law is scarce, more often than not the advice will be: avoid the (A)GPL like the plague.
The only meaningful and morally acceptable “copyleft” license is the LGPL, which asks you to give back without being the license cancer that is the (A)GPL.
Is it really? I've recently switched to AGPL because I specifically don't want you using my stuff if you aren't going to give back. If you want to make money off something, feel free to pay for the initial investment, instead of using my work for free.
> Developers do not collectively or exclusively want to work for free and live a life of poverty.
Which is why I use the AGPL. If you want to make money off my work, pay me.
> Not to mention that the GPL is simply too risky and expensive to use in any commercial context.
Good! At this point, I'd be happier if everyone who wanted to contribut to OSS played in one sandbox, and everyone who just wanted to use OSS for gain without giving anything back went somewhere else.
And be prepared that this may not work out for you. The AGPL is particularly nasty and even infects across network boundaries (not tested in court though). No one with a sane state of mind will even come close to AGPL software - unless they’re a not for-profit entity.
...because I want everyone to be able to use my software for free, except if they're going to get paid for my work? Cool.
I'd like to think I do understand all sides of this, but I will admit AGPL does give me pause for thought. It makes sense for standalone projects which don't have to be integrated. But at component and library level, when there's so much MIT/BSD/etc on npm/pypi/etc, I don't have to think about it.
Does make me wonder why there isn't an ALGPL: "Use my network-expressed component as you like, but if you alter its source, you also need to redistribute the changes under the same license"…
I'm fairly sure there's a GPL like that, either the GPLv3 or a version of the AGPL. It definitely doesn't let you alter the source for network servers, though, exactly like you say.
"It has one added requirement: if you run a modified program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the modified version running there."
Notably, the Canvas learning management system is licensed this way, and all of their JavaScript is unminified so you can download it from the server.
fwiw, cancer isn't contagious, so if you touch (A)GPL 'cancer' then you wouldn't get 'cancer'. If you wanted to disparage it, call it license herpes. Or license genital warts. Or license gonorrhoea (and you can flex that you know how to spell it).
Personally, I hope you can be convinced, some day, to see licenses as a tool for building communities. Some tools are appropriate for some communities and other tools for others. Nothing for everybody, something for everyone.
And again, I actually like and endorse copyleft in the form of the LGPL. So basically a license that can co-exist with others and doesn’t force it’s ideology on other people and their work.
>That being said, the free software purists aren’t a particularly tolerant community.
Sure the zealots of $BELIEF believe in $BELIEF and want others to do so as well. It's not a surprise.