I can’t see how developer ethics comes into it at all here. Either the code is trivial boilerplate and not a license issue, then there is zero ethical issues with using it in my opinion. Just like I copy 2 lines of code to open a file from
any repository with
any license without either ethical or IP worries. If the code is nontrivial like the fast inverse sqrt - then it’s on the
user to realize that they have been fed a landmine by copilot, and it’s on them to avoid or attribute as appropriate. This is a
license issue though, not an ethical one. I fail to see a situation where it’s ethical to violate a license or unethical to
use code that doesn’t violate a license.
Note though that all such examples of nontrivial regurgitation that have been presented yet have been deliberately “triggered” (as far as I know) knowing they would likely show up if copilot was fed the function header. It’s also important to remember that this is still preview software. The final version hopefully has more restricted output since this is obviously the big weakness of the system.
I agree it’s a license footgun 100%. But as I said this is the developers problem. Which is why few of us will ever be able to use it in its current form.
As for the ms sources argument - the reason ms bought GitHub is to have this kind of access to a lot of code. It’s their code to use in this way. People who committed code gave GitHub (and it’s future owners) the right. Microsoft (as far as I understand) can sell the right to view this code, for example, through GitHub fees. It’s not against the license of a GPL repo to do so. So Microsoft isn’t violating a license by mangling the code into snippets and charging for the pleasure of downloading those snippets. What’s against the license terms is for me to download the snippet, and accidentally use it in my proprietary software.
Does that make the tool bad to the point of being useless? Perhaps. Is it illegal or unethical? I don’t think so.
> You can't just plug some GPL code into your project and sell it, even if you can find the code itself on Google.
Although some people seem to think copilot can be used to “wash” licenses by giving users a black box “excuse”, I think that idea is dead in the water. Anyone who has a nontrivial-enough GPL snippet in their proprietary code has violated the license.