Hacker News new | past | comments | ask | show | jobs | submit login
“I wish I could have licensed the Id source code releases as BSD” (twitter.com/id_aa_carmack)
323 points by bifrost on July 6, 2021 | hide | past | favorite | 447 comments



This part of Carmacks tweets really touches home,

> 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.


I have made a similar observation in the past. Game development is such a extremely high competitive area that any legal method to save time and use someone else code will be used unless it breaks the core business model. Delaying a release of a game by a few months because developers are re-implementing a xlm parser is not an option. If I remember right, Starcraft 2 by Blizzard uses LGPLv3 code, and the software credit list is very long. I can imagine the cost and delays if they had arbitrary chosen to restrict themselves to specific licenses.

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.


What are the implications if you use an engine like Unity or Unreal, since you build upon an existing framework?


For unreal, I think the first $1 million USD of lifetime gross revenue of the game is royalty-exempt, and then you pay. Then I think it is 5% of revenue. For unity it is free if revenue or funding is less than $100K in the last 12 months.

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.


FWIW the ET Legacy[0] project remains active, and exists because the Wolfenstein: Enemy Territory code was GPL'd.

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.

[0] https://www.etlegacy.com/

[1] https://en.wikipedia.org/wiki/Id_Tech#/media/File:Quake_-_fa...


Well, the code could've still been GPLed after. The BSD license allows it.


No it doesn't. Only the copyright owner can re-license.

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.


I cannot tell if this is willfully pedantic or not. And well, since we are being pedantic, I guess I will allow myself to say, that you can't re-license per se, only newer versions can be re-licensed. a prior release will forever be that 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.


>...I guess I will allow myself to say, that you can't re-license per se, only newer versions can be re-licensed. a prior release will forever be that license.

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.


I'm still bummed out that for years, GPL was the "standard" go-to open source license. So many projects became useless for any commercial projects whatsoever.

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 GNU Foundation--and the GPL--put one thing at its most important focus: that "users"--the people who are actually using the software and entrusting it with their data or their lives--have guaranteed freedoms. People--such as myself--who use the GPL believe that these freedoms are extremely important: that "users" should be able to get access to the source code for programs and be able to modify them (...and before anyone whines "but users don't know how to modify programs", users know how to hire people to modify programs... most people also don't know how to do woodworking or autowork and yet people routinely get their cabinets done or their cars tricked out: a healthy aftermarket for software exists, and in fact if you look at stuff like jailbreaks for phones, advertising "we jailbreak your phone here" was a good way for such stores to make money).

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.


You kind of gave up the game by pointing out that GPL-folk distinguish between developers and users. It’s the key flaw in the GPL approach and all you need do is scroll a little bit to find a developer being told to fuck off for merely questioning the source disclosure requirement of GPL. Why do the authors of software command less respect than users thereof from those ostensibly working to elevate software?

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.


> Developers are users too. They use code.

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.


You have not understood my point at all. If you think I feel attacked in response to a comment laboriously explaining why two sides have been locked in pointless battle for decades, you’ve taken a point of view from me that simply doesn’t exist. The conclusion you’re drawing, particularly that I have any interest in denying someone rights or that my criticism of GPL implies a wish to harm others’ freedoms, is interesting in itself and speaks to what I’m saying (and some I’m not).

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.


I apologize for misunderstanding you. I read you writing of commanding less respect as a developer and being "the second class in this picture" as feeling attacked.

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.


Right, understood. You can’t have your beliefs without excluding mine. Totally understand where you’re coming from. I refer you back to the pointless battle to understand why this is the last time we will speak. I gave you room to do your thing, pointed out people could have different priorities, and you still spent half your comment telling me how my behavior is wrong.

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.


> you’d have known the shaming sermon with a lot of “you” thrown in

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.


>> I don’t lose sleep over Boeing patching a random library I wrote and not sharing the patch

> 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)


Of course I predicted it. It’s like talking to Jehovah’s Witnesses at the door. The idea that you fully understand their entire belief structure, have done your homework on it out of respect (seriously, I have), and ultimately reject it anyway is puzzling to adherents of most belief systems, so they tend to revert to explaining it a different way out of a suspicion that you don’t get it. I’ve probably heard over a hundred different metaphors for why I should care about what my users do with my software at this point and it’s still a level of arrogance I’m not willing to introduce to my engineering.

All I can say is oh well, I guess.


> they tend to revert to explaining it a different way out of a suspicion that you don’t get it.

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.


You misunderstand what the GPL requires, then. The GPL does not require this. The GPL only requires that the source code be shared with those to whom the software has been distributed.

Which in your example would be the airlines, not the upstream.


This might be better understood as a social concept rather than a legal one. Suppose you have a social group, and the way people are admitted into it is by invitations.

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.


I'm curious-- why don't GPL advocates ever flip the argument back on the proprietary devs? E.g.,

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


Proprietary software means software controlled by another party. Custom software includes all rights usually.

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.


That's the standard interpretation of the Four Freedoms. Unfortunately, I think it ignores that most users can't code. The Four Freedoms, practically, protect developers and the freedom to hack. These are good things to protect, but it's not the same as protecting the interests of users.

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.


Most people can't maintain their cars or renovate their homes. But they benefit from independent mechanics and contractors.


> 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".

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.


> Why is it unacceptable?

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.


> 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.

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.


Licenses are about choices. I do not want 7 year old girls to be sued. I don't want people to go to jail for helping others to take part in culture and enjoy art.

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.


> to use code for good with commercial interests

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.


I disagree with "have to publish source on anything it touches" . Electronic Arts used WebKit in multiple games and they only had to share changes they did to it, not the source codes for all their games.

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.


WebKit is LGPL though, not GPL, and it was built as a specially maintained dynamic library specifically to avoid having to publish the source code for the whole game.


Webkit is LGPL, not GPL - not having to share linked code is exactly the main difference between these licenses.


WebKit is a mixture of LGPL and BSD, not pure GPL.


"People who want to use code for good with commercial interests could sign an agreement that follow those above wishes"

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


a.k.a. "For God's sake, think of the children!!!1!"


Many games are designed towards the younger part of the population.

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.


Why does the GPL license make it "useless for any commercial projects whatsoever"? Many commercial projects use GPL software.

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.


"Not even"? This is a huge requirement for most cases.

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.


Exactly as intended, by most people choosing GPL. For a small libraries like that there is probably the option of negotiating a different license for your use.

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.


"there is probably the option of negotiating a different license for your use."

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.


This is a great point, and something that definitely needs to change. However, as you say, the solution to "you don't have an easy way for me to pay you" isn't best solved by "so make your stuff free".


I'd guess that most simply don't care as this is really just an issue for the company, not the author. If the project is licensed with MIT/BSD it still isn't really likely that the company will contribute/donate/whatever. So I'd argue that companies not wanting to negotiate doesn't really change anything for >90% of OS projects, they would not gain anything with a more permissive license either.


Companies certainly are to blame, but most OSS projects need support and I want to support them, but they make it impossible.

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.


> 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.


Sorry, that might have been a bad choice of words on my part (not a native speaker). I agree that this process would be simple and easy in an ideal world but we can't reasonably expect every developer to think about price structures for their small OSS projects. So this will most likely involve at least some sort of talking between both parties. Ultimately the company plans to make mony off of the OSS project, surely those two hours won't make the whole business case invalid.


On behalf of FOSS developers, I am very sorry for the dysfunctions of your employer.


> I feel most people don't understand that their projects are unbillable and "negotiating" is not an option.

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).


then write it yourself, we do now owe you anything.


