Live data from Hacker News

Give up GitHub: The time has come

sfconservancy.org

321–330 of 585 posts

Re: Give up GitHub: The time has come

#321

> For its part, Git was designed specifically to make software development distributed without a centralized site. Just yesterday I had to explain the basic premise/history of Git to a young intern. I had asked him if he was using Git to manage his little pet project the company gave him to play with. “No”, he replied, he didn’t know what the company’s policy was to posting code in public on GitHub. As I explained to…

That scenario plays itself out time and time again. 1. Base technology arrives and is adopted en masse 2. Some entity wraps it in an easier-to-use interface 3. After some time, that interface becomes the de facto standard 4. Developers who started developing after #2 and especially #3 don't understand how the underlying technology works or even that the wrapper is just a wrapper I'm reminded of how many Juniors I tra…

That entity is usually Microsoft. I've met web developers who relied on Microsoft drag-and-drop tools to build websites, they were unable to tell me what a cookie or HTTP request was. Microsoft could be injecting telemetry into their websites and they wouldn't know.

Since then I've been obsessed with knowing how things work under the hood and doing as much as possible by myself until I understand what's being abstracted away from me.

Re: Give up GitHub: The time has come

#322

> If it is, as you claim, permissible to train the model (and allow users to generate code based on that model) on any code whatsoever and not be bound by any licensing terms, why did you choose to only train Copilot's model on FOSS? For example, why are your Microsoft Windows and Office codebases not in your training set? This is my favorite question about Copilot ever.

I want to know what stuff you guys are putting in public GitHub FOSS repos that you don't want replicated in any way... I also want to know why people think their code is so special that no one else could have ever come up with it independently. Each and every opponent of Copilot is the best developer ever, I guess? That said, I don't understand the choice to use GPL for any reason, so maybe I'm not equipped to under…

GPL is one of the least free licenses out there.

Re: Give up GitHub: The time has come

#323

Earlier quoted context omitted.

> As a leader of a FOSS project that is on github...Do I have that reasoning correct? The way I read the article was that by being on GitHub, you are implicitly agreeing to no longer be a FOSS project as regards licensing. GitHub customers can use Copilot to generate proprietary code that's identical to your project's code (several articles I have read call this overall idea "laundering through Copilot", which sounds…

Piling on: Is copilot really a violation of GPLv3 (our license)? How is co-pilot different from someone lifting sections of code? Lifting a few sections of the code is a world different compared to re-distributing the entirety of the source code, or forking the project and replacing 2 or 3 letters from our brand name & then redistributing that. I think the article needed to go into more detail about how that really i…

> Is copilot really a violation of GPLv3 (our license)? How is co-pilot different from someone lifting sections of code?

If it's reproducing vebratim your code, yes it's a violation. And this is no different from others copying sections of your code.

The license that you chose says that people are allowed to do many things (e.g. copy and modify the code), provided they also fulfil some obligations. If they don't do that, they are violating the license.

Please note that this is not specific to GPLv3 (your chosen license). Other licenses, BSD-3-Clause, for example, also give rights (e.g. to copy and modify) and have their own set of obligations to be fulfilled (e.g. "Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer"). If someone redistributes source code (not the "complete" source code, even a "section of code" to use your words), they have to fulfill the obligations, or they violate the license.

Re: Give up GitHub: The time has come

#324

Earlier quoted context omitted.

Piling on: Is copilot really a violation of GPLv3 (our license)? How is co-pilot different from someone lifting sections of code? Lifting a few sections of the code is a world different compared to re-distributing the entirety of the source code, or forking the project and replacing 2 or 3 letters from our brand name & then redistributing that. I think the article needed to go into more detail about how that really i…

> Is copilot really a violation of GPLv3 (our license)? How is co-pilot different from someone lifting sections of code? Lifting a few sections of the code is a world different compared to re-distributing the entirety of the source code, or forking the project and replacing 2 or 3 letters from our brand name & then redistributing that. Yes. Many projects will see your license and never copy your code if their license…

I appreciate the response. The ethical level, in my opinion, is reproducing the functioning software and the "business" specific logic. At a specific function level, and particularly for boilerplate code, I don't view that as specific to this (GPLv3 licensed FOSS) project. There are also dozens more examples of the same code being used, I don't think FOSS necessary gets a monopoly on technology.

Which I think creates an interesting debate, where is the line of general technology vs the intent of not allowing private companies to re-package FOSS for their own benefit?

> You can't lift a function from a GPL licensed codebase and plant it to a MIT licensed codebase. It's that simple.

If that function is a 'pad-left' type of function, is there an ethical violation? Or is this similar to learning Javascript by viewing the source code of webpages? At some point, functions are hardly unique in what they do, and there are only so many different ways to write a 'pad-left' function. I mention this question not to refute what you've said (I think I agree there is a likely license violation), but to explore where the line is for the ethics. I mean, an inferred implication could be that software developers stop looking at HTML source in order to learn. If you learn how to write a standard algorithm or function, and then you reproduce that later in private software, that is "lifting code". It's not much different committing that to memory then doing an outright copy-paste of a 2 or 3 liner. This makes me also think to the variety of shell scripts and standard bash'isms, if a single FOSS project uses a 'sort | uniq -c | sort -n', does that mean a MIT codebase has to re-invent a new way to do that?

Re: Give up GitHub: The time has come

#326
Nobody mentions User Experience. SourceForge was terrible, Google Code also, Gitlab has an acceptable UX. Github kills it in most fronts.

What prevents Github Copilot from expanding to FOSS that is not hosted by them in the future? Just how Google indexes and caches the whole internet, what prevents this thing from going to public gitea of FOSS projects and scraping to train their model!?

I love Copilot, will pay for it.

Re: Give up GitHub: The time has come

#327

Earlier quoted context omitted.

It doesn't hold for licenses like MIT, BSD, or Apache-2.0 either, all of which require giving credit. You personally might not care; many people do.

That's true. I use MIT myself (although I don't care if people cite me). I guess this just all seems rather activist to me but people aren't seeing the big picture; our jobs as programmers are about to change in a very big way. It won't be long before more competition enters the space (e.g. Salesforce and Amazon) and ultimately it won't matter if this model saw some GPL/MIT code because the next one will work twice a…

