11 ms·
What Copilot means for open source
- captainmuon 4y agoLegal arguments aside, Copilot is a nice and useful tool and should be allowed to exist. Please let's not ruin it. If it has issues in the current framework of Copyright law, then that is yet another reason to change that framework.
- zacwest 4y ago> In the large, I don’t think the problems open-source authors have with AI training are that different from the problems everyone will have. We’re just encountering them sooner. Call me a pessimist but it seems really unlikely that AI will cause problems so much as continually increasing automation. It makes such terrible choices around qualitative decisions and increasing existing AI to a general solution pretty much always fails.
- justin-tm 4y ago> Why? Because as a matter of basic legal hygiene, I expect that organizations that create software assets will have to forbid the use of Copilot and other AI-assisted tools I feel like this understates the wild west nature of software in non-tech Fortune 500
- KMag 4y agoI worked for over a decade at a Fortune 500 investment bank. I suspect they'll be very wary of Copilot, as well. I wouldn't lump all non-tech companies together.
- ShamelessC 4y agoNot gonna stop disgruntled employee #0151 from using it!
- sidlls 4y agoI think you underestimate the ability of Fortune 500 IT departments to lock down laptops and workstations. It's difficult, but far from too difficult.
- Gigachad 4y agoI have heard these days a lot of programmers in these companies do all of their development inside of docker or VMs so they can actually get stuff done without filling out an approval form to update their linter.
- KMag 4y agoAt least where I worked, the HTTPS proxy blocked most downloads. Most software these days can install fine for a local user. It's more a matter of getting the installer. But, it was a pretty easy process for non-GPL3 open-source software: fill out a web form with the URL for the installer/source tarball and a URL for the license, wait a few hours, and the installer has been virus scanned and in available in the internal mirror repository of installers.
- KMag 4y agoWe had internal repositories. You go to a website, give a URL for the library or executable/installer you want to use, and a URL for the license it's under. A few hours later, you get an email that it has been approved, downloaded, virus scanned, and is available from the internal repository. I think the HTTPS proxies necessary to reach the outside would block the communications necessary for Copilot to work.
- Gigachad 4y agoWe have companies literally taking the whole Linux kernel and not following the license out there. There is no way the legal system gives a shit about AI generating the same textbook degrees_to_radians function. Copilot never generated anything for me that would justify any kind of copyright.
- BeefWellington 4y agoConversely, we have Oracle suing Google successfully for billions over function and property names. Eventually the Supreme Court overturned the result but how many businesses want a fight that expensive? It'll be highly dependent upon the type of output it generates. I've played with it again recently because of the updates around disabling open code and such, and it still strikes me that it's not worth the potential risk. Even setting aside the "could I get sued for this" question, the value just isn't there; half the time functions are just poorly written, inefficient, or buggy. For very simple actual math stuff (e.g.: a function to replicate any moderately complex spreadsheet function) it seems to work well. It seems to really struggle with common boilerplate stuff like simple HttpServer in Java, Flask blueprints, and so on. It may be bias due to the projects I've worked on, but I don't do a lot of my own implementations of calculating compounding interest rates, incredibly simple array slicing, or testing if a given number is prime.
- iostream24 4y agoYou mentioned Supreme Court, and I feel obligated to point out that one can literally now no longer speculate on what odd judgements they may now hand down. They may find that SCO owns Linux for all we know… vote. Yesterday would have been ideal, but moving forward, remember to vote and remember which party hates common sense
- justin-tm 4y agoYeah, but that still feels like an edge case compared to the hundreds of small software assets produced by companies every day. In most cases those things don't even have the potential to get to an "Oh god we pissed off Oracle" size
- mcbuilder 4y ago> Rather than conceal the licenses of the underlying open-source code it relies on, it could in principle keep this information attached to each chunk of code as it wends its way through the model. I don't know if the author understands how these transformer models work, but this would a impossible task in Byzantine complexity. The way these models work is by outputting a probably distribution of likely "token" embeddings given an input prompt. The output involves basically inverting a word2vec (probably beefed up with programming language keywords and other bells and plausible search techniques I don't have access to the details of). This model was of course trained with real code, but you can't attach to the output any meaningful information from the gradient you get from the sample. It's a very messy computation to even think to write down (attaching a percentage that 1 training example affected 1 particular output), much less come up with a simple interpretation of.
- mnd999 4y agoThe model itself is a derivative work of GPLed code and thus should itself be open sourced. Granted by the time it’s spat out it’s probably an unreadable binary blob but it would be nice to have access to it for GPLed projects.
- mbreese 4y agoI’m not sure about the vitality of GPL here. Assuming the generated code does not exist and is not part of the training set (these are two giant caveats), how would this be different from me reading GPL code to learn how to do something, and then rewriting it in my own words? If I have not copied, but learned from GPL code, is my new code GPL? No, it’s not a derived work in terms of copyright. Am I standing on the shoulders of giants? Yes. But so long as that concept is expressed in a novel way (not just changing variable names), then it isn’t a derivative work. I haven’t worked with copilot at all to know how verbatim the results are, but it is theoretically possible to train a model with GPL code and not get GPL code generated out the other side. (Again, here be dragons).
- jen20 4y ago
- eterevsky 4y agoI've seen estimations that verbatim copies of training code constitute around 0.1% of the code produced by the Copilot. It would be relatively straight-forward to implement a verification step that would remove this code. I would be surprised if it hasn't been done already. With verbatim code copies out of the way, I don't see any basis to consider code produced by Copilot copyrighted. So unless you have some problem with the fact that portions of your code will be public domain, I don't see any reason not to use it. And one more thought. The author gives an example of using Copilot to list prime numbers. That's not a good use for it. Copilot and similar systems are primarily useful for writing boring boilerplate code, saving your time for more involved parts.
- withinboredom 4y agoI vaguely remember that generated code can't be copyrighted either. So you end up with code that you can't even own and some you can? How does that work?
- _gabe_ 4y agoThis doesn't sound like it would be possible. Depending on how strict your definition of generated code is, it would be impossible to copyright any compiled code. If you have a looser definition, I don't see why you wouldn't be able to copyright code that you generated by using Unreal Engine's blueprint to C++ utility, or any other tool that assists in transpiling code. 99% of the web consists of transpiled JS these days.
- withinboredom 4y agoThere's a difference between "generated" and "processed/transformed through a process". The fact that the chemical composition of paint changes as it dries does not change the art.
- _gabe_ 4y agoAccording to Websters, to generate is: > : to define or originate (something, such as a mathematical or linguistic set or structure) by the application of one or more rules or operations[0] Creating something from the application of rules or operations sounds just like what a compiler does. Whereas to process something is: > : treated or made by a special process especially when involving synthesis or artificial modification So if anything it sounds like you're asking if processed code is copyrightable. But this is just quibbling over pedantry. My original point stands. AI is just following a predefined set of rules to transform your request into code. It's a program, just like a compiler is a program. So it would be really hard to say that AI generated code is non copyrightable, but compiler/transpiler/fuzzy generated code is copyrightable. [0]: https://www.merriam-webster.com/dictionary/generate https://www.merriam-webster.com/dictionary/generate [1]: https://www.merriam-webster.com/dictionary/process https://www.merriam-webster.com/dictionary/process
- readthenotes1 4y agoNever fear. Copilot will hire a passel of lawyers not long after it's declared sentient (by some lawyers)
- deleted 4y ago[deleted]
- withinboredom 4y agoI don't know why the title is editorialized here … but the actual title of the article "THIS COPILOT IS STUPID AND WANTS TO KILL ME" reminded me of a Tesla holding the left lane of the Autobahn and only going 100 kmh. As I passed them on the right (totally illegal maneuver on my part), honking my horn, and saw the driver reading a book; I wondered how long that "driver" was going to live before being rear ended by someone doing 150-200 kmh. Maybe all AI secretly wants to kill us.
- gus_massa 4y ago> I don't know why the title is editorialized here … I saw the post some minutes ago and it was with posted with the original titles. I guess the mods changed it. The part about wanting to kill the writer is an exaggeration. It's usual to changed it to the subtitle or a relevant sentence, but without too much cherry picking (the last part is not very clear). Someone made a tracker to for these changes https://hackernewstitles.netlify.app/ https://hackernewstitles.netlify.app/ HN discussion https://news.ycombinator.com/item?id=21617016 https://news.ycombinator.com/item?id=21617016 (366 points | Nov 23, 2019 | 94 comments) Most of the changes make sense (if you forget the infamous case of the asteroid/rocket part).
- iostream24 4y agoOne need not even go so far as AÍ, my mobile phone tries to kill me on a daily basis. Both brands.
- mrfusion 4y agoHow about any company that’s worried about it’s code being copied submits a copy for copilot to check against. If copilot generates any of that code it just doesn’t output it.
- ntoskrnl 4y ago"Enter your social security number on our site to check if it's been leaked!"
- yencabulator 4y agoForm handler response: "Yes"
- chrischen 4y agoI've been using Copilot during the beta and it's been absolutely amazing. That being said I mainly rely on it to autocomplete the rest of the line only, and it works great as a fancier auto complete. I can't imagine it being a copyright issue for this use case because the completions are what I would have written anyways. I'd probably never trust it to write a whole block of code implementing something and I think they definitely should add a feature to disable that because autocompleting only lines of code is just as useful. It works even better in languages like Haskell or Ocaml, where often there is only a couple ways (often only one way) valid code could be written once you type part of it out and if it does spit out invalid code you get an instant compiler warning.
- throwntoday 4y agoPersonally I hate autocomplete. I've had peers that were shocked I prefer to type everything out manually, and my IDE is essentially a text editor with syntax highlighting. To each their own of course, but I find the increase in productivity very quickly becomes a crutch for just remembering things.
- chrischen 4y agoThere are 3 ways autocomplete can be used: 1) As automatic documentation in a well-typed application. Autocomplete shows you the public properties or methods available based on what data you have started typing, and it's not guessed but guaranteed to be valid assuming your types are correct. 2) As dumb autocomplete, where it just tries to guess based on the symbols in the document, and save you some keystrokes/remembering. 3) As the Copilot style autocomplete where it will finish the entire line, and not just the next token—with the downside that it's really just guessed. I can see where 2 and 3 can be avoided, but 1) is really invaluable and often almost required in some strictly typed languages. I remember the days of writing PHP where I had to google for the function signatures every time because of inconsistent naming, and lack of typing. Memorizing these things is honestly a waste of a programmer's brain space. But now that I write exclusively in typed languages, auto-complete in the form of 1) has been invaluable not for the purposes of remembering names of things but being able to see what functions/methods are valid and can be used. No need to look up documentation manually anymore.
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- eduction 4y agoI find it extremely funny that programmers are upset that their own work is being used as fuel for the same kind of software exploitation that they have, as a group, gleefully and with little regard for the moral rights of creators inflicted on others. When it was books, films, videos, news articles, journal articles, blog posts, photographs, extremely private personal data, music, art and other creative works being hoovered into the giant AI exploitation cloud in the sky, and non programmer creatives complained, they were generally labeled as luddites, trolls, whiners, maladapted (“learn to code”), and just generally ignorant worthless trash. Now that it’s happening to you oh boy do you care.
- Gigachad 4y ago
- analog31 4y agoIndeed when it was recorded music, the musicians were the ones being blamed for having "the wrong business model" or an inconvenient distribution mechanism.
- langsoul-com 4y agoEvery group cares about their own interests first, whilst everything else is just progress.
- metalrain 4y agoI don't really mind copyright at all. But I'm worried automation tools take away my (false) sense of control and the art of coding. Why care about variable naming since AI will generate most names anyway, why care about common libraries if you can always get good implementation for specific use case in a second or two? I know these small details don't matter in the big picture, code exists to do something and if it does, it doesn't matter how it was made.
- BeefWellington 4y agoThe library point is especially instructive IMO. Copilot introducing "learned" security issues, for example, is a problem separate from the copyright risk. Currently, it's often a matter of updating a dependency to patch things away. How do you do that when you barely understand the code it helpfully generated for you? People will jump to say "well that's using it wrong" but the reality is if you allow this in your org people will use it this way.
- _7bxa 4y agoIMO, all these concerns about licensing ignore a pretty important fact: Copilot is (in most cases) no different from a human. If I read the code for, I don't know, some GPL-3 library and then write my own MIT-licensed version--that's totally fine. A programmer can read strictly licensed code and then use that knowledge to write their own non-strictly licensed code. Copilot is not different from a human. It has knowledge & it uses it. It isn't copy-and-pasting (there are 1/2 edge cases where it is; but for the most part it's new ideas). It's the same thing as saying "Dall-E 2 is plagiarizing art". When I write a quicksort algorithm, I don't give any attribute to the code I saw for the algorithm in some random library. Fundamentally, there's no real difference between Copilot and a human. I've watched Copilot write crazy lodash one-liners that were clearly contextual to my code. I think what is fundamentally happening here is that older people / people of the last generation are realizing that just as sys admin jobs / etc. are going away, soon many rote coding jobs will be taken away since Copilot will automate them. And that's fine, but it is producing backlash which comes in the form of licensing issues. Basically, there's no difference between Copilot and Dall-E and it's pretty clear that Dall-E has no licensing issues, thus Copilot should also be in the clear.
- kixiQu 4y agoWhy do you think it is clear that DALL-E has no licensing issues? Determining what art is ripping off what (to a legally meaningful extent, not cutesy "great artists steal" bullshit) is not at all clear cut, even before automated transformations get involved.
- Gigachad 4y agoWhat we are discovering is that copyright is largely bullshit. 5 line code snipets shouldn’t have any copyright. Copyright should apply to large and whole pieces of work only. The whole of a painting should be copyrighted. The style and technique should not. Same for code. Windows as a whole should have copyright. The snipit that handles a mouse click should not.
- williamcotton 4y ago
- throwoutway 4y ago> On the one hand, we can’t expect Microsoft to offer legal advice to its zillions of users or a blanket indemnification. On the other hand, Microsoft isn’t sharing any of the information users would need to make these determinations. Should someone ask a senator's chief-of-staff to send a strongly worded letter (on behalf of the senator) to ask Microsoft to publicly answer these pressing questions? We're several months in and the silence is deafening
- throwaway675309 4y ago"Notably, Microsoft doesn’t claim that any of the code Copilot produces is correct. That’s still your problem. Thus, Copilot essentially tasks you with correcting a 12-year-old’s homework, over and over. (I have no idea how this is preferable to just doing the homework yourself.)" Sidestepping the whole license violation issue, using GitHub copilot is the equivalent of using an IME to type Chinese - I may not remember exactly how to write the character but I'll quickly recognize it when I see it. It's the difference between being able to write traditional Chinese versus the ability to read the characters. Anytime that I don't have to context switch and alt tab to look something up on MSDN or in Stack overflow is an absolute freakin win for me as a developer. It kills me that people can't seem to comprehend this.
- workingon 4y agoYeah, maybe for 10x types it’s different but for normies like me checking code is 10x faster than writing it.
- taneq 4y agoEspecially when 90% of code is either glue or boilerplate, and having something semi-intelligently suggest which API calls to use and how to structure a call to them will save you most of the time you'd otherwise have to spend dredging through documentation and/or stackoverflow. One of the hardest things to come to terms with as a budding young software dev is that most real world code is as wide as an ocean and as deep as a puddle, and the occasions where it's harmless (let alone actually helpful) to be clever are few and far between.
- 2c2c2c 4y agoit's basically just an example of dan luu's developer velocity article.
- Gigachad 4y agoI found that the code copilot generated was so close to correct that my skim reading saw it as correct but it usually wrong in the smallest details with mistakes I’d never make myself. That’s more just a product usefulness complaint rather than any kind of ethics. If it’s working for others, that’s good.
- teaearlgraycold 4y agoOr, foolishly optimistically, we might reach a Kleenex-like state for all software published on GitHub. The destruction of software IP. A man can dream.
- fgsdfgsdfg 4y agoSingularity is this, it is about scale, not about radical technological changes, which are ocurring, but they're just the means for an end: scale up things, radically faster than any human scale can sufficiently fastly adapt: attention span, legal times, resources quotas available, etc. So yeah, most complains are quite right, how you enforce them? You could go against, maybe 10-50, but you'd still have the rest of the planet full of non-complainers (the more popular, good, efficient you code was at the moment Copilot learnt it). So the problem isn't what's right or wrong, but it is that short of shutting down Copilot, most of the alternative solutions have no enough impact, not even close to the change Copilot is creating right now, How singularity begins? It could have already started.
- ShamelessC 4y agoWhat?
- da39a3ee 4y agoJesus christ people here are boring about Copilot. It’s amazing! It works fantastically well. It’s good not to keep it on all the time, because that gets distracting, but in certain circumstances it’s genuinely useful, and always impressive to see the way that it is not regurgitating, but has a real knack for producing uncannily apt code taking in multiple details of the local context. It’s a radical advance; a qualitative leap forward. The tedious idiots who miss all that, can’t appreciate the quality just because it comes from a mega corporation, and have spent the last year blathering on about how it is “just copying public code” are mean-spirited, ungracious, jealous, luddites.
- fxtentacle 4y agoI believe the solution is obvious: don't store all source code in a central place where it can be harvested automatically. I.e. don't use GitHub.
- tpoacher 4y agoIt means that sourcehut is suddenly an even more attractive option! And that a lot of github's autofills will read "please see my sourcehut repository for details"
- williamcotton 4y agoIf this is the viewpoint of a lawyer, where is all of the discussion around the idea/expression dichotomy? How about Abstract-Filter-Compare? No references to case law? No breakdown of the different forms of IP?
- prohobo 4y agoEthics and scrutiny of downstream effects of technological innovation - something we as a society continue to pretend is not important, even as it destabilizes the entire god damn planet.
- vlthr 4y agoI have a really hard time understanding what future world this article (and other detractors) is arguing for and why that world is made better by taking their arguments seriously. On the practical level I agree with the part advising caution to those that might end up embedding an identifiably licensed snippet in their codebase via copilot. I also agree that copilot users plagiarizing significant chunks of GPL code for profit is immoral. This needs to be prevented. I also share the frustration stemming from big companies leveraging their disproportional access to data and resources for profit given that the greatest value of these models is precisely the open source code it is trained on. Ultimately though, what I care about is the potential for building better tools. LLMs potentially offer paths towards genuinely new forms of human-machine interaction, and I don’t want that exploration to be suffocated by legalism.
- overthetop2 4y agoIf one believes in the rule of law, surely it can't be true that Microsoft (and others) should get to enjoy all the benefits of intellectual-property laws (when convenient) and other times steamroll them (when convenient). Wealthy corporations are never going to be "suffocated by legalism" — they can afford to do their research privately. (And many still do.) The issue here is that Copilot is being foisted into the agora seemingly without sufficient (or maybe any) scrutiny of its legal consequences. More broadly we are seeing a norm emering where there is so much hype chasing AI that these wealthy corporations (see also: Tesla, of course) have a huge incentive to push their experiments into the public sphere prematurely, simply to assert their primacy. BTW this technique of front-running regulatory scrutiny can still backfire. If the initial public experience with an emerging technology is sufficiently bad, it can poison the acceptance forever. IOW, you can be suffocated by your own hubris faster than any external legalism.
- vlthr 4y agoI’m definitely not worried for Microsoft or the other big tech companies developing copilot-like products. To the extent that legal blowback focuses on issues that are both impactful and solvable (e.g. plagiarizing non-trivial snippets), they should be held to a high standard. Your point about the risk of poisoning the public’s acceptance of these technologies also resonates with me. What worries me the most is the effect the public backlash towards these big companies can have on smaller actors that could enter this space in the near future. In the past we’ve seen open source projects like GPT-J come together to fund and reproduce closed models, and if we’re not careful to be nuanced in our criticism of big-tech frontrunners we might end up poisoning the waters enough to deter small actors without a dedicated legal team. Copyright law is ultimately designed around humans as the only kind of actor. In an ideal world we would sit down and think about the way non-human learners should fit into this system and the balance of tradeoffs we want those laws to aim for. I hope that happens someday, but until then I hope we can cultivate a world where small actors are able to experiment with these technologies without fear of legal action. That’s why it bothers me to see people arguing that language models should be thought of like human programmers making derivative works, even suggesting that we should require attribution for all generated outputs (i.e. the entire training set, always). That helps nobody, except of course big companies with infinite manpower.
- twawaaay 4y agoGet couple lawsuits for individual pieces of code used without attribution and pretty much every large company will instantly ban Copilot from their development process.