And in reality 99.9% of the generated code has no long ngrams in common with the training set, it's already original. All they need to do is to enforce never to generate data identical to the training set, something that can be implemented with a bloom filter, then the generated code is impossible to attribute and should have no legal problems.
In the end what do models like Copilot do? They act like culture - absorbing and replicating memes. They free the knowledge and make it reusable. They can act like a general purpose NLP tool for information extraction, classification and text generation. You can implement your ideas faster with it, don't need to label much data.
It works even with just a prompt. Try OpenAi Codex to extract a receipt to see what I am talking about - it gives you the output in JSON. It's a new tool and a new interface to the computer. There are going to be plenty of open source implementations as well, some are already under training.
And offers nothing back to those authors in return.
The issue is consent of using people's code as input and paying nothing back.
Also the parent comment is substantially technically wrong on a number of points, but feel free to use it as validation for yourself.
I want every line of code I've ever written to be used as much as possible.
I find "intellectual property" to be dubious to the core. I'm not confident enough in my feelings to be a zealot, but if I had to pick sides then I know which side I would pick.
Other people use licenses that try to create a commons where if you want to use it you need to share your own code, as a counterpoint to the non-commons in which you can't use code at all. And if people use those licenses, they should be respected as well.
By all means, eliminate copyright, and let all code be copied freely. And until that happens, as long as proprietary code exists and doesn't let anyone copy it, respect copyleft licenses as well.
The value transfer is basically theft.
It isn't about the usefulness of the service, or even that something similar is a good thing ... it is about the execution and what it says about fairness for those that worked to create the data it depends on to produce value.
Your musical example is playing out in the courts in multiple forms. The Marvin Gaye case, Led Zeppelin, Katie Perry etc.
And each case pushes me further towards wanting to rip down the whole rotten edifice.
We've lived through 4 or 5 decades of unprecedented expansion of the domain to which IP lays claim. Surely it's time for the pendulum to swing the other way?
AI isn't being inspired or creative, it is mass scale and mechanised bootlegging.
To compare it to human inspiration is naive or wishful thinking.
Every time we use courts to enforce IP we're strengthening the Walt Disneys and Nintendos of the world.
(I accept I am in a group of like 3 people with this goal but it's my view)
Edit: to expand slightly more on this. People should be able to decompile/reverse engineer whatever the hell they want. They shouldn't have to worry about armed goons kicking down their doors. Every time cases are used to strengthen the enforcement of IP/licensing, whether for the light (FSF) or dark (Micro$oft, Google, etc) the outcome is the same, we move further from that goal.
Completely agree with you. It's the 21st century, once data has been published there is no controlling it anymore and all attempts to do so lead to the destruction of computer freedom. No doubt people all over the world copy code every single day with nobody even finding out about it. I'd rather get rid of all these monopolists than limit the potential of computers to whatever reality enables them.
>I accept I am in a group of like 3 people with this goal but it's my view
Now we're four.
Can you actually point to substantial examples where Disney or Nintendo benefited significantly from a precedent set by an open source court case? Open source has been around for decades, so it should be trivial to find numerous clear-cut examples at this point... if your theory is actually correct.
If there would be no enforcement of IP/licensing or legal enforcement - M$, Google etc. would not be nice - they would just come over and kick your doors cut your head off because they could do so. With legal framework they at least have to ask someone else.
You just have to understand you don't stand a chance with your 3 buddies against 10 motivated attackers.
Writing about "accepting terms of dominant party" you clearly never had a robbery at your house - imagine now corporations doing the same when there would be no legal frameworks.
Read up on Dutch East India Company - or just Nestle - Microsoft or Google are still quite nice companies with Walt Disney and Nintendo.
There's quite a lot of possibilities between DMCAs of youtube-dl repositories and Big-co death-squads decapitating people in their homes. I'd prefer where we are now to the Brazil end of that spectrum but we can imagine better models of digital and intellectual 'property'.
I agree that people should be able to decompile/reverse engineer whatever the hell they want.
And if armed goons (whether goverment or if they are Microsoft or some company) kick down your doors, then they should be arrested for trespassing.
As long as copyright exists, copyleft should be respected.
Software Developers seem to be the most whining profession in the world and I despise this attitude (while being a developer myself)
That “licensing hell” (i.e. strong copyleft protections) is the reason we enjoy such a vibrant and large open source community today. I don’t take it for granted that open source as we have it today was inevitable: it required a lot of work and I’d hate to see that slip away.
And all those "you can do this, but you can't do that" licenses are things that only invite lawyers to the tech world. IMHO, licensing open source is a bullshit activity.
$10/ month ... how much to you think this thing cost to build, and to maintain?
If that’s fine and dandy, Microsoft should also train Copilot on their source code repositories, so we can use that knowledge, too.
I guess you have the right to do this, but it doesn't mesh at all with why I personally contribute (without any expectation of attribution), which is that (much like stack overflow), programmers mostly agreed awhile ago that it's just easier if we all share.
So much of what's wrong with the modern economy comes down to seeking rent on an idea that should just be public knowledge.
Sorry if my viewpoint towards your work is apathetic, but the whole field is already infested with academics who only understand citation as a useful metric. Further, the point remains that anyone with enough money could do this - not just Microsoft (Salesforce has released several models for python competitive with Copilot). Times are changing - maybe don't share code anymore? I imagine in ten-twenty years this whole conversation will seem pretty petty though when your entire program is trivially recreated from its GitHub description without ever needing to have seen it in the first place.
Most "coders" don't publish anything if they don't have to. Using proprietary code is an even worse pain in the ass because you don't have access to it.
The point of the GPL is to force people to share their code.
>which is that (much like stack overflow), programmers mostly agreed awhile ago that it's just easier if we all share.
>So much of what's wrong with the modern economy comes down to seeking rent on an idea that should just be public knowledge.
The entire point of the GPL is to force e.g. hardware vendors to share their driver code under the GPL or any other opensource license to be included in the Linux kernel.
>Times are changing - maybe don't share code anymore?
The entire point of the GPL is to force people to share their code.
> I imagine in ten-twenty years this whole conversation will seem pretty petty though when your entire program is trivially recreated from its GitHub description without ever needing to have seen it in the first place.
What the hell are you talking about? If that is the case then why did humans ever bother with extensively documenting and testing their software if three sentences are enough to encode it? Your perspective is particularly annoying because copilot isn't learning to write its own code, it's entirely reliant on an army of unpaid software engineers publishing code on the internet. If it knows how to recreate a project from just the GitHub description it basically just had the codebase inside its model to begin with and merely pretend that it did everything on its own. That is actually a form of rent seeking.
Was just hyperbole for "from plain English specs/requirements".
I'll admit to being uninformed about GPL, but your understanding of large language models is also limited. They actually learn to interpolate between data points meaning they can compose sequences not found in the training data. Further, GitHub added a feature that checks existing code for a match and rejects predictions if any match occurs.
This derivation brings GPL in, and the model doesn't understand this. As a result, every time a GPL training data is mixed into the interpolation, you're converting the code GPL, or if you're not converting your code to GPL, you're violating GPL.
It's plain and simple.
On the other hand, I'm hearing "we'll write the specs, and computer will just auto-generate it" gospel since 2002. This time it won't be different. Human brain, intuition and creativity is beyond algorithmic modeling.
So, no, computer will not autogenerate the code from specs. It might link boilerplate together, which can be already done today.
There are better ways to gain notoriety as a coder than by essentially legally requiring your name is attached to a thing for all time.
I personally would be thrilled to know my work was valuable enough to be used by a company because I really just couldn't care less that about the "credit" part of it. I know what I've done and don't have anything to prove.
> Why you want to release code to the public at all if it isn't simply a donation to all human knowledge.
On the contrary. I donate my code to all human knowledge. Just not to corporate's private code corpus. I intend my code to be open to all humans to run, study, modify and share, forever. I don't give you the freedom to take it to a closed domain, and not share the further knowledge you derived from my code. If your primary intention is to return this knowledge to human kind, GPL is an enabler, not an hinderer.
> I personally would be thrilled to know my work was valuable enough to be used by a company because I really just couldn't care less that about the "credit" part of it. I know what I've done and don't have anything to prove.
I personally don't care whether my code is good enough to be used by a company. If I want to contribute code which can be used by a company, I can contribute to MIT projects (which I also do). I don't have anything to prove.
I release my code with the hope it'd be useful for somebody, and I don't want it to be included in any permissive or closed source base. Doesn't matter it saves your beef for today or not. That's not my problem. Go write a better one, then. I don't care.
If anyone contributes to a GPL software, they're clearly attributed. Moreover, Git makes this attribution irrevocably visible. Before that patches were sent in with mails, and mailing lists were open, so attribution was also visible back then. So, no, GPL makes attribution visible, and irrevocable, by design.
GPL doesn't seek rent over any idea. It forces ideas to stay open, forces you to put your improvements back in the open. You'll be attributed, your code will be in the open all the time, and nobody can grab and run your code and hide into its software to make any kind of unjust profit, which makes "Open Source" coders visibly and literally wince and cringe, because they can't grab and paste a piece of code and make their days easier.
Again, this is by design.
Sorry if my viewpoint towards your view is apathetic, but the whole field is already infested with programmers who only understand being able to copy and paste code left and right to develop software as a useful metric.
It's not about Microsoft, it's just about being honoring a license. A case-tested, lawyer written, trusted license which many developers chose for licensing their work. It's a breach of contract, plain and simple.
As I said elsewhere, some of the code I'm writing is backed by papers. I don't obfuscate my papers to prevent anyone from implementing it, but if I open my reference implementation as GPL, this is because I don't want someone to grab it and run with the code, change it a little, put into a closed source program and call the idea theirs, possibly patenting it in the process.
I have a serious piece of research, my Ph.D. actually, and I'm still developing the code powering the whole idea. I was planning to open it under GPL license, to force its evolution in the open, but I understood that people don't appreciate that. So, probably I won't open the code. Binaries maybe. Highly obfuscated, protected binaries, probably.
The argument has 2 main flaws
1- It's not symmetric. The massive corporations with paid armies of lawyers aren't hugging trees and talking about how "Knowledge is - like - just free, man" with dreamy eyes, I would love if they were like that but no. They are constantly on the lookout for anyone remotely using their work. They don't deserve the language of free knowledge and open data, that would be like extending peace to an invading army, or defending a tyrant with the lingo of free speech. He Who Lives By The Sword Dies By The Sword.
2- If the person(s) behind the data or the code lives off their intellectual labor, you are ripping them off by using it without compensation. Sometimes the compensation is as little as simply citing them, just mention their names so that they get visibility and prestige they deserve for toiling in the intellectual field to produce the ideas and brain patterns you use and benefit from.
The whole thing is a huge mine field, digital reproduction of information and abstract structures is an extremely novel phenomenon that breaks tons of human intutions about how ideas and thinking work and spreads. But the involvement of a corporation allows you to shortcut the entire thing by invoking (1), also known as the fundamental theorem of ethics : Do Unto Others As You Wish They Do Unto You. Do corporations allow you to freely take and mix their intellectual produce and sell it back into them ? No ? then they DON'T get to do that either, except maybe among themselves.
What I find strange is how nobody talks about how inherently repulsive and ugly the "Copilot" philosophy is, how it is fundamentally a dead end and how much it betrays a lack of understanding of how programming works on part of those who fund and market it. Code is different from natural language, the fact that we call the symbols we write algorithms in "Programming Languages" is purely a historical incident. Code doesn't have the redundant resilience and error-correcting properties of natural language, removing or modifiying or adding even a tiny bit to correct code can give you atrociously-slow correct code, or full-of-security-holes correct code, or non-correct code, or any of the 3 mixed together with other disasters. If you're going to steal people's open source code, at least do somthing interesting and intelligent with it, don't be a lazy fuck and apply an NLP technique to a highly formal and rigid domain then smile smugly and charge people for it as if this going to end anywhere useful.
I consider the $10/m as a donation to the microsoft legal defense fund to allow free access to accumulated knowledge.
I'm all for a world where these tools help developers, but i'm not here for a system that isn't open. I want to own my tools.
Copilot is a bit like musicians paying a monthly fee for access to a loop library. Except all the loops are rip-offs of other peoples hard work and there's no effort to compensate them.
If I made an AI that resampled music into derivative tracks ... you can be damn sure i'd be sued until my ears bled.
the analogy works if there were an open access library of music (restricted licenses tho they may be…) that was available to search and browse without the tool
then an auto-composer could suggest music to fill in gaps in my own composition, using snippets of audio from the otherwise freely available library
that's a plug-in I would pay for too, but yea if my "no commercial use allowed" melody made it into someone else's composition, I would want my license terms to be surfaced to them as well
except I personally wouldn't want to live in a future where every line of code has to have some claim of "who authored this function first" or "who wrote this melody and rhythm first", pursuant to licensing terms in perpetuity. that sounds terrible.
Making the tool better without verbatim copying and making it more effective should be the priority, IMO. Trying to control it too much would be missing the point of the tool.
Except all the loops are smaller pieces of larger loops which you as the developer than mix together in new ways to create your application. FTFY.
They should be compensated.
Given Microsoft's record of persuing IP violations aggresively through the legal system, I'd say the whole thing is ironic.
Yes but this copilot model takes that, adds value and doesn't itself join the public common good. Instead it takes it, and makes you pay to have it back in another form.
If copilot were open source and the model released for the public good, being built of public data (in your scenario) we would have a very different conversation.