Comment by skrebbel

12 hours ago

This is because Carmack doesn't really do OSS, he just does code dumps and tacks on a license ("a gift"). That's of course great and awesome and super nice, but he's not been painstakingly and thanklessly maintaining some key linux component for the last 20 years or something like that. It's an entirely different thing; he made a thing, sold it, and then when he couldn't sell more of it, gave it away. That's nice! But it's not what most people who are deep into open source mean by the term.

> This is because Carmack doesn't really do OSS, he just does code dumps and tacks on a license ("a gift").

That is, in fact, OSS. Open source does not mean, and has never meant, ongoing development nor development with the community.

  • That’s just incorrect. “Open source” can mean the licensing as well as the development model [0]. It certainly has been associated with the development model since The Cathedral and the Bazaar [1].

    [0] https://en.wikipedia.org/wiki/Open-source_software_developme...

    [1] https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar

    • > “Open source” can mean

      Keyword being "can"

      The Wikipedia page you linked to refers to "Open-source software development (OSSD)" which implies that it's a different concept than "open source" by itself

      13 replies →

    • The "development model" of open source is that one person code dumps, another takes, changes it then dumps it, another picks up the copy with the changes, changes it again, and so on. Sometimes it finds it's way back.

      A bazaar is a chaotic market with a million vendors, not anything remotely cooperative. The Cathedral and the Bazaar is meant to convey the idea that OSS code develops without central organization, through endless forking and cloning.

      The bazaar model definitely isn't the cooperation and vibes model that the HN crowd thinks it is...

      3 replies →

    • "Open source" means the source code is open to the public for reading and copying. Licenses have complicated the idealistic definition to restrict copying, but that is only within the context of taking credit (ie implicit relicensure). The only winning move is not to play the game at all.

  • I agree but he's arguing with people who's personal attachment to their OSS work goes a lot deeper than "I did a few code dumps back in the day".

    It was stupid of me to say that he does "not really do OSS" because that opened the door for all kinds of definition arguments. That's a super tired discussion and it wasn't really my point. I can't edit anymore but I meant to say something like "doesn't do OSS in the same way as a large % of the OSS community".

  • It’s not open source in the way anyone thinks about the term. He isn’t maintaining free software in the open

I have the same attitude as Carmack. I have several libraries and sites I maintain as well as contributing to several popular open source projects. I still have his attitude about this. Both my open source and my ongoing maintenance are gifts. I'm also free to stop giving when I don't feel like it.

  • There's more to open source than just the code or output, it is also the community. There's apparenticeship, sharing of knowledge, sense of comradery, supporting each other, etc.

    My day job uses a lot of open source libraries and projects, and do you know what we do when we fix things? We fork internally and don't upstream any patches.

    Do you not see a loss here?

    With LLMs, there's even LESS reason to keep up with upstream. We would probably just ask LLM to keep up with the changes commit by commit.

    • I think your idealized list of attributes of “open source” is admirable. However, the apprenticeship, comradery, and support are a specific and often sought out feature of some development ‘communities’ for specific software. I’d also say that the ‘loss’ when fixes, updates, optimizations of open source software is not up-streamed is real, but this has very little to do with adopting or promoting the externalities (no matter how laudable) you want to see in certain software’s development.

      I personally don’t care about the community, its composition, or its internal structure for a lot of software I use. Even when I’m compiling from source and customizing smaller applications for personal efficiency, I’m not usually interested in being a part of some distributed community centered on that software. Some times I am engaged in the community and appreciate it and the work required to maintain that community. But in either case, the software is “open source”.

    • > There's more to open source than just the code or output, it is also the community. There's apparenticeship, sharing of knowledge, sense of comradery, supporting each other, etc.

      No there is not. That’s what you impose on it. My code is open, free, and unencumbered. If I don’t want you using it you don’t see it at all. The licenses are there to make people happy.

    • That's all great, but to me the primary point is rms' original grievance with that printer driver. If the source is open, anyone can improve it. Multiple anyones can improve it! They can even collaborate on message boards and make a nice community, but this is certainly not a requirement.

> It's an entirely different thing; he made a thing, sold it, and then when he couldn't sell more of it, gave it away.

You're right and it's worth pointing out that a lot of open source has the opposite lifecycle: the authors make a thing, aren't sure how to sell it, so they open source it and hope to eventually sell something peripheral, i.e. "open core" with paid plugins or enterprise support.

