79 comments

[ 0.35 ms ] story [ 21.6 ms ] thread
Damn. It’s hard not to see it as plagiarism. I can only imagine the surprised Pikachu face you must have made reading that announcement from Anthropic.
Similar to how git was "inspired by" BitKeeper and Monotone?
Oh wow. Being pretty new to meta and seeing the anthropic announcement I was thinking to myself “wow that sounds a lot like sapling”.

I guess that is the case.

They mentioned Sapling in the post and even hyperlinked it
This headline is very confusing for fans of Basic Channel / Chain Reaction records.
It is also confusing to fans of Studio Ghibli.
Is this what is expected of how to cite sources? Because if this is the expectation nobody does it.

There are two cases and only one is an issue for citations: - Mononoke was directly consulted and not attributed - Concepts were reinvented or used as a derivative (Sapling cited Mononoke and implements something similar)

For one I know Sapling, Git, and Jujutsu, but up to today I have never heard of Oxide or Mononoke and I am not exactly compelled to look up the research papers of any of them, at most I read through their high level documentation.

Sapling does a bit more than cite Mononoke. And Oxide was not involved in Mononoke's development. These are kind of details that would not be expected of a casual user. However, when valuations soar into the trillions, we can expect companies with dedicated writing staff to communicate attribution properly.
*the kind of... sorry, that typo made my answer sound a bit sarcastic which was not the intent.
From the Anthropic announcement:

“Source control for huge monorepos has prior art, notably Google’s Piper and Meta’s Sapling, so we were able to build Scion with their hard-won lessons in mind.”

Mononoke is a component of Sapling, as I understand it. In fact, the repo link provided in this article links to a subdirectory of the Sapling repo. I’m not totally sure I understand the complaint.

> hard-won lessons in mind

Another Claude-written article

Yea, hard-won, who talks like that... oy vey
If I credit my newly introduced car as inspired by Corvette, then sure, it might be ok not to mention the engine (Mononoke is the server part of Sapling)

However if my new car's engine is a near copy of the one in the Corvette, and my announcement gushes about the engine using the same terms the Corvette design team invented...

Then can you see how a mention might be nice?

Sounds like they did get a mention
They didn’t mention Mononoke.
Mononoke is part of Sapling.
Yes, see the car design analogy above. Because of the context it's appropriate to mention Mononoke and Sapling.
It's called "clean room reverse engineering" /s
To me, this sounds like it's less about the technology, whether it's open source or not, and more about the people in the room that are influencing the design, direction, and implementation of it. All of which are very likely to have previous positions at major companies responsible for the products mentioned.

Perhaps if there is any ambiguity, it's intentional on the part of caution around intellectual property provenance.

Agents tend to act differently than humans here. I would have expected most humans to notice and acknowledge the connection. Passing it off as one's own insight definitely feels like plagiarism. Agents are generally not equipped to deal with this type of thing, since looking for prior art is a detour from their goal or an exercise in post-hoc rationalization of knowledge built into the weights.

Whether it is plagiarism or hacking, the buck has to stop with the operators. It's not a good look.

I really really wish Sapling could be used externally. It is by-and-large TheWay.

Centralized, virtual file system, all commits automatically on cloud, large binary files totally fine, Mercurial CLI. It’s fantastic. People who only use Git really don’t understand how much better things can be.

The startup I work at is working on exactly this. So I agree :)
Hey Steve, I read your recent blogpost on the ERSC site - have you or David (or anyone else at ERSC) felt like there's a Rusty-enough topic around what your startup is doing to give a talk at Rust NYC/Rust conference soon?

There's not really a VCS meetup in NYC, but I got to hear David and others at Rust NYC wax eloquent about Sapling vs Piper and Buck vs Bazel a couple of times, so I think the audience is there!

Rust NYC is certainly one of the things I have missed since moving to Austin :)

Maybe, we'll see. I think one thing that's tricky these days with startups is that being super transparent technically about what you're up to is much harder to justify. Look what happened with Origin: tobi vibed up a copy over the weekend after it was announced. Obviously there's balance to be found here, but that's partially why we play our cards a little closer to our chest.

I am delighted to hear this. Please do not forget support for Windows.

Let me share with you my previous screeds on this topic:

* https://www.forrestthewoods.com/blog/dependencies-belong-in-... * https://www.forrestthewoods.com/blog/using-zig-to-commit-too...

