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.
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.
Until that happens, and copyright protections are still used by larger entities, using the same system to protect yourself and (more importantly) your users isn't turning your back on your ideals, but instead simply adjusting your strategy to the current material conditions. Remember that Google v. Oracle (while ultimately a win versus what could have been) was a step back, with de minimis claims left on the table as not a valid defense. The play field is heavily slanted towards the big players and software freedom requires every tool it can put it's hands on at the moment.
As someone else asked, I would also want a citation, but I agree.
Actually, I want a license that you can do pretty much anything you want to do with it (including: lack of attribution, distribution without source codes, distribution with source codes (whether they are the original source codes or reconstructed), lack of copyright notices, reverse engineering, circumvention of your own copy and write reports about anything you want to do, to use or not use the software (and to modify or not modify) at your choice, etc), but that you are not allowed to add further legal restrictions to it (with a few exceptions dealing with trademarks (but not all) and allowing conversion to GNU (A)GPL 3 and CC-BY-SA 4.0 if you are able to satisfy the conditions of those licenses) or to derivative works, and that if someone will try to use legal processes against you relating to this, then anyone can countersue.
I think at its root the problem is copyleft is a mirror image of copyright. It relies on and replicates all the cultural and legal requirements and constraints of the copyright model and curtails an imagining of other possibilities. Every sentence or thought spent on copyleft is misdirected in my view.
Which is why I find Microsoft doing this (potential) en-masse license violation and then a bunch of GPL folks getting mad pretty funny overall. I just find the high and mighty tone annoying, like sure, they've (allegedly) screwed you, but they're going to (theoretically) get away with it because they're rich and powerful, sorry that didn't turn out how you wanted.
That is the (only)point of copyleft. If it weren't for copyright it wouldn't exist. Fight fire with fire, that sort of thing.
Do you have a citation? I was under the impression he defended copyright because copyleft depends on it.
This is my feeling as well. I don't build stuff in the open so that I can get bent out of shape at someone not properly licensing it. It's in a public repository, FFS... I assume that if anyone even notices my repo, that they may copy/paste a few lines out of my solution if it helps them.
This isn't just an issue of code. You can write a program that combines songs, or combines novels creating a different work that has sections that are essentially the original protected work. I don't think the authors of those novels are going to be OK with you selling or giving away a version of their work just because an AI edited it or combined it somehow.
The mechanised license ignorance and the way original authors are not compensated is the issue.
If you had a repo you'd worked really hard on, and offered a commercial license or GPL depending on the use (so you can be funded to work on it) ... do you think it is fair that copilot ingests that code and allows others to benefit from your work and knowledge without the commercial license as you intended?
Note how Microsoft always throws out the capitalism "rules of engagement" when it benefits them and undermines everything else. The fact we are even trusting the situation Microsoft are creating is dire, and speaks to the short memory of our industry.
See: https://twitter.com/mitsuhiko/status/1410886329924194309
If an AI takes a copyright work and makes its own version-- say combining two novels by popular authors in a way that is unique but keeps large parts of the text intact, can I sell that? I think if I were the authors I would be unhappy.
Also, how hard would it be for copilot to include a comment saying "// I got this line from x repo" when you are copying from a new repo? I am guessing not hard at all. Then at least the user would be aware of where their code was coming from and could be expected to make a judgement. If the line is "let a = b" then probably no worries. But if it is hundreds of lines of a simulation, all from the same repo with no changes, then I think some attribution is good for both parties.
Me too. I also find three iterations of the same subject not enough discourse. We need to take this matter more seriously.
> But it has made me realize why I instinctively dislike Free Software as a movement.
On the other hand, this whole discourse reminds me why I absolutely love Free Software as a movement.
> Copyright and licensing are bad, actually.
This is why we have "Copyleft".
> Stop getting into a frenzy of arousal about the police kicking down doors to drag Billy Gates to jail because 80 characters of fast square root is theft but 79 isn't.
And, stop getting into frenzy of arousal about being able to use any and every code piece you see elsewhere in any project regardless of its license.
> Where on earth is the ambition and vision!? Knowledge is public domain. A commons of knowledge is a public good. The cost of code copying is zero.
This is why GPL is important. It forces knowledge to evolve in the open, stay in the public domain and help it actually makes public good. It also doesn't hinder ambition and vision by not taking it to private domain, and keeping it open to everyone.
> Sure in our day job we have to pretend to care about this stuff. But when did the ideological scope of what can be achieved become rules lawyering over license text.
You might be pretending to care about this in your daily job, but we really care. Some of the projects I take part can't ever include GPL code (because the projects are MIT licensed). These texts are court-tested licenses, so they're as proper and serious agreements as the EULAs of "particular" software companies.
> Copy my MIT licensed code without attribution? I don't give a shit, go ahead, I hope it helps, in fact I want a truly public domain license but copyright law is so hostage to corporate interests no such thing exists in many countries.
If I want my code to be copied and possibly closed, I'll license it with MIT or BSD-0 and forget about it, but if I'm licensing my code with GPL3, it means I want that code to stay open. As a license, I expect anyone using that code to respect that license.
> Free the code.
Yes, and respect the license the author selected for his/her code.
> This is why we have "Copyleft".
This. Exactly. It's suprising how many developers have strong anti-copyleft/anti-GPL opinions while being completely uninformed on what they're talking about (but hey, I guess "uninformed but strongly opinionated" is HN in a nutshell). The purpose of GPL and other copyleft licenses is exactly to combat the insanity of intellectual slavery.
And I can't because there are a bunch of, for want of a better word, dweebs who care about this stuff. I don't give a single solitary frick about the finer points of MIT vs GPL vs BSD 3 clause vs CC-BY-NC or whatever-the-hell. But y'all are forcing me to care by making the legal frameworks for software ever more strict and confusing.
I take a maximalist view, don't want the code copied, sliced up, re-used in any form whatsoever with no credit? Don't post it on a code sharing site. Like I say in the OP, in my job I obviously have to follow the rules, but on an ideological level I'll ignore them where I can get away with it outside of work.
If you don't want the code to be used, don't post it online,
First to be flippant the idea of a software developer with that view sounds so unbearably insufferable and full of themselves I hope never to meet one. All code is terrible, be less attached.
Stream of consciousness: Should artists or writers be paid for what they produce? Yes. So why not software developers? I'm paid for what I produce. But then I don't release the stuff I'm paid for for free on the internet. But I'm against DRM, I also think Winnie the Pooh shouldn't have IP protection (now expired). What makes art or literature a different commons from software? I also think all scientific journals should be available for free. Do artists and writers have an alternative route to make money from what they publish, what is the artistic or writer equivalent of open source? I think this is the crux of it, if we're going to do open source let's actually do it and stop being precious about it but this only applies to freely-entered open source. So does that mean I support some form of copyright after all? Then again some old out-of-print books will sell for Amazon for like $4000 so we should be able to copy those for free.
Ultimately it's a question of what a vision for society without copyright would look like. I think software is uniquely placed to start exploring that idea. How would we make a living of software if anyone could reverse engineer (even our proprietary) code freely and safely?
I definitely agree that copyright protections have become far too strong but I don't think we can really ever know if we would have be able to build the strong open source community we have today without coopting the copyright system for copyleft protections. At the same time, perhaps we are past the point where it's necessary and now it's holding us back... it's entirely possible!
To the first thought, I personally see some coding as a creative act (some is doing _a lot_ of work there though). It's not because I fancy myself a Picasso but because I think some (again, doing a lot of work!) solutions/ideas have a bit of their creator in them and, for those works, the author should be able to exert some control over their works. I think this is more philosophical than legal/political, but I would disagree that its flippant :)
I don't think users owe me anything at all. If people want to PR back that's cool but if not that's cool too.
I think this sentence contradicts itself.
A "license" implies that there is a copyright holder who allows usage of the work under the terms of said license.
While "Public domain" implies that there is no copyright holder (e.g. because the copyright expired, was explicitly waived, or is for some other reason not applicable).
If you want to put your work in the public domain, you can do so; simply include a note saying that you dedicate it to the public domain.
I just want people to be able to take my code and do whatever the hell they want with it (including commercially) and optionally contribute to it. Having a license currently makes that easier but every time the Free Software lot going zooming off into the weeds of GPL v3 versus GPL v2 versus LGPL my eyes roll back into my head and I internally start screaming "get a life!".
I think if there were an option to add a machine learning clause and ask individual creators if they wanted it applied in that context, we would see a considerable amount of uptake. It's just that we couldn't forsee this progress happening so soon, and the issue is still not visible enough. I think it's only a matter of time before the culture catches up and new creative works in the coming years are excluded from training sets by their authors with clear and direct language.
By that point there would be no way to argue "but they shouldn't care, they licensed it like this, so I'm assuming it's fine for ML use."
If copyright is not enough to stop another entity from using a person's data for training, then some other protection should be invented that does.
Copyleft exists for a reason and without the ongoing fight for the commons we lose it all.
That seems totally inconsistent with decades of people clamouring for more openness/liberty when it comes to IP rights.
If you're a company which executes Embrace Extend Extinguish on any technology you like yet don't own, you'll get quadruple amounts of pushback. That's normal too.
Microsoft isn't saint, and copilot is breaking a lot of legal, ethical and moral rules. It's doubly-natural to give reaction to this.
I think at a fundamental level this abandons any vision of a true commons since as copilot discussions reveal the well is now polluted (to mix metaphors) and though in some frames the code is more free you certainly won't be if you fail to pay the penalty levied in a civil case for misusing it.
> public domain
These are incompatible concepts. RMS's vision of 'free-as-in-freedom' software doesn't let people do whatever they want. It forces those who distribute binaries to also distribute source. This is not possible with a public domain work.
I was sweating nervously before I started using Copilot awhile ago but I've stopped since because A - it really doesn't replace me, tried really hard; B - I don't sweat nervously for IntelliSense either.
There's also C, where being of an entrepreneurial mindset, I'd love the opportunity to hand over the software to an AI dev and just direct the implementation to my desire until I have a working product. I bet I could secure a higher room in the castle if instead of coding for 8 hours per day I could work on n products with capable AI Software Engineers. We're not there yet though.
(You're correct on not being part of the capitalist class, though)
You have completely misunderstood who the moat-building wizards are. That's proprietary software. Heard of it? I ask because a lot of young people nowadays don't seem to understand how dominant it used to be and the threat that it represented. (Plus a few older folks who never knew, forgot, or deny reality for other reasons.) We've been trying to throw the wizards out for decades, by making code available to everyone and making sure it stays that way via licensing. Code without a license is subject to re-enclosure as important enhancements - even necessary ones, such as security - are made behind locked doors. The open version becomes out of date, the proprietary one wins, we're back to wizards and moats. What Microsoft is doing is the same thing for code that was supposed to have legal protection so it could remain open and avoid that fate. It's taking magic back from the people and making it exclusive to the "capitalist class" (eye roll) again.
Copyright and licensing are bad, actually. Stop getting worked up about the idea of using courts to punish theft. Stop getting into a frenzy of arousal about the police kicking down doors to drag Billy Gates to jail because 80 characters of fast square root is theft but 79 isn't.
Where on earth is the ambition and vision!? Knowledge is public domain. A commons of knowledge is a public good. The cost of code copying is zero.
Sure in our day job we have to pretend to care about this stuff. But when did the ideological scope of what can be achieved become rules lawyering over license text.
Copy my MIT licensed code without attribution? I don't give a shit, go ahead, I hope it helps, in fact I want a truly public domain license but copyright law is so hostage to corporate interests no such thing exists in many countries.
Free the code.