In these cases, open source isn't a gift so much as a marketing strategy. So it makes sense the maintainers wouldn't see LLM training on their code as a good thing; it was never a "gift", it was a loss leader.

  • There's been something lost over time about the philosophy of open source. It appeared at a time when it was becoming apparent that computers represented a new type of technology where you couldn't just "look under the hood". An independent mechanic or machinist could repair a car to spec. A carpenter didn't need original blueprints of the house to create an addition. You could disassemble a typewriter or a sewing machine and with some ordinary skill actually manage to figure out how it worked. With compiled software the bar to understanding by the owner or operator was raised significantly. Open source was about being able to actually work on the thing you owned.

    Edit: Note that the original term was Free Software, but there's a long history of politics about why the two are different.

    • Indeed. Maybe it's just a function of passed time, but it feels like people surrounded by hustlers - including themselves - look at this and think "what's the hustle behind this?" because they can't imagine anyone doing this for any other reason. I get it, but it's quite sad.

      1 reply →

    • Of course now everything is like that. Partially that's because of computers and software, but there's lots of other technologies that have contributed too.

      There's an old tweet I can't find that was something like "We turned away from God when we invented the integrated circuit" that's always really spoken to the luddite in me.

  • the authors make a thing, aren't sure how to sell it, so they open source it and hope to eventually sell something peripheral

    I know it sucks but we need to admit that this doesn't work and we need to beat the hope out of people. You aren't going to make money later. The very few cases where it worked were flukes or fake.

  • I think your comment leads to discussing a distinct third ‘cause’ for open source development: where a developer realizes their ambition is greater than their abilities, either in the technical sense or (more likely) in the sense that a single developer stands no realistic chance of ever completing an implementation of the idea alone.

    For this class of open source development the authors essentially require the contributions and gifts of others for the project to even be realizable. I think this is the underlying basis for open source’s move toward a more “community” development model. It has led to open source being viewed by many as requiring a community and a “managed” community at that, to be open source. I think this class of open source is going to be impacted the most by LLM ‘assisted’ development (no matter how much distaste it generates for me and many others), where the hurdles of large scale development are more in reach (seemingly) for solo or very small groups of developers.

    The really interesting thing is going to be to see how many of these projects move toward the Carmack ‘gift’ model and look to leave the community-centric model behind as an unnecessary externality.

He also (presumably) doesn't have to worry as much about money as many OSS folks might, so dual licensing (as a means to keep working on the OSS version while also making ends meet) is likely not something he would consider.

He also started an AI company, right?

  • > He also started an AI company, right?

    Yes, but IIRC it's different than the current "download the internet" large language model approach. More like learning to play video games or something.

> This is because Carmack doesn't really do OSS

It's a little disheartening that someone can release their code and still be told they "don't really do OSS".

  • It’s a pretty nasty form of No True Scotsman.

    I do open source. Oh, that guy? He doesn’t do real open source.”

The assumption here is that the people who maintain something in a painstaking manner did not intend people to take it and do whatever they want with it in accordance with its license?

  • "in accordance with its license" is the key part that's missing with LLMs. The licenses are completely ignored.

    • > The licenses are completely ignored.

      Where and when? In cases where LLM coding assistants reproduce copyleft code in someone's work assignment? The responsibility in those would be on the user, not on AI.

      5 replies →

    • It seems to be a common view on HN that licenses and conditional access to websites should be ignored (i.e. WRT ad-blockers), but also that licenses on Open-Source Software repositories should be respected (i.e. WRT LLM training). I believe that holding these contradictory views is common, but the conflict would need to be resolved to come to a conclusion on how to proceed with LLM training.

      17 replies →

    • That's because licenses are an abstract complexity tacked on to a simple material reality in order "to promote the progress of science and the useful arts".

      Just like many cultural rules, they keep growing in complexity until they reach a phase change where they become ignored because they have become too complicated.

      1 reply →

That is, in fact, open source.

The community is not the license. The “open source” development community is a user of that kind of licensing.

You might better describe them as the open source maintainer community. I do see how ai impacts maintainers. But I’ve dumped hundreds of thousands of loc into the bucket with no hope that anyone would really maintain it. With AI it might become part of something useful. The license has many uses.

Then by your definition, SQLite isn't open-source because it's a code dump with a license, but outsiders are not allowed to participate in shaping (the official copy of) the code.

This the “no true scott”! fallacy. I sure he writes code and makes it open with an open source license, but he not really doing open source.

Carmack was a shareware/proprietary software guy way before he was a open source person if ever.

I mean back in the day licensing Quake from iD was like that too. It was basically "hey, thanks for the $2 million, here's your cdr and never contact us again."

