Live data from Hacker News

GitHub Copilot is generally available

github.blog

791–796 of 796 posts

Re: GitHub Copilot is generally available

#791

I've been using Copilot for a few months and... Yeah, it makes mistakes, sometimes it shows you i.e. the most common way to do something, even if that way has a bug in it. Yes, sometimes it writes a complete blunder. And yes again, sometimes there are very subtle logical mistakes in the code it proposes. But overall? It's been *great*! Definitely worth the 10 bucks a month (especially with a developer salary). :inser…

> And sometimes, fairly rarely, but it happens, it's just surprising how good of a suggestion it can make. I've had this experience too. Usually it's meh, but at one point it wrote an ENTIRE function by itself and it was correct. IT WAS CORRECT! And it wasn't some dumb boilerplate initialization either, it was actual logic with some loops. The context awareness with it is off the charts sometimes. Regardless I find t…

I've found that even in the specialist domains I'm working in, it does pretty well. The caveats being that you need to guide it quite a bit, but once a workflow starts to come together then it really starts to hum.

Re: GitHub Copilot is generally available

#792

Earlier quoted context omitted.

Please, read my comment again. I did not say it forces you to distribute it. That's absurd. What I said is: "if you incorporate GPL code and distribute it" If you do those two things, yes, you have to license your code under GPL. It's not me saying, please take a look at Section 5-b and 5-c of the license. [1] [1] https://www.gnu.org/licenses/gpl-3.0.en.html#section5

stale2002 read your comment correctly. stale2002 responded to it correctly. No one is arguing with you about what the GPL says. Let's do an experiment: You need to hit yourself repeatedly in the head with a mallet until you pass out. Are you currently hitting yourself with a mallet until you pass out? No. Just because something is written doesn't mean you need to do it. If I incorporate your GPL code, distribute it,…

Are you suggesting we can use OSS and not follow the terms required by its license?

If not, then you do have to license your entire work under GPL if you incorporate GPL code and distribute it.

If yes, what kind of environment do you think you're promoting? Is it positive for the development of the industry, and to society in general?

Re: GitHub Copilot is generally available

#793

Earlier quoted context omitted.

stale2002 read your comment correctly. stale2002 responded to it correctly. No one is arguing with you about what the GPL says. Let's do an experiment: You need to hit yourself repeatedly in the head with a mallet until you pass out. Are you currently hitting yourself with a mallet until you pass out? No. Just because something is written doesn't mean you need to do it. If I incorporate your GPL code, distribute it,…

Are you suggesting we can use OSS and not follow the terms required by its license? If not, then you do have to license your entire work under GPL if you incorporate GPL code and distribute it. If yes, what kind of environment do you think you're promoting? Is it positive for the development of the industry, and to society in general?

> Are you suggesting we can use OSS and not follow the terms required by its license?

"can" is a complex question. You can do anything you want, but actions have consequences. I can buy a gun and shoot someone. The consequence is that I might spend the rest of my life in prison. I can fart in a crowded elevator. The consequence is that people will look at me funny, and might dislike me.

Consequences should be proportional to the action.

If farting in an elevator lead to life in prison, or if shooting someone led to people looking at me funny, things wouldn't work very well.

> If not, then you do have to license your entire work under GPL if you incorporate GPL code and distribute it.

No. This is not a proportional consequence. If a random developer incorporates 10 lines of GPL code into Windows, Microsoft doesn't need to license Windows under the AGPL. That's not how our legal system is set up.

Microsoft has to remove the code and pay damages.

> If yes, what kind of environment do you think you're promoting? Is it positive for the development of the industry, and to society in general?

The logic you're suggesting -- is not only incorrect -- but would lead to an environment where people have an irrational fear of "viral" licenses. They're intentionally not viral. They don't infect code. Releasing your code is one option for remedy, but not one the GPL author can force. The FSF went over backwards to design the license like that.