If it is so small then just write your own alternative. Otherwise it sounds like the small library is actually quite valuable and perhaps such a license is justifiable.


You could alternatively go to the owner of the copyright for the software and pay for a license to use it in proprietary software. This is commonly done (see Qt).


In that case you’re very free to not use such a GPL library.


That's why GPL proponents typically use LGPL for libraries


Id engines —as well as many other projects— were dual licensed, GPL or Proprietary. If you wanted to make a game with one, it either had to be GPL too, or you paid for a traditional licence.

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.


> 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.

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.


Interesting points but it's hard to say for certain without knowing what the individual license terms are. Games continue to sell long after release, and many were released close to the open sourcing dates. Would Id have lost out on long-tail income if the devs could have switched to (eg) MIT terms?

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.


So what you're saying is that IW had a commercial license for IdTech3 and made several proprietary changes to it and Id kept getting royalties.

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 know a lot of game developers that have never messed with Id tech because of the license, so what Carmack is saying makes sense. Yes I’ve read the Id tech code that’s been released but I’ve never thought for one second to use the code because of the license.


What you're both saying is there is licensing ignorance. People read "open source" ignore the small print, get in trouble. GPL isn't special there, EULAs and enterprise software licenses are horrible, but I can understand the broader point that GPL makes you think, and thinking hurts.

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’ve been in software a long time and I’ve had to navigate the gpl and it derivatives the entire time. I primarily work in games and I’ve run into a lot of issues with gpl along my career. For most of my career lawyers dictate what is and isn’t acceptable for software licenses and gpl is always the biggest issue. Which gpl license? Is there a single license holder? I feel the gpl was enacted with good intentions, but I feel the wrong people enacted it. Too radical in many ways, too restrictive, and so aggressively enforced that it at least makes using gpl libraries a hard decision.

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.


There is an example of 2 projects that started around the same time, one of which used the GPL and one of which used the BSD license. Almost 30 years after the projects started, the one one using the GPL is vibrate and healthy, while the other project using the BSD license has trouble getting companies to contribute their changes back and barely has enough developers participating in the community to survive.

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.


This is quite far off the mark.

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.


Linux isn't purely GPL; it's GPL with an exception carved out for system calls.

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).


> GPL advocates say it's so that your code isn't exploited by corporations.

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.


>Seeing the downvotes, I'd be genuinely interested in counter-arguments or thoughts on this

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.


You will see my opinions are mostly commercial, however it was GPL and its religious movement (against the man, 70's style) that gave us Linux and GCC.

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.


Compared to how much PlayStation OS gets upstreamed into Linux? If you don’t want to upstream, you won’t; if you want, you will. GPL doesn’t force anyone to give back, it merely prevents one from using your project if they don’t.


Playstation OS is based on FreeBSD, there is nothing to upstream into Linux.

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.


So, as you can see, there's nothing to gain from GPL in this scenario: the choice is between Sony not upstreaming their changes because they don't want to (BSD), or not upstreaming their changes because they couldn't use your code in the first place (GPL).

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.


Nope, you are missing the whole picture in order to frame your argumentation.

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%.


Nope, you are missing the whole picture :-)

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.


I feel like this isn't really framing the issue fairly. The issue isn't that Sony couldn't use GPL code, there is no law preventing them from doing so, they just choose not to (for a variety of reasons, I'd imagine). Just as the could contribute to FreeBSD but choose not to. And OS developers have the choice to prevent Sony (or some other company) from essentially using free labor to make money without any obligation on their side.


Nothing in GPL prevents Sony from using free labor; most of the companies using Linux do precisely that.


Of course, but they can't just copy&paste their favorite files from the linux kernel sources and call it FancyOs without releasing the sources to that. I think you got my point, I don't really see the benefit in arguing semantics.


It’s not about semantics - it’s about demonstrating that Sony using someone’s sources doesn’t hurt that someone, and trying force them to give away their changes with license doesn’t work.


They didn’t necessarily choose FreeBSD because of licensing. Perhaps if FreeBSD has more restrictive licensing they would have still chosen it and had to upstream changes.


>GPL advocates say it's so that your code isn't exploited by corporations.

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.


What if that "bad" is insignificant compared to the good produced by that code as part of proprietary software? That scenario is impossible with GPL. Effectively, you're just restricting the business models of your users. It has worked for some projects (Linux above all) but if you're talking about a small project that likely stays small, I don't know if it usually makes much sense.

Also, your convoluted explanation of why permissive licenses should be called "restrictive" is hilarious.


I agree with your point on the usage of the word "bad", this is what the term "relative" that I used implied, as well as the explaination of which specific aspect I think it applies to.

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.


No need to re-explain, I understood you well enough. Not trying to make fun of you either, it's just funny you end up calling restrictive something which is widely known as "permissive". Of course, it's called permissive because it contains maximal rights with little requirements for someone you would probably call the "first" user.

> 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.


> Effectively, you're just restricting the business models of your users. It has worked for some projects (Linux above all)

I think you are understating how crucial a license like the GPL was in Linux getting to where we are today. It was essential.


I agree and thought that was well-conveyed, but guess not.


Why GPL makes them useless?

In my view, if your business requires leeching on unpaid work without contributing back I am happy about my code being useless for you.


GPL makes "them" (especially small one-off libraries) useless because even the smallest part can not be used without therefore needing to "contribute back" the ENTIRE app.

(edited to clarify I don't mean ALL projects become useless through GPL)


Which is very useful feature for me, the author of GPL'ed code.


Making your code useless to some of potential users is a useful feature?


I do not care if "potential user" is big corp that do not intend to contribute back. So yeah, it is a feature.


Still, how preventing said corp from using this software help you, or anyone else?


If you read between the lines, this is the very reason why Id released the source code as GPL instead of BSD: They didn't want their competitors to take their engine, make proprietary improvements, and deprive Id of revenue using their own work.


They never open-sourced any of their engines until after they had published a game with the next iteration of their engine.


Sure, but that just means they had multiple methods of ensuring they had created a suitable moat against competitors, the GPL being just one of them.


They didn't release any of this code as open-source until they'd wrung every dime of engine licensing out of it and it had been completely obsoleted.

It's free-as-in-couch software.


1) If I and said did not collaborate, then it will not help me, or anyone else.

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)?


Because - as it happens fairly frequently in BSD land - said corp might change their minds and contribute back, code and/or money.


Ok, when they change their minds they can start using GPL code with no issues.


Less time wasted on free support requests would be one way.


1) it helps their competitors

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.


The answer is in the question.


Not really.


Yes, especially if the code not being GPL means the bad actor can create a product which then makes your code useless, or worse, evil (via a monopoly, bundled telemetry, or otherwise)


Can you show a scenario demonstrating how GPL prevents this from happening?


GPL prevents this from happening by requiring your competitor to open the code under the same license.

For example, Oracle tried to outcompete RedHat by cloning the RedHat Linux into Oracle Unbreakable Linux.


So, without GPL, how would Oracle render RedHat useless with telemetry? And why didn't it prevent the Audacity drama?


Without GPL Oracle could make closed source improvements which RedHat could not use, giving Oracle an edge over RedHat. If RedHat then went under because of that we were stuck with a closed source 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.


Ah, so it's really about making it harder for other players to improve their product?

As for Audacity - the exact same thing would have happened with any other Open Source license; GPL doesn't make it any easier.


>Ah, so it's really about making it harder for other players to improve their product?

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.


They can’t make it proprietary, because the developers would then go with the open fork. In this case GPL protects you from a scenario which cannot happen for other reasons.


But the improvements they make wouldn't be open source so the open source version would lack those features, which means we would be stuck having to choose between an outdated Audacity and a non-free Audacity.