If you really don't care, please make it known by choosing a license like MIT-0 (MIT No Attribution) or 0BSD (BSD Zero Clause License).

You will at least save some people some effort they go to in order to collect and provide attributions to every piece of code used.

Re: Give up GitHub: The time has come

#328
post #323

Earlier quoted context omitted.

Piling on: Is copilot really a violation of GPLv3 (our license)? How is co-pilot different from someone lifting sections of code? Lifting a few sections of the code is a world different compared to re-distributing the entirety of the source code, or forking the project and replacing 2 or 3 letters from our brand name & then redistributing that. I think the article needed to go into more detail about how that really i…

> Is copilot really a violation of GPLv3 (our license)? How is co-pilot different from someone lifting sections of code? If it's reproducing vebratim your code, yes it's a violation. And this is no different from others copying sections of your code. The license that you chose says that people are allowed to do many things (e.g. copy and modify the code), provided they also fulfil some obligations. If they don't do t…

It sounds like Github needs to index the license of where it obtained code, and check the license of a project using co-pilot so that it only suggests GPLv3 code for compatible projects. I'm not sure that it is really enough, enforcement is tough, it could be like one of those "are you 18" checkboxes.

I get the impression that this article and it's reaction is largely a lot of people wanting to cry big brother and mostly just shit on Github & Git. IMO it would be more appropriate to look for solutions and post a public letter to github and/or just pursue actual litigation before advocating FOSS projects spend inordinate amount of effort across the board to vacate Github.

Re: Give up GitHub: The time has come

#329
post #202

> If it is, as you claim, permissible to train the model (and allow users to generate code based on that model) on any code whatsoever and not be bound by any licensing terms, why did you choose to only train Copilot's model on FOSS? For example, why are your Microsoft Windows and Office codebases not in your training set? This is my favorite question about Copilot ever.

Perhaps because there is a (small) risk of leaking confidential information through its output. But that's not as damning as it sounds. First, we know Copilot, if given the right prompt and told to autocomplete repeatedly without any manual input, can regurgitate bits of code seen many times in many different repositories, like the famous Quake fast inverse square root function and the text of licenses. That doesn't…

FWIW, there are some (admittedly fairly naive) checks to prevent PII and other sensitive info from being suggested to users. Copilot looks for things like ssh keys, social security numbers, email addresses, etc, and removes them from the suggestions that get sent down to the client.

There's also a setting at https://github.com/settings/copilot (link only works if you've signed up for copilot) that will check any suggestion on the server against hashes of the training set, and block anything that exactly duplicates code in the training set (with a minimum length, so very common code doesn't get completely blocked). Users must choose the value for this setting when they sign up for copilot.

source: I work on copilot at github

Re: Give up GitHub: The time has come

#330

> If it is, as you claim, permissible to train the model (and allow users to generate code based on that model) on any code whatsoever and not be bound by any licensing terms, why did you choose to only train Copilot's model on FOSS? For example, why are your Microsoft Windows and Office codebases not in your training set? This is my favorite question about Copilot ever.

I want to know what stuff you guys are putting in public GitHub FOSS repos that you don't want replicated in any way... I also want to know why people think their code is so special that no one else could have ever come up with it independently. Each and every opponent of Copilot is the best developer ever, I guess? That said, I don't understand the choice to use GPL for any reason, so maybe I'm not equipped to under…

Forcing your code to be open forever is guaranteeing freedom of all users of my code, both direct and indirect. Developers don't need to have any more freedoms than other users.
Post reply on HN