They’re semi-adjacent in that they are about build systems that don’t suck. (buck2 is also mostly TheWay but also not usable outside of Meta and has room for improvement).

Save us from Git and CMake Steve! Please I beg you!!

To be clear, we are not building a build system, just a VCS. :) we do use buck2 internally though.

I do care about Windows, having used it for years at this point. The client is git or jj, so Windows support is there for sure. For some of the other stuff we’re doing, we’ll see what customer demand is like. Obviously there are tons of devs on Windows, but we also have to make calls about priorities too.

hi rain :) Anthropic’s post reminded me a lot of your work, glad this is getting some visibility. do you think the “time has come” for some of these ideas that previously may not have spread because they need too much learning to appreciate? I wonder what new norms will emerge in creative collectives.
Thanks! Yeah, I think overall several more organizations are going to reach the scale that Meta reached a while ago. I'm not sure if they'll go in the monorepo or polyrepo direction, though; I can see arguments both ways.
Can anyone explain the difference between sampling vs mononoke?

Edit: I was too lazy. From the README: "Mononoke is the server built for the Sapling Source Control System"

When Fable first released, I had it "one shot" a project using an initial spec and a team of agents. I was blown away with how good the results were.

And then I noticed some links to images from random small github projects and realized somewhere along the way agents had searched for existing projects and copied almost everything.

I wonder if something similar happened here on a larger scale.

I think a lot is memory really. For fun you can try pointing just about any model against the older kaggle challenges and it’ll come up with more or less the winning solution from memory. It’s here where you see a Gemma 27b perform about the same as opus 5.5
It's the same for CTF challenges. Many get 'solved' because a writup was found and steps were followed.
GitHub is to agents what StackOverflow was to developers back in the day (in a meme kinda way).

More seriously, I'm curious if you checked on the licensing of said codebases, were they permissive or strong copyleft?

Lolol nobody is checking that shit. Do most people prompting AIs even understanf what copyleft is?
Very few licenses allow you to copy code verbatim without acknowledgement.
I asked it to sketch out something from a research paper, to later find out most of the code was translated from another implementation of the paper.
The company is predominantly FAANG people. They’re going to just rebuild what they know. I don’t think you need any kind of conspiracy here. One year into ad tech and everyone was using HyperLogLog. Everyone was using 20 years ago LMAX-style disruptor, and single threaded event queue powered by loop called governor. It’s just what happens. People carry in their head what they know.

IP maximalism is the present zeitgeist but that’s just how knowledge flows.

Rebuilding what you know from the previous FAANG you worked at is expected on the whole.

What is douchey is presenting the whole thing as some sort of intense novelty and stroke of genius required in the age of agents when it's just doing what the other BigCo companies did to scale their monorepos already. Like a decade ago.

The reality it is when I first read the thing I was -- as a Xoogler -- like "Oh, yeah, so, like Piper & SrcFs and the stuff that Meta also does" and really didn't understand why they wouldn't have started with something off the shelf inside of vibe-conjuring a clone that they would then have to support

To me it speaks ill, again, of the engineering culture at Anthropic. "We do these things not because they are useful, but because they are novel."

Don't they have better things to do at Anthropic than building their own source control or rewriting Bun from scratch in another language? Like, y'know, basic site reliability? Or a coding harness that doesn't eat multiple GB of RAM?

Which off the shelf solution would you have used?

Google's isn't open source. Meta's is an option, any others you would consider?

Well, sure, the article here and Meta's, etc.

Even Google started with Perforce originally and only forked/rebuilt when it stopped being able to scale. And did so in a very incremental fashion.

When Google built their alternative to Perforce it wasn't possible for a team of seven to build a new system from scratch and port the entire company over to it in five months.
I'd wager it's still not possible.

You can write it, but can you maintain it? Can you even fully understand what was built? Can you staff the team to manage the bugs? The potential data loss?

Sounds like Anthropic have committed to running exactly that experiment at scale.
> ...it wasn't possible for a team of seven to build a new system from scratch and port the entire company over to it in five months.

If you're using Anthropic's recently-announced plagiarized source control system as your proof that this is possible, then, well, it's still not possible. That system was not built from scratch, and we both know that you were informed roughly four hours before posting this comment that the folks involved with this have been directly informed of that fact. You even called the failure of Anthropic to acknowledge that this was not a from-scratch project and to credit the project from which they lifted the design that they would have had to pour a lot of time and effort into to replicate -and I quote- "a scandal".

