10 ms·
It probably would have been less bad if he had chosen MPL-2.0 or LGPL-2.1-or-later. But he chose MIT, which cuts at the core of the intent of licensing the proj
by Conan_Kudo 3mo ago
It probably would have been less bad if he had chosen MPL-2.0 or LGPL-2.1-or-later. But he chose MIT, which cuts at the core of the intent of licensing the project with a share-alike license.
- joshka 3mo agoTell me, can I create a copyrighted video that's not GPL licensed using ffmpeg? Now tell me how creating a rust library using the git test suite is different?
- NewJazz 3mo agoMedium, substitutibility, basics of copyright law.
- joshka 3mo agoFair point on medium - this was a lazy example. Substitutibility probably doesn't apply here in the way you're implying and if it did it would likely be hampered by the 9th circuits findings about transformation in sony v connectix. Arguments here likely would look at rust not having a stable ABI, and hence not being inherently substitutable as a libray (grit-lib), less clear as an executable (grit-cli) on that side basics of copyright law - the fundamental thing being protected is the expression... is a rust program's expression the same expression as a c program? I'd say generally not.
- NewJazz 3mo agoThe test suite could test aspects of the architecture/design of the codebase that are not necessary for interoperability and constitute novel expression of a piece of software in a way that is not at all language specific.
- joshka 3mo agoBy definition a test suite is about testing interoperability with the test suite. An HTTP test suite should likely test for whether response code 418 is implemented a particular way and while humorous it would still be an interop test no?
- Conan_Kudo 3mo agoNo, the git test suite is about testing the git codebase. If you want something like that, you need a conformance suite, which does not exist for git.
- joshka 3mo ago[dead]
- gpm 3mo ago> using the git test suite That's not actually the case at hand here - the agents were given the original source to reference: https://github.com/gitbutlerapp/grit/blob/main/AGENTS.md#source-of-truth https://github.com/gitbutlerapp/grit/blob/main/AGENTS.md#sou... But for the sake of argument: The test suite itself is copyrighted. To the extent the resulting work is a derivative of the test suite it is possibly infringing. For example you might example that the agent would derive variable names, function names, structure sequence and organization of the code from the test suite. It might even copy comments wholesale. Those are copyrightable things. (Which is of course just the first step in analyzing if it is infringement, there would be interesting fair use, de-minimis copying, etc arguments following a conclusion that any of those were copyrighted. A product produced this way definitely could be infringing given the right facts though).
- joshka 3mo ago> That's not actually the case at hand here - the agents were given the original source to reference: https://github.com/gitbutlerapp/grit/blob/main/AGENTS.md#sou https://github.com/gitbutlerapp/grit/blob/main/AGENTS.md#sou... yeah fair - the "The canonical Git source code we're targeting to replicate the functionality of is in the git/ subdirectory." part makes this hard to argue against. > To the extent the resulting work is a derivative of the test suite it is possibly infringing It's this bit that I have a problem with. If I run the test, it fails and reports a failure. Now I write code and run the test again. What is the theory there that code that I wrote infringes. Simplify this down: Assume the following is copyrighted: fn test_sum() { assert_eq!(sum(1, 1), 2); } Does writing the following code: fn sum(a: u8, b: u8) { a + b } infringe on the test copyright?
- gpm 3mo agoWriting fn sum(a: u8, b: u8) { a + b } Doesn't infringe upon copyright period, because there's no creative element in that work. Imagine a more substantial example though. Perhaps you have a test that checks that some file written in a binary format is correct, and gives names (creative elements) to each field of the format that it prints when you mess up the field, and has comments describing why the bytes are laid out like they are (the comments being copyrightable even if the facts they describe aren't), and the LLM copies those field names and comments verbatim... Now it's quite likely that the LLMs work is a derivative of the test suite.
- kevin_thibedeau 3mo agoA GPL tool that processes data doesn't virally transfer the license to its output. Copyrighted ffmpeg code isn't incorporated into the video output. The LLM didn't just conjure up equivalent behavior to git without ingesting the code and transforming it as new output. There is no other behavioral description that would reproduce all needed functionality.
- joshka 3mo ago> There is no other behavioral description that would reproduce all needed functionality. Tests often are exactly the information necessary to understand exactly what the output should be. See https://github.com/git/git/blob/master/t/t0000-basic.sh https://github.com/git/git/blob/master/t/t0000-basic.sh for an example of how detailed these tests are. It would be reasonable to point an LLM at these and use them with a basic knowledge of git to produce a rust version of git in a non-infringing manner. If you did this manually it would take a long time.