I find the pattern matching and repetitive code generation really helpful. And the library autocomplete on steroids, too.
Meh. Tricky subject.
I find the pattern matching and repetitive code generation really helpful. And the library autocomplete on steroids, too.
Meh. Tricky subject.
It's not just functions either, one of the most common things that it helps me with daily is simple stuff like this:
Typing
const x = {
a: 'one',
b: 'two',
...
}
And later I'll be typing y = [
a['one'],
b[' <-- it auto-completes the rest here
]
It's really amazing the amount of busy-work typing in programming that a smart pattern matching algo could help with.All of that efficiency without having to pay a monthly subscription, wasting electricity on some AI model, and worrying about the legal/moral implications.
going from
a: 'one',
to a['one'],
just requires you to add two brackets and remove the colon. With multiple cursors you can do that exact same operation for all lines in a few keystrokes.But what's lost in my over simplified example is the contetxt is usually way more involved. I'm usually passing those as arguments to some function or other unique syntax situation that a glorified find and replace can solve. It's all about doing it in the times you would never think even bother writing a custom command because typing is faster given the unique syntactical context... The only thing faster then is autocomplete.
I'm not actually recreating a new hash with the convienient same format.
This is automated and happens immediately without you even thinking about it.
You only ever pull out the complicated Vim editing when you have a particular hard task, I’m talking about the small stuff many times a day.
Which reminds me I have to cancel my tabnine subscription. Been paying them for a year without using it.
That's where the line is for it to be suspect IMO.
It's a bit like how GPT-3, Stable Diffusion and all those generative models use extensive amounts of copyrighted material in training to get as good as they do.
In those cases however the output space is so vast that plagiarism is very unlikely.
With code, not so much.
https://hyperallergic.com/766241/hes-bigger-than-picasso-on-...
The interesting thing is that the names get explicitly attached to these styles. It isn't exactly a copyright issue, but I'm sure it will get litigated regardless.
Telling apart what's public domain or not is not a trivially automatable task.
If one just relies on curated libraries of vetted public domain content you don't get, by far, the expected amout of variability and diversity.
And maybe models trained on public data should be in the public domain, so that AI research can happen without requiring massive investments to obtain the training data.
You just described open source software.
That's the whole heart of this lawsuit, and equally Copilot. It was trained on OSS which is explicitly licensed for free use.
> It was trained on OSS which is explicitly licensed for free use.
That's not what the lawsuit is about. It's not about money, it's about licensing. OSS licenses have specific requirements and restrictions for using them, and Copilot explicitly ignores those requirements, thus violating the license agreement.
The GPL, for example, requires you to release your own source code if you use it in a publicly-released product. If you don't do that, you're committing copyright infringement, since you're copying someone's work without permission.
Also, re: your edit, not quite. They require you to release modified source under certain conditions if you make modifications to it. If everybody had to release code using GPL to the world, every companies code would currently be released to the world. There's more nuance than that. The gnu site covers a lot of that nuance (https://www.gnu.org/licenses/gpl-faq.en.html#UnreleasedMods)
LGPL is the one that enterprises won't touch with a 10 foot pole, due to more restrictive licensing, and more conditions under which you'd have to open source your own code.
The same cannot be said for Copilot: there have been prior examples here on HN showing that it can emit large chunks of copyrighted code (without the license).
Most open-source software is not licensed for free use. MIT and GPL, the two most common licenses, both require attribution.
Obvious licensing needs to be respected and it shouldn’t be hard to solve that problem. But 99.9% of code isn’t some unique algorithm, it’s gluing libraries and setting up basic structures.
Most of the examples I’ve seen done line up with the reality of code completion tools. Code is rarely valuable when broken up into its small parts.
Even copying a full codebase is rarely enough to draw value from… there’s way more to a software business than the raw code. But that’s a different problem.
Literally 10x faster development.
Case in point: had an unexpected project and no time to complete it. Within an hour Copilot helped me:
* Write a couple of tricky matplotlib plots
* Do some extensive analysis with Pandas
* Write a couple of SQL queries
* Write a Flask back-end and deploy it
* Write a bit of a front-end
* This all with extra comments , links to documentation and pretty reasonable style
I have experience with all of the above mentioned but the speed increase was considerable.
This would a a good day's work without Copilot and there would be less commenting and hackier code.
Before Copilot I would be cursing a lot more reading various docs...
The key thing that Copilot does it reduces latency for your thoughts-action-results loop.
Does the open source really suffer if less people read documentation directly? Would you really be less likely to create an open source library if you knew someone can now use your library at 10x speed?
The inference ability has crossed uncanny valley so many times.
I find myself wondering whether there is a speech recognition component at times.
When teaching a lecture I will start saying something and write a prompt at the same time and the sentence produced by Copilot will be spot on what I've just said.
Ideally there would an open source version of Copilot that respects everyone's wishes. I fear that is impossible.