10 ms·
Even if this succeeds (I sincerely hope that it does not, as I believe these to be sufficiently transformative as to be considered fair use), it doesn't functio
by throwaway675309 4y ago
Even if this succeeds (I sincerely hope that it does not, as I believe these to be sufficiently transformative as to be considered fair use), it doesn't functionally matter in the long term:
1. The ability to be able to both run and train these models is going to eventually be plausible on a home machine with even modest hardware.
2. These models, e.g. such as one scraped from all of the code on GitHub, will be publicly available via torrent or whatever.
3. People will be able to run it locally as an integrated plug-in in their IDE of choice, jetbrains, vs code, etc.
4. You'll never know if somebody has lifted a bit of code in violation of a license anymore than you would be able to tell if somebody copy-pasted from stack overflow without attribution in any commercial application
- ezoe 4y agoWe can't expect a massive improvement on computer performance anymore. So it will never come the day household computer can finish training the model equivalent of Github Copilot in practical time.
- Gigachad 4y agoThey can just add more cores and more power. With modern languages like Rust making multi threading more accessible, I expect we will double down on this. You could also crowd source this, some distributed application where everyone puts their home machines towards training.
- PartiallyTyped 4y ago> You could also crowd source this, some distributed application where everyone puts their home machines towards training. That's how Leela Chess 0 (LC0) replicated the Alpha-zero performance. In fact, this is actually not that difficult. Assuming you have the means to orchestrate it; all it takes is loading the weights and a batch, computing backprop; and submitting it to the central system which aggregates the gradient updates and then updates the whole network and push new weights (kinda how bitcoin creates a new block). This is no different to gradient accumulation; just "distributed". In-fact, the system could offload a large number of batches because the returned update is O(1) space to return where n is for batch size; it's just that the O(1) is the size of the network.
- jrockway 4y ago> You'll never know if somebody has lifted a bit of code in violation of a license anymore than you would be able to tell if somebody copy-pasted from stack overflow without attribution in any commercial application Wasn't this the subject of millions of dollars of litigation between Oracle and Google?
- thih9 4y agoFor others like me, missing context: > Google’s copying of so-called application programming interfaces from Oracle’s Java SE was an example of fair use, the court held (…). Source: https://edition.cnn.com/2021/04/05/tech/google-oracle-supreme-court-ruling/index.html https://edition.cnn.com/2021/04/05/tech/google-oracle-suprem...
- CuriousCosmic 4y ago> Wasn't this the subject of millions of dollars of litigation between Oracle and Google? That was a very different case. That case was about whether an API/interface was considered copyrightable. The outcome of the case was that the implementation was obviously copyrightable however the interface was not. The background being google creating their own custom implementation of the JVM.
- int_19h 4y agoThe outcome (SCOTUS decision) did not decide whether the interface was copyrightable or not. It decided that if the interface were copyrightable, it'd be fair use anyway, so there's no need to bother resolving that question.
- seadan83 4y agoI was thinking this, but it is almost thr inverse. Api's without their implementation are not proprietary, but is an implementation without it's API (and surrounding structure) proprietary?
- Brian_K_White 4y agoIt's not transformative at all, nor quoted for study/discussion, and that's exactly what makes it a problem. If the snippets merely had attribution, they'd be both legal and acceptable to most open source authors. The code is not transformative because the quoted code is not used for some other purpose like as part of an article discussing whatever the code does, it is used to do exactly it's original job. If you wrote a book by quoting choice paragraphs from other books, without crediting any of them, presenting the new book as simply your pile of deep insights, that is not transformative, even though your book is not the same as any single of the source books. It's also not fair use, even though all the quoted bits are short, both because of the usage and the lack of accreditation. We could have something like copilot just fine if done above board, but as it is right now github are simply outlaw and with no excuse at all.
- zarzavat 4y agoI read these kinds of comments on HN and I wonder if the people complaining about copilot have actually used the thing for more than 5 minutes? Most of the time copilot is giving you one-line completions that are heavily adapted to the surrounding code. It’s not “writing a book by quoting choice paragraphs from other books”. It’s fancy autocomplete. You can direct copilot to give you anything you ask it for. If you ask it for an entire function, and you don’t give it any context, then you are more likely to get a snippet from inside its memory. But even when this happens you are unlikely to keep the entire snippet unmodified because the chance that it is what you were looking for is low.
- v3ss0n 4y agoBigCode project is coming and it gonna be opensourced the same way stable diffusion is.
- paxys 4y agoExactly. It's like people calling for Dall-E to be banned. Well Stable Diffusion exists, as do a dozen other similar projects and an entire ecosystem of training data and models. The march of technology rarely stops because of people crying "copyright!"
- hakre 4y ago> "The march of technology" Who are the stakeholders putting the machine to the run? Who owns the machine? This is much more subjective than clinical rhetoric praising tech may allure to.
- kqzoup 4y agoIf that is so, people will stop writing open source. Then this model will use its own output until it produces bland garbage like a camera filming its own output stream.
- KyeRussell 4y ago“People will stop writing open source” is far from being self-evident.
- Gigachad 4y agoI write open source code to benefit others and to put more learning material in to the world. If I was so paranoid about other people using it I would have made it proprietary.
- rolisz 4y agoLinux has a lot of corporations contributing code to it. Tensorflow is backed by Google. Plenty of other projects are released as open source by companies, not people. I don't see companies crying about Copilot, so their employees will keep writing open source when instructed as such by their managers.
- makeitdouble 4y agoI’d argue, running it on your local machine as your own copilot seems like a better proposition than what is offered now. There is still the issue of setting boundaries on what to learn from, but it is much more aligned with you taking the responsibility for what your copilot does or doesn’t, and it might give a better window of opportunity to customize it to your needs. We’d lose economies of scale, but also lose infringement at scale, and gain individual control. Net positives overall ?
- CameronNemo 4y ago5. Microsoft, a $1.5e15 company, will not profit from the technology (as easily).
- jameshart 4y ago> You'll never know if somebody has lifted a bit of code in violation of a license anymore than you would be able to tell if somebody copy-pasted from stack overflow Sure, there’s a sense in which copilot is just an alternative way of finding these snippets; if someone used Google to find a piece of code then chose to copy-paste it, the result would be the same. The code is out there on the internet, being indexed - and incorporated into training models. The difference is that Google will (probably, if they don’t just yank the content into a snippet on the Serp) link you to the GitHub source, where the license should be clearly visible, so if you copy paste it you know what you’re doing. Copilot produces the code without attribution. But it’s a narrower difference than we might actually wish. What is it about google’s pointing you to a line of code in a GitHub repo that absolves Google from any responsibility to tell you that the code it sent you to might be copyrighted? Presumably, when you land on that page you are expected to recognize from context that this is probably licensed code, and go look for the license terms. Why can’t copilot also rely on that same ‘user must recognize that some of the results produced might be copyrighted’ logic? Worth noting that Google image search has long presented its results under a caption pointing out that the results may be copyrighted and you need to do your own research before using any images it produces based on your query. How different is searching it’s image index and producing potentially copyrighted images it found online, from copilot’s search of ‘how to code’ doing the same thing?
- wizzwizz4 4y ago> Why can’t copilot also rely on that same ‘user must recognize that some of the results produced might be copyrighted’ logic? Google shows you where you can find the copyright and license information. GitHub Copilot does not. > Worth noting that Google image search has long presented its results under a caption pointing out that the results may be copyrighted and you need to do your own research before using any images it produces based on your query. Because there's a common misconception that "Google images" are legal to use for any purpose. Afaik, Google has no obligation to correct people on this; nonetheless, they choose to do so.
- jameshart 4y agoGoogle search sends you to where it found the code. That the copyright and license information are maybe available there is not something Google search actually knows to be the case. That information might not actually be there, and Google does not care either way. Similar to photos, There’s maybe a common misconception that code produced by copilot is free to use for any purpose. Is copilot under an obligation to point out that that might not be the case?
- regular 4y ago
- xyzzy_plugh 4y ago> You'll never know if somebody has lifted a bit of code in violation of a license anymore than you would be able to tell if somebody copy-pasted from stack overflow without attribution in any commercial application It's obvious that you've never endured any sort of deep code analysis for license "problems" because then you would know that it is in fact comically easy to tell if someone did this. It happens all the time. While some detections are false positives, this is in fact why such deep analysis is performed: because getting caught selling a commerical application you don't have the rights to sell can destroy value very rapidly. It halts mergers and acquisitions. It gets products pulled off shelves. It gets people fired.
- deleted 4y ago[deleted]
- rikroots 4y agoAny ML model that decides to use my code as part of its code suggestion functionality has a fool for an algorithm.
- chris_wot 4y agoThis doesn’t fit the definition of fair use, if that’s what you are implying. Fair use is a balance between four factors, transformative nature is just one factor. To satisfy section 107 of the U.S. Copyright Act, you need to look at four factors. The first consideration is the purpose and nature of the work, which is where a determination is made as to whether a work is sufficiently transformative to be considered fair use of copyrighted material. There are other factors at play on this test, however. A court would look at what sort of commercial interest and benefit is being made from the use of the material, and even then they may decide that a non-profit motive is not sufficient to satisfy this test. The second factor a court will look at is the nature of the copyrighted work. In the case of open source material, it is already published but most licenses quite rightly ask for attribution. A court may decide that not satisfying the attribution of the work may cause it fail this criteria, and prevent it from being fairly used. However on this point, I feel CoPilot may be on more steady ground as the work is already published. Fair Use doctrine also factors in the amount and substantiality of the work being reproduced. It is the substantiality issue that will likely trip up copilot, as the code snippets in use may be complex enough in nature that it is considered a substantial part of the code. A court may well consider an algorithm that took time to create and test, although only a small part of the codebase, is sufficiently complex in that it took substantial effort to create and thus look dimly on its use in a larger derived work. The fourth factor in play here is the one being argued by the litigant, and I feel will be extremely hard for GitHub to justify; that factor is the effect use of the code has on the potential market or value of the code. Open Source projects rely on volunteers and contributions. Substantial effort is made to actively maintain projects. It is not within the spirit of most projects to have people use unattributed code snippets, because it reduces the value of contributions and improvements to the code project. Improvements and contributions are reduced, and it is also hard to distribute improvements and fixes to any project that uses the code. In this regard, CoPilot seems to be completely violating Fair Use doctrine. So as you can see, Fair Use is way, way more complex than most people realise. Many people think that a sufficiently transformative use of copyrighted material is sufficiently for satisfying a Fair Use defence, but in reality it is not.