News for hackers. Stuff that matters.
Re:I do not agree with Github's use of copyrighted code as t... by crazygringo on Saturday July 03, 2021 @04:04PM (#27724435)
That's not what GP is saying.

In general, you're absolutely allowed to learn programming techniques from anywhere. You can contribute software almost anywhere even if you've read Windows source code. Re-using everything you've learned, in your own creative creation, is part of fair use.

Your example is the very specific scenario where you're attempting to replicate an entire program, API, etc., to identical specifications. That's obviously not fair use. You're not dealing with little bits and pieces, you're dealing with an entire finished product.

Re:I do not agree with Github's use of copyrighted code as t... by jcelerier on Saturday July 03, 2021 @04:16PM (#27724549)
> Your example is the very specific scenario where you're attempting to replicate an entire program, API, etc., to identical specifications. That's obviously not fair use. You're not dealing with little bits and pieces, you're dealing with an entire finished product.

No - google's 9 lines of sorting algorithm (iirc) copied from Oracle's implementation were not considered fair use in the Google / Oracle debacle.

Likewise SCO claimed that 80 copied lines (in the entirety of the Linux source code) were a copyright violation, even if we never had a legal answer to this.

Re:I do not agree with Github's use of copyrighted code as t... by crazygringo on Saturday July 03, 2021 @04:18PM (#27724562)
Sorry, but you're not recalling correctly. :)

The Supreme Court decided Google v. Oracle was fair use. It was 3 months ago:

https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_...

That's the highest form of precedent, the question has now been effectively settled (unless Congress ever changes the law).

Edit: added a dummy hash to end of URL so HN parses it correctly (thanks @thewakalix below)

Re:I do not agree with Github's use of copyrighted code as t... by jcelerier on Saturday July 03, 2021 @04:31PM (#27724654)
nope, those lines were specifically excluded from the prior judgment - and SC did not cast another judgment on them:

> With respect to Oracle’s claim for relief for copyright infringement, judgment is entered in favor of Google and against Oracle except as follows: the rangeCheck code in TimSort.java and ComparableTimSort.java, and the eight decompiled files (seven “Impl.java” files and one“ACL” file), as to which judgment for Oracle and against Google is entered in the amount of zero dollars (as per the parties’ stipulation).

Re:I do not agree with Github's use of copyrighted code as t... by croes on Saturday July 03, 2021 @04:57PM (#27724863)
The fair use was about Googled API reimplementation. It becomes a whole different case with a 1:1 copy of code. And don't forget fair use works in the US, not necessarily in the rest of the world.

But I'm happy about all the new GPL programs created by Copilot

Re:I do not agree with Github's use of copyrighted code as t... by etothepii on Saturday July 03, 2021 @07:01PM (#27725703)
I wonder if GPL would actually price to be that infectious.
Re:I do not agree with Github's use of copyrighted code as t... by wtallis on Saturday July 03, 2021 @04:28PM (#27724634)
That Supreme Court ruling doesn't appear to address the claims of actual copied code (the rangeCheck function), only the more nebulous API copyright claims.
Re:I do not agree with Github's use of copyrighted code as t... by thewakalix on Saturday July 03, 2021 @04:25PM (#27724600)
There seems to be an issue with Hacker News's URL parsing. The final period isn't included as part of the link.
Re:I do not agree with Github's use of copyrighted code as t... by astrange on Saturday July 03, 2021 @07:24PM (#27725852)
That would be the wrong result in almost all cases.
Re:I do not agree with Github's use of copyrighted code as t... by doytch on Saturday July 03, 2021 @04:16PM (#27724547)
This is true, but there's also a murkier middle option. I used to work for a company that made a lot of money from its software patents but I was in a division that worked heavily in open-source code. We were forbidden to contribute to the high-value patented code because it was impossible to know whether we were "tainted" by knowledge of GPL code.
Re:I do not agree with Github's use of copyrighted code as t... by 0xdky on Saturday July 03, 2021 @05:52PM (#27725223)
Same here. I worked at a NAS storage (NFS) vendor and this was a common practice. Could not look at server implementation in Linux kernel and open source NFS client team could not look at proprietary server code.
Re:I do not agree with Github's use of copyrighted code as t... by dathinab on Saturday July 03, 2021 @04:33PM (#27724660)
No you are not, guaranteed (I think, not a lawyer).

At least from a copyright point of few.

TL;DR: Having right, and having a easy defense in a law suite are not the same.

