That's one of several reasons why I'm trying not to rely too much on LLMs. The prospect of only being able to code with a working internet connection and a subscription to some megacorp service is not particularly appealing to me.
Local/open LLMs are a thing though. You can build a server for hosting decent sized (100-200B) models at home for a few k$. They may not be Opus-level, but hopefully we can get something matching current SOTA, but that we can run locally, before the megacorps get too greedy.
Alternatively you could find some other people to share the HW cost and run some larger models (like Kimi-K2.5 at 1.1T params).
> You can build a server for hosting decent sized (100-200B) models at home for a few k$.
That's definitely not an option for me :-D
True open LLMs could be a viable solution in the future, but only if they can be operated and sustained on a community basis. I have too little insights into the actual costs of running such models to judge whether this would be feasible. Then there is always the problem of how to deal with bad actors. This is all but trivial.
At the moment, I'd rather spend time working on sharpening my actual programming and thinking skills :) I actually enjoy the act of programming and see it as part of my creative expression. Fortunately, I don't code for a living (at least not directly), so nobody can tell me how to write my software.
What's kind of unique about the US is the way poor or middle-class people idolize the rich. As the saying goes, everyone feels like a temporarily embarrassed millionaires.
My parents told me story about their trip to the US. They went on a boat tour in Miami and when the boat passed the homes of some rich people, the tour guide proudly announced the price of each building. The US tourists on the bus applauded! My parents were shocked.
It's not everyone who is like that here--just certain classes. (For certain definitions of "class.") I laugh in derision at such people and stay as far away from them as possible. The rich people I respect are owners of respectable businesses that they built themselves or competently manage, who live in modest homes out in the boondocks--not the idle rich and bankster puppets with their big prominent homes that they want people to see and admire.
Likewise, the masses of desperately poor people trying to pretend that they are rich are just as despicable. Picture a Cadillac Escalade parked in front of a dilapidated old trailer, or a giant oversized home in an exclusive neighborhood with a garage full of high end cars and other toys, all "paid for" with $1M in debt, $100k on credit cards, and little to no actual equity or net worth. These types are everywhere nowadays, sadly. The coming market crash will wipe many of them out, however. We're in the beginning of that now.
You can definitely copyright code. I think the English term "copyright" is a bit misleading. In German it is "Urheberrecht" (= author's right), which I think is much clearer.
If you author something, you have the sole copyright. In fact, in Germany you can't even waive your copyright away. However, you can grant licenses for the use of your work.
The difference between copyright and licenses is crucial! By licensing your work, you do not waive your copyright. You still remain the owner. If you publish your code under the GPL and you are the sole author, you can always relicense your code or issue commercial licenses under different terms.
> In general, it is kind of weird to want to copyright code. How do you patent a for-loop for example
There is a fundamental difference between copyright and patents! Patents require a novel technical contribution and they must be granted by a patent office.
IIUC, a person can only claim copyright if they have significantly transformed the output. Unaltered LLM output is not copyrightable per US court decisions.
The whole thing is a legal mess. How do you know the LLM did not reproduce existing code? There is an ongoing legal battle in German between GEMA and OpenAI because ChatGPT reproduced parts of existing song lyrics. A court in Munich has found that this violates German copyright law.
I think you're misunderstanding copyright and ownership.
A copyright over code means that ONLY you can use that code, and nobody else; otherwise, you can sue them. For example, if you are an arist, you want to protect your IP this way.
Yes, AI generated code is not copyrightable but so is most code in general. It is very hard to truly get a copyright for a piece of code. But just because you don't have copyright to something doesn't mean it's not your property.
For example, you can buy several movies on DVD and those DVDs will still be your property even though you don't have copyright and if someone does steal those DVDs, it will be considered theft of your property. Similarly, just because the code is AI-generated/not copyrightable, doesn't mean others can just steal it.
Think about it - so many codebases are not legally protected as copyrighted material but are absolutely protected by IP laws and enforced by the companies that own them.
I think you are fundamentally misunderstanding the concepts of copyright and licensing.
> but so is most code in general.
That's definitely not true. All the code I write has my copyright, unless I waive that right to some other entity. If there was no copyright, there would no licensing. How else could you license your code, if you were not the copyright holder?
Have you never seen "Copyright (c) <Authors> 2025" in source code files?
The very fact that your code has your copyright is also the reason for things like CLAs.
> For example, you can buy several movies on DVD and those DVDs will still be your property even though you don't have copyright
That's because artistic works are distributed under a license. Just like software. Licenses have terms under which circumstances a work can be used, modified and (re)distributed. In the case of DVDs, you are generally not allowed to make your own copies and then sell them. In the case of software, that's why you have the various software licenses (proprietory or open-source).
> Similarly, just because the code is AI-generated/not copyrightable, doesn't mean others can just steal it.
You can't set licensing terms for something that is not copyrightable.
Huh? Normal property law is plainly not applicable to a non-rival good like information (unlike for instance a physical DVD: if someone takes a DVD from me, I don’t have it anymore). “Intellectual property” is, but it is not so much a legal regime as confusing shorthand for a number of distinct ones:
- Trademark law, which applies to markings on copies rather than copies themselves;
- Trade secret law, which stops applying when the information escapes into the wild through the secret-holder’s own actions;
- Patent law, which definitionally only applies to public knowledge as an incentive to not keep it secret instead;
- Publicity rights, which only apply to depictions or discussions of natural persons;
- Moral rights, which are mostly about being recognized as the author and even in their strongest incarnations do not restrict unmodified copies;
- Database right, which isn’t applicable as we’re not talking about a compendium of things, and anyway does not exist in the US and most other places outside the EU;
- Copyright, which you’ve conceded is not applicable here.
There’s no “intellectual property” distinct from these things, and none of them are relevant.
With Word autocomplete you're still actively writing your text. Wouldn't it be more fair to compare this with autocompletion in IDEs?
IANAL so I appreciate any legal experts to correct me here. In my understanding, there have been court decisions that LLM output itself is not copyrightable. You can only claim authorship (and therefore copyright) if you have significantly transformed the output.
If you are truely vibing coding to the point where you don't even look at the generated code, how exactly are you transforming the LLM output?
Also, what if the LLM reproduces existing copyrighted code? There has been a court decision last year in Germany that says that OpenAI violates German copyright law because ChatGPT may recreate existing song lyrics (that are licensed by GEMA) or create very similar variations.
Note that this benchmark does not include boost::unordered_flat_map. This is an open addressing variant of boost::unordered_map which has only been released in December 2022.
I wanted to mention this because boost::unordered_flat_map and boost::unordered_flat_set are among the fastest open addressing hash containers in C++ land. Internally, they use lots of cool SIMD tricks. If anyone is interested in the details, here's a nice blog post by the developer: https://bannalia.blogspot.com/2022/11/inside-boostunorderedf...
Pre- and postconditions are actually part of the function signature, i.e. they are visible to the caller. For example, static analyzers could detect contract violations just by looking at the callsite, without needing access to the actual function implementation. The pre- and postconditions can also be shown in IDE tooltips. You can't do this with your own contracts implementation.
Finally, it certainly helps to have a standardized mechanisms instead of everyone rolling their own, especially with multiple libraries.
In terms of contract in a function, you might be passing the pointer to the function so that the function can write to the provided pointer address. Input/output isn't specifying calling convention (there's fastcall for that) - it is specifying the intent of the function. Otherwise every single parameter to a function would be an input because the function takes it and uses it...
I worked on a massive codebase where we used Microsoft SAL to annotate all parameters to specify intent. The compiler could throw errors based on these annotations to indicate misuse.
A nitpick to your nitpick: they said "memory location". And yes, a pointer always points to a memory location. Notwithstanding that each particular region of memory locations could be mapped either to real physical memory or any other assortment of hardware.
I don't agree. Null is an artefact of the type system and the type system evaporates at runtime. Even C's NULL macro just expands to zero which is defined in the type system as the null pointer.
Address zero exists in the CPU, but that's not the null pointer, that's an embarrassment if you happen to need to talk about address zero in a language where that has the same spelling as a null pointer because you can't say what you meant.
Null doesn't expand to zero on some weird systems. tese days zero is special on most hardware so having zero and nullptr be the same is importnt - even though on some of them zero is also legal.
Historically C's null pointer literal, provided as the pre-processor constant NULL, is the integer literal 0 (optionally cast to a void pointer in newer standards) even though the hardware representation may not be the zero address.
It's OK that you didn't know this if you mostly write C++ and somewhat OK that you didn't know this even if you mostly write C but stick to pre-defined stuff like that NULL constant, if you write important tools in or for C this was a pretty important gap in your understanding.
In C23 the committee gave C the C++ nullptr constant, and the associated nullptr_t type, and basically rewrote history to make this entire mess, in reality the fault of C++ now "because it's for compatibility with C". This is a pretty routine outcome, you can see that WG14 members who are sick of this tend to just walk away from the committee because fighting it is largely futile and they could just retire and write in C89 or even K&R C without thinking about Bjarne at all.
reply