Open Source developers would develop closed version instead of the open one? How?


Muse Group bought Audacity and are developing it now, their developers will use whatever license their employer tells them to use. They are the main developers of Audacity now. Any fork will have to compete with their work.


No, it’s just about getting compensation back for your work. If Oracle benefits from RedHat’s initial work then it is only fair that RedHat benefits from any improvements that Oracle later makes.

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.


Erm, Oracle is literally selling repackaged RHEL; they don't need to contribute anything back to Red Hat. They would if they wanted to replace stuff with their own closed-source forks, but that would be completely unpractical for reasons not related to licensing (see how Oracle's closed source ZFS become irrelevant compared to the Open Source ZFS).

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.


> So, without GPL, how would Oracle render RedHat useless with telemetry?

I cannot understand your question.

> And why didn't it prevent the Audacity drama?

It does. See https://github.com/temporary-audacity/audacity


Here's a very recent example, the Audacity fork without all the new telemetry and related issues: https://github.com/tenacityteam/tenacity


I'd rather an end user not get my code at all than they get a frozen binary that they can never fix bugs in.


Sure you can, you just have to pay for the dual (commercial) license


The "it's more important that your code is not exploited by corporations" crowd doesn't actually find GPL suitable anymore either, it still allows too much exploitation.

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.



Blender, Krita, Wordpress, Drupal, Nextcloud and many other projects are commercial and (A)GPL. As long as you share the sources of your modifications, you are free to use their code.


All of the projects you mentioned except Nextcloud are owned and developed by non-profits.


I'm sure paid developers are not only doing so out of altruism.


And? The point is that they are still able to operate commercially and collect revenue.


There are lots of ways to combine GPL and proprietary code without having to release the proprietary source.

And how do you feel about LGPL? Many companies seem to be terrified of it for no reason.


Yeah right, you like to make money of off my work that I made available for free? You can buy the commercial license.


Not at all. I don't feel entitled to anything.

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.


We don't know how many projects would never have been written at all without GPL as a license option. Making it difficult to determine whether it's a net negative or not.


> So many projects became useless for any commercial projects whatsoever.

Which is why Linux is used in zero commercial projects.


Linux has GPL linking exceptions so the full terms of the license do not apply.


I think one of the reasons for why the GPL as once more popular than other licenses has to do with the fact that it was created for the GNU operating system, basically a collection of simple command line utilities. No one would think of using these in other ways than to run them on the command line (or in a batch file), which is explicitly excluded from the “derivative work” concept of the GPL.

Things got complicated once people put libraries under the GPL, which is when all the legal uncertainties cropped up about what constitutes derivative work.


there is value to keeping something public in itself, like with parks and roads. If anything i d say that todays feudal state of tech proves that gpl was right

it s hard to deny that the most-used OSS software, is GPL


It's easy to deny, as long as we include libraries in the definition of "software". ZLib is bundled with macOS, iOS, basically every Linux distribution, every game console and even every Windows 10 installation [1] [2]. Same for extremely common libraries like libpng, Curl, SQLite, Boost and OpenSSL.

[1] https://en.wikipedia.org/wiki/Zlib [2] https://www.microsoft.com/en-us/legal/products/notices/win


Not necessarily. Linux kernel is GPL, sure, but if you look at eg language runtimes, or various servers, GPL is no longer obviously dominant.


> 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.

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).


It is not only a matter of "that your code isn't exploited by corporations". It also a guarantee that any improvement to that code will be available to everyone.


If I make my code non-GPL specifically so other people can use it for profit, I effectively donated to a for-profit company. Why the hell would I do that?


I understand, I personally would not like a company, especially one that does not respects users privacy using my code in any way.


Why do people feel entitled to GPL-licensed work? If you are producing code for a commercial purpose then you have the resources to pay for the code to be written.

Just because GPL code is in the open does not mean it’s wasted if companies can’t use it for their own profit.


If you make a cake and smash it on the floor, I can call it a waste without feeling entitled to get some.


Awful comparison. GPL is more like a group of people that meet regularly to share cake recipes with the agreement that if anyone has new ideas for those recipes they should share them with whoever they bake cakes for instead of keeping them secret.

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.


Nobody knew back in the day that this strange idea called "open source licensed software" would become a big deal. And when it did become a big deal, there still wasn't enough practical examples to inform us which license to choose. At the time, corporations were not "taking advantage" of open source licenses, and we had no idea they would later on. So corporations weren't really a factor for us. It was more about source code freedom / user freedom.


I dislike people calling the GPL "viral". The thing that is viral is copyright. Copyright is baked into law and nobody can escape it. If you relinquish your own copyright then as soon as someone modifies the work copyright comes back. Copyleft is the only antidote we have for copyright. All Stallman et al really want is to "switch off" copyright. That would be obvious if people would listen to his talks. But instead we get a bunch of people thinking the GPL is "more restrictive" but what they really mean is "I want copyright for myself but not for you". Maybe copyleft was a mistake and we should really just fight copyright directly.


GPL uses copyright and its viral aspects strongly to try to undermine copyright's goals. That's precisely why it is viral, because it is copyright, and doesn't make it any less viral. BSD-style licenses' terms minimize the viral impact of copyright on the free use of the covered work rather than trying to maximize that viral tendency toward achieving some opposing goal. The distinction still works fine. GPL is viral, as contrasted with BSD licenses, but not as contrasted with proprietary copyright, and for the same reasons.


Erm, but it is GPL that’s being viral. Not copyright, and also not other Open Source licenses - just GPL. That’s why you won’t get a license incompatibility problem without GPL in the mix.


If you modify a public domain work, copyright comes back. If we're using virus analogies then copyright is like a retrovirus. Forever baked into the "DNA" of our legal systems and you can never be rid of it.

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.


Does that copyright, coming back, have any actual consequences?

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.


GPL 'spreads' via linking because copyright spreads via linking. If you write a program and I link to it, we both own the resulting work. Your copyright has 'infected' the work. The license in this case can be anything, even a proprietary one, so it isn't the GPL that's special here.

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.


No, copyright doesn't spread via linking. That's why in real world you need GPL to get license incompatibility - no other Open Source licenses have this property.


I don't think you read my comment.


I had, and I have provided a counterexample: there is no license incompatibility if you avoid GPL. That wouldn’t be true if the “virality” was a property of the copyright itself, would it?


You're wrong and you don't seem to be listening but I'll try one last time. I think you're simply refusing to engage thinking circuits because you've already installed the following in your brainrc: alias GPL=bad.

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.


The GPL is only as powerful as copyright. GPL relies on copyright to "spread". Copyright is the virus. GPL just uses the virus against itself in a very clever way.


For what it's worth, the maximalist FSF position on linking is very unlikely to hold up in court, especially not after SCOTUS ruled in favor of Google in Google v. Oracle a few months back (which was not mere linking, but actual wholesale copying of header files).

Doesn't stop me from treating GPL software as a radioactive contaminant in practice.


Yes, copyright. You can't just drop some proprietary code into your code anymore than you can with GPL.


I consider the viral thing of copyright a good thing, similar to a meme going viral. While technically the law, people were pretty upset when a "meme tax" was being discussed because the copyright owners of the sources of many memes were seeking compensation.

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.


Most reasonable people agree that copyright on creative works is a good thing, but it has to be short. 10 years is plenty. What we currently have is "life plus 70 years"! That means well over 100 years. 100 years! It's totally insane, but most people just don't question it.

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?


Lets take your 10 years one...

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.