Damages and removing code is an appropriate consequence. It's adequate to prevent most license violations, and still not overly draconian. I don't know of any business which has gone under due to an error around the GPL. That's as it should be. If the GPL were business-toxic, it wouldn't set up a successful ecosystem.

Think of it: If Nevada gave the death penalty for littering, would you liter less? Or simply never, ever, ever travel to Nevada?

In this case, I don't know of a reasonable remedy. I don't want to shut down copilot, but I do feel bad about having my code stolen from me. Perpetual license for everyone whose code was used to develop co-pilot? A nominal stock grant in Open AI? I dunno. When I've seen class action lawsuits, those are the sorts of places things usually land. Indeed, it's usually just short of being fair.

Re: GitHub Copilot is generally available

#794
post #744
post #731

Earlier quoted context omitted.

In this case, exchange is not fair, it's a scam, while in case of GPL, exchange is fair (code for code), so it's a valid open contract. You use my code, I use your.

Fair has nothing to do with it. Contracts don't need to be fair, and often aren't. They just need consideration. If we sign a contract whereby you give me your car, bank accounts, and house, for $1, that's a valid contract. The only part which wouldn't be valid in a contract was the first-born child. That was a joke. Indeed, if the GPL were a contract, courts might compel compliance. However, the GPL is not a contrac…

> Fair has nothing to do with it. Contracts don't need to be fair, and often aren't. They just need consideration. If we sign a contract whereby you give me your car, bank accounts, and house, for $1, that's a valid contract.

It will be a gift. Gifts are valid, but they require free will of the gifting party. Gifts, without free will, can be easily canceled by court.

Re: GitHub Copilot is generally available

#795

Earlier quoted context omitted.

I wholeheartedly agree with your analysis, but feel like it’s ignoring the elephant in the room: writing code is not the bottleneck in need of optimization. Conceiving the solution is. Any time “saved” through Copilot and it’s ilk is immediately nullified by having to check it’s correctness. From there, the problem is worsened by the Frankensteinesque stitching together of disparate parts that you describe. I can’t i…

Right on the money. What I want is a copilot that finds errors ala spellcheck-esque. Did I miss an early return? For example in the code below def some_worker if disabled_via_feature_flag logger.info("skipping some_worker") some_potentially_hazardous_method_call() Right after the logger call I missed a return. A copilot could easily catch this. Invert the relationship. I don't need some boilerplate generator, I need…

After a few more leading attempts, I managed to give this prompt at https://beta.openai.com/playground:

     What problem does the following pseudocode have?

     def some_worker
             if disabled_via_feature_flag
                  logger.info("skipping some_worker")
             some_potentially_hazardous_method_call()
And receive this response:

     The problem with this pseudocode is that there is no "end" keyword to close off the "if" statement. This means that the code after " some_potentially_hazardous_method_call()" will always be executed, even if the "disabled_via_feature_flag" condition is true.
And that's with a GPT3 without any special fine tuning. Of course, the name `some_potentially_hazardous_method_call` is pretty leading in itself. I rewrote the prompt slightly more realistically, as:

     What problem does the following code have?

     def optionally_do_work():
             if disabling_flag:
                  logger.info("skipping the work due to flag")
             do_work()
and received:

     The problem is that the code will still try to do the work, even if the flag is set.
This does seem like a pretty trivial easier-than-fizzbuzz question to be asking, though, since it's so encapsulated.

Re: GitHub Copilot is generally available

#796
post #587

Earlier quoted context omitted.

Microsoft gives free copies of Office to schools. Why do you think it does that? MS benefits from people being locked into its service and suite. It provides premium subscriptions for additional features. Hosting code "for free" is part of its business model. It's not a way of "giving back"

Their point is that they didn't need to own GitHub to build copilot—they could have used the public code regardless.

Maybe they have a stronger position because they own GitHub. There is at least "Release and Indemnification" section in the terms of service.
Post reply on HN