Oh no. The horror. How terrible.
HN user
eschaton
It’s incredible to me the lengths these people will go to just to avoid using the standard tools.
Because it would cost Apple a substantial amount of money to make it possible to build your code for iOS on other platforms in any sort of supported fashion. So all the stuff they invest very substantial amounts of money into creating and maintaining are only going to be licensed for use on the hardware they sell under the latest operating system it runs. Asking for more is asking them to spend more money without any evidence of a commensurate return.
If you can produce a properly structured submission to the App Store ingestion pipeline without using a Mac, then I doubt Apple will care. But that doesn’t mean they’re obligated to help you, and especially not to spend millions of dollars to do so.
It’s not really that onerous for a platform to require that, to develop for it, you need to actually take part in it. For Apple platforms that means becoming a Mac user. For IBM i and z that also means getting substantial hardware or paying for accounts and licenses (once you want to go beyond learning).
You can develop for Linux and BSD and Haiku and all sorts of other platforms for free. If the cost is what matters to you, then just do that. If you’re doing it as a business, though, consider that you’re extremely lucky to be able to just buy a low-end device and a low-end system and that’s all the capital investment needed (plus the US$100/year membership as recurring opex).
Xcode’s a lot more than a wrapper for UNIX utilities. For example, it has an entire build system. It doesn’t just invoke xcodebuild under the hood—and even if it did, xcodebuild uses the exact same code to build your projects as the IDE.
Most of the problems that I saw people have with Xcode over the two decades that I worked on it were the result of one fundamental problem: They wanted to work a different way than Xcode is designed to work, and jumped through a ton of hoops to do so, and then blamed Xcode for not accommodating their intentional working at cross-purposes.
A good example: An app that considered itself “large” because it had a thousand tiny static library targets each with only one to three or so ObjC classes. Far smaller than Xcode itself, but because they insisted on working that way—for no real articulable benefit besides “that’s how we want to work”—their project took hours to build from scratch instead of minutes like much larger projects that have many fewer targets.
Sounds almost like allowing web pages to run scripts was a mistake.
What you’re calling a “high horse” is having morals and ethics. Your employer said not to do what you’re doing, so you either convince them to change their mind without doing something they explicitly said they don’t want you to do, or you go elsewhere. If you take the route of being a filthy fucking liar you aren’t in a position to accuse anyone of being on a high horse.
Why can’t upstream just take their drivers? Isn’t that the point of requiring those drivers to be GPL?
You literally said as much, and I am not calling you names, I am accurately describing your behavior in a way you yourself appear to recognize:
So yes, call me sociopath if you like, but I will lie, produce better software and get the praises if I have to work in an environment that values tools and methods over results.
You specifically said you would lie about how you work to get accolades if your employer attempted to set rules against working the way you prefer.
The appropriate reaction to your employer setting rules you don’t agree with is to try to convince them to change those rules, engage in a labor action alongside your coworkers to force them to change those rules, or to leave.
You should have been fired for cause, because the way you chose to work exposed your employer to substantial liability due to the “copyright laundering” nature of LLMs. But you prioritized feeling good over everything else. You’re a sociopath and you should be treated as one—a bad-faith actor only out for themselves, who cannot be trusted to collaborate within agreed-upon limits because you don’t think rules apply to you.
You block them from using AI by making sure they know your project doesn’t want contributions from people using AI. Either they’re a decent human being and they’ll comply with the project’s wishes, or they’re a sociopath who will violate the explicit request of the project and lie about the origin of their contribution and hopefully slip up and get caught doing so.
How do they enforce that contributions aren’t copied and pasted from AGPLv3 or proprietary codebases? The honor system and intuition and occasionally flat out asking people.
Do you think sociopaths willing to lie about how they came up with a contribution are really that common?
A lot of people will disagree with you on that.
A lot of people might also have coherent reasons to think that analogy applies equally to the US House of Representatives and the US Senate.
I’m not even disagreeing, I’m saying that there are different (and somewhat opposed) ways in which someone could find an image offensive, so it’s worthwhile to provide further context.
Would you treat an image of the US House of Representatives the same way? The United States has caused an enormous amount of suffering in the world and has in the past had an explicit policy of genocide and oppression against a number of groups (including my wife’s ancestors), as well as a number of other horrific policies. If you would not treat an image of the US House of Representatives the same way as you treat an image of the Supreme Soviet, it’s worthwhile to interrogate why.
Peoples’ feelings about the nations they are born into and told to love from birth are complex and multifaceted. The people I know who grew up in the USSR have both good and bad things to say about it, just like the people I know who grew up in the USA (like me) at the same time (the 1970s-1990s) have both good and bad things to say about it. And that isn’t just about our own experiences growing up in these respective nations, but about learning our birth nations’ true histories, and how closely (or not) the ideals espoused by their founders and politicians and important figures in their histories were reflected in their actions.
Thus I really, truly do believe it’s ambiguous for someone to say, without any further context, that they find an image of a legislature with some screen shots of an IDE placed into it offensive. Is it offensive because it’s referencing a body they consider evil or is it offensive because it’s trivializing a body they consider good? Without context it’s impossible to know, and acting like everyone shares the same context about this is just refusal to engage with the world as it is rather than the world as you’d like it to be.
Nope. I just evidently know people with more varied opinions on the USSR than you do. (Including people who grew up there.)
Sure. But there are also a significant number of people who are nostalgic for it and might be offended by this use for that reason, hence why I asked.
Given the existence of both groups I think just the claim that it’s offensive, without explaining why, is ambiguous and just reacting defensively doesn’t address that.
How about you just explain what you mean?
You’re the one who made the statement. It’s on you to support it.
Extremely poor taste.
How so?
No, you are wrong. You are either willfully misunderstanding what I’m calling fraud, or you are misinformed as to what “material gain” means in many legal systems.
With respect to the former, “fraud” is a shorthand for “fraudulent misrepresentation,” which is what you’re doing when you take someone else’s IP and try to contribute it to a project without securing the right to do so. It can be read as implicit in the attempt to contribute to the project that you have secured this permission (or do not need to, because the work is original to you). Whether the code came out of an LLM or was copied from another project or Stack Overflow doesn’t matter, it’s that you’re misrepresenting the rights you have that’s the fraudulent part.
For the latter, I specifically pointed out that the gain from fraudulent misrepresentation need not be monetary. The gain can be reputational or any other sort of benefit. For example, someone pretending to a fictional person to gain access to a space they otherwise wouldn’t is still committing fraud.
Finally, you’re wrong about whether the output of an LLM infringes copyright of material in its training set. Just running a copyrighted work through an LLM does not remove the copyright on that work if reproduced by the LLM.
So it’s OK to just paste other people’s IP into a change you’re submitting to a project without caring about the license or originator?
The fraud isn’t (directly) in hiding that the LLM generated some code. The fraud is in the (implicit) misrepresentation of ownership of and/or rights to the code.
When you send a patch or pull request to a project, you’re saying (implicitly) that you have the necessary rights to contribute the intellectual property it contains. If you used an LLM to “generate” some of it, that is not necessarily the case.
A similar situation would occur if you agreed to pay someone else to create a patch, and then submitted it under your own name without paying them. Because it’s a work for hire, it’s not yours until they’re paid for it, so you’re fraudulently misrepresenting your rights to that patch to the project. If you did pay the creator, you don’t have to attribute them unless it’s in the contract between you and the creator, or unless the project requires such attribution.
No, the functions weren’t trivial, and a lot of the surrounding code and structure bore substantial similarities as well. If you saw the two files next to each other, you’d assume it was the result of a copy-paste-adjust process if you didn’t know an LLM was involved.
I found exact matches. I also found inexact matches, where C functions had been turned into C++ member functions and the like. “Recognized” does not somehow imply a lack of precision.
The LLM the person used was trained on a very large corpus of Open Source code, and reproduced that code exactly. Just like LLMs have reproduced chapters of books and articles from the New York Times exactly.
What cases can you cite that have determined it’s not?
It’s clear on its face that LLMs can and do store and reproduce copyrighted works; using a form of (somewhat) lossy data compression. And using a lossy stochastic or perceptual form of compression to reproduce a copyrighted work doesn’t somehow make it not storage or reproduction, otherwise sharing MP3 files wouldn’t be copyright infringement.
Anyone engaging in responsible risk management should assume that anything LLM-generated is infringing until determined otherwise by the courts, not the other way around.
Yes, in fact, this is why people who do that are looked down upon.
They are in fact committing fraud if they do not attribute the code in their commit properly, because by committing it they’re claiming to have rights by virtue of authorship that they do not have. (Namely, the right to contribute that code to the project,.) They may also be committing copyright infringement, depending on the copyright and license status of some code they found via Google or Stack Overflow.
It’s always fascinating to me to see how many people on Hacker News have such extremely poor understanding of how intellectual property actually works, and how misrepresenting themselves or their work can actually have consequences.
Intent and custom both matter quite a bit in law. It is customary to treat the name attached to a commit as the copyright holder of any changes represented by that commit, just as it was for the sender of an email containing a patch back when that was how such work was done.
Often this is also spelled out in a project’s contribution guidelines, and some projects have even had more explicit copyright assignment policies they required contributors to agree to, but the lack of such guidelines or assignment policies does not mean the custom as normally observed in the field is irrelevant.
Or you’re misinformed about what my old employer is actually doing, or how they’re doing it.
Not irrelevant. A large number of people who would not copy and paste code from one project to the another will attempt to contribute the copyright-infringing output of an LLM and not think twice.
The Fortune 10 company that I spent decades at and retired from just a couple years ago noticed this issue immediately and issued a blanket ban on the use of these tools for the company’s own code that to my knowledge has not been rescinded. (They also started developing their own coding-specific LLM, training solely on code they owned, around the same time.)
You might consider that there is a very large incentive by the large and public players in this market to promote the idea that this is not true, that they consider themselves large and powerful enough to actually flout the law, and that they plan to use the argument that enforcement will be too damaging to the economy to make their view the “new normal.”
This playbook has been run before, by Uber and Lyft, by AirBnB, by Tesla with “FSD,” and so on. It’s very clearly the approach being taken.