Copyright is a complicated thing and I don't pretend to have all the answers. I'm not suggesting to simply reduce the length of copyright and keep everything else the same. I would like to see copyright on software gone completely. Software has a unique purpose in our lives and should not be treated like other creative works such as music and literature. I believe software development would still be good business without the protection of copyright. Vendors could focus on documentation and support rather than the code itself.

> 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.


> There are a lot of people whose livelihood is based on crime. This isn't a valid argument for what is right or wrong.

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.


> 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.

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 don't like "viral" or "infects" terms because they are kind of derogatory. It is better to explain that derivative works must be under the same license.


Absolutely.

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.


I think that the MPLv2 covers the best of both worlds. It is a lightweight copyleft that requires you to give back the modifications you do to the original codebase, but it doesn't prevent you from static linking or mixing code with other licenses.


I'm very frustrated by some of the answers here and on Twitter. Carmack says:

> 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?


Eh, people are allowed to disagree or challenge Cormack, it doesn't bother me that they brought up that worry despite knowing he is an experienced respected person.

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?


Focus changed. The 90's was the rise of the PC, the 00's the rise of the web, and the teens rise of the money making mobile platform.

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.


There was a lot of money to be made on the platforms that OSS ran on from the very beginning of OSS. That's not a change. It wouldn't have been an issue if there wasn't.

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.


Carmack is clearly still in favor of open source, he just wishes he had gone with BSD. And it doesn't sound like it's because he's anti-corporate. It sounds like it's because he works for a mega tech corp and his mega tech corp hates the GPL so he has to do a ton of paperwork to use any GPL code there. (which is the same as working for any tech corp.)


Right, I wasn't speaking of Carmack as part of the trend. Carmack still has an old-school relationship to support of open source. I was speaking about the increasing number of people opposed to open source, saying things like that it's clear that the reason someone supports open source is because they "work for a mega tech corp", you illustrated the trend I am speaking about, precisely. Support for open source is now seen as the side of "mega tech corps", and in fact open source is decreasingly popular in online developer communities. With people accusing those of supporting it of doing so only because they have been bought off or tricked by large corporations. Exactly. This is a change.


The crux of his argument seems to be that he wants to be able to copy and paste other people's code and create derivative work without the GPL carrying along.


Well it’s also because we didn’t see much done with the GPL’d source releases for his engines, just small improvements and standalone mods (The Dark Mod, Xonotic, etc)

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 best aspects of GPL work didn't manifest

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)


>A license is simply the condition [...]

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.


Looking at the quoted text one could guess his goal is maximized amount of users, alternative maximized number of copy-paste-modify events, and that he thought that the GPL would produce those?

(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?


> One can still disagree with Carmack but it's still worth understanding what he's claiming.

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.


> 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.


Which is a bit weird, considering, that those things, that are contributed back, are not ensured to remain available, when anyone else makes modifications and has the option to make their changes a proprietary thing.

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.)


One problem with arguing that something is an unintended consequence is that you have to prove that they're not among the intended consequences for the creator. I'm really not convinced that the original GPL authors weren't aware that their license would somewhat reduced openness (relative to permissive licenses) in its pursuit of other goals.


> (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)

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.


> “Dismissing empirical evidence by clinging to philosophical assertions?”

Dogmatism usually means this.


Ideology fits pretty well, as the term is used in modern times.

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.


Right. Carmack's goals are clearly not aligned with those of the FSF. The FSF is perfectly happy for Free software to be of no value to those who develop non-Free Software, indeed they actively prefer it that way, viewing all non-Free software as unethical.

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.


And to be fair, he even concluded with "I'm still supportive of lots of GPL work, but I don't think the restrictions helped in this particular case."


Carmack explicitly mentions the BSD/GPL question in connection with copilot. He is working on AI now and has an explicit interest in the intellectual property discussions that flared up after copilot.

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.


> 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.


In https://youtu.be/PaKIZ7gJlRU Linus talks about BSD licenses at 8:30 (well, somewhere around there).

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 see why he would be more qualified to assess the pros/cons of the GPL than the Linux and GCC authors.

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.


> 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.

You think that's frustrating, try watching an expert talk about economics.


> 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.


Given Veritasiums most recent video, the degree doesn't matter, even physics professors can be wrong. The degree is just there for you to be wrong less, you will still be wrong, just less.


Wind resistance should slow down the larger person more.


The force from wind resistance should be more on the larger person. It should be proportional, at a given wind speed, to the ratio of their cross sectional areas.

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.


Imagine a spherical cyclist ;-) Mass scales like the cube of its radius. Surface area (air resistance) scales like the square of the radius. As the radius (mass) increases, the air resistance becomes relatively less important.


Ignoring wind resistance is the problem. Undoubtedly mass was accounted for, but they got the incorrect answer because wind resistance has a much greater effect on the lighter rider. The extra momentum of the heavier rider easily overcomes the small increase in wind resistance. Anyone who has biked with someone of significantly different body mass will have seen ample evidence that bigger people coast downhill faster.


I don't think momentum should affect how fast you slide down. The reasons are different.


I suppose I should have said "inertia". The heavier rider has greater inertia, meaning the wind has less effect on their velocity.


Linus Torvalds has similar conversations with gpl advocates regularly. “no, i am happy for companies to use linux this way”. And the people just can’t handle this idea. Like suggesting that god doesn’t exist to someone devout.


But Linux is GPL! And Linus himself believes Linux wouldn't have become what it is now if it weren't for GPL.

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.


It is probably more about a v2 vs v3 debate in the case of Linux. He really likes copyleft GPLv2-style and really thinks it has been a net-positive if not one of the key things for the success of the project.


This was part of the v3 fight - he wanted software free, but also so you were free to use it. Didn't mind that you could use it with locked down hardware (TiVo / cars / phones / med devices / security etc)- still had to release source


> Dismissing empirical evidence by clinging to philosophical assertions?

Small nitpick -- Carmack's assertions are anecdotal, not empirical.


You can very well reason about licenses in a logical (mathematical) manner, so it is a bit strange to speak in terms of "empirical" or "anecdotal".


Maybe you can but the tweet is just Carmack expressing his opinion.


Aren't anecdotes pieces of empirical evidence?


Calling anything and everything “just anecdotes” is HN’s favorite way of dismissing your arguments.


> Is there a word for that? Dismissing empirical evidence by clinging to philosophical assertions?

Freshmansplaining?


Genius.


Is it dismissing empirical evidence or do they just value their philosophical ideas above your utility function? The very statement that it was net negative is not an objective one, really.