BUT separating it makes defending any law-suite against them because of copyright and patent law much easier. It also prevents any employee from "copying GPL(or similar) code verbatim from memory"(1) (or even worse the clipboard) sure the employee "should" not do it but by separating them you can be more sure they don't, and in turn makes it easier to defent in curt especially wrt. "independent creation".

There is also patent law shenanigans.

(1): Which is what GitHub Copilot is sometimes doing IMHO.

Re:I do not agree with Github's use of copyrighted code as t... by saurik on Saturday July 03, 2021 @04:11PM (#27724486)
This model doesn't learn and abstract: it just pattern matches and replicates; that's why it was shown exactly replicating regions of code--long enough to not be "de minimis" and recognizable enough to include the comments--that happen to be popular... which would be fine, as long as the license on said code were also being replicated. It just isn't reasonable to try to pretend Copilot--or GPT-3 in general--is some kind of general purpose AI worthy of being compared with the fair use rights of a human learning techniques: this is a machine learning model that likes to copy/paste not just tiny bits of code but entire functions out of other peoples' projects, and most of what makes it fancy is that it is good at adapting what it copies to the surrounding conditions.
Re:I do not agree with Github's use of copyrighted code as t... by moyix on Saturday July 03, 2021 @04:25PM (#27724608)
Have you used Copilot? I have not, but I have trained a GPT2 model on open source projects (https://doesnotexist.codes/). It does not just pattern match and replicate. It can be cajoled into reproducing some memorized snippets, but this is not the norm; in my experience the vast majority of what it generates is novel. The exceptions are extremely popular snippets that are repeated many many times in the training data, like license boilerplate.

Perhaps Copilot behaves very differently from my own model, but I strongly suspect that the examples that have been going around twitter are outliers. Github's study agrees: https://docs.github.com/en/github/copilot/research-recitatio... (though of course this should be replicated independently).

Re:I do not agree with Github's use of copyrighted code as t... by saurik on Saturday July 03, 2021 @04:33PM (#27724665)
So, to verify, your claim is that GPT-3, when trained on a corpus of human text, isn't merely managing to string together a bunch of high-probability sequences of symbol constructs--which is how every article I have ever read on how it functions describes the technology--but is instead managing to build a model of the human world and the mechanism of narration required to describe it, with which it uses to write new prose... a claim you must make in order to then argue that GPT-3 works like a human engineer learning a model of computers, libraries, and engineering principals from which it can then write code, instead of merely using pattern recognition as I stated? As someone who spent years studying graduate linguistics and cognitive science (though admittedly 15-20 years ago, so I certainly haven't studied this model: I have only read about it occasionally in passing) I frankly think you are just trying to conflate levels of understanding, in order to make GPT-3 sound more magical than it is :/.
Re:I do not agree with Github's use of copyrighted code as t... by moyix on Saturday July 03, 2021 @04:54PM (#27724839)
What? I don't think I made any claim of the sort. I'm claiming that it does more than mere regurgitation and has done some amount of abstraction, not that it has human-level understanding. As an example, GPT-3 learned some arithmetic and can solve basic math problems not in its training set. This is beyond pattern matching and replication, IMO.

I'm not really sure why we should consider Copilot legally different from a fancy pen – if you use it to write infringing code then that's infringement by the user, not the pen. This leaves the practical question of how often it will do so, and my impression is that it's not often.