Here's the context for that "scandal" comment: https://lobste.rs/s/plcgps/anthropic_s_scion_is_heavily_insp...

We've since got a few more details, it looks like the new information is that there are people on the team who built Scion who had previously worked at Meta and had direct experience with Sapling and Mononoke: https://sunshowers.io/posts/anthropic-mononoke-2/

> ... back when Google built their version of this it wasn't possible for a team of seven to use LLMs to build a new custom implementation in five months...

A quick look around tells us that Mononoke came from Facebook nine years ago. [0][1] Similarly, Piper was built long before LLMs were more than -at best- some very small scale implementations.

Git was started in 2005. IIRC, it went from a blank editor window and some ideas in Torvalds's head to self-hosting in four days and managing the code for the then-latest Linux kernel release in two months. As I understand it, project staffing was also low; somewhere between one and a handful of people. Such amazing velocity and tiny staff size! <strike>Impossible without LLMs!</strike>

I also note that you've weakened your claim from "build a new system from scratch" to "build a new custom implementation ... that incorporated existing patterns".

> Here's the context for that "scandal" comment...

Yes, that's the conversation that I wrote about. The rather unflattering start to that thread that you linked is important context [2], and the blog post you link to talks about the behavior you called "a scandal". I read all of the discussion for the first report, and most of it for the second.

> I stand by my ["]original["] comment...

Like many folks have mentioned to in recent months, occasionally saying "Jeez, that behavior is awful. Yeah, that's inexcusable." doesn't mean anything when you're back at bat for these companies a few hours later.

[0] <https://github.com/facebookarchive/mononoke>

[1] <https://news.ycombinator.com/item?id=16565299>

[2] <https://lobste.rs/c/wk6js5>

Some people read Anthropic's announcement and understood it to say "Claude designed this software".

Others read it and interpreted it as "a team of seven engineers designed this software and used a Claude to build it".

The former group seem a whole lot more outraged by this situation than the latter. Which interpretation did you take from Anthropic's post?

> Which interpretation did you take from Anthropic's post?

Neither. Anthropic originally claimed the same thing that you originally did in this thread; that this was a from-scratch implementation, and that the use of LLM-based tools was the primary reason they could go from zero to a nontrivial version control system in ~five months.

Please stop going to bat for these folks.

Once it's been through the slopotron, the provenance is laundered away.
Anthropic effectively doing a "git clone" with extra steps here. Uncharitable? I don't think so. If this were about functionality, why not use Sapling/Mononoke or extend it and contribute back to the open source community? Because that doesn't juice the IPO valuation.
I think it's worse than just IPO juicing. I think it's "look what our agents can do" and more on the "software engineers are becoming obsolete" line that Dario public-pronounces.

Same thing happened with the Bun rewrite. "Oh wow, look what we can do! What's that, nobody adult supervision telling us that this is a bad idea? Let's go!"

The most horrible thing is they don't read their own code. They read the "intent"

On one hand they say AI will end the world. On other hand they say well, we just merge PR by reading the "intent" which I think is the AI summary

Yet another company is running a bigger-fool scam. They hope idiots will buy their shares during IPO and they wont give a fuck anymore.

I cannot hate them - its rational in its ways. But I hate the idiots who fall for it with each new IPO.

git clone would be good. looks more like a peforce evolution tbh
Did they know or did the agents just have that in training data?
Whether the ant post amounts to plagiarism, it is definitely somewhere between extremely lazy and intentionally misleading. No particular idea has its inspirations or origins traced or cited, there is no comparison to comparable tooling or discussion of prior work, and there is absolutely nothing to actually position or discuss the project in a manner that might lead to "Contributing to the wider ecosystem."

If only they had had a claude write the post, it'd be full of citations, inspiration credit etc.

Appreciate the perspective, more to learn from.
I've always worried about the level of "IP laundering" which is done by LLMs.

While that's not technically the case here (given Mononoke's license) it is still quite negative in my view. We will have fewer people wanting to share ideas openly since LLMs are so good at not only finding them, but also not attributing them. This also leads to a loss in diverse collaboration, which is probably one of the biggest drivers for good software.

Right now there's probably a lot of these "novel" ideas floating around which models can present as their own, but that's raiding our coffers with no inbound future stream.

(comment deleted)
So it's mercurial all the way down, then?