Also seen at the very beginning of this video (where someone points out the flaws in Visual Studio, and people on Twitter assume he doesn't know how to use it): https://youtu.be/GC-0tCy4P1U


> Is there a word for that? Dismissing empirical evidence by clinging to philosophical assertions?

Being in denial


I think from Carmack POV, Unreal Model would have been better ? Basically he want the code or software to be used more often. And the industry collaborate together to make better engine.

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.


> Is there a word for that? Dismissing empirical evidence by clinging to philosophical assertions?

Cognitive dissonance


Empirical evidence of his subjective goals going unmet is not empirical evidence of an objective truth we all must follow.


[flagged]


You're doing pretty much what the GP calls out.

The kindest reading of your comment is that you absolutely don't understand who Carmack is. Understandable; "Industry veteran" is quite the understatement, after all. But maybe don't start immediately assigning employer intent to people who have field experience on what their licensing decisions from long before their current employment led to.


Yet I see plenty of people happy using React, React Native, PHP, Folly,... go figure.


> Is there a word for that? Dismissing empirical evidence by clinging to philosophical assertions?

That word, I claim, is 'ideology'.


> Is there a word for that? Dismissing empirical evidence by clinging to philosophical assertions?

Faith? Zealotry?


Carmack has net worth of $50 million. Him saying "exploitation by big tech is not a problem, really" is very different than normal person saying it - his well being is not on the line and never will be.

Go ask authors of ElasticSearch or Airflow or whatever the new thing that AWS steals will be.


ElasticSearch was GPL (AGPL). It didn’t help them because what their business model needed was not just sharing back changes to source code but to actually disincentivize competition in the space of providing cloud SaaS for the product.

Hence why they and mongodb switched to a shared source license that is not Free software.


elasticsearch wasn't ever GPL or AGPL to my knowledge. it was Apache licensed, and then they switched to SSPL.


Yes, sorry I confused it with mongodb.


Elastic IPO'd at $250 million and currently has a market cap near $8 billion. It's pretty hard to believe the founders didn't make out as well as John Carmack. If the company goes under tomorrow, they can almost certainly still line their graves one day with Bentleys and Leer jets if they so desire.


The argument of big tech "exploiting" or stealing has always rang untrue to me.

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.


>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

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 understand the intent of the GPL, and the reasoning behind its creation. I'm not arguing about that. It isn't accidental that I am arguing around that point.

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.


Thats where the "sour grapes" come from. When another person takes a valuable thing that someone else made and turns it into monetary gain they feel like that is "stealing."

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?


"You call it sour grapes and then describe how someone is stealing something of value."

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.


When something doesn't have a precise dollar value attached to it, does it not quality as stealing?


Mansplaining? It happens to men too, not just by.

A bit generic, though.


I'd use mansplaining. I do find it funny there isn't an older (?) phrase for the same.



TIL. Hadn't heard the phrase before.


Why is a few snippets of code so valuable anyway? We don't GPL scientific research, you expect people to cite you, and then build off your work, the licensing in a sense is far more permissive. You don't GPL maths text books and then require proofs to be licensed back. Other knowledge doesn't seem to propagate in society like this.

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.


I think the key property of the GPL is its virality. It's part of the vision that if I can use some software, I can also change it, to adapt it to my needs, to learn from it, to build something on top of it. I can disassemble my bike, re-assemble it, change it, build on top of it. I want to do that with my browser, my OS kernel and my image viewer too.

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.


> It allows you to reuse code but does not require the re-user to allow the above mentioned openness

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.


khtml was and is still LGPLv2.1, webkit still is, and contains major work from Apple that obviously could and has been reused...


Well I agree in that regard, but I think in the ideal world everything would just be open, and you would want to incentivise openness so it ends up as the natural state. In a sense by decoupling these issues. Eg Microsoft Windows OS could just be open source. 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.


I believe that to understand GPL and FSF philosophy, you have to look at software from the point of view of the end user, not programmers.

> 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.


This sounds good. How do you imagine getting there? GPL people think that contributing to this ideal is only worth it if you also require all participants to take part in the ideal. Thereby granting that at least the GPL software stays in that ideal world.


It's definitely a tough call. Maybe this is an industry scale problem. The GPL existing hasn't stopped walled gardens from developing, and open source is falling behind in many regards.

Maybe the license isn't the correct place to address this. I'm not sure what the solution is, though...


Proprietary is, I think, the "default" way how people always did things. Keeping the recipe secret is one of the moats that help the enterprise stay relevant. So naturally, "it works" and I think it always will. IMO, this is why it's important to keep the open source stuff open. Closed doesn't usually turn into open, so why should open turn into closed? I think the legal system is exactly the place to address this, in fact, I think the governments themselves should drive the development, as it's their own interest to really own their software and hardware stack.


I don't remember who but someone here on HN once compared closed source vs open source to old school secretive alchemy guilds vs real science.

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.


How is real science open? Aaron Swartz, for one, killed himself after receiving the punishment for "liberating" academic articles from the digital library he had access to. I also don't see corporations releasing the results of their precious r&d, although, I don't really have insight into this topic.

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.


Thank you, that's what I tried to say.


Scientific research is patented and exclusively copyrighted under publisher. If all scientific research were public and accessible we would not have sci-hub, and they would not currently be in court. We would also not live in a world where scientist has to work around patents and in some cases chose alternative research areas just because they can't afford (or use the result) because of patents. In addition there is a huge controversy in many Universities that patent from research is owned by the university, and if the researcher want to use technology that they themselves discover they need to pay the university.

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.


> Scientific research is patented and exclusively copyrighted under publisher.

Research is not copyrighted. Particular write-ups of the research are copyrighted.


I am not sure I understand your point of distinction. Yes, Die Gedanken Sind Frei, the knowledge that exist in the researcher head is not copyrighted. The knowledge written down in the research paper by the researcher is. The knowledge in the head can however be patented, and so rendered unusable until the property owner has gotten paid.


A researcher discovers, say, a particular way to make a room temperature superconductor, and writes a paper describing how to make it, how they tested it, and giving a theoretical explanation of how it works.

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.


> The valuable thing is their time and overall knowledge, not the end piece of content necessarily.

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


>The GPL values the user's freedom,

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.


> 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.

Actually, no. End users also benefit when code is contributed back to the software they use.


Good point. Of course open source software has definitely benefitted users in a wide variety of ways: for instance by providing open source tools to help build said software (can't even imagine a world without free compilers these days).

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.


I often hear the following invalid argument: "I don't care about code availability, I won't look at it!" to which my response is: "You won't look at it, but other people will, and when they contribute back, you will benefit too."

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.


That is just an argument for features/the quality of code, not about freedom. There are other models for make good quality software that has the features users want without making it open source. And no, having the source available for software that you use is not like freedom of speech.

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.


I understand what you mean and I feel sorry for taking the discussion in an unintended direction. I could counter arguments some points you show, but I don't think that would contribute anything to the discussion.

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.


You're right, I'm sorry. That was uncalled for.


> I often hear the following invalid argument: "I don't care about code availability, I won't look at it!"

Sounds a bit like "I don't care about free speech, I don't want to say anything!".


That's because they literally set it up to deliver that same punchline in the next paragraph.

Looks like you got too excited to be able to read the entire comment? XD


No, I was aware that the commenter was on my side. I just suggested an alternative reply to the invalid argument.


No, you suggested the exact same reply he had already given, just in the next paragraph.

> 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.


Ok, it seems you are right. Strange how I overlooked that.


Have you heard of... patents? Why is an idea written on paper so valuable? Why can't people just use it (or, as it often happens, independently rediscover it) and just cite the patent if recognition is required?

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.


I agree scientific papers should be open source. It is not acceptable there is a proliferation of bad practice. That seems a different issue however.


It's not a different issue. You used academic papers as the standard we could use for open source and it's provably worse.

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.


This argument confuses the typescript of a result with the result itself. The physical presentation of the paper is copyrighted. The scientific results in the paper are not copyrighted (which makes sense, since copyright only applies to a particular instantiation). For computer code, which can be copied and pasted, copyright and licensing are powerful constraints. Scientific results must be reproduced by some set of experimental procedures -- copy and paste makes no sense -- so patents are typically the only protection. Certainly Elsevier does not "own" or control in any way one's ability to confirm, refute, or extend a scientific result.

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.


> isn't Elsevier a major copyright holder for all academic papers and thus causing all sorts of problems

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.


Your comment gives the impression that GPL is a set of restrictions that developers are unfairly enforcing upon others. In fact it is the complete opposite: it is a set of permissions granted by the developer which otherwise would probably be forbidden by law.


There is no "probably" about it. Law definitely forbids basically everything that GPL allows, that's why GPL exists: to grant those rights. And of course one would then expect the thankful user to at least honor the same terms. Nothing odd about that to me.


I was allowing for cases of different legal jurisdictions or future changes to copyright (which I hope will happen).


1) Your analogy is wrong, because none of the software licenses forces a user to have a license for his work. Moreover, a math book has strong copyright protection. You cannot just copy the math book and sell it as your own. GPL allows that.

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.


"Few snippets of code" can be pretty large.

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?


> 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.

One can argue GPL encourages reinventing the wheel by not being permissive enough.


> Why is a few snippets of code so valuable anyway?

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.


> We don't GPL scientific research

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.


If what you say stands, they should also include all of Microsoft's proprietary code in the learning process. Do you see that happening?


> "but tons of opportunities to just copy-paste-modify were lost due to license concerns".

Well, that's the point. GPL is working as intented.


I don't see how. Working as intended would be "And then the gamedev landscape is dominated by open-source tools because you can't make closed-source tools in-house without giving up on the ecosystem." This is very much not the case today, the market is dominated by closed-source engines (sorry Godot).

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.


I m sure it is a net loss for people who could have benefited from free work indeed.


I don't think you understand Gp's point that this in turn results in a net loss for everyone else.


People are not entitled to games created by free work. So it is not a 'net' loss.


Not entitled? Correct. Not a loss? Incorrect.


[flagged]


Ok, Im flagging your comments, you clearly have no interest in a real discussion and are resorting to troll bait.


They are if the license allows for it.


> for people who could have benefited

Users?


I guess his point is that the we haven't seen a big community fork of the code with FOSS games being released, etc.

There's been a handful, but nothing like the flurry of Unity games, etc.


It doesn't solve the issue. GPL people would have taken the BSD code, do a minor change, and force everyone to redistribute the source-code under GPL.

Really terrible license.


What is the exact scenario you're against? If GPL changes are added to a BSD codebase, it's still possible to use the BSD part of the code under the terms of that license. The GPL doesn't "infect" the rest of the work, either in the present or historically. You aren't "forced" to re-distribute the source code unless you want to use the GPL changes - which is just how copyright works in the first place.


They'd only own the copyright on the minor change so can't force everyone to use GPL on all of the code.


This occurs very rarely and provokes a loud counter reaction from the BSD people.


It seems such bsd people then don't believe in the power granted by the bsd license to others using it as they wish to. Ironically. May I suggest GPL for their next project?


Whining is not illegal, if you can whine about a license change, you should.


But by the very act of making their code bsd, they have removed any valid excuse to whine. Anything that happens is just a natural consequence of their decision: whether that be someone making bank on your code without giving you any of the changes back or GPL projects GPLifying a fork of you.


Just a note that he is speaking from the perspective of someone who already profited immensely from the source code in question before the source was released. Most developers of FOSS never see a single dime and actually do it at net negative monetary benefit not to mention personal cost. All of that purely for the benefit of the collective.


The profit does not come from the source code, but from the assets.

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.


> The profit does not come from the source code, but from the assets.

Which is why Unity and the Unreal Engine are free. Oh wait...


Yes, unity and unreal engine are game engines which are sold to game developers. Doom is a game which was sold to end users, and whose engine was free. Clearly those are different...


They're functionally free to the vast majority of game developers.


> The profit does not come from the source code, but from the assets.

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.


I'm curious to listen about stories where released source code under BSD became a problem because some company re-appropriated it. So far I don't think I have heard about such story, can someone chime in?


For example ARM TF-A for RK3566. U-Boot and Linux code is available and the development is in the open thanks to GPL, TF-A is just a blob released by rockchip (TF-A is originally from ARM).

My Quartz64 SBC sits unused because of non-free boot path and supervisor code.


So what? BSD licenses are being violated just as blatantly. There's this clause about giving credit where credit is due, and copy-pasters don't really care.


Twitter makes for a bad blogging \

platform


I think it works best when people use it like a slide deck--the kind you create and then "send" to someone, as opposed to the kind that is used as a visual aid for a talk or lecture--and carefully organize their tweets so that they have one semi-isolatable (but hopefully rather complete) thought/insight per message. I agree that John Carmack, as evidenced by these tweets, does not seem to know (or care about) how to do that :(... but I've totally seen people do it well; and then, as a "blogging platform", it has the superpower of letting people branch graphs out of your deck, highlighting and commenting on slides while still retaining their context as part of a global discussion.


The (slow) death of blogs and .plan files is probably the greatest net negative Twitter has had on the internet.


Turns out that the people factor is greater than the technological factor.


QA and UX engineers know all about that... :'(


I think that the issue at hand is that there is no middle ground license that is made for the community and for businesses in mind and instead its either one extreme or the other.

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


Actually there is. The LGPL is sort of a middle ground. It still requires you to share changes that you may make to some library. But it won’t easily infect the rest of your stack, so it’s basically the GPL with the viral bits removed.


The LGPL does impose restrictions that can make things inconvenient. Even for (or, dare I say, especially for) free software under other licenses.


Sure, but that's for libs, not your all-in-one project.

I've heard Mozilla license is the compromise but I've got no idea.


"The misery of being exploited by capitalists is nothing compared to the misery of not being exploited at all"

       Joan Robinson
Sums up GPL vs BSD succinctly


> The best aspects of GPL work didn't manifest

That'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.


A user who is not also a developer has no ability to meaningfully view and modify the code, and thus doesn't care.


And what is your point? It's a freedom that they still have. They can always hire some developer to help them.


That it is reasonable to prioritize freedoms that are actually exercised to freedoms that are nice in theory but never used.


I also own a car for which I have almost none of the skills to meaningfully maintain and repair, but frequently exercise my right to contract a third party to do that work for me.

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.


Vast majority of users don't care for the source code, nor even know what source code is. And personally, as a developer, I never bothered to look at the source code of software I've used, much less fix or extend it - and that goes for all the devs I know personally.


I don't think it does. A user who cannot have an application to solve their problem (because no developer they can find to pay will write it for them because some key ingredient of the solution is in a GPL'd library) is not happier than a user who has a solution built of closed-source code combined with BSD-licensed code.


BSD is about being kind to everyone, even unkind people.

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.


I'm not supporting capitalism (with all its problems), copyright or intellectual property, but in the real world, kindness doesn't really exist. Setting up a market for kindness is not going to work very well.


What about all the nonprofits that employ ~1 in 10 Americans?


What is the point in releasing your code as GPL anyway? If you've solved some interesting problem, then people can read your code to figure it out and then reimplement it, and no one will ever find out.


If the code base is large and popular enough, like the Linux kernel or Emacs or FFMPEG, then such “dirty-room reverse engineering” doesn’t really help you much — your product still wouldn’t be compatible without conspicuous amounts of GPL code.


Many companies do not want to take that risk and will ensure they comply by the license.

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’ve looked at some of the Copilot threads but am unable to follow the issue. Can someone summarize what the issue is with Copilot and why a BSD license would have been significant for the code?


1. Someone expressed their concern that fragments of GPL code would end up in projects with non-GPL licenses and called it open source laundering. They were also concerned about the interpretation of derivative work. Could copilot's output be considered a derivative work?

https://twitter.com/eevee/status/1410037309848752128?lang=en

2. Someone posted how copilot reproduced the famous fast inverse square root function verbatim, including comments.

https://news.ycombinator.com/item?id=27710287


One more critical aspect of the issue:

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.


> concern that fragments of GPL code would end up in projects with non-GPL licenses

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.


> open source laundering

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.


Rewriting is totally ok. In every possible context. Because the opposite (blocking rewriting by some legal mechanism) would mean a past employer could slap a court order stopping a programmer from working ever again in any other company due to IP infringement since he could 'just copy his previous work and hence company ip'.


Rewriting isn’t the same thing. Otherwise you could claim libreoffice devs are just laundering closed source Microsoft office code.


My understanding is that when Copilot automatically inserts some GPL licensed code fragment into your project, your project automatically has to become GPL licensed, whether you want and realize or not.


>your project, your project automatically has to become GPL licensed, whether you want and realize or not.

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.


NeXT (now Apple) has this experience:

> 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.


Can you provide a link on the "forced" part ? Maybe they realized that is fucking OK to respect the license , they would not like it if someone fucks with their proprietary code either.



But from a quick check those are the reverse of the OP implication, in this cases someone takes a big GPL project and inserts a small proprietary thing on top , I would like to see an example where someone had a bit proprietary project, a dev inserted 5 lines GPL code and a judge forced them to GPL everything.


If you are looking for the smallest case, then look at Oracle vs Google multibillion debate about this function:

  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...


That big case was about APIs but I found that of course copy pasting code is a lcense violation, but the judge/jury did not force any re-licensing

"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.


Of course, it's not a magic, because everything is written in clear text, but it works:

> 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.


>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.


Unlike GPL, proprietary licenses are not viral. They never asked for fair exchange of code, so court cannot force that.


It's worse than this: Even permissive licenses like MIT require you credit the original author. Copilot regurgitates code without recognizing the original author at all, violating pretty much any and all licenses.


But the same can happen with BSD licensed code, right? That license also has certain requirements that need to remain fulfilled.

I don’t see how the GPL is special in the discussion around Copilot.


You could presumably satisfy this requirement by linking to a giant file containing the license blocks for all BSD code that it was trained on.


The GPL license is license-viral, the BSD license is just attribution-viral, as I understand it.

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.


But does Copilot reproduce the license and attribution for the code? As far as I know, it does not.


I don't think so, which makes the resulting amalgamation in violation of the original source in that respect for both of them. Beyond that, even if you add the license and attribution manually, the GPL is still not satisfied, and may require the entire source it was used in be released depending on whether you've shipped that product to customers or used it in specific ways. That's an entirely different class of problem than just needing to go back and add some comments to your code to note where some of it came from.


This is the fundamental difference between BSD and GPL.

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.


Does Copilot in its current form auto-inject copyright notices for all BSD licensed code from which output is derived? As far as I know, it does not.

This means that authors of BSD licensed code have their rights violated to the same degree as those of GPL licensed code.


Yes, technically they do. But if the problem is discovered, it is very easy to comply with the BSD terms by adding proper attribution. With GPLed code it is much more difficult.


> But if the problem is discovered...

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.


> If that's not possible, then Copilot should not exist

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.


All of these issues have existed since GPT-2, maybe earlier. I remember the AI dungeon guys narrowly avoided a lawsuit from training on copyrighted novels. I find it amusing that the tech community was very pro GPT, but anti-copilot. Now that it affects them personally. Especially ironic because this place is usually very skeptical of copyright matters.

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?


Yes, in this case the licence is violated by default, by all code that CoPilot generates.

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.


Can simple unit-test data be licensed? I.e. tables of inputs and expected outputs?

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.)