It was night and day between them and Epic back then, which I think is entirely why Unreal Engine grew to be such a juggernaut, and iD tech stagnated.

> It's an entirely different thing; he made a thing, sold it, and then when he couldn't sell more of it, gave it away.

He didn't have to give it away, but he did, and for that I thank him

OSS is a big umbrella. At the end of the day, if you are not hurting for money, you might be okay donating your work for AI training. Meanwhile if you’re working hard on projects while sacrificing a lot (including money) you are very much allowed to not want AI use it for training if it means financial gain for a select few at the top.

It has the same undertones as how rich people talk about philanthropy. “Look I donated a portion of my wealth that barely affected my life, I must be better than all those poor people who never donate to chariTy”.

This sounds to me like the "No True Scotsman" argument. https://en.wikipedia.org/wiki/No_true_Scotsman

I break down what you said as: "Sure, he's released code with an open-source license, but that's not real open source in the sense that matters."

I happen to disagree. OSS is OSS. AGPL is OSS. MIT is Open Source. Unlicense is OSS.

  • The point is not that it's not "real" open source, the point is that he has less interaction with the big part of the open source ecosystem which is feeling the brunt of the downsides of AI, namely, giant useless bug reports and PRs.

    (I do agree that it's still OSS even if you never maintain it or anything.)

    • That framing makes more sense to me.

      I agree there's a difference between publishing code under an OSS license and actively maintaining a project while fielding the flood of low-quality AI issues and PRs. Someone in the latter category is obviously closer to that pain.

      I still wouldn't go so far as to dismiss Carmack's view on that basis alone, though. It just means his experience is less representative of maintainers dealing with that specific problem every day.

  • The thing is, he is not working in open source.

    He only released his software as open source when there was no more money to be made with it. The idea being that even if it is of no use for him, is could be of use to someone else. In a sense, it is crazy to think of such actions as generous when it is what everyone should have done, but since being an asshole is the rule, then breaking that rule is indeed generous.

    To me, working in open source means that your work goes to open source projects right now, not 10 years later when your software is obsolete and have been amortized. The difference matters because you are actually trying to make money here, and the protection offered by the licence you picked may be important to your business model.

    John Carmack is making gifts, which is nice, but he wasn't paid to make gifts, he was paid to write proprietary software, so he worked in proprietary software, not open source. On one occasion, he gave away one of his Ferraris, which is, again, nice, but that doesn't make him a car dealer.

Well said. Some people are misparsing your core point here.

Skrebbel is largely referring to the OSS projects that need people to do consitent grunt work like shipping predictable releases, stable branch maintenance, backporting security fixes, etc. This is the kind of work maintains that the internet's infrastructure.

A bit like the Nebraska guy from the famous XKCD, dependecy: https://xkcd.com/2347/

Though I agree that a healthy, vibrant, open source software project requires community and merge maintainer(s), open source "code dumps" (contributions of one's work for others to share) are open source.

There's no need to shame or diminish people into a different open source contribution pattern.

We can be grateful for open source code dumps with no express or implied commitment to future performance. We aren't entitled to ongoing support or ongoing development.

  • Furthermore, there are different types of contributors.

    So often the people with divergent thinking and creative problem solving abilities aren't apt to stay focused on one thing for so long.

    It's normal for more operations-focused folks to handle the day-to-day on things designed by sometimes flighty, absent-minded, distracted, and unreliable chief engineers such as the aforementioned.

    Unless they want to stick with a project, you probably don't want to force those types to do the normal operations daily grind that's so normal to most people.

    "We'll take it from here"

    "Actually I can code, but on that one [...]"

Open source is literally just releasing the code under an OSS license.

Any additional meaning or steps isn't open source, it's something else...

What do the people who are deep into open source mean by the term then, in your understanding?

>This is because Carmack doesn't really do OSS, he just does code dumps

OSS wasn't always endless PRs and other git-specific related crap, and I think that line of logic is fucking ridiculous.

Open source when I started was a website or BBS where a tarball of code was there waiting for me to download it. It wasn't PRs/issues/CI/career-finagling/virtue-seeking/etc; it was just the tarballl full of source code.

I agree wholeheartedly with Carmack and I am glad to see people with that perspective. I think exactly the same with regards to all of the OSS projects and code that I put out for 20+ years before LLMs were a thing. nothing changes; i'd do it again.

I didn't do it to make a career, I did it because I believe in the greater ethos of OSS.

  • >I didn't do it to make a career, I did it because I believe in the greater ethos of OSS.

    The greater ethos of OSS, as it is conceived of by most of its practitioners isn't "source availability is the same thing".