3 ms·
I would have thought that in the vast majority of current AI-generated code we are talking about single blocks and functions that are just Intellisense on stero
by mellosouls 4y ago
I would have thought that in the vast majority of current AI-generated code we are talking about single blocks and functions that are just Intellisense on steroids that only a rather self-deluding coder would consider original enough or "theirs" to attribute authorship to.
There are no doubt grey areas and more serious cases as the technology improves and the generated content increases in length and functional value, but I hope we don't throw the productive baby out with the Luddite bathwater...
- vouaobrasil 4y agoI think that kind of depends on how common the snippet is. If it's code for swapping to variables, well everyone has written that and it's small. But what if it's a rarer thing like a new kind of debayering algorithm that takes a much larger "snippet" from a novel algorithm? As far as I'm aware there are no rigorous studies showing the level to which one could duplicate longer stretches of code and if it can do something like this.
- andybak 4y agoAlgorithms aren't copyrightable as far as my understanding goes and this is where it gets murky. The expression is copyrightable, the algorithm isn't (except when it is...) My personal feeling is that we've gone too far down the road of assigning IP to code and we should be rolling it back. I'd hate for the current AI boom to trigger an extension of current IP law.
- skibidibipiti 4y agoEvery corporate code base is copyrighted. Engineers can’t write code similar to what they worked on, why should a corporate AI be able to violate copyleft?
- wongarsu 4y agoThe abstract algorithm isn't covered by copyright, but can be patented (lots of asterisks here about software parents). But the exact lines of code you write are covered by copyright. If you tell Github Copilot to write a fast inverse square sum algorithm it's allowed to reproduce the idea of the famous quake3 algorithm, but if it produces the same lines and comments as those in the quake 3 source code then that's a pretty open and shut copyright violation
- andybak 4y ago> But the exact lines of code you write are covered by copyright. I believe it's "only if they are expressive" i.e. code that is pretty much what anyone would have written in that situation isn't copyrightable. I think this is the part where we should be much stricter in applying the principle. Similar to "novel and non-obvious" in patent law, it's become diluted in favour of IP overreach.
- AlotOfReading 4y agoLeaving aside what I think IP law ought to look like, LLMs literally train on (and reproduce!) the fixed, copyrighted expression. They aren't producing a new work based on abstract knowledge of algorithms that happens to share a particular expression. It's not at all obvious to me why the training set copyright wouldn't nominally flow through the model, even if that seems impossible to actually implement in practice.
- visarga 4y agoWhy is everyone fixating on 1% of the outputs. 99% are sufficiently distinct. It replicates code as an unintended side effect, but there are mitigations.
- AlotOfReading 4y agoIf you take all the words from Harry Potter and shuffle the words together in a random order, the output will be distinct but the work as a whole is probably still derivative. If you do that for 500 book series, you still haven't generated a new work, you've simply created a legal morass of derivative copyrights. ChatGPT is just a really impressive word-blender. All of those "sufficiently distinct" snippets are in a meaningful sense recombinations of other copyrighted snippets it was trained on. When you're in a very sparse part of the space or have a single work that's present many times in training like fast inverse square root, the model may even replicate recognizable chunks of the training set. It could be that this is sufficiently transformative that the output is not derivative, but as I said it's not obvious to me.
- andybak 4y ago> If you take all the words from Harry Potter and shuffle the words together in a random order, the output will be distinct but the work as a whole is probably still derivative. If you do that for 500 book series, you still haven't generated a new work, you've simply created a legal morass of derivative copyrights. This might be the worst metaphor I've stumbled across in this whole debate. You're surely making an argument here for the opposite team.
- mellosouls 4y agoYes, of course, but that isn't the "vast majority" of use cases I pointed out; most people will presumably be using it for bog standard stuff in place of googling and thinking for a short while - let alone the people who didn't need the memory jog and are just selecting from an automatic prompt to save them typing it.
- megous 4y agoYou can generate whole linux kernel drivers with eg. ChatGPT. And things will only get better, so your dismissal is not very forward looking. The issue will need to be dealt with.
- mellosouls 4y agoYou should reread my comment to see that I explicitly made exceptions for more advanced cases.
- fipar 4y agoI don’t disagree with you but I think there’s another angle to the discussion that involves the difference between the litigious capacity of corporations vs individuals to defend the simple kind of creations you describe, as I think corporations have defended (and even patented) very simple patterns before. For what it’s worth, I wish the approach was as you describe but in all cases: make it impossible to defend attribution of basic building blocks regardless of how deep your pockets are.
- scarface74 4y agoI can only speak to my experience using ChatGPT. But it’s doing a lot more than copying and pasting code snippets it finds on the internet. It actually is translating English to code. I had a “DevOps” project I was working on creating deployment process using AWS technologies (disclaimer: where I work in Professional Services). I needed a few relatively simple Python scripts. I first asked ChatGPT: “given a JSON file like this [{“company”:”${company}”} replace the word surrounded by ${} with the equivalent environment variables using Python”. It worked perfectly. But it hardcoded the input file. “Modify the script to accept the input file using a command line argument -json-file using argparse” That worked and used the “required=true” parameter. “Instead of skipping replacement if an environment variable is not found, raise an exception”. And it seems to understand the AWS SDK. I told it to convert a script I wrote to a CloudFormation custom resource using the cfnresponse module and it knew the correct Lambda event structure, the event format etc. I have seen reports and have witnessed it making up functions occasionally. But, I believe with the right prompts, it should be able to create simple CRUD scripts.
- mellosouls 4y agoI understand what it is doing, and how impressive it is; the question is whether or not the normal use case is for stuff that requires the originality of thought that requires attribution, and I can't see that being the case except in a very small minority of instances.