Neither is better than the other. BSD is better for the developer. GPL is better for the user. It's not strange Carmack would tend toward BSD.

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.


The GPL gives developers an incentive to make their code free, which is better for the developer. It's therefore better for everyone.


so, we all have the privilege to read the DOOM source code because the GPL exists and was compatible with the business needs of Id Soft, as well as JC’s vision, is how i’m reading this.


You would've had the privilege of reading the source with BSD too, but the GPL prevents a variety of things from happening so its not as free as the BSD License.

If you want to read into something - he was bullied into using the GPL and not the BSD license.


I would never have had the opportunity to read the DOOM source if JC had insisted on using BSD, because, as JC tweets, his business partners at Id soft would not have gone for it. ipso facto the GPL + Id + JC are responsible for this privilege being available to us all.


The relevant implication in it hypothetically having been BSD is that he would have convinced his partners, not that its usage would have made the project never happen.


i don’t see that. i see carmac reminiscing as, wouldn’t it have been nice if this had happened rather than that, while clearly acknowledging that his business partners would not have gone along with ‘that’. the implication I draw, having no more info than these tweets, is that, after some discussion, JC and Id compromised on using the GPL to license the DOOM source, versus not releasing the DOOM source. The GPL allowed wide general availability of the DOOM source, which Carmac wanted, while being acceptable to Id’s business needs as Id saw them at that time.


