8 ms·
As long as the AI doesn't produce this function, you're fine: private static void rangeCheck(int arrayLen, int fromIndex, int toIndex { if (fromInd
by jrockway 4y ago
As long as the AI doesn't produce this function, you're fine:
private static void rangeCheck(int arrayLen, int fromIndex, int toIndex {
if (fromIndex > toIndex)
throw new IllegalArgumentException("fromIndex(" + fromIndex +
") > toIndex(" + toIndex+")");
if (fromIndex < 0)
throw new ArrayIndexOutOfBoundsException(fromIndex);
if (toIndex > arrayLen)
throw new ArrayIndexOutOfBoundsException(toIndex);
}
On a more serious note, I really wonder where the line is drawn for copyright. I see a lot of people claiming that AI is producing code they've written verbatim, but sometimes I wonder if everyone just writes certain things the same way. For the above rangeCheck function, there isn't much opportunity for the individual programmer to be creative. Perhaps there is a matter of taste on what exceptions you throw, or in what order. But the chosen ones are certainly what most people think of first, and the order to validate arguments, then check the low value, then check the high value, is pretty much what anyone would do. Perhaps you could format the error message differently. That's about it. So when someone "rips off" your code wholesale, it's could just be that everyone writing that function would have typed in the exact same bytes as you. You know your style guide is working when you look at code, think you wrote it, but actually you didn't!
- jrm4 4y agoThey do not. This is pretty easily provable. I was in a CS class that had an automated plagiarism checker over 20 years ago. (And since Brian Kernighan was teaching it, I'm inclined to believe in it.)
- rcme 4y agoDid it notify you automatically if you had plagiarized something, or did it flag you internally for manual review?
- 15155 4y agoThe trick with these: 1) They are using your IP with coerced consent in the future to check other people's work as well as your own in the future. (Let's have a fun discussion about "self-plagiarism." 2) ChatGPT and the like are going to so massively increase the noise floor on this problem space that these counterfeit detection companies should all but disappear in a number of years.
- jacquesm 4y agoAs a datapoint: I once successfully fielded a copyright case on about 15 lines of code.
- avbanks 4y agoYou could probably do that w/ 1 line of code depending on the variable name :)
- hgsgm 4y agoWhat does "fielded" mean?
- neogodless 4y agoI've only heard it used in reference to questions but I think it's being stretched slightly here to just mean "dealt with" or "handled".
- pyth0 4y agoLikely a typo. "fielded" -> "filed"
- antonvs 4y ago"Successfully filed" means nothing though. Anyone can file anything. The question is whether the case was won.
- breck 4y ago> On a more serious note, I really wonder where the line is drawn for copyright. As soon as you start thinking about copyright, you end up realizing it's all non-sense. Stephan Kinsella (a patent lawyer!) is the leading thinker on this, and his videos, essays, and podcasts are worth listening to: https://www.youtube.com/watch?v=e0RXfGGMGPE https://www.youtube.com/watch?v=e0RXfGGMGPE
- humanistbot 4y agoThat's why copyright holders for reference works have been using copyright traps for ages. That's where you include a fictional town in a map, a nonsense word in a dictionary, or a fake person in your phone book. If your competitors reproduce the trap, then that's clear evidence you can use in court. https://en.wikipedia.org/wiki/Copyright_trap https://en.wikipedia.org/wiki/Copyright_trap
- iudqnolq 4y agoIf you look at the Legal Action section of your link you'll see the line "However, the case was dismissed" quite a few times. That's because data isn't copyrightable. Edit: As sroussey points out s/isn't copyrightable/isn't copyrightable in the USA
- sroussey 4y agoNot in the USA, but it is in the EU and elsewhere.
- whiplash451 4y agoHow do you define the geolocation of data? If my website is hosted in EU but a company scans it from the internet in the US, how could they possibly know it is hosted in EU?
- iudqnolq 4y agoWhich country's laws apply and what remedies you can get if they were violated is far more complicated than geolocation of data. But very broadly speaking you would need to sue in an EU court to enforce EU law. And you could sue a US company in specific EU country's court if the company had more than some minimum level of connection to the that country. The country the data is hosted in isn't key, though it can be evidence of connection to that country.
- z3t4 4y agoWhere the data is stored does not matter much. Laws deal with people and companies, so it matters where you live or where your company operates. So if you live in the US you don't have to worry about EU laws unless you do buisness in EU.
- zvolsky 4y agoThis "think you wrote, but actually you didn't!", sometimes with another "actually you did, but you are looking at the code of someone who wrote it the same" happens often with people who have similar taste for solving problems. Or whose taste is influenced by the same teachers, such as you, jrockway! I've been using your open source as as one of my references for Go style. Thank you for sharing your opinionated-server, jsso2, and other projects, under the Apache 2.0 license!
- gjsman-1000 4y ago> I see a lot of people claiming that AI is producing code they've written verbatim, but sometimes I wonder if everyone just writes certain things the same way. For the above rangeCheck function, there isn't much opportunity for the individual programmer to be creative. This point is absolutely going to come up in any lawsuits; because the law does sometimes examine how much creativity there is available in a field before making a determination (Oracle v Google comes to mind). If you can show that there are very, very few reasonable ways to accomplish a goal, and said goal is otherwise not patented or prohibited, it's either not copyrightable or Fair Use, take your pick. This even applies under the interoperability section of the DMCA and similar laws for huge projects. Assuming that ReactOS, for example, is actually completely clean-room; that would be protected despite having the same API names and, likely, a lot of similar code implementing most of the most basic APIs.
- asddubs 4y agothe code is a reference to oracle v google
- shagie 4y agoIncidentally this code doesn't have any license attached to it. So if an LLM happened to produce this code and Oracle said "where did you get that?! did you illicitly include the Java code base as part of your training data?" the organization that got the data for the LLM training can say "no, we used Hacker News comments and this code happened to have been in there verbatim... sorry." License successfully laundered!
- asddubs 4y agothat would work if no license didn't mean all rights reserved by default
- shagie 4y agoThe question isn't what is the license but rather the location that the code was used as part of a data set. I could just as easily point to https://stackoverflow.com/a/13910492 https://stackoverflow.com/a/13910492 which is on a page that is CC licensed.
- deleted 4y ago[deleted]
- rvnx 4y agoIn the big picture, if we enter a world where an AI is instantly capable of doing code better than you do and without efforts, then I'm not sure why code should be copyrightable at all. Copyright protects original works of authorship including literary, dramatic, musical, and artistic works, such as poetry, novels, movies, songs, computer software, and architecture. Copyright does not protect facts, ideas, systems, or methods of operation, although it may protect the way these things are expressed. Here (and in the future even more), AI is totally capable of expressing one idea in any programming language if you ask for it (even if conceptually inspired by copyrighted code). Which means that a particular expression (a specific implementation) is practically of no value or particular interest at this stage. You could ask the AI to do a slightly different implementation, it would not be a problem for it and would require no efforts. There is no point to protect something that can be generated using no effort and has no particular genius in it.
- DanHulton 4y agoWe don't need to enter a world where AI gets any better at all to be able to argue that software shouldn't be copyrightable, smart people have been doing that for ages. The problem, however, is that we live in this world, where it is copyrightable, and componies relying on Copilot to do large swathes of code generation do potentially have to worry about including copyrighted code in their codebase, and what the legal fallout from that might be.
- Longlius 4y agoIt also creates a world where developers who have created code and specifically protected it with copyleft licenses to ensure that derivative works always remain a public good are having their rights laundered away via LLMs. I fully expect the FOSS community to fold if their rights are not respected and it could lead to a software dark age.
- blibble 4y ago> I fully expect the FOSS community to fold if their rights are not respected and it could lead to a software dark age. just happens to be a coincidence this was all initiated by Microsoft?
- sp332 4y agoThe way copyright works, it's a violation if it was copied, but it's fine if it was generated independently. In this case I would say it's a copy, but I'm sure someone else would argue differently.
- makk 4y agoIANAL but I work alongside them. Here's an argument I've heard. You can read the data to train a thing. So long as that thing doesn't literally copy the data into itself then the training hasn't violated copyright. When that thing later generates an output, the output isn't copyrightable because it's machine generated (this is the current US position) and it isn't a copyright violation because it was generated, not copied. You can launder copyrighted material through an LLM, basically.
- contravariant 4y ago> So long as that thing doesn't literally copy the data into itself then the training hasn't violated copyright. Could luck proving that hasn't happened. If a language model that can reproduce the code verbatim doesn't count then a movie re-encoded into a different format shouldn't count either.
- prepend 4y agoThe movie re-encoded into a different format is perfectly fine if the work is sufficiently different. Taking a file of wolf of Wall Street and encoding it so all the oranges are blue but there’s no other changes is bad as that’s clearly a derived work. Taking the same file and scrambling it so it doesn’t resemble is perfectly fine. Watching the movie and then making your own version of the same exact plot points is infringement. But using plot points that are changed is perfectly fine. There’s existing copyright law that prevents the makers of the movie Deep Impact from suing the makers of Armageddon.
- belorn 4y agoA 420p copy of the movie is very different from a 4k version. Similarly an encryption copy of the file will intentionally not resemble the original in any way. Both of those distinctions would likely be ignored by a court. Similar, a movie that copies the plot points will likely be fine, but a song that copies the notes of a song will not be. Very different cover version will sometimes be found as a derived work, even when they are as different as Deep Impact is to Armageddon.
- numpad0 4y agoI believe there are couple different aspects to “it’s AI training legal same as human” argument: 1. Copyright is only granted to creative elements; lots of program codes are supposedly un-copyrightable, though no one wants to fight on that ground. 2. It is lawful in many jurisdictions to effectively steal and train AI with even copyrighted materials, for the sake of humanity at large; same supposedly not apply to the output. But AI-supportive clusters tends to conflate between the two. 3. AI training processes, stochastic gradient descent and all, are only called “learning” and/or “training” by convention; there is no public consent that it is same as how the word is supposedly defined, though we generally don’t scare quote airplanes flying.
- ml-anon 4y agoon 3, the convention could have just as easily gone a different way i.e. it could have converged to model "fitting" using the statistical parlance or the sklearn convention. Further if you take the math seriously most of these models are "just" fitting probability distributions to data. Also, in part it depends greatly on the objective function used. In GPT style models the objective is to precisely copy from input to output, token by token. I think its extremely bad-faith to argue that this has any relationship to human learning or learning objectives. you shouldn't take the math seriously and I'm not being dismissive with the word "just" in scare quotes. However the community somehow wants to have its cake an eat it too.
- layer8 4y agoCopyright is limited to works that meet a certain threshold of originality [0]. It is assumed that works meeting such a threshold won’t be replicated by mere coincidence. [0] https://en.wikipedia.org/wiki/Threshold_of_originality https://en.wikipedia.org/wiki/Threshold_of_originality
- amelius 4y agoOr anything from Numerical Recipes in C.
- itslennysfault 4y agoI wouldn't worry about this code. It wouldn't compile anyways. lol Syntax Error on line 1. Missing closing ) in the method definition.
- tehsauce 4y agoIn the example from the article, copilot produces identical comments, not just a functionally identical implementation. So in this case your hypothesis is false. But thanks for trying to stand up against the open source community for microsoft. /s
- ChatGTP 4y agoI don’t understand why people have become so accepting. “Oh they’ve stolen all the public code and not provided attribution then sold it for a profit, can we just give these poor evil companies a break? It’s just progress…”. This is completely unacceptable and another example that Microsoft is an evil and amoral company who only cares about open source for financial gain.
- z3t4 4y agoIn most countries a copyright work need to be something substantial. You can not copyright single machine instructions. It needs to be a combination that is unique. And just the instructions are not copyrightable, you cant for example copyright a recepy. But you can copyright a book of recepies. So if you make a program with many instructions put togheter you automatically get copyright. And if someone steals parts of your code it will be difficult to claim the copyright if those parts are used to create a new program. But if the new program is based on your program, for example a fork, or most of the code comes from your program its derative work.
- m_0x 4y agoWhy? Why is that function special?
- csmattryder 4y agoOracle's lawyers said they owned the rights to it, Google disagreed. Google was right, legally. https://www.supremecourt.gov/opinions/20pdf/18-956_d18f.pdf https://www.supremecourt.gov/opinions/20pdf/18-956_d18f.pdf
- numlock86 4y ago> but sometimes I wonder if everyone just writes certain things the same way > For the above rangeCheck function, there isn't much opportunity for the individual programmer to be creative. We are at a point at which compilers detect such functions and replace them with highly optimized ones. If you have to artificially change just for the sake of patent or license trolls you don't just get more work but also worse performance/optimizations in most cases.