Re:I do not agree with Github's use of copyrighted code as t... by codelord on Saturday July 03, 2021 @06:02PM (#27725297)
It's not really comparable to a pen. Because a pen by itself doesn't copy someone else's code/written words. It's more like copying code from Github or if you wrote a script that did that automatically. You have to be actively cautious that the material that you are copying is not violating any copyrights. The problem is Copilot has enough sophistication to for example change variable names and make it very hard to do content matching. What I can guarantee it won't be able to do is to be able to generate novel code from scratch that does a particular function (source: I have a PhD in ML). This brute-force way of modeling computer programs (using a language model) is just not sophisticated enough to be able to reason and generate high level concepts at least today.
Re:I do not agree with Github's use of copyrighted code as t... by saurik on Saturday July 03, 2021 @05:43PM (#27725165)
The argument I was responding to--made by the user crazygringo--was that GPT-3 trained on a model of the Windows source code is fine to use nigh unto indiscriminately, as supposedly Copilot is abstracting knowledge like a human engineer. I argued that it doesn't do that: that GPT-3 is a pattern recognize that not only theoretically just likes to memorize and regurgitate things, it has been shown to in practice. You then responded to my argument claiming that GPT-3 in fact... what? Are you actually defending crazygringo's argument or not? Note carefully that crazygringo explicitly even stated that copying little bits and pieces of a project is supposedly fair use, continuing the--as far as I understand, incorrect--assertion by lacker (the person who started this thread) that if you copied someone's binary tree implementation that would be fair use, as the two of them seem to believe that you have to copy essentially an entire combined work (whatever that means to them) for something to be infringing. Honestly, it now just seems like you decided to skip into the middle of a complex argument in an attempt to made some pedantic point: either you agree that GPT-3 is a human that is allowed to, as crazygringo insists, read and learn from anything and the use that knowledge in any way they see fit, or you agree with me that GPT-3 is a fancy pattern recognizer and it can and will just generate copyright infringements if used to solve certain problems. Given your new statements about Copilot being a "fancy pen" that can in fact be used incorrectly--something crazygringo seems to claim isn't possible--you frankly sound like you agree with my arguments!!
Re:I do not agree with Github's use of copyrighted code as t... by bnjemian on Saturday July 03, 2021 @06:10PM (#27725350)
I think a crucial distinction to be made here, and with most 'AI' technologies (and I suspect this isn't news to many people here) is that – yes – they are building abstractions. They are not simply regurgitating. But – no – those abstractions are not identical (and very often not remotely similar) to human abstractions.

That's the very reason why AI technologies can be useful in augmenting human intelligence; they see problems in a different light, can find alternate solutions, and generally just don't think like we do. There are many paths to a correct result and they needn't be isomorphic. Think of how a mathematical theorem may be proved in multiple ways, but the core logical implication of the proof within the larger context is still the same.

Re:I do not agree with Github's use of copyrighted code as t... by hackinthebochs on Saturday July 03, 2021 @07:20PM (#27725826)
Statistical modelling doesn't imply that GPT-3 is merely regurgitating. There are regularities among different examples, i.e. abstractions, that can be learned to improve its ability to predict novel inputs. There is certainly a question of how much Copilot is just reproducing input it has seen, but simply noting that its a statistical model doesn't prove the case that all it can do is regurgitate.
Re:I do not agree with Github's use of copyrighted code as t... by DougBTX on Saturday July 03, 2021 @04:55PM (#27724844)
One way to look at these models is to say that they take raw input, convert it into a feature space, manipulate it, then output back as raw text. A nice example of this is neural style transfer, where the learnt features can distinguish content from style, so that the content can be remixed with a different style in feature space. I could certainly imagine evaluating the quality of those features on a scale spanning from rote-copying all the way up to human understanding, depending on the quality of the model.
Re:I do not agree with Github's use of copyrighted code as t... by jozvolskyef on Saturday July 03, 2021 @05:12PM (#27724967)
Imagine for a second a model of the human brain that consists of three parts. 1) a vector of trillion inputs, 2) a black box, and 3) a vector of trillion outputs. At this level of abstraction, the human brain "pattern matches and replicates" just the same, except it is better at it.
Re:I do not agree with Github's use of copyrighted code as t... by saurik on Saturday July 03, 2021 @05:32PM (#27725091)
Human brains are at least minimally recurrent, and are trained on data sets that are much wider and more complex than what we are handing GPT-3. I have done all of these standard though experiments and even developed and trained my own neural networks back before there were libraries that have allowed people to "dabble" in machine learning: if you consider the implications of humans being able to execute turing complete thoughts it should be come obvious that the human brain isn't merely doing pattern-anything... it sometimes does, but you can't just conflate them and then call it a day.
Re:I do not agree with Github's use of copyrighted code as t... by jozvolskyef on Saturday July 03, 2021 @06:52PM (#27725650)
The human brain isn't Turing-complete as that would require infinite memory. I'm not saying that GPT-3 is even close, but it is in the same category. I tried playing chess against it. According to chess.com, move 10 was its first mistake, move 16 was its first blunder, and past move 20 it tried to make illegal moves. Try playing chess without a chessboard and not making an illegal move. It is difficult. Clearly it does understand chess enough not to make illegal moves as long as its working memory allows it to remember the game state.
Re:I do not agree with Github's use of copyrighted code as t... by hollerith on Saturday July 03, 2021 @06:55PM (#27725663)
>The human brain isn't Turing-complete as that would require infinite memory

A human brain with an unlimited supply of pencils and paper, then.

Re:I do not agree with Github's use of copyrighted code as t... by dTal on Sunday July 04, 2021 @05:17AM (#27728302)
Hmm... but a finite state machine with an infinite tape is Turing complete too. If you're allowed to write symbols out and read them back in, you've invalidated the "proof" that humans aren't just doing pattern matching.
Re:I do not agree with Github's use of copyrighted code as t... by 0-_-0 on Sunday July 04, 2021 @05:49AM (#27728449)
> The human brain isn't Turing-complete as that would require infinite memory.