You're correctly inferring what JC is saying, but missing the point the other poster made; which was to imagine that history had gone differently, BSD was approved as the license, the source code was still publicly available, and how that would have benefited (or been detriment) to the widespread usage of the source code.


i'm dismissing the point the other poster made, because what I see as important is what actually happened. what I see as important about what actually happened is that the BSD license was incompatible with the situation, and if only the BSD/MIT whatever license was available, no one outside of Id or one of their contractors would ever have seen the doom source. I see that availability of the DOOM source as a great good for humanity which wouldn't have happened in a world where no GPL exists.


Can’t it be rereleased with a BSD license now if the copyright holder agree?


Copyright holder can do anything he wants with his code, so yes, John can rerererererelease his own code under different license. However, you cannot do that, even if the copyright holder told you something. He may change his mind tomorrow, or in a year, so you will have no legal ground for this act of piracy then.


Incorrect, there is zero about the BSD license that would've prevented you from reading the source if it was released with the Free-er BSD license.


Neither license gives you the right to see the source. GPL only gives you the right if the software is distributed to you, and im pretty sure BSD gives you no rights in that regard.


Sure, but you're claiming the GPL enabled "reading the source" which is patently false.


GPL protects the right to see the source of a binary distributed to you, so, in some cases, it enables reading of the code.


> 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...


This headline is a bit sensationalist. His tweet at the end says - "I'm still supportive of lots of GPL work, but I don't think the restrictions helped in this particular case."

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.


Counter point: I don't think it's sensational.

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"


He also said in the thread that his partners wouldn't have gone for it, so he may have thought BSD was better back then too, but went with what he could do.

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.


Genuinely curious: have there been any best-selling AAA games released under an open-source license of any kind since Quake 2 was GPL'd? It feels like a huge outlier that any release at all was agreed to, never mind quibbling over which license it picked.


Does Return to Castle Wolfenstein count as a best-seller or a AAA game?


quake 3 :p


> GPL is certainly better than a license prohibiting commercial use.

The GPL prohibits some commercial use.

The BSD license does not.


> The GPL prohibits some commercial use.

> 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.


Yes, it is true in the way that you're talking about it.


> I mean the GPL actually defends your right to do whatever you want with the software including selling or renting it out.

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.


This is not true. Many small but successful companies are released their code using AGPL3 license, so you can see and contribute to the code, but cannot compete with them using the same code.

The typical business model is a paid hosting and paid support for the product.


> so you can see and contribute to the code, but cannot compete with them using the same code.

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.


The GPL may make commercial use infeasible, but the Descent public license has gems like:

> 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.


The BSD also prohibits some commercial use.


How?


You need to attribute. So commercial projects that do not want to attribute are not permitted to use the code.


this does not in any way prevent commercial use


Really? So if I want to include BSD code without attributing in my commercial software, I can distribute the binary?

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.


Yes, you can, assuming we're talking about the modern BSD license.

So, your point was?


