• lobsters__bakkot@crustaceanson.theshelf.topM
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    3 days ago

    I read this post and was angry on the author’s behalf. Then I learned - not from the post - that in fact one of the things Anthropic did credit is the larger system of which Mononoke is a component. This has made me much less upset with Anthropic and moderately upset with this post’s author for not stating this up front. I’m willing to believe that this was omitted only because it’s hard to remember that these things aren’t background knowledge to everyone, rather than e.g. to make this seem like a bigger deal to readers than it would otherwise (which is the effect this omission had on me), but I think this post ought to be clearer about that.

    With this context, and having re-read Anthropic’s post, I don’t think Anthropic behaved badly here, unless there’s even more context I’m still missing. Can someone who is upset even with this context spell out in a little more detail what you think the problem is?


    score 1 · canonical

    • From my post:

      The fact that Sapling was only credited for “hard-won lessons”

      The resemblance goes well beyond “hard-won lessons”. It is a direct copy.

      And yes, there is further information that isn’t public that I was later made aware of. Sometimes you write to the world with the expectation that the world writes back to you, and sometimes that expectation is fulfilled.


      score 1 · canonical

      • They said “we were able to build Scion with [Piper’s and Sapling’s] hard-won lessons in mind”. You would have liked them to say “we based Scion’s design on Sapling’s design”? Because to me, the former covers the latter, but if you don’t read it that way I guess I can see why you’d like them to be more explicit. Still, this seems a minor faux pas at best (in the absence of the nonpublic information you allude to, which obviously I can’t really update on unless you want to gesture at its shape somehow).

        Since you’re here, would you consider editing your post to make the connection between Sapling and Mononoke explicit so that future readers are not misled the way I was?


        score 1 · canonical

        • Since you’re here, would you consider editing your post to make the connection between Sapling and Mononoke explicit so that future readers are not misled the way I was?

          I can do that tomorrow, but I want to be clear that Sapling can either mean just the user-facing client or the entire system. If you were previously on Meta’s source control team and you make your way to Anthropic’s source control team, I expect you to say that you were inspired by Mononoke specifically, not just Sapling, because you absolutely know the difference. And that you copied from it. (I mentioned on HN that Lore is a good example of a VCS that can say it was inspired by Sapling or Mononoke while not being a copy.)


          score 1 · canonical

          • lobsters__dvogel@crustaceanson.theshelf.topM
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            3 days ago

            I think this is another case where we need a term for “forking without forking”. The behavior of Anthropic here is that of someone forking a project. They want the same basic implementation but they want to control the future direction. The term forking has a legacy of being tied specifically to a source control action and that doesn’t quite fit. Saying Anthropic forked Mononoke would give some people the wrong impression. However the pre-DVCS impression of forking seems to apply to this and other code duplication by LLM vendors:

            Forking is considered a Bad Thing—not merely because it implies a lot of wasted effort in the future, but because forks tend to be accompanied by a great deal of strife and acrimony between the successor groups over issues of legitimacy, succession, and design direction. There is serious social pressure against forking.

            https://en.wikipedia.org/wiki/Fork_(software_development)

            I’m a terrible marketer but “slopforking” conveys an ickiness that matches how I feel when I read about these projects. Like eating gruel :)


            score 2 · canonical

        • You would have liked them to say “we based Scion’s design on Sapling’s design”?

          I would have liked them to say “we based the server design closely on (specifically) Mononoke’s design”, especially given the overlap in personnel. The reality is closer to “Claude was pointed directly to Mononoke to take its design from”, though I didn’t have confirmation of this before I wrote the post — reading the Anthropic post, nothing like that even remotely comes through. (It’s a lot less impressive when the hard design work is already done and you copied it wholesale in five months!)

          I was charitable when I assumed Claude came up with it from its training data.


          score 2 · canonical

  • How different is Mononoke from Google’s Piper (and the layers on top of it, of which there are several)? Is there anyone in the world familiar with both? I feel like it should be easy for some amount of conference evolution to happen here.


    score 1 · canonical

  • Given that Anthropic credited Sapling, and Mononoke is a component of Sapling (the server part of it), I don’t find this complaint particularly convincing.

    If Anthropic hadn’t credited Sapling I’d see their behavior as extremely bad form.

    (I’d I was Anthropic I’d update the original announcement to credit Mononoke, too.)


    score 1 · canonical

    • Enough, Simon. You have carried enough water for these companies. This is nonsense. This is well beyond “hard-won lessons” — this is a direct copy made by (what I’ve been told) is an overlapping group of people. Given how contrarian the design was back then, and still is in many ways, it is basic decency to say that the data model is a direct copy (the word “ripoff” has been used).


      score 4 · canonical

      • First they brought noise and air pollution, and increased power bills to backwater towns, but I did not complain, because I didn’t live in one of those towns, and my personal convinience outweighs the externalities.

        The they came for the fruits of my intellectual labor, but there was no one left to speak out about it.

        Those damn leopards, who would have thonk’d…


        score 1 · canonical

            • lobsters__sunshowers@crustaceanson.theshelf.topM
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              3 days ago

              Thanks.

              FYI in your post you say:

              it looks like the core concept of “derived data” was heavily inspired by Mononoke, the server component of Sapling

              I want to be clear that it isn’t just the concept of derived data that is inspired by Mononoke. A Scion changeset is almost exactly the same as what we in Mononoke called a Bonsai changeset. I led the design and initial implementation work for Bonsai changesets back in 2018, including writing the four canonical design documents that are still the reference. The advantages of Bonsai changesets are very non-obvious until you spend a great deal of time thinking about the problem, which I had given my years of experience on version control.

              This is not surprising given the additional information I received later, which includes the fact that Claude was pointed directly at Mononoke and told to copy it. The fact that none of this is even remotely hinted at is shameful; taking an existing battle-tested (over a decade!) design and copying it in 5 months is much less impressive than coming up with a brand new design and productionizing it in 5 months.

              edit to add that there are also other parts such as an API to do source control queries and mutations with that are copied from Mononoke. Those have been done elsewhere before Mononoke, too. In general it is always good to situate your work in the larger context of what came before you.


              score 3 · canonical

              • I did say in the comments to Anthropic post, that they don’t say enough to figure out what they took and combined from known and tried ideas.

                I would say that stressing derived data (as in your main pot) does not really feel like much more convincing, as derived data at the level they describe it is just database indexing and caching, so who knows.

                But the claim you make here in the comment, this one is a damnable omission on their part. What exactly goes into the changeset in Bonsai is clearly a careful optimisation for a monorepo use case (my dream DVCS for personal use would have functionality incompatible with that!), and when they closely followed that, it’s a clearly more of a fork/rewrite than «hard-won lessons», and yeah, that needed to be explicitly credited to Mononoke and Bonsai changesets.


                score 1 · canonical

              • I led the design and initial implementation work for Bonsai changesets back in 2018, including writing the four canonical design documents that are still the reference. The advantages of Bonsai changesets are very non-obvious until you spend a great deal of time thinking about the problem, which I had given my years of experience on version control.

                I work in public research, and I recognize this situation as “you should write a paper about this”. The description that you use in your post comes from, if I understand correctly, personal documents you wrote for a job application. Curiosity question: have you / your team considered writing actual papers / public technical reports about these things? (Why not?)


                score 1 · canonical

              • taking an existing battle-tested (over a decade!) design and copying it in 5 months is much less impressive

                I’d go further and say it outright shows the touted efficiency gains of LLMs are complete bullshit.

                I hope their vibe coded garbage VCS malfunctions and deletes some important code.


                score 2 · canonical