This is wrong, this is not what Turing completeness is. It applies to computational models, not hardware.

https://en.wikipedia.org/wiki/Turing_completeness

Re:I do not agree with Github's use of copyrighted code as t... by jozvolskyef on Sunday July 04, 2021 @11:16AM (#27730280)
How so? The page you link offers three definitions[1], and all of them require an infinite tape.

You could argue that a stack is missing in my simplified model of the human brain, which would be correct. I used the simple model in allusion to the Chinese room thought experiment which doesn't require anything more than a dictionary.

[1]: https://en.wikipedia.org/wiki/Turing_completeness#Formal_def...

Re:I do not agree with Github's use of copyrighted code as t... by 0-_-0 on Sunday July 04, 2021 @11:51AM (#27730565)
Turing completeness applies to models of computation, not hardware. Otherwise, nothing would be Turing-complete because infinite memory doesn't exist in the real world. Just read the first sentence of what you linked to:

In computability theory, several closely related terms are used to describe the computational power of a computational system (such as an abstract machine or programming language)

Re:I do not agree with Github's use of copyrighted code as t... by jozvolskyef on Sunday July 04, 2021 @01:40PM (#27731306)
Thank you for pointing that out, I was indeed wrong to assume it was used to classify hardware rather than a model.
Re:I do not agree with Github's use of copyrighted code as t... by astrange on Saturday July 03, 2021 @07:28PM (#27725879)
Human thought isn't anything like GPT thought - humans can spend a variable amount of time thinking about what to learn from "training data" and can use explicit logic to reason about it. GPT is more like a form of lossy compression than that.
Re:I do not agree with Github's use of copyrighted code as t... by the8472 on Saturday July 03, 2021 @04:20PM (#27724568)
This is called prompt engineering. If you find a popular, frequently repeated code snippet and then fashion a prompt that is tailored to that snippet then yes the NN will recite it verbatim like a poem.

But that doesn't mean it's the only thing it does or even that it does it frequently. It's like calling a human a parrot because he completed a line from a famous poem when the previous speaker left it unfinished.

The same argument was brought up with GPT too and has been long debunked. The authors (and others) checked samples against the training corpus and it only rarely copies unless you prod it to.

Re:I do not agree with Github's use of copyrighted code as t... by saurik on Saturday July 03, 2021 @04:25PM (#27724602)
I don't know if I agree with your argument about GPT-3, but I think our disagreement seems to be besides the point: if your human parrot did that, they would--not just in theory but in actual fact! see all the cases of this in the music industry--get sued for it, even if they claim they didn't mean to and it was merely a really entrenched memory.
Re:I do not agree with Github's use of copyrighted code as t... by the8472 on Saturday July 03, 2021 @04:39PM (#27724711)
The point is that many of the examples you see are intentional, through prompt engineering. The pilot asked the copilot to violate copyright, the copilot complied. Don't blame the copilot.

There also are cases where this happens unintentionally, but those are not the norm.

Re:I do not agree with Github's use of copyrighted code as t... by robbedpeter on Saturday July 03, 2021 @06:23PM (#27725435)
Transformers do learn and abstract. Not as well as humans, but for whatever definitive of innovation or creativity you wanna run with, these gpt models have it. It's not magic, it's math, but these programs are approximating the human function of media synthesis across narrowly limited domains.

These aren't your crazy uncle's Markov chain chatbots. They're sophisticated bayesian models trained to approximate the functions that produced the content used in training.

Re:I do not agree with Github's use of copyrighted code as t... by astrange on Saturday July 03, 2021 @07:26PM (#27725865)
Are they Bayesian? It would be good if ML models were Bayesian (they'd be able to show uncertainty better) but they usually aren't.
Re:I do not agree with Github's use of copyrighted code as t... by robbedpeter on Sunday July 04, 2021 @03:27AM (#27727901)
The model and attention mechanism produces Bayesian properties, but transformers as a whole contain non-Bayesian aspects, depending on how rigorous you want to be in defining Bayesian.
Re:I do not agree with Github's use of copyrighted code as t... by visarga on Saturday July 03, 2021 @05:47PM (#27725194)
> this is a machine learning model that likes to copy/paste not just tiny bits of code but entire functions out of other peoples' projects

Github could make a blacklist and tell Copilot never to suggest that code. Problem solved. You use one of the other 9 suggestions.