This is wrong. 3-clause BSD requires reproduction of copyright notice. You cannot distribute commercial derivatives of BSD-licensed code without including attribution. It’s literally clause two.


That’s why I’ve asked about the modern BSD license, the one without the advertising clause. But even with the old one, having to add one more disclaimer to the usual page of disclaimers somewhere in the documentation is not a problem, while meeting requirements of copyleft licenses - even non-viral ones - can be problematic.


2-clause BSD also requires reproduction of the copyright notice. It’s clause two.


how does commercial use require you to delete the license text?


Since game engines exist as middleware, the code has always been available to those that bought them, if not directly, as additional option.


I think you're right; this is more about choosing the right license to support your means than a general BSD vs GPL.

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).


While your theory is quite possible, it is worth noting (just to make sure that the premise of GPL is well-defended) that it is also possible his partners were more concerned about "freedom": that their new engine should benefit the commons rather than getting co-opted by people who don't care about end users, and that they would have preferred that their groundbreaking technology encourage more open source games.


My read is very close to yours.


> 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.

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.


For the particular metric John cares about, yes definitely. But there are other metrics out there by which GPL would have been a superior choice.


And those are? The GPL is far more restrictive, I can't see anything valuable that the GPL would contribute here.


As he says in the linked tweet: the major value the GPL contributed is the code being open-sourced in the first place, since his co-copyright-holders would never have agreed to license it BSD. The alternative to the GPL, in this case, was "(c) All Rights Reserved", which is still how most other old games are licensed.


So valuing that his co-holders didn't want to opensource is good for the open source community? That seems backwards.


Que? They were obviously fine with open-sourcing, just not under BSD license.


GPL is more restrictive for the developers, but more liberating for the users. If you care about your users, you'd use GPL.

It's just a matter of perspective.


GPL lets you release source code and enforce that no one can modify it without releasing their modifications. A lot of people like that "restriction" because it maximizes the amount of source people have access to.


No, the main point still stands that he wished that he had used the other license. Sensationalist implies that some accuracy is being sacrificed.


Does not look like that was his only metric: "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 fail to see a contradiction.


https://en.m.wikipedia.org/wiki/BSD_licenses

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:

https://news.ycombinator.com/item?id=5187235


There is no empirical evidence in what he says


> There is no empirical evidence in what he says

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

[1]: https://apple.stackexchange.com/a/59495/5640

[2]: https://www.fsf.org/news/2010-05-app-store-compliance


Apple specifically avoids code licensed under GPL 3, which wasn't even released at the time Carmack's code was licensed.

The concern there seems to be the anti-"tivoization" provisions, which could force Apple to allow people to replace GPLv3'd code.


I believe the concern was more about the patent closes from the GPLv3


> 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).

That... does not sound correct to me at all, unless they were actually LGPL2, and not GPL2.


Ah yes it was LGPL2 indeed.


1) So, Apple's issue with upgrading to newer versions of various projects--such as gcc but I think also very notably bash--was because of GPL3 in specific; but frankly the reason we need GPL3 is because of companies like Apple: it is a shame that all important code wasn't GPL3 from day one, as it might have prevented a lot of the worst issues we are dealing with currently. (It is actually my understanding that the GPL3 was released at almost exactly the same time as the iPhone was announced, which is certainly coincidental but historically "fitting".)

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 :/.)


Chris Lattner was responsible for starting clang from scratch, driving the Objective-C 2.0 improvements done in preparation for the Swift work that was being started in the background, has Swift attached to his name.

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.


How would you get empirical evidence of this?

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.


> Are there any AAA game engines released under a BSD license to compare with?

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's never for you, it's for everyone.


He was obviously talking about benefits for everyone to begin with. If he was only interested in selfish benefits to himself he could just have not released the code at all!


I can play Doom on a modern, underpowered machine for today standards, with many improvements to graphics, sound and gameplay thanks to the need that all these improvements had to be contributed back. I can even pay for original assets of the game.

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.


Perhaps you weren't paying attention when you read what Carmack wrote. Or perhaps you didn't even read it, because you're suggesting something that has absolutely nothing to do with the tweet.

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.


basically everything you're talking about was contributed by hobbyists passionate about Doom (I know, I was one of them). A BSD license wouldn't have stopped them, or encouraged any of them to take their modifications closed-source. Doom and then Quake had an active and enthusiastic community of modders who generally released everything back to the community, for the love it. I can't imagine the GPL vs BSD or MIT or Apache would have made any difference here.


Let’s face it: the GPL is becoming irrelevant and is displaced by permissive licenses. Projects using the GPL are increasingly held back and are losing favour among developers. Like LLVM is a very active and innovative platform, whereas GCC is essentially stuck in its original scope.

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.


> the GPL is becoming irrelevant and is displaced by permissive licenses

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.


It's pretty disparaging that there are people on HN who feel confident enough to enter into discussions about software licencing —albeit on a throwaway account— but don't understand that software can have more than one license.

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"…


> 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.


I believe you refer to AGPLv3: https://www.gnu.org/licenses/why-affero-gpl.html

"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.


Ah, yep! Thank you.


Yes it is, on IoT space, the POSIX clones competition is heating up, none of them use GPL.


[flagged]


It's easier and more cost effective to buy a proprietary license from the author.


That’s only if their project hasn’t been tainted by other gpl poison contributions. Cause I’d then have to find that person and get a license and so on.


> You sound like a great person to be around.

Thanks!

> Why would I pay you to use your foss when I can [..] never even let you know about it because I decided to write my own version instead.

You wouldn't, and that's exactly what I want.

> It’s easier and more cost effective to just rewrite the whole library than use a GPL one.

Which is exactly as intended.


That was the intention on the GPL? To discourage use and sharing code? Because people still share a lot of code, they just choose a better license. I say better because the GPL is bad, it is the worst part of the Linux ecosystem and the worst part of embedded systems tool chains. I’ve contributed to a few open source project, but never a gpl one. Smug programmers like you are the worst part of open source.


> That was the intention on the GPL? To discourage use and sharing code?

Yes, the intention was very explicitly to discourage use and sharing to people who didn't intend to share alike.

> Smug programmers like you are the worst part of open source.

I'm smug because I want you to share your changes to my code back? Good to know, I guess.


It really bothers me how you gpl assholes think you own everything that touches your shit. Your toxic code has been intertwined so deeply with software and operating systems that it’s a literal minefield. You and people like you have cost countless headaches, lawyer fees, stress because you fee your code needs to be used and contributed to. It’s a fucking narcissistic license.


I'm sorry that my choice of license has prevented you from using my code without giving anything back to me. Well, I say "sorry", I more mean "very happy, because that's exactly what I wanted".


Oh boy, that was a fun thread to read! Thanks for a laugh at GP expense


You’re basically using the AGPL like a “freemium” upselling business model. I’ve got no issues with that, it’s your property after all. Just don’t tell the world that you sign up to the FSF nonsense about software freedom.

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.


> Just don’t tell the world that you sign up to the FSF nonsense about software freedom.

...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.


>which asks you to give back without being the license cancer that is the (A)GPL.

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.


That’s a fair argument to make, even though my counter point would be that first and foremost the (A)GPL excludes a community of developers who need to earn a living with their work. In fact, the FSF will call this “morally tainted”. That being said, the free software purists aren’t a particularly tolerant community.

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.


GPL does not exclude a community of developers who need to earn a living to work. Linux, GCC and MySQL do not exclude people who are trying to earn a living from their sweat and toil. The GPL even says they can't impose any reason why people want to use the code whether it's in missile guidance systems, teledildonics, or ad networks.

>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.


"GPL is irrelevant, Netcraft confirms it."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: