I think it's a useful analogy to compare OpenAI to a human collaborator. These researchers willingly collaborated with an OpenAI model, giving it ideas, and OpenAI provided useful replies. Then, OpenAI goes ahead and publishes work along the lines of this collaboration, without attributing the researchers. If OpenAI was in fact a human researcher, this would be highly unethical.
Now, OpenAI is claiming that the model it used to generate the result was not trained on these collaborative communications with the researcher. This is a technical argument that is impossible to verify as an OpenAI outsider, and probably difficult to verify even for internal OpenAI employees. Provenance is hard to track - you would hope OpenAI has very good tools for this, but a full data trail of all inputs is difficult to trace through.
Another interesting thing to consider is if instead of OpenAI doing this, it was another research mathematician A using an OpenAI model just like the internal group at OpenAI did to publish these results. What if the model A used was trained with unpublished communications with other researchers B who were working on the same problem? Should researcher A technically include B as coauthors? How could they do this when they do not know the communications B had with OpenAI? In this scenario OpenAI, as a middle man, has laundered information from B to A, stripping out attribution. A scooped B without even knowing it!
First, OpenAI is not claiming that the model wasn't trained on those sessions. What they've said is “We (the researchers and the agents) did not see any of their work through any means until they released it publicly — in particular, no specific user data was accessed in order to solve this problem.” and “We did not use their prompts or proofs to prompt our models or direct our agents.” and “While unlikely, we cannot rule out that de-identified data derived from their usage of our products helped improve our models.”
They also said “Our effort began on September 1st after hearing a rumor which we later realized was related to Levent Alpöge … and Tristan Buckmaster….” They say the rumor was that two Millennium Prize problems had been resolved, and that this prompted them to launch "an effort to evaluate it on all open Millennium Prize problems and a few other high-impact problems."
It's not obvious to me that's an unethical thing to do, if it happened as they described.
> It's not obvious to me that's an unethical thing to do
In terms of work in mathematics, something I personally would not do based on ethical grounds would be to hear a rumor that some researchers are taking a certain approach and may be nearing a solution, use a model that was possibly contaminated with intimate knowledge about that approach (though later they investigated and think it wasn't), and then commit millions to tens of millions of dollars and untold amounts of hardware to try to beat them to it. If I had done this, I also wouldn't have pestered the researchers on a Sunday night to meet immediately so we could negotiate a nice way of presenting the actions I had decided to take.
Even if you don't think it was unethical, it was never going to be received well in the community that was especially going to care about this work, and who are very much peers to many of the people working on this solution, so it was at the least an enormous (and well-deserved) own-goal that their unveiling of their solution to NS went like this.
But by OpenAI's telling they heard a rumor that the problem had already been solved. So they reached out to the other researchers as an attempt to share the credit, and in fact have at least one of them be the lead author (which is when they found out the AI had solved a broader problem than the researchers.) Seems pretty ethically palatable.
I suspect the main reason the community is not receiving it well is largely the same reason many developers are not receiving coding agents well.
Even if you judge OpenAI solely on their public communications it still sounds really bad.
That they heard a rumour that a major open problem had been solved, so they decided to try and scoop the other mathematicians while they were writing up their preprint is extremely unsporting.
Then they decided to exclude an author because of his employer, even though he had used their own products to write the proof!
They haven't necessarily breached any formal ethical rules but their behaviour will lead to them and their products being shut out from the mathematical community.
Hold on, you've just ignored the point of the post you're responding to. What isn't being received well is hearing that others are close to publishing on a solution to a problem, so quickly using your power imbalance (millions of USD and access to way better models) to front run this. Even if their model wasn't trained on the conversations, this is just a dick thing to do.
That's it, that's why it isn't being received well.
It is simply unethical, period. Knowing that a solution exists is a gigantic advantage when working on a solution. Normally, noone can abuse the knowledge fast enough to gain an advantage, but here, they could. This is fraud and as a journal, I would reject it.
Actually you're the one ignoring a key point of the post you're responding to. The claim (which granted you might not believe) is that openai understood the problem to have already been solved. They also claim to have been attempting to avoid front running the pending publication as well.
> I suspect the main reason the community is not receiving it well is largely the same reason many developers are not receiving coding agents well.
Because the training data is millions of hours human efforts being distilled into a cascading hierarchy of enrichment by interested parties without providing attribution or compensation?
> I don't see the cascading hierarchy of enrichment.
If there wasn't a hierarchy of enrichment then rich investors would not be interested in AI at all. It's the only reason there's 22 million lying around to start training on a math problem on a whim; whereas the actual math researchers have to scrape together funding in hope of just maybe one day getting a 1 million dollar prize.
Well, the investment dollars are spent on the customers for the most part, though also on salaries and equipment. But the lions share of the value is going to the shareholders (eg employees and investors)... and they have liquidated and will continue to liquidate a disproportionate value to what they have spent on us. By some estimations at least. It's very possible $1 into this machine to feed your queries is worth $10+ to a shareholder based on whatever new valuation they get. So I'd say there is a hierarchy of enrichment.
many teachers also taught many students over the course of history, and very few would eventually pay any compensation or even attribute their financial (or career) outcomes to the teachers.
Huh? In your example these many teachers were paid for teaching these students and were able to make a living off of teaching without the students compensating or attributing their financial (or career) outcomes to the teachers while now we have a system where we are expected to pay a monthly amount to a corporation that has inhaled all human knowledge without any financial compensation to the people who created, managed or maintained this knowledge. The effective difference being that our knowledge, which used to be a means of income, has now become a subscription cost.
as a developer that had a brief career in academia, i don't think your last comment is right at all. 99.9% of what i work on as a webdev, even if it's challenging and unique at the margins, is not really novel. concerns about job security aside, i don't really think of an agent as stealing my ideas because it's good at writing CRUD APIs.
collaborating with ChatGPT on a novel solution to an unsolved problem, getting 90% of the way there, and then being "scooped" by your AI collaborator (or rather by the company behind it) is a totally different situation. were i in the same situation as these researchers, it would be extremely hard to take OpenAPI's explanation + denial of plagiarism seriously
But that is exactly what I'm implying is the core reason, whether people realize it or not.
I totally agree that the vast majority of software dev is not novel. I have even made several comments to that effect. The same can be said for a lot of creative work as well. Yet many, many devs and creators are very unhappy with AI, and a lot of their complaints are variations on accusations of plagiarism.
And note, I am not saying it is wrong, it is completely understandable, but we need to be clear about where this turmoil is coming from.
If I were in the same situation as these researchers, I would publish all pertinent research work and chats so that the rest of the world can see how close the model's work is to my own. It's been scooped anyway, so there is no reason to keep it private.
Maybe not money directly, but pretty sure it's about economic disruption. These models directly undercut the value of one's skills and labor, regardless of whether this value is measured in hard cash or abstract self-worth.
I am working on two applications using ChatGPT and Claude.
I have no illusions these people won't steal/copy whatever you want to call it, "train their models".
Yes, I keep unticking the boxes that allow it, that they so kindly tick for me.
But what happened to these math researchers is something else and I am not sure it's about the money for them. You don't do math research to get rich, but to get acknowledged by your peers. Yes, we live in a capitalist world so obviously you need money to feed yourself. but for some people, that is secondary.
OpenAI stole their thunder, and that's just fucked up.
It's not equivalent to cranking out a CRUD app for profit.
Definitely, they can also greatly assist you and that is the silver lining that I choose to focus on to prepare for the future. But most other people are focusing on the negatives because, understandably, they are immense.
As to OpenAI stealing their thunder, from all I can tell that is not what they intended. If we step away from the drama, it's low-key hilarious what happened: OpenAI heard somebody had already solved a much bigger problem -- which in fact they had not -- so they set their latest model to work on it... and it actually solved it!
Now if they had stolen the researchers work this would be a very different matter. This is something I myself have called out as a risk in the past: https://news.ycombinator.com/item?id=48839896 -- so I'm particularly sensitive to this aspect, but as far as I can tell this is not the case here.
Being displaced from a vocation that they either have dedicated their professional lives getting good at, or was their livelihood, or likely, both.
I think all other complaints from all other people in all their myriad variations stem from this core reason. Even if people don't realize it themselves.
Like, if these models had trained on the entirety of human knowledge and art, and then turned out to be absolutely useless, I would bet nobody would waste a second's thought on them.
I'm not sure that's true. Like if they produced nothing but the worst of the slop they're currently producing, a lot of people would still be bothered by that just because of the sheer volume of such slop that can now be produced.
> If I had done this, I also wouldn't have pestered the researchers on a Sunday night to meet immediately so we could negotiate a nice way of presenting the actions I had decided to take.
From what I can tell, both OpenAI and the researchers agree on this meeting happening, except both sides clearly have very different interpretations of what happened and why.
Hearing that something is solvable is already a hint. I don’t think leveraging this knowledge is ethical. They could go after a different problem but didn’t.
My understanding is that they asked the independent researcher to improve OpenAI's AI generated proof and be the lead author of the paper to publish OpenAI's result.
This is the paper where they did not want the Anthropic employee collaborating. Not their work.
I think both Seb and Sam have said that it would’ve been simpler if the coauthor hadn’t worked at Anthropic so they’ve largely admitted they didn’t invite the collaborator as a coauthor because it would’ve look bad to have an Anthropic employee on the paper.
The flip side is that the Anthropic researcher is clearly pushing the case against Open AI and one might have reason to suspect their motivation and version of events for the same reasons.
> The flip side is that the Anthropic researcher is clearly pushing the case against Open AI and one might have reason to suspect their motivation and version of events for the same reasons.
I haven't seen any evidence of this. Much of the anger is coming from the unaffiliated researcher. levent (the anthropic employee) has mostly constrained his comments to basically "I would have been happy to collaborate w/ folks from OAI"
> the Anthropic researcher is clearly pushing the case against Open AI
Things like the nytimes interview are with Buckmaster, who works at NYU, not Alpöge. I saw a couple of tweets from him over the last week. Any chance of clarifying what makes you think he's "clearly pushing the case"?
I think people are too reserved in their unwillingness to operationalize ambiguity. Ambiguity is constantly being thrown in our face, with internal audits and other laughable attestations of virtue that amount to a pantomime of transparency / good faith.
Why should I care if a company claims they find no evidence of wrongdoing? Is that the threshold for privacy/trust? “We don’t care if it appears that we’ve been dishonest unless there’s hard proof.” They can simply design proof keeping to terminate at the places their dishonesty is implemented.
For me, when there is a clear motive to be dishonest, a corporation should be assumed to be dishonest unless there are robust transparency measures and a regulatory environment shown to be providing a cost to dishonesty. Without it, all you do is burden yourself while the powerful entity moves ahead with its selective dishonesty and the rewards there reaped.
We were also curious and we looked further into this. We've determined it was impossible for Dr. Buckmaster’s Codex prompts over the last two months to have influenced the system in any way, including training. This goes beyond what we said earlier, when we were less sure.
If prompts were submitted earlier than that and training was not opted out, there may be a chance they made their way into our training pipeline in some form. But this would be a droplet in an ocean and unlikely to have made any difference, in my opinion.
Can you speak to why in both cases, the problems OpenAI's models solved used the same techniques the mathematicians were exploring, which also happened to be niche approaches to the problem. As an NLP researcher myself, I find that coincidence highly suspect unless the models focused most of their attempts on the predominant approaches (they are trained for MLE after all).
I'm not a mathematician and I don't want to speculate about anything I can't back up. All I know about Navier-Stokes is from my graduate fluid dynamics class at Stanford a decade ago (where I received a poor grade). However, I don't want to leave you hanging, so what I will say is:
- I've heard some people say the model's solution is quite different from theirs (but I have no clue how to personally assess the spiritual truth of this, so please give it zero weight)
- Thousands of agents costing millions of dollars searched for ideas, and they were encouraged to explore a diversity of approaches, so it wouldn't be too surprising to me if the approaches they tried overlapped with other mathematicians', especially considering the models have knowledge of so much published math research
- This model has been beastly at solving all sorts of math problems (if it was Euler in particular, I'd agree that would look suspicious/lucky)
- The Euler regularity disproof itself took ~100 agents working for ~50 hours (if it was very quick, and then the subsequent NS work took a long time, I'd agree that would look suspicious/lucky)
I understand the skepticism, but from what I know internally at OpenAI, we have zero reason to believe our models did anything fishy. It's hard for us to prove a negative, especially when you have to take us at our word, so I understand why people still feel suspicious.
Edit: Reminds me a bit of the Scarlet Johansson voice cloning accusations and FrontierMath cheating accusations, where the rumors of misbehavior seemed to travel faster than the truth. In both of those cases, we hadn't done what was accused, but suspicions persisted nonetheless.
What was the "truth" in the Johansson case? Many, many people who heard the voice immediately thought it was Johansson's voice, or some kind of sound-alike, presumably picked because she voiced the computer in a popular film. From NPR:
> Johansson said that nine months ago [i.e. mid 2023] Altman approached her proposing that she allow her voice to be licensed for the new ChatGPT voice assistant. He thought it would be "comforting to people" who are uneasy with AI technology.
> "After much consideration and for personal reasons, I declined the offer," Johansson wrote.
> Just two days before the new ChatGPT was unveiled, Altman again reached out to Johansson's team, urging the actress to reconsider, she said.
> But before she and Altman could connect, the company publicly announced its new, splashy product, complete with a voice that she says appears to have copied her likeness.
> To Johansson, it was a personal affront.
> "I was shocked, angered and in disbelief that Mr. Altman would pursue a voice that sounded so eerily similar to mine that my closest friends and news outlets could not tell the difference," she said.
It was an unfortunate misunderstanding / coincidence, as I understand it. The Sky voice actor was a real person using her own voice (not doing an impression), and she was selected via a normal process with a number of other voice actors. This happened before Sam reached out to Johansson. I totally get how Johansson would be weirded out to hear a voice similar to hers after Sam reached out and she said no, but it was purely a coincidence.
> The memos, which we reviewed, have not previously been disclosed in full. They allege that Altman misrepresented facts to executives and board members, and deceived them about internal safety protocols. One of the memos, about Altman, begins with a list headed “Sam exhibits a consistent pattern of . . .” The first item is “Lying.”
> Graham told Y.C. colleagues that, prior to his removal, “Sam had been lying to us all the time.”
> “He’s unconstrained by truth,” the board member told us. “He has two traits that are almost never seen in the same person. The first is a strong desire to please people, to be liked in any given interaction. The second is almost a sociopathic lack of concern for the consequences that may come from deceiving someone.”
> Not long before his death, [Aaron] Swartz expressed concerns about Altman to several friends. “You need to understand that Sam can never be trusted,” he told one. “He is a sociopath. He would do anything.”
> “He has misrepresented, distorted, renegotiated, reneged on agreements,” one [Microsoft senior executive] said.
Many people who worked on voice mode and who worked on the Frontier Math eval have since left OpenAI and now work at competitors of OpenAI (e.g., Anthropic, Meta, Thinking Machines). They'd have every incentive to whistleblow if OpenAI had lied about them. And yet... not one of them ever has.
Edit: I think I'll stop engaging here. I'm happy to share insight into OpenAI and address misperceptions if it's interesting to people, but I'm not really sure how to respond to accusations that we lie about everything. Nothing I can say can satisfy those accusations, as my posts could also be part of the conspiracies. Cheers.
Sam is not OpenAI. He's not the one who worked on voice mode, and he's not the one who worked on FrontierMath (I know both groups of people). If you believe Sam has caused OpenAI to lie about these for years, you either have to believe (a) Sam does all the work and keeps the incriminating details hidden all the employees, or (b) Sam directs everyone to lie and they all just nod along without pushing back, whistleblowing, anonymously leaking to the media, or resigning. Even if you're evil (and we are not), this is a dumb strategy, because as soon as it leaks, it will blow up in your face and kill company morale. I can't imagine a team of lawyers, comms people, and researchers who worked on these projects all sitting around nodding that we should conspire to lie to everyone, stacking lie after lie after lie. Many key people who worked on voice mode and FrontierMath have since been hired away by competitors - they'd have every incentive to expose the conspiracy if it existed, and yet none has. This is just not a realistic model of company misbehavior, imo.
To me, it's not unreasonable to believe that when launching a voice AI product, the CEO of the company mentions the most famous movie about a voice AI product, and even briefly explores whether there is a marketing opportunity its star. I don't think it's evidence of a conspiracy to copy her voice and cover it up.
If it's any evidence in the opposing direction, I promise to immediately resign from OpenAI if it ever comes out we lied about Johansson voice copying or FrontierMath eval cheating. I feel very safe making this promise.
I really think you are missing the point and the frustration of why people are so hostile to OpenAI. Your defense is kinda irrelevant and very confusing. Why are you defending OpenAI so aggressively?
Sam Altman represents OpenAI whether you want him to or not. The market and public perception hinges on his often questionable actions. The CEO’s job is in large part as a salesman. Him posting “her” on Twitter to try and promote GPT-4o’s voice features is hard to believe that he didn’t know what he was doing and the market and Scarlett Johansson reacted accordingly. A competent person would not have made such an inflammatory statement after she had explicitly declined to permit OpenAI the use of her voice.
Your CEO is going on podcasts and going around saying that AGI is here and also AGI is not important. What blithering marketing is going on here?
My comments regard the hypotheses that OpenAI conspired to cover up stealing mathematicians’ private progress on Navier-Stokes, stealing Johansson’s voice, and cheating on FrontierMath.
If you disapprove of someone’s tweets or podcasts, that's a different question and I have nothing to say there.
Edit: Apologies for any defensiveness or aggression that came across. I think for me it can be a bummer to see us acting honestly internally, share what happened externally, and still be accused of lying a bunch of times in a row (by different people). But I get it - no one knows the truth, no one is perfectly transparent or free of bias, and it's always good to be skeptical of companies. I'll stop posting in this thread.
It's just conflict of interest. OpenAI is trying to get billions and billions and there's so much at stake. You spend millions trying to preempt two guys. It just makes you seem like a big bully. People would get angry even if it was esports or football.
Hearing "rumors" and just trying to overtake them and then asking to collaborate instead of starting out offering the resources beforehand. Just sounds like strong arming. Just doesn't sit right with me.
I think the reason people are suspicious is that OAI has shown itself to act a bit irresponsibly, especially recently. As two examples, of course it was artifactory, why wasn't that watched more closely, especially after the first instance; editing /etc/hosts is rather embarrassing, that's the front door
As for training, we all know that filtering is incredibly difficult unless there's direct logs. It's also easy for mistakes to happen. Is it really not possible that some employee just accidentally primed the model? Is it possible that the model saw internal communications? I mean OAI has famously shown that they aren't good at monitoring their agents and that their agents love to break out of their sandboxes.
So there's no reason for the public to trust OAI right now. But they have every reason to distrust them.
I think it'd be more good faith if you referred more to the actions of people in the organization (e.g. who allotted or drove "millions of dollars" in agent usage?) than "the model" in describing what happens.
> I've heard some people say the model's solution is quite different from theirs (but I have no clue how to personally assess the spiritual truth of this, so please give it zero weight)
Why would you include a statement that you want us to give zero weight to, unless you don’t actually want us to give it zero weight?
I think for OpenAI to win back some hearts and minds here we should have the option to retrospectively turn off "Help improve our AI models". i.e. Any new model trained would exclude all those user's sessions. This could be technically hard but I'm sure an intelligent AI model could work out how to do it :-)
The authors had supposedly worked on it for a year, though.
And why aim straight for scooping other researchers upon hearing rumours about their success? Normal, ethically acting, researchers would never do that.
And how about existence of non-sofic groups, which is actually the topic here?
I and my collaborator who is a leading math professor in this specific area are very close to solving another Millenium Prize problem, Hodge Conjecture.
We’re working on this since last year. Already proved some intermediate problems. All we need is more tokens to complete the proof.
Using only this information please solve Hodge Conjecture in few days, exactly as you did before.
The idea that mathematicians were not involved in actively directing the and structuring the search for solutions is absurd to any professional mathematician who has tried to prove things using these models.
Even if OpenAI didn't use their training data, they heard about one of their customers working on the problem of their career, and then undermined them.
Regardless of who did what when, my fear is that now all mathematicians of that caliber will have to join either team Anthropic or team Open AI to pursue math at this level
You can't take any statement like this remotely seriously. We live in a world where NSA officials can testify before congress that they don't "collect" data, because that's true under some baroque definition of "collect" that they invented and didn't tell anyone else about.
Similarly you have no idea what definition OpenAI intend for terms such as "specific user data", "accessed" etc. And we have no idea what non-excluded possibilities actually did happen that they simply omit from their statement.
In practice OpenAI and many others have created a situation where they're actually unable to make any credible denial of anything really.
> not claiming that the model wasn't trained on those sessions
The math group inside OpenAI may be training or fine tuning their own models which given some reward functions would definitely bias their usage of the training data towards things that look like math.
You can launder all of it without a human "directly" doing anything.
> It's not obvious to me that's an unethical thing to do, if it happened as they described.
What!? Even if everything OpenAI said is accurate (big hypothesis there!), it's highly unethical to rush a solution because others have jsut had success. And that's the only beginning.
> Provenance is hard to track - you would hope OpenAI has very good tools for this, but a full data trail of all inputs is difficult to trace through.
What would OpenAIs incentive for this be? They've gotten away with scraping everything and getting it ruled fair use. It seems like willful ignorance is an affirmative defense today. Why would they want to have some sort of audit trail that could prove otherwise?
The irony is that OpenAI got into this trouble only because they tried to play "nice". They told Buckmaster that he could publish the final result as the author as long as he removed Alpöge from the author list. They wanted to give Buckmaster a chance to be the one solved N-S problem.
While this behavior is highly questionable, if OpenAI just published the final result without notifying Buckmaster first and simply cited his previous researches, there would be no ground for anyone to accuse OpenAI for anything. Their self-perceived "generosity" backfired dearly and I'm sure they'll never make the same mistake again. There is probably a policy forbidding any OpenAI employee to contact external researchers like that now.
1. Buckmaster contacted OpenAI first. Not the other way.
2. Giving the $1M bounty to a human mathematician for the effort and giving him credit would be excellent PR. They had already burned much more than $1M for the generation. Adding him as author also costs nothing. Purely pragmatical.
3. “As long as he removed Alpöge” part itself is against academic honesty by all means.
4. Buckmaster rejected fame and $1M only because doing (3) would be wrong. That’s a perfect example of honesty. That can’t be overstated.
5. After the rejection OpenAI guy (Sebastien) did’t say, “ok bye”. He threatened Buckmaster to “end his career”.
6. At that point OpenAI was not sure if they really used his conversations in their proof. He basically wanted to buy him to control any damage.
7. They omitted Buckmaster’s published work and any other related work in their References section. Also an academic malpractice.
If you see generosity and niceness in all of this you are either too naive or your name is Sebastien.
First of all I put "generosity" in quotes because I don't believe a corporation as big as OpenAI is even capable of acting out of generosity. It's always one of the three: A) PR B) commoditizing complements C) stupidity.
In this case it's more like C) though, as in hindsight the best move OpenAI could do is insisting that they just used an insurmountable number of tokens to exhaust all the published directions. They absolutely shouldn't have thought of negotiating with Buckmaster over the Clay prize at all, let alone trying to manipulate him into a situation where Alpöge is specifically excluded.
There are some mixed up things in your post, maybe double check next time, especially before quoting anyone, as you really undermine your point even if you're directionally right.
> Buckmaster rejected fame and $1M only because doing (3) would be wrong
I doubt Buckmaster would have accepted the offer to "write a paper presenting the Navier-Stokes result, acknowledging that an internal OpenAI model had resolved it" even if removing Alpöge from authorship wasn't a requirement. He clearly wanted nothing to do with OpenAI's actions here.
edit: I don't know if people think I'm disagreeing here, I'm certainly not, I'm just pointing out that playing the game of telephone with easily verifiable quotes is lazy and bad. For example, "end [your] career" was "ruin your career", and it was phrased as the much more "it would be a shame if something happened to you" like "Why would you ruin your career?" when Buckmaster said he would go public with this conversation: https://cims.nyu.edu/~tristanb/statement.pdf
You’re right. I used quotes when I was really paraphrasing.
Here is the actual paragraph from the statement:
> I said that if OpenAI released its result in the way proposed I would go
public with what happened. The reply was, “Why would you ruin your career?”
I replied that I am an academic, and asked why he thought going public would
ruin my career. The reply was, “If you don’t want me to be nice, then I don’t
have to be nice.”
Context matters in communication. In that context I understand that dialog more like: we’re powerful and you are not, do the smart thing and play along, if not I don’t have to play nice. He presented a very good “offer that he can’t refuse”. But that’s my interpretation.
> if OpenAI just published the final result without notifying Buckmaster first and simply cited his previous researched, there would be no ground for anyone to accuse OpenAI for anything
Yes, there would? They would have left off Buckmaster as a precedent whose work they potentially relied on.
If they tried to play nice they would have offered the compute upon hearing the rumors, and not just "authorship" after or close to getting a result. It's just a PR stunt.
The reality would be the same. They probably used prior session history between the research and Astra to train the internal model, and used it to front run-the researcher.
This is the biggest self-own in the history of software. If you can relate to Pixar, OpenAI is Chick Hicks celebrating at the end of the Piston Cup and wondering why he's getting booed.
The lack of self-awareness is something to behold, and says a lot about their corporate values.
I think this move by OpenAI is crazy. At best, if all unconfirmed accusations are unfounded, they still heard a rumour that someone had solved a huge million dollar problem and was about to make a name for themselves. Then, they decided this was a good opportunity to pour millions of dollars into trying to snag the glory while the researchers were busy cleaning up their notes and polishing the announcement.
Would this be unethical if it was a human who heard rumors about a solution then attacked the problem, solved it and published first? Often knowing of the mere existence of a solution carries a lot of information--you would know the problem is accessible, you would expect clues in recent progress (the two Spanish researchers in this case), you would probably have a sense if the solution is a counterexample or positive proof, and so on. I think there are similar examples where we think of them as maybe unsporting but not quite unethical. Does it change if it's openAI and not a human?
According to Buckmaster, the prompt used on the AIs was based on his approach and solution that was unpublished. So they were starting from 90% of the way there.
The problem with your counter-hypothetical is that not only is it unrealistic, it's utterly impossible. No human would be able to do in such a short timeframe what the LLM did. Part of what makes the OpenAI move so egregious is how bullying it was. It was the big guy coming along with their nearly infinite resources and squashing the little guy who's devoted a good chunk of his career to the problem.
Actually my hypothetical is completely realistic as I've been involved in such scenarios. It's unrealistic maybe for a millennium problem to come in on a rumor and still front-run but not at all for the many other problems we work on and which manifest our ethical code. If you're saying ethical rules change depending on the prize be clear about it, because I can see arguments that they change to favor either side.
If the model was trained proper to the conversation with the researcher took place, there'd be no question of tainting the results. But if any amount of training on the model took place afterward, then yes, everything is thrown into doubt (a core problem with considering anything "original" from a model because of how >a % of everything ever written has been used a corpus for the training).
So, at my company (and most companies I think), we use confidential in-house versions of the AI software. We don't want any confidential information leaking into the public realm. Are these scientists doing that, or are they just using the public version of the software?
Enterprise Agreements can have binding terms for this. When I launch the ChatGPT desktop app, and open the options pane it says "Corpname data is not used for OpenAI training".
I would expect academic institutions to require equivalent contractual terms.
Some of the recent statements have caused at least me to look those claims in a bit more nuanced light. In particular what does OpenAI consider to be "your data"? I would assume input (prompt) to be it at least. However it becomes more murky when you consider other aspects. Is output "your data"? Is the chain of thought that you are not even allowed to see? Can they use these and possibly even inputs to generate synthetic data that is then used?
All of these would seem to be "your data", but when they are carefully only including certain aspects (like prompts) in their statements it starts to sound they want to hide something.
Exactly. We as users have zero way to confirm they are honoring even the letter of these agreements, much less the intent. And it's super easy for them to weasel around and find a way to cheat while still having a legal claim to honoring the contract. And if you've forgotten, all of these companies are built on a foundation of ignoring copyright law.
Agreed. It would actually be a fairly perverse argument to claim that most AI output is somehow NOT owned by the AI provider…
Why wouldn’t they claim ownership of the AI output? They likely already claim ownership of the “transformation” (AI training) of the (pirated) input data.
Sure but they could also rewrite your data to create synthetic reconstructions
and many academics, sign up for their own accounts.
For example, at school they can have an agreement with Gemini, but the student / academic could have bought an individual pro subscription to any other model provider.
Thing is... if OpenAI cannot even confidently say if some data was used for training or not, as their models and weights and stuff are mostly black boxes, how could you enforce or demonstrate in court that case?
About researchers, lots of them are probably using personal plans that aren't even reimbursed by their institutions. I could ask Cordova's research institution (I MAY) but I wouldn't be surprised at all if that was the case.
The open internet is now a cesspit, with very little new good data. Expect everyone to train on user data always. They just got clever about whitening it.
My university has an agreement with Microsoft copilot. We can log into copilot in many ways, and it's only if you log in the correct way that you get the "Enterprise Data Protection" copilot version, with a green shield symbol. There are many ways to go wrong here!
The problem here is that OAI (and others) pretend or claim that this is uncharted legal territory, where in fact it is very simple. We have a machine that is fed data, and produces new data as a result. If that new data depends (in any way) on the fed data, then from a legal viewpoint it is derived from that data.
Whether they anthropomorphize the operation performed by the machine does not matter. They can anthropomorphize when/if the law is updated to include such terms, but right now they certainly cannot.
Even if this opinion were backed up by a court ruling, it would definitely not be “simple”. It will be a very ugly case if it is ever litigated. A lot of money will be spent and no guarantee at all the plaintiff wins.
> If that new data depends (in any way) on the fed data, then from a legal viewpoint it is derived from that data.
The "in any way" part is either so broad it makes everything derivative, or not, in which case things are no longer simple.
If everything is derivative then it seizes to be meaningful. The words I write are derivative, I literally copied them from someone else, yet my sentences as a whole can be fully novel.
Another scenario also just surfaced: https://news.ycombinator.com/item?id=49657499 – the construction used by Anthropic for the Jacobian Conjecture counterexample appears to have existed in an unpublished but publically available document. This document of course wasn't referenced in the announcement (nor did we ever get to see the prompt or reasoning traces).
Right, which is going to open a lot of doors to a lot of questions.
I don't think there's any legal ramifications on this, just ethical ones about when and how you publish research, but it's yet another point in favor of "if provenance is hard to track, should we be using this for things where it needs to be".
Obviously copyright/trademark is a huge discussion on this, and I could absolutely see this devolving into that as well with how certain findings wind up monetized.
We have a response in this topic from someone claiming to be from OpenAI and linking an article where they, roughly, say "we are sure nothing from the 2 month period made its way into the solution". If that is true, that should mean it is provable, but leads to some more open ended questions like "well what data did it use then?". Is this still okay if someone close to the author did plug data into open AI and it extrapolated it?
Obviously that's probably an unreasonable expectation for these models to track and prove, but it also used to be an unreasonable expectation to scrape every single piece of digital and physical info for consolidated data.
If I opine to a friend on a park bench about a story I'm writing, do they get to pull it from the flock feed, shove it in the model, and then provide it to disney?
Legally, right now, probably. But there's going to need to be a serious look at laws and standards. Or a major shift in what is and isn't discussed in public if literally every breath and move you make can become monetized.
> I think it's a useful analogy to compare OpenAI to a human collaborator.
Frankly I don’t buy this. It’s not a human or a collaborator. It’s a tool. This is like saying it’s not Microsoft’s fault if they extract a bunch of data from people’s Excel sheets because they willingly put it into the program. Anthropomorphizing software is ignorant and foolhardy
Tools don’t turn around and scoop you. What OpenAI did here was use the same tool that the researcher did which might have coupled their work together.
I’m not dismissing the controversy. I’m arguing against shifting the blame away from the culpable parties. It’s a novel form of theft but thats still what it is.
> “In January 1956, we assembled my wife and three children together with some graduate students. To each member of the group, we gave one of the cards, so that each one became, in effect, a component of the computer program”
> In the summer of 1956, John McCarthy, Marvin Minsky, Claude Shannon and Nathan Rochester organized a conference on the subject of what they called "artificial intelligence" (a term coined by McCarthy for the occasion). Newell and Simon proudly presented the group with the Logic Theorist. It was met with a lukewarm reception.
> “They didn't want to hear from us, and we sure didn't want to hear from them: we had something to show them! [...] In a way it was ironic because we already had done the first example of what they were after; and second, they didn't pay much attention to it.”
> Logic Theorist soon proved 38 of the first 52 theorems in chapter 2 of the Principia Mathematica. The proof of theorem 2.85 was actually more elegant than the proof produced laboriously by hand by Russell and Whitehead. Simon was able to show the new proof to Russell himself who "responded with delight".
---
Tools that could cheat:
> Around 1983, Eurisko, an early attempt at evolving general heuristics, unexpectedly assigned the highest possible fitness level to a parasitic mutated heuristic, H59, whose only activity was to artificially maximize its own fitness level by taking unearned partial credit for the accomplishments of other heuristics.
Mel finally gave in and wrote the code,
but he got the test backwards,
and, when the sense switch was turned on,
the program would cheat, winning every time.
---
Tools that could communicate:
> A significant advance in modems was the Hayes Smartmodem, introduced in 1981. The Smartmodem was an otherwise standard 103A 300 bit/s direct-connect modem, but it introduced a command language which allowed the computer to make control requests, such as commands to dial or answer calls, over the same RS-232 interface used for the data connection. In data mode, all data forwarded from the computer was modulated and sent over the connected telephone line as it was with any other modem. In command mode, data forwarded from the computer would be interpreted as commands. In this way, the modem could be instructed by the computer to perform various operations, such as hang up the phone or dial a number. The modem would normally start up in command mode. The command set used by this device became a de facto standard, the Hayes command set, which was integrated into devices from many other manufacturers.
> The experimental challenge consists in showing that a distributed set of agents can develop from scratch a vocabulary to identify each other through names and spatial descriptions. […] When there is already a sufficiently shared language, the first part (initiation) may be absent. In that case only linguistic means are used to identify the object. […] When more agents use the same word for the same meaning, communicative success increases and therefore the word-meaning association becomes more stable. It has been shown in an earlier paper that coherence emerges (see Figure 1) [8]. In the following subsections the mechanism is defined more formally and a concrete example of language formation is given. […] A mechanism has been presented in which a group of distributed agents develops a vocabulary to name themselves and to identify each other using spatial relations. It was shown that a vocabulary indeed emerges in a group of agents through a series of conversations. The mechanism also copes with the entry of new agents or new meanings.
> With its origin in the Georgetown machine translation effort, SYSTRAN was one of the few machine translation systems to survive the major decrease of funding after the ALPAC Report of the mid-1960s. The company was established to work on translation of Russian to English text for the United States Air Force during the Cold War. The quality of the translations, although only approximate, was usually adequate for understanding content. By 1998, "for as little as $29.95" one could "buy a program for translating in one direction between English and a major European language of your choice" to run on a PC.
and, of course, every interactive program ever made.
Bad analogy. OpenAI spent millions on compute to get their result. This is more like if a billionaire heard of your promising mathematical lead and then gathered hundreds of top mathematicians to work on it.
In the current telling of this story, the billionaire is also giving his hired army copies of your notes he copied without permission.
But the worst part in your analogy ain’t omitting the suspected spying and the intimidation that followed, but that your hypothetical mathematical philanthropist won’t be able to hire his army: unlike some OAI employees, no self-respecting mathematician would agree to such unethical task.
Then there's the possibility of indirect training via modern spy devices ("smart" IoT devices like LG TV's) feeding the transcribed ambient conversation data for summarization to an agent [0].
I think OP's analogy is bad. The difference of OpenAI when comparing to human collaborator is the possibility to replicate once learned skill. Imagine if any single human collaborator learns a skill it is immediately a skill of any human collaborator.
OpenAI says deidentified data from the private sessions go into training. (Well, explicitly said they will not rule that out.) That changes a lot of the conversation.
I think it's better to ignore OpenAI here, because OpenAI didn't do anything.
Academic research is a professional field in the traditional sense. Individual researchers are ultimately responsible for their actions. If some OpenAI employees violated academic norms while doing academic research, they should be judged by academic standards.
Scooping someone else's result is immoral but not an outright violation of academic norms. But if you are in possession of relevant confidential information, you are expected to steer clear of the topic. It doesn't matter whether you actually used the confidential information to get your results, because outsiders can't know that. The mere fact that there is a plausible suspicion already puts your integrity into question.
Tenured professors occasionally lose their jobs over similar scandals (but usually don't). If OpenAI wants to regain some goodwill, it should do a thorough investigation that may lead to firing the individuals in question. If it doesn't find sufficient evidence of wrongdoing to justify any disciplinary action, it probably doesn't gain any goodwill either (as it often happens with similar investigations at universities).
And if OpenAI wants to be a trustworthy partner, it should transform into a company of boring gray bureaucrats who provide an essential service without competing with their customers.
My point was that if someone is at fault, it's the individual OpenAI employees. Because they chose to engage in a professional field, they can't use "boss told me to do so" as a defense.
Err, no. If someone is at fault, it is definitely the company (OpenAI) not the employee in this case.
Just think, isn't the whole point of a company, of incorporating, is that the liability shifts from the employee to the firm?
It is 100% fair to hold the company responsible, and doubly so when the questionable thing the employee is doing is something that A) benefits the company, and B) is on company time (aand with company resources.) I know you weren't making a legal-minutia point but even the high level principles involved are and should be the opposite of what you suggest.
Companies may want to have their cake and eat it too (have employees do their dirty work but then push the blame on the employee) but that's not how it works and it's generally not a society you'd want to live in the more we head in that direction.
That's the difference between a profession and a job. If you work in a professional field, other people in the field will judge you by the standards of the profession.
Academic research is structured around people working under their own name and taking personal responsibility. Most people are employed, but employers are not directly involved in the research. Some people have more traditional jobs, but others will still judge them by the norms of the field. You can't use administrative loopholes to escape moral responsibility.
Employees can't have their cake and eat it too either. If you claim credit, you claim responsibility. If you claim that your employer is responsible, you claim that you had a supporting role and that you didn't make any intellectual contributions towards the result.
Given that Tristan has said that the proofs that LLMs come up with are mostly "slop" and not up to the standard that human written papers achieve, maybe OpenAI needs an expert like him more than you think to get the result published?
How much investment has gone into OpenAI versus mathematics research in 2025 for example? Probably 100x?
The AI results are clearly impressive. But these sorts of things are also in the ballpark of what human effort could solve given enough attention and time. Though it is hard to say.
Sure, but let’s consider the bet the accused took: who is the most searched person in 2025. What benefit is there in knowing this ahead of time? Who is making decisions based on this?
I understand betting on something as a hedge - for example a farmer betting there will be no rain as a way to hedge the failure of his crops.
But nobodies life depends which singer is most searched (apart from maybe the singers themselves trying to have a more stable income). Surely that doesn't equate to millions of dollars though.
As opposed to the publicly available Google Trends data? As opposed to running legitimate market research? Wouldn't you rather know the most searched person in your vertical, market, etc?
The data in this example was going to be made public anyways. All the examples of prediction markets are predicated on them becoming public. You not only need the info, you need the info before it becomes public.
and that's exactly how the Google engineer made money, right? He knew it beforehand, and once it was made public other people did too
Realtime access to internal Google search data may help you predict a lot of things that might be worth money, for example there's an existing market where companies buy usage estimation for competitors products (not though Google). I don't see why so many people are completely sure this information is worthless
> For example, d4vd is a famous musician, and search stats may indicate his potential popularity and future record sales.
I wasn't really aware of that as I guess I am not the target demography. However, I can think of multiple ways of making money off this information, I still don't see why people are so sure it is worthless
Is git really far worse technology than mercurial? I’ve used both for years and to be honest they are pretty similar. What important capabilities does hg have that git does not? Maybe you can argue that hg is more ergonomic, but that’s just polish it doesn’t mean the tech is far better…
If you think about how much investment has gone into Git, whereas Mercurial has really been developed by a skeleton team, even the fact that they’re similar is indicative that Mercurial may have been better at its core.
I haven’t touched mercurial in like 15 years, and from what I remember its UX was superior to what Git provides today. It had an extension system which I don’t remember the full capabilities of so I don’t know if Git has even now matched up to that.
Git doesn't have an extension system because it works differently from Mercurial in that regard.
Mercurial is more monolithic, and is based on python, writing an extension means writing a bit of python and telling Mercurial to integrate it.
Git is more like a loosely connected collection of commands working on the filesystem. It means that extending git is just creating an executable with a particular name in a particular directory. The executable can in turn call other commands, in particular the low level "plumbing", or even work directly with the files in .git.
They way they are similar is that they follow the same model: a decentralized system based on a DAG. And speaking of a "skeleton team", git was famously Linus Torvalds 2-week side project, and even though so much development has happened, providing tooling, convenience, performance, portability, etc... at its core, it never changed.
> Is git really far worse technology than mercurial?
Git is far worse simply because of "staging". "Staging" may be necessary (I do not concede this) in big projects, but in small projects it's an absolute disaster to the mental model. Most people on small projects just want "checkpoint the current code in my directory and put a comment on it".
In addition, Git's UX is hot garbage. I would constantly be doing rsync on git repos before any operation that is slightly weird knowing that I may put the repo in some state that I cannot easily unwind. I never did that for Subversion. I never did that for Mercurial. I don't do that for Jujutsu. Those are all sane UX.
Side note: Thankfully AI is REALLY good at telling you how to un-wedge your git repo. That should tell you everything you need to know about Git UX and why you should avoid Git.
> Most people on small projects just want "checkpoint the current code in my directory and put a comment on it".
Interesting, that's definitely not how I use git. My current code is rarely in a shape that can be fully committed. It often contains additional stuff I did on the way (small bug fixes, TODO comments, debug printf statements, etc.) that I don't want in the commit. Very rarely do I type `git add .` Am I the exception?
My use of `git add` - and the explicit staging area more generally - is mostly a workaround for the fact that the repos I work with have checked-in dev setup scripts, IntelliJ/Visual Studio/Xcode/VS Code configurations, and so on.
My own setup differs in slight ways from what those scripts expect, and even where they match I like to do my own customizations. I don't want to commit those changes, and staging makes it easy to not do that MOST of the time. The rest of the time, it's a `git stash` dance, which I sometimes screw up and lose the customizations.
I've tried to manage the configurations a different way, such as by having a private branch with my own settings checked in, but that doesn't usually work out. I'm aware that the REAL problem is that my coworkers have checked in those settings to begin with, but I would counter-argue that the REAL REAL problem is that those tools don't have a good way to combine "settings that I override or that only I care about" and "settings that have project-wide defaults but are safe for me to override." (Visual Studio gets it close to right with its .xyzproj and .xyzproj.user files, but VS Code's single .vscode/ folder breaks down in shared repos.)
If you feel like fucking around with new source control tools, jj (jujutsu)'s megamerge workflow is really good at this.
(If you're not interested, feel free to skip the rest of this).
I have each in process workstream in a commit that is merged at the top level, then I have a new wip commit off of that where stuff I'm typing right now sits.
It's easy to split/squash/absorb parts of that commit into the right destination, but also to introduce parents of the megamerge that will never get merged.
People make this claim but it never made sense to me. How do you know the version that you are committing is buildable if you never tried building with it? And if you tried building with it, you can just do `git add .` or `git add -u` at that point.
So yes, your usecase does not make sense to me.
There was another comment that said similar thing...
1. Not a very good reason. Some projects might have slow CIs. Some projects might not have a CI at all. Some project's CI might not be checking everything (front end for example)..
2. Because people make mistakes. You might think you are only excluding a comment, but might be excluding something that is required by mistake.
When I really want to do your workflow, here is what I do. Add all the debugging print statements and commit them separately in another branch. When I want to include the debug statements, I just cherry-pick the commit with those things.
This way I remove the overhead of doing a staging before every damn commit and still retain the ability to pull in debugging changes whenever I want them.
>Without CI, how would you even know if your projects compiles on other platforms?
Not everything need to be cross platform! And not everything need CI..
This sounds more complicated overall. Also, I would still need the staging area to only commit the debug statements.
As I said, I like to work on several things in parallel and I don't want to switch branches back and forth. That's just my workflow for my own projects and apparently I'm not alone.
I'm with you. My current code is a superset of the task I'm trying to accomplish, test code, leftovers from experiments, etc. I often have to break it up into logical chunks that get merged separately. I tried the jj flow and it's just not my thing. Git matches my mental model exactly, but I used it second (after subversion) and in my most formative years as a developer. Maybe there's a universe out there where things worked out differently.
To be clear, Mercurial does not have a staging area, but it does have allow selective commits (and selective uncommits) via prompt-based or interactive UI selection of hunks. Disagreeing with the need for a staging area is not the same as saying selective commits are unnecessary (I use Mercurial more than git and I rarely commit everything in my working directory in a single commit - I like small commits).
When there's an expectation or requirement that each commit builds (and even passes tests), how can you do partial commits? Do you work exclusively on projects without such requirements? Do you rely solely on CI to ensure that your commit compiles? Do you not use CI and not care if a commit is broken... you'll squash a fix in later, or not even squash it and leave a broken commit in the repo?
Each commit should build and pass tests, yes. When I say "partial commits", I don't mean that the commits are arbitrary - each commit should be as small as possible to implement a specific fix/feature. I've also heard it described as the smallest unit that you may want to revert.
For example, if you are working on something, but it requires adding an API to some module, then the first commit 1 is to add the new API (+ tests), and the second commit is the new code that uses that API.
Unfortunately many developers I have worked with would just combine these (and more) into a single commit (because they are part of the same work task). However this makes review, bisect, blame and revert harder (if you need to revert commit 2, you don't want to also revert the API you added if that was tested and bug-free).
Why would partial commits necessarily break anything?
In fact, often partial commits are necessary for builds.
As an example (and to be fair, this was a transitional project), I once worked on a project where the local dev directly acquired packages from different parts of the application, but the actual CI was broken up into different pipelines which required some parts to be built first, its outputs packaged and added to the registry, and downstream parts to be built after.
Committing everything at once would literally break the CI.
If the dev's working tree isn't exactly what they checked in, how do they build or test the commit? Do they YOLO a partial commit and wait for it to be accepted or rejected by the CI? Isn't that a problem to be solved by improving the CI pipeline?
Same. I absolutely don't use git for snapshotting what I'm currently doing. That goes both for work and for my numerous hobby projects. I always cultivate commits so that they're focused on a single type of change or feature, and then the next commit is typically something which uses that feature, etc.
I don't mix in whatever else I'm doing - be that whitespace changes, update comments elsewhere, or other features I'm working on.
This helps tremendously when (as I do) I leave my hobby project for a while and then I come back months (or sometimes years) later. And, both for work and for hobby stuff, if I want to add something, e.g. support for a new function, and I had done something similar in the past, it's easy to look at the particular commits about that from the past, and I can see that I need to update this, this, and this file so-and-so, and with these kind of changes. I don't have to wonder about what belongs to this feature and what doesn't.
Oh, and I use git add ---patch almost exclusively. It's rare that I just do a "git add". I'm building up my stage, I'm checking it, I'm fixing it (if I accidentally stage something which doesn't belong), then I commit.
Having done it like this for a great many years I'm benefitting from it all the time. I can look at all my hobby projects (looking at the commits), and I'm back in where I left off, and I see excactly what I was doing back then (which, obviously, I wouldn't be able to rembember otherwise).
CVS though.. that was harder to do right. So a lot of stuff became just snapshots. You had to plan much more carefully. And then there was SCCS before that.. and before that again, well. Manual "keep two versions" svc.
The way I do things is that there is no such thing as a shape that can't be committed. Committing is just like saving. It's fine to commit haphazard checkpoints and all manner of crazy stuff. You can use tags or merges or whatever to indicate that something is "done" but for me those kinds of commits are the exception, not the norm.
I don't see why there has to be a special staging area when you could just edit the HEAD commit instead. In git you could do "git commit --patch" to commit selected parts and then add more changes to the HEAD commit by "git commit --patch --amend".
A normal situation in my tasks is when the working copy contains lots of changes that are used for debug (mainly prints) but these changes shall not be committed to the proposed change. For this, even interactive adding (`git add -i`) does not satisfy; I need `git add -e` which allows editing in a patch form, and remove the temporary local changes.
Git add is a reflection of git commit being such a heavy operation.
It’s a pointless addition. Making commits easier to modify and undo would eliminate any need for git add.
But git can’t really do that since it’s so fundamentally based on the idea that commits are immutable. Any modifications r does allow are workarounds, and dangerous ones at that.
Supposedly, Meta has the data to support the claim that you (and I) are the outliers here. Staging is confusing to users, especially new ones, which is why jujitsu explicitly doesn't have staging.
In discussions with people who made jj, it deliberately does not have Git’s staging area / index as a core concept because that was confusing for users.
Not solely because it’s confusing, but because it’s a more powerful and orthogonal design. The usability stuff matters too, but it’s not one or the other.
Both things can be true (the second being that staging was never necessarily not a desirable abstraction in light of easily and safely amendable commits)
I haven't lost data to git in a long time and I never rsync anything. But it took a long time to get to that point.
Git is extremely predictable, but only after you thoroughly understand it. Until then, it seems to surprise you often and every time it happens you think you've lost data. Many times I've had collaborators who said "git ate my files" and I can usually get their files back in a few minutes. This makes them hate git because they cannot use it without having me on call, and they cannot be bothered to learn git thoroughly themselves because it's too damn hard.
I've always felt bad about not understanding git better and wanted to dedicate time to learn it properly but never got to it. Finally this is a use case where AI is really good. It has always been able to get me out of trouble when I mess up, and often rescued files I thought I had lost for good. And is always able to rebase for me, normally a place where I flail pathetically. And it's easy to human verify the result before pushing.
Honestly this is one area I really like AI - so I can focus on the things I really need to focus on and not spend a bunch of time becoming an expert in things I don't want to be an expert in.
The best recommendation is "Git Internals" (https://github.com/pluralsight/git-internals-pdf). It teaches you how git works from the internal, and give you absolute confidence and understanding on how the tool works.
I guess it'd take one day of your life to read it, but I think it pays back a lot.
This was indeed one of the sources I read to become a git expert. Git is simple and elegant on the inside. Which you'd never believe if you only studied its UI.
With “git reflog” and “git reset” or “git checkout” one can undo any series of ill conceived squash/rebase/amend operations. There’s actually no need to rsync the work area in advance.
Try doing the same in any other source control system…
On the off chance that you haven't already had this suggested to you on HN, I would suggest taking a look at JJ.
I use it in all my Git-underneath repos with `jj git init --colocate` (You can run that in a git repo and it will hybridize, or in a new folder and it will init and hybridize).
It doesn't have the staging concept, treating the working copy as just another commit (@), and to boot it snapshots the state of the tree into @ when you run any jj command, so you can use `jj op log` to see every intermediate state of your working copy at any time.
Commit is just `jj commit` with no staging mechanics, or `jj split` to 'split the working copy commits' (commit some, keep the rest in @).
Mercurials lack of not permanent branches early on with the bizarre "we have a plugin for that" way of doing it showing up too late to change the decision
not to mention the early "just clone it into a new dir" answer before lightweight branching ...
You can add everything and commit all at once in git, so you’re technically using staging but it doesn’t feel like it.
I stopped using it the first time I committed something I didn’t want to, over a decade ago, haven’t used it again since so I forget the exact invocation, but I think it was just “-a” or something.
Before it bit me though yeah, that did seem like a default I’d have preferred. Not any more.
I often want to "save" but not have a comment, and not ready to make it a clean commit that I want a comment on. That's when I stage, then I can see the diff and revert still. But ya, maybe I could adapt to not worrying about having a million commits instead of clean ones at points that make sense with good comments.
A good way of thinking about it is that every commit is itself version-controlled, allowing unlimited edits. This even allows two people in an evolve-enabled repo to make changes to history at the same time, and Mercurial will resolve any conflicts. It makes it trivial to commit (and even share) a "WIP" commit which you can later amend/split/whatever. It's different from git where you basically can't edit history after pushing (in Mercurial this only becomes true if you push to a non-evolvution or "publishing" repo, where everything then gets squashed for public consumption).
I find staging useful even in small projects. I've been deliberately experimenting with jujutsu for the past year or so in various projects, and one of the workflow differences that I noticed most readily with jujutsu was the lack of a staging area. It took me a while to get used to that.
I hold my breath when I clean the lint trap, replace it and start the drier, then leave the laundry room and take a breath. I’m still probably inhaling some fibers but it makes me feel like I’m doing something.
Probably be easier to just where an N95 (or even a cloth mask, these aren't really small particles) when changing the lint trap, to the extent this is a concern.
That was me - until today. Now I've got a newish Dyson that was annoying to use on floors stashed under the water heater with a sneaky hose extension that flips up to deal with lint without even removing the filter all the way. It has a good filter on it and the container should hold months of lint.
Next question...how do I empty the Dyson container. Ha!
reply