[00:00.000 --> 00:01.180] Good afternoon, everyone. [00:01.480 --> 00:02.660] Pleasure to be here again. [00:03.120 --> 00:06.700] So, a little bit about me. [00:06.920 --> 00:08.120] I'm a patent attorney. [00:08.300 --> 00:10.320] I've been practicing for 16 years. [00:10.780 --> 00:16.500] My educational background is in physics, but I do a lot of work with machine learning technologies. [00:16.860 --> 00:21.620] So I've been kind of in this mix for quite a while. [00:21.820 --> 00:25.460] And a lot of what's happened in the past couple of years has really caught me by surprise. [00:25.460 --> 00:27.700] I was thinking it was at least a decade out. [00:28.760 --> 00:30.860] But it caught up to me very fast. [00:31.060 --> 00:38.420] So we've all been... we, lawyers, have all been trying very hard to figure out what's happening. [00:39.060 --> 00:44.080] A lot of questions that we didn't expect to have to answer for a long time have suddenly become very pressing. [00:44.080 --> 00:58.560] And so what this talk today is going to be about is how the use of generative AI is affecting copyrightability and with a specific focus on software. [00:58.560 --> 01:04.720] You know, this question arises with every kind of content the AI generates. [01:05.040 --> 01:16.420] So images and music, text, all of it faces the same kind of question about what do we do with this material. [01:16.420 --> 01:23.500] So I'm going to touch very briefly on, you know, the general principles of artificial intelligence as it's currently practiced. [01:23.980 --> 01:30.900] I'm going to talk about copyright itself and the parameters for copyright, how we protect it, what it's good for. [01:31.460 --> 01:44.690] And then we're going to start applying that to software and how these considerations for AI generated material specifically affect software and how we own software. [01:45.610 --> 01:55.830] And then I'll try to make some predictions about the future just because, you know, you're sitting here and I'm talking and I may as well be a little self-indulgent. [01:57.450 --> 02:03.770] So just to get started, when we talk about artificial intelligence, it's a very fuzzy term. [02:04.690 --> 02:14.110] The field of artificial intelligence has been around for many decades, but whatever was considered artificial intelligence in the 80s is old hat now, right? [02:14.110 --> 02:17.430] And philosophically, we've moved past that. [02:17.570 --> 02:18.770] Oh, well, that's easy. [02:18.950 --> 02:20.570] That can't be artificial intelligence. [02:21.050 --> 02:26.210] And every time we come up with something new and get good at it, we kind of move the bar, right? [02:26.210 --> 02:32.910] So the Eliza chat bot from once upon a time, that used to be artificial intelligence. [02:32.910 --> 02:36.090] Now we just look at it as some kind of procedural thing. [02:36.250 --> 02:38.030] It's not that interesting to us anymore. [02:38.070 --> 02:44.410] And we say, ah, but real artificial intelligence now is the generative AI that comes out of a large language model. [02:44.410 --> 02:56.290] And then other people step back and say, well, I don't know about that because the next step is, you know, sentience or whatever, whatever, wherever you want to move your goalpost to. [02:56.290 --> 03:09.670] So for the sake of this talk, we're going to be discussing neural network models and particularly deep neural network models that have many, many layers, billions of parameters. [03:09.670 --> 03:20.670] Uh, and in particular, we're going to be talking about large language models like ChatGPT and all of the other similar models that have come out in the past couple of years. [03:21.110 --> 03:30.670] So the way these models work is on a very high level, you get a tremendous amount of examples, right? [03:30.670 --> 03:44.390] The written word in the case of software, GitHub, all of this, you know, enormous treasure trove of things that human beings have created as working examples of the things you want to work with. [03:44.870 --> 03:51.750] So you feed that into your machine and you, you know, have it spit stuff back out. [03:51.970 --> 03:57.650] Any errors you feed back and you use that to correct those billions of parameters. [03:57.650 --> 04:00.930] That's the training process for an AI system. [04:03.610 --> 04:06.230] Now let's look a little bit at what AI can do. [04:06.370 --> 04:14.030] This particular picture is, uh, one created by Steven Wolfram, where he face swapped himself into a painting of Isaac Newton. [04:15.070 --> 04:25.050] Um, an AI system, or at least a neural network system, uh, is a universal function approximator, right? [04:25.050 --> 04:34.570] You can take any function, and I use that in the mathematical sense, where it has an input, it does some math to it, and it has an output. [04:35.230 --> 04:40.630] Literally any function you can replicate or approximate using a neural network. [04:40.950 --> 04:44.970] And the bigger your neural network, the more complicated a function you can do. [04:44.970 --> 04:51.170] And so that's where we get to this idea of a deep neural network with billions and billions of parameters, right? [04:51.230 --> 04:55.450] You could express that as an equation with billions of variables. [04:56.350 --> 05:03.310] You plug in your, uh, you plug in your input, it chugs through the math, it creates an output, right? [05:03.310 --> 05:16.270] Um, so the key for here is that rather than being, the, the, rather than the behavior of this system being dictated by a programmer, it's created through that training process. [05:16.390 --> 05:20.810] And the, the inputs and the outputs can be anything that we can quantify, right? [05:20.870 --> 05:25.830] So if we're talking about visual information, we take a photo, we break it up into pixels. [05:25.830 --> 05:28.170] Every pixel is a set of numbers. [05:28.450 --> 05:30.330] It has color, it has location. [05:30.890 --> 05:35.830] You take all of that, you put it in, that becomes your variables for the input to your function. [05:36.250 --> 05:42.410] On the outside, maybe another picture, maybe an analysis of what that picture contains. [05:42.910 --> 05:43.870] Does it contain a cat? [05:44.030 --> 05:44.490] Yes or no? [05:46.490 --> 05:51.450] Um, the other place that this really comes out is in written language, right? [05:51.610 --> 05:52.310] Natural language. [05:52.310 --> 05:58.310] It turns out you can turn words and sentences into numbers very easily. [06:00.150 --> 06:12.130] Um, and so what, the way that works is you've got a, a system that's trained, uh, across, you know, the entire body of works of the English language, whatever they can get their hands on. [06:12.290 --> 06:15.970] And they find out where words are used in similar contexts. [06:16.350 --> 06:20.470] It doesn't require any human being to sit down and say, this is what this word means. [06:20.470 --> 06:22.510] It picks it up all from context. [06:25.250 --> 06:29.490] So now let's look at how that gets applied to software, right? [06:29.610 --> 06:33.130] Because programming languages are literally just a language. [06:33.350 --> 06:44.010] It is a way of expressing an idea in a way that creates a function within a computer, uh, create, you know, operates within a computer to do something, right? [06:44.010 --> 06:52.050] So, in the case of GitHub and Copilot, you can feed in a tremendous amount of source code. [06:52.150 --> 06:55.030] And it will learn how that source code works. [06:55.170 --> 06:56.210] It will learn the syntax. [06:56.210 --> 07:04.330] It will learn how to predict what the next, you know, token is going to be as you generate source code. [07:04.330 --> 07:08.670] And so you can express to it in natural language and instruction. [07:08.730 --> 07:12.410] I want a function that does this, right? [07:12.590 --> 07:14.930] In this case, I went on to Copilot. [07:15.150 --> 07:17.690] I told it, give me a function that reverses a string. [07:17.830 --> 07:19.550] It gave me four different examples. [07:19.790 --> 07:21.610] All of them, you know, I tested them all. [07:21.690 --> 07:22.230] They all compiled. [07:22.330 --> 07:22.950] They all work great. [07:24.050 --> 07:30.030] Now, across GitHub, I'm sure there are a million different functions that, you know, reverse strings. [07:30.330 --> 07:33.570] And so it has a lot of easily accessible stuff to work with. [07:33.810 --> 07:37.930] It is more limited when you start asking for novel things. [07:38.210 --> 07:50.710] But it will generally produce something that's at least compilable because it has a broad expanse of experience or training data when it comes to the syntax of that programming language. [07:50.710 --> 07:55.390] And this tool is becoming very prevalent, right? [07:55.890 --> 07:56.950] I looked it up. [07:57.010 --> 08:04.250] And as of February, Microsoft is claiming 1.3 million paid users for Copilot. [08:04.650 --> 08:12.490] Now, I'm sure most of those are enterprise users where the enterprise has a site license or, you know, a thousand licenses or something like that. [08:12.550 --> 08:14.870] And most of them are not using it all the time. [08:15.110 --> 08:23.030] But if you have a tool, you know, a little personal assistant that's going to go do your dredge work for you, people are going to use it. [08:23.210 --> 08:30.890] So this automatically generated source code is rapidly becoming a part of everything we use. [08:32.910 --> 08:36.850] So that sets the stage from the technical side of things. [08:37.050 --> 08:39.650] Now it starts to get into the legal side of things, right? [08:39.650 --> 08:48.430] Copyright is a type of intellectual property that gives you rights over intangible things, right? [08:48.530 --> 08:55.990] And it sits in the pantheon with patents and trademarks in the sense that it is created by statute. [08:57.130 --> 09:08.130] Congress sat down and said people should be able to own these things, these expressions of creativity, and created a legal system around it. [09:08.290 --> 09:14.530] And it derives, at least in the United States, originally from this provision of the Constitution. [09:14.530 --> 09:18.090] So this is very fundamental to our legal system. [09:18.090 --> 09:33.770] It's written in its DNA that Congress shall have the power to promote the progress of science and useful arts by securing for a limited time to authors and inventors the exclusive rights to their respective writings and discoveries. [09:34.090 --> 09:42.930] And in the case of software, we treat the programmer as the author, we treat the source code as their writing. [09:43.710 --> 09:50.690] Copyright ultimately comes down to the protection of a creative expression, right? [09:50.870 --> 09:56.990] So you can't protect an idea, you can't protect a function using copyright. [09:57.370 --> 10:03.050] What you protect is the actual written expression that you created, okay? [10:03.250 --> 10:05.830] So in the case of source code, it's the source code. [10:06.330 --> 10:11.890] Now, there are limits, and we're going to get more into this. [10:11.890 --> 10:15.410] There are limits even then as to what of that source code you can copyright. [10:16.950 --> 10:23.490] Things that are not something you created, for example, something you copied yourself, you can't copyright. [10:24.070 --> 10:31.250] Sen'affaire, which is a French term that we imported to refer to like the set pieces for a genre, right? [10:31.450 --> 10:36.750] And so if you're talking about strings, reversing a string is pretty common. [10:36.910 --> 10:39.570] It's a piece of the sen'affaire of programming. [10:39.570 --> 10:45.270] And so you're going to have trouble copywriting those basic functions. [10:45.890 --> 10:48.130] But so let's say now you've got a copyright. [10:48.750 --> 10:55.450] What that copyright gives you is fundamentally the right to exclude others, right? [10:55.610 --> 11:02.610] It gives you the exclusive right to reproduce, adapt, distribute, publicly perform, and publicly display your work. [11:02.610 --> 11:07.410] If you are a programmer, it means you have the right to make copies. [11:07.590 --> 11:16.190] It means you have the right to compile it, to sell software, and to stop other people from doing the same, right? [11:16.190 --> 11:27.670] So if somebody copies your work illicitly, or even, you know, they get a legitimate copy, but now they want to sell pirated copies for themselves, you can sue them for copyright infringement. [11:28.330 --> 11:35.650] Once you have that copyright, you have the ability to sell it or license it to someone else, right? [11:35.690 --> 11:38.410] It's kind of like a deed to an invisible house. [11:38.410 --> 11:44.450] You have the ability to let other people come in, use it as you see fit. [11:47.620 --> 11:53.500] So when we talk about copyright for software, it does get a little hinky, right? [11:53.720 --> 11:55.000] Because software is not a book. [11:55.620 --> 11:57.220] It's more complex than that. [11:57.400 --> 12:02.620] It has functional interrelationships between the different parts, okay? [12:02.700 --> 12:08.700] So when we talk about software, we have two different regimes. [12:08.700 --> 12:12.180] There's the literal and the non-literal elements. [12:12.440 --> 12:16.260] The literal elements of software, it's the source code. [12:16.380 --> 12:17.560] It's the compiled binary. [12:17.840 --> 12:24.180] It's the thing, or the closest thing to a thing we can get when we talk about intellectual property. [12:24.600 --> 12:32.240] The non-literal elements are more about how that piece of software is designed, right? [12:32.240 --> 12:39.280] So now you get more into the flow of the program, how it accomplishes what it accomplishes. [12:39.840 --> 12:46.920] And both of these different regimes are sort of independently copyrightable, right? [12:47.080 --> 12:52.620] If somebody copies the source code, it's just like if they copied a book, right? [12:52.620 --> 13:00.060] That's a literal element, and you can sue them for infringement because it's very easy to see that they copied this exact thing. [13:01.200 --> 13:06.680] But it gets a lot trickier when you start talking about the non-literal elements. [13:06.980 --> 13:10.720] Those non-literal elements like, this is what my program is doing. [13:10.920 --> 13:12.820] It's done it in a totally new way. [13:13.000 --> 13:18.840] I did it in this creative way, and now somebody came in and stole that from me, right? [13:18.840 --> 13:20.840] That's a lot harder to pin down. [13:21.720 --> 13:26.940] So let's talk a little bit about recent software copyright case law. [13:27.220 --> 13:35.000] The one that's on the tip of everybody's tongue in the past few years is Google versus Oracle, right? [13:35.640 --> 13:42.720] And in Google versus Oracle, what happened was Oracle had an API to interface with their software. [13:44.100 --> 13:50.280] Google wanted to use that API, and they made software that could work with that API. [13:50.720 --> 13:54.460] And that was the basis of this infringement. [13:54.960 --> 13:59.820] Is the use of this API itself a copyright infringement? [13:59.980 --> 14:02.000] Can the API be copyrighted? [14:02.160 --> 14:05.760] In this case, the Supreme Court kind of punted on that question. [14:05.760 --> 14:14.840] They found that it was fair use and didn't touch the question of whether that is copyrightable in and of itself. [14:15.400 --> 14:18.480] But a more recent case gets a little bit closer to this. [14:18.780 --> 14:23.600] In SAS versus WPL, the Federal Circuit decided this last year. [14:23.600 --> 14:27.260] It reaffirms the copyright ability of software. [14:27.600 --> 14:38.200] And it got into the weeds on how we handle the non-literal elements of a piece of software. [14:38.480 --> 14:45.560] Where it goes to... and the most common test for this across the United States is the Abstraction Filtration Comparison Test. [14:46.560 --> 14:50.940] This is not, you know, a universal test. [14:51.180 --> 14:57.560] There are, I believe, still a couple of jurisdictions that use an older, less workable test. [14:58.920 --> 15:04.900] The way this works is when you have a piece of software and you're analyzing it for infringement. [15:05.320 --> 15:07.220] You start with abstraction. [15:07.500 --> 15:11.560] You break it up into the different conceptual pieces, right? [15:11.560 --> 15:13.760] So this is not talking about just the source code. [15:14.240 --> 15:20.300] Because in this case, it was without question that WPL did not steal SAS's source code. [15:20.720 --> 15:28.500] What they did was they created a clone of the software that was supposed to be a drop-in replacement for SAS's software. [15:28.680 --> 15:31.600] It took the same inputs, produced the same outputs. [15:33.720 --> 15:38.720] When we talk about abstraction now, you have to look at how does that actually get accomplished? [15:38.720 --> 15:42.540] Not at the level of source code, but at a higher level of abstraction, right? [15:42.820 --> 15:43.760] This is the input. [15:43.920 --> 15:48.380] We're performing this kind of math on it for this purpose to achieve this effect. [15:50.020 --> 15:59.740] Then, and this is going to be key, the Filtration Step takes all of those elements and picks out the parts that are not copyrightable. [16:00.320 --> 16:05.600] And there are a lot of different ways that something, you know, a given thing could be uncopyrightable, right? [16:07.040 --> 16:10.780] If it was, for example, something that they cribbed from somebody else, right? [16:10.800 --> 16:20.580] If this piece of software used some open-source software that they copied, well, that piece of it is not part of their copyright. [16:21.420 --> 16:21.900] Okay? [16:22.260 --> 16:30.100] And there are a dozen, who knows, how many different exclusions for copyright that come into play in that Filtration Step. [16:30.380 --> 16:32.020] And then finally, you have comparison. [16:32.280 --> 16:40.520] Whatever's left over, you take those pieces, you compare it to the purported infringer, and you say, yes, they copied, or no, they didn't copy. [16:40.520 --> 16:47.200] In this case, SAS lost, because they refused to participate in the abstraction step. [16:47.560 --> 16:57.460] They didn't want... and perhaps that's because they knew that they didn't have much to go on, but they basically said, no, this is copyrightable because it's a creative expression, end of story. [16:57.800 --> 17:01.420] The Federal Circuit disagreed, and so WPL prevailed. [17:03.560 --> 17:09.620] So let's talk about those exclusions in the context of artificial intelligence. [17:09.620 --> 17:17.520] The Copyright Office has come down very definitively to state that AI cannot be an author. [17:18.020 --> 17:21.060] Authorship requires a human act. [17:21.380 --> 17:26.960] And that means no output from generative AI can be copyrighted. [17:27.280 --> 17:40.540] So if we go back now, and we think about our Abstraction Filtration Comparison stat, all of the pieces that were created by AI are excluded during filtration. [17:41.780 --> 17:54.800] So whatever... if you've got a program, half of it which you wrote yourself, half of which you wrote, you know, you let the computer take care of, all of those computer-generated pieces are out. [17:57.480 --> 18:01.060] Now, this bit of the law is currently working its way through the courts. [18:02.320 --> 18:04.180] It was in the D.C. [18:04.420 --> 18:05.080] District Court. [18:05.260 --> 18:07.220] They agreed with the Copyright Office. [18:07.480 --> 18:09.120] Now it's going up to the D.C. [18:09.320 --> 18:10.060] Circuit Court. [18:10.540 --> 18:17.360] Eventually, this is probably going to go up to... or at least there will be a petition to the Supreme Court for review. [18:17.360 --> 18:24.880] This is all being pushed by a man named Dr. Thaler, who I tremendously respect as a madman and a true believer. [18:25.120 --> 18:34.900] He is out there to show that machines deserve copyright, that they deserve patent protection for their works. [18:35.840 --> 18:41.300] And he's not doing very well in terms of achieving that, but he's out there fighting that fight. [18:41.400 --> 18:43.040] It's a tremendous thing to watch. [18:44.720 --> 18:57.700] When we talk about how this is playing out in the courts though, there's a recent development from the Supreme Court which undermines the Copyright Office's authority. [18:59.260 --> 19:05.100] The Chevron deference doctrine was recently struck down within the past few weeks. [19:05.100 --> 19:14.040] And that undermines an administrative agency's ability to interpret ambiguous statutes. [19:14.780 --> 19:17.680] And this is a classic case of an ambiguous statute. [19:17.880 --> 19:18.640] What is an author? [19:19.060 --> 19:20.740] What is a literary work? [19:21.060 --> 19:21.700] Right? [19:21.880 --> 19:26.840] The Copyright Office has come down and said an author has to be a human being. [19:27.520 --> 19:30.960] But the courts now don't owe deference to that decision. [19:31.120 --> 19:32.760] In the past, it would have been pretty clear cut. [19:33.460 --> 19:35.860] The Copyright Office knows what they're talking about. [19:36.000 --> 19:37.460] The courts are going to take a step back. [19:38.040 --> 19:39.460] Now it's more up in the air. [19:40.800 --> 19:47.680] So when we look at AI-generated code, the literal elements generated by the AI are not protected, right? [19:47.680 --> 19:50.920] That source code, it's like you found it on the street. [19:51.420 --> 19:52.720] You don't own that. [19:52.980 --> 19:53.860] Nobody owns that. [19:55.640 --> 20:02.960] That said, people are also starting to automate higher level parts of software design, right? [20:03.060 --> 20:08.640] It's no longer just, hey, you know, create this specific function for me. [20:08.640 --> 20:15.420] Now it's getting up to higher level things like, hey, I want a program that generally does this to that. [20:16.080 --> 20:17.980] Can you design that for me? [20:18.380 --> 20:20.740] And then you start filling in the gaps. [20:20.980 --> 20:28.240] So that means now that non-literal elements are starting to be performed by AI as well. [20:28.240 --> 20:40.660] And when you go into that abstraction, now you're looking at it from the perspective of having to find out which parts of this process were devised by AI, right? [20:40.900 --> 20:51.720] So the more that you apply AI in these situations, you're starting to chip away at what you actually own. [20:51.720 --> 20:58.100] And also, when you're looking at the human involvement, right, you can... [20:58.100 --> 21:03.060] Okay, let's take a step back and look at what a human being does when they work with generative AI. [21:03.380 --> 21:07.720] You give it instructions and it performs some task for you, right? [21:07.980 --> 21:09.140] Maybe it's painting a painting. [21:10.400 --> 21:25.940] The farther away you get from the detail and the actual action of creating that expression, the closer you're getting to just working with an idea, right? [21:26.180 --> 21:31.880] When we go to Dali and tell Dali, you know, I want this kind of a painting, right? [21:32.080 --> 21:34.220] You are not creating that expression. [21:34.480 --> 21:36.200] You're articulating an idea. [21:36.400 --> 21:38.820] And the idea is not protectable. [21:39.020 --> 22:01.040] In the context of software, as we have now higher levels of abstraction being generated by AI, that person, that programmer or developer who is, you know, trying to create that software, is getting closer and closer to just the level of the client who's articulating, [22:01.180 --> 22:01.240] right? [22:01.520 --> 22:04.820] I just want you to get it done, right? [22:04.980 --> 22:06.200] I don't care how you do it. [22:06.640 --> 22:10.500] And that takes you out of the realm of creative expression. [22:10.500 --> 22:15.960] Now you're just articulating ideas, which by statute cannot be copyrighted. [22:18.520 --> 22:24.020] So, let's say you are a developer or an artist or an author, right? [22:24.120 --> 22:29.860] You're creating some creative expression and you want to go to the copyright office to protect it. [22:32.160 --> 22:38.680] I've got a thing here from the copyright office, the paper describing exactly what you do. [22:38.860 --> 22:40.020] There's a link there. [22:41.420 --> 22:46.720] The short of it is, when you apply for a copyright, you have to describe your work. [22:46.960 --> 22:52.000] You have to give them a copy of it to be stored in the Library of Congress forever. [22:53.240 --> 23:04.640] Now, as part of this process, if any part of it is generated by AI, you have to explicitly state that and exclude it from the protection. [23:05.640 --> 23:12.080] Now, there are a lot of examples of this going in the world of visual art and really across the artistic spectrum. [23:12.960 --> 23:24.960] But there are some good examples that have come out from visual media where people have been denied copyright because the copyright office found... [23:24.960 --> 23:38.120] either because the person said this AI system was the author with me or because it was so famous that the copyright office found out about it and realized, oh, AI did this. [23:38.360 --> 23:45.720] And these registrations have been refused on the basis that they did not disclaim the AI's involvement. [23:46.400 --> 23:55.400] So when you have something that's generated in part by a human and in part by AI, you have to come right out and say, this is what the machine did. [23:56.000 --> 23:57.960] Because that is not protectable. [23:58.460 --> 24:01.540] Now, there are some parts of this that are still unclear, right? [24:01.840 --> 24:03.840] How specific do you need to be? [24:04.340 --> 24:13.060] If you're copywriting software, do you have to say lines 1,945 through 2,080 were generated by AI? [24:14.420 --> 24:20.680] That would be useful to somebody who's trying to parse this out, but I guarantee you nobody is going to that level of detail. [24:20.900 --> 24:25.300] And I very much doubt the copyright office is going to require it of people. [24:26.160 --> 24:30.520] And then going even further, how do you prove it? [24:30.960 --> 24:31.480] Right? [24:31.840 --> 24:33.520] So now I've got a registration. [24:34.740 --> 24:36.420] I'm going to litigate it someday. [24:37.680 --> 24:42.260] How do I prove what I did with AI and what I did myself? [24:42.620 --> 24:45.160] We're going to get further into that in a little bit. [24:45.460 --> 24:54.720] But right now I'd like to talk about how the implications for all of this uncertainty, what they are for open-source. [24:55.520 --> 24:57.320] Alright, so let's talk about the GPL. [24:57.320 --> 25:02.380] GPL, an extraordinarily common open-source license. [25:02.780 --> 25:12.500] It allows a software developer to promulgate their software in a very open way with strings attached. [25:12.940 --> 25:13.420] Right? [25:13.680 --> 25:22.760] The basic concept is if I put this out under the GPL, you're allowed to use it, you're allowed to copy it, modify it, do whatever you want with it. [25:22.820 --> 25:23.420] You can sell it. [25:23.980 --> 25:33.420] But if you do that, you have to publish that modification, you have to publish that source code as well, so that other people can now come in and make use of the same. [25:34.980 --> 25:41.080] The GPL is entirely built, its legal structure is founded on copyright. [25:42.180 --> 25:51.420] The only way that works, the only way you can tie strings to that, is if you own the software that you're publishing. [25:53.300 --> 26:07.580] Now, if you start to use AI-generated stuff in your open-source software, and somebody copies that piece, it's not protected. [26:07.940 --> 26:14.900] The GPL does not apply to that piece, because the GPL can only affect things that you actually own. [26:15.960 --> 26:16.560] Right? [26:20.370 --> 26:25.450] This is going to be a developing issue across all of software licensing. [26:25.830 --> 26:28.890] The GPL is going to have to deal with it in some way. [26:29.910 --> 26:48.610] And everybody who's programming in the open-source world is going to have to give it some thought of, how are we going to demarcate the parts that were created by a person, and therefore are, you know, correctly protected under this license? [26:48.830 --> 26:53.090] And how do we show which parts were actually just a machine's output? [26:54.890 --> 27:14.690] And so, the takeaway from that is that, as the prevalence of AI increases in all of our work, whether it's artistic work, our software development, or, you know, anything, the more we do that, the more our copyright protection shrinks. [27:15.150 --> 27:15.730] Right? [27:15.890 --> 27:23.850] The more a developer relies on AI to create their source code for them, they're less there that they actually own. [27:26.390 --> 27:30.050] Now, let's talk about how this is going to play out. [27:30.430 --> 27:30.870] Right? [27:31.150 --> 27:32.590] I've got a piece of software. [27:32.830 --> 27:34.310] I wrote 50% of it. [27:34.770 --> 27:37.470] The 50% of it that I wrote, I think, is pretty good. [27:37.810 --> 27:40.090] And, you know, I had the machine filling the rest. [27:40.310 --> 27:42.850] Just the drudge work that I didn't want to do. [27:43.190 --> 27:43.390] Okay? [27:44.450 --> 27:45.490] Start selling it. [27:45.630 --> 27:46.650] It's doing great. [27:47.010 --> 27:48.050] Somebody copies it. [27:50.610 --> 27:51.670] I'm going to sue them. [27:51.670 --> 27:53.430] I want them to stop. [27:54.370 --> 27:55.470] And they come back. [27:55.670 --> 27:58.890] And they say, okay, I looked at your copyright registration here. [27:59.510 --> 28:00.970] I didn't steal the whole thing. [28:01.070 --> 28:02.610] I just took parts of it. [28:02.730 --> 28:07.270] And it says in your copyright registration that you used AI to generate part of this. [28:07.830 --> 28:08.650] Which parts? [28:09.750 --> 28:10.870] Please be specific. [28:12.370 --> 28:12.850] Right? [28:13.030 --> 28:20.350] So now you, as the person who is asserting your rights, you have to go back to however long ago that was. [28:21.110 --> 28:26.870] And you have to say, well, I used it to create this function and that function. [28:27.130 --> 28:32.150] It created that function originally, but it was kind of broken, so I modified it a little bit. [28:32.370 --> 28:36.930] I asked it for insights as to how to make this program work in general. [28:38.070 --> 28:40.690] And it turns into a legal nightmare. [28:41.110 --> 28:48.050] In large part because you probably didn't keep track of what your AI system generated for you. [28:48.530 --> 28:51.450] And now 10 years down the line, you have no idea. [28:51.930 --> 28:56.450] This is a problem that's playing out or going to play out across every creative field. [28:56.690 --> 28:57.210] Right? [28:57.650 --> 28:58.690] A digital artist. [28:59.370 --> 29:03.030] Now, do they have to keep all of their drafts? [29:03.830 --> 29:07.610] On like a step-by-step basis to prove I drew this myself? [29:10.770 --> 29:25.490] It's coming out in other places too, like classrooms, where a teacher wants to make sure that the kid actually made, you know, actually wrote this essay. [29:25.490 --> 29:36.430] In some cases, they're having the kid open up a Google document that has, like, character-by-character undo so that the teacher can scroll forward and backward and watch that process happen. [29:36.430 --> 29:47.130] Maybe that's going to have to happen now for software development, at least for anybody who plans on enforcing their copyright, to show that they actually did it. [29:47.190 --> 29:49.650] Or at least to give, you know, some passable evidence. [29:49.790 --> 29:52.830] Because once you start going down that rabbit hole, it becomes an arms race. [29:52.830 --> 30:09.830] Okay, it would be easy to create an AI system where you give it an entire block of source code and it kind of, you know, character-by-character edits it, goes back, moves stuff around until it eventually creates that full output. [30:12.130 --> 30:20.890] If we look at, like, versioning control software, where you're uploading every version, if you do that in a very fine-grained way, maybe that's enough. [30:20.890 --> 30:28.510] But if you upload a thousand lines of code, who's to say that you didn't just ask co-pilot to create that and copied and pasted it in? [30:29.470 --> 30:34.310] So, from a litigation perspective, I have no idea how this is going to play out. [30:34.550 --> 30:36.830] It's like, we're on the frontier right now. [30:39.330 --> 30:40.870] And it's going to be a nightmare. [30:41.090 --> 30:45.990] I'm glad I'm not a litigator because it's just going to... [30:45.990 --> 30:47.950] everything is going to be a terrific fight. [30:49.450 --> 30:50.130] All right. [30:51.590 --> 30:54.550] So let's talk about what we talked about here. [30:55.430 --> 30:58.690] AI systems are being used to write software. [30:59.270 --> 31:00.270] More and more. [31:00.490 --> 31:05.870] And as they become more sophisticated, they're going to take a larger role in doing so. [31:07.150 --> 31:10.030] AI-generated work gets no copyright protection. [31:11.210 --> 31:12.790] Possibly the courts will change that. [31:13.070 --> 31:15.110] Congress could always come in and change that. [31:15.230 --> 31:17.470] But as it stands right now, it's very clear-cut. [31:17.930 --> 31:20.750] Nothing that the machine makes is something you can own. [31:22.650 --> 31:28.990] As AI gets used more in software development, protecting that software becomes harder. [31:31.130 --> 31:34.970] So, if you're a software developer, how do you deal with that? [31:35.210 --> 31:44.030] You're going to have to give some real thought to whether it makes sense to use AI to help you generate source code. [31:44.550 --> 31:47.570] Because now you've got consequences for that. [31:47.850 --> 31:48.290] Right? [31:48.290 --> 31:50.490] It's going to affect you down the line. [31:50.910 --> 31:53.930] And if you're an open-source creator, maybe you don't care. [31:54.170 --> 31:55.830] You're never going to sue anybody on it anyway. [31:56.890 --> 32:12.550] But if you're working in a commercial context, having a human being devise and write this code can become an economic interest because that's the only way you can be sure that you're going to own what comes out the other side. [32:14.930 --> 32:15.590] All right. [32:15.730 --> 32:19.250] And because I talk fast, we've got plenty of time for questions. [32:25.460 --> 32:26.520] I think the... [32:26.520 --> 32:26.820] Oh, yeah. [32:26.960 --> 32:27.640] One on each side. [32:33.750 --> 32:34.790] It is not on. [32:39.220 --> 32:40.220] Give it another try. [32:46.160 --> 32:47.000] Is that the answer? [32:47.180 --> 32:47.520] Thank you. [32:48.140 --> 32:49.400] So, talking about the... [32:52.380 --> 32:53.240] You cut out. [32:54.940 --> 32:55.420] You cut out. [32:59.980 --> 33:01.160] I see it again. [33:01.400 --> 33:01.900] Go for it. [33:03.420 --> 33:03.900] Nope. [33:04.740 --> 33:07.160] You talk, I'll repeat it, and then I'll answer it. [33:22.230 --> 33:29.350] Okay, so the question is, in the context of the legal consequences of using AI to create software. [33:30.550 --> 33:38.430] Not just who owns the software, but who owns the liability that results from when that software does something bad. [33:38.730 --> 33:42.050] I don't think that changes under this rubric, right? [33:42.810 --> 33:45.050] Copyright and liability, they really don't touch. [33:45.750 --> 33:55.250] So, if you have created a system and the system is doing something evil, right, and it's happening under your watch, you're going to be liable for that. [33:55.390 --> 34:03.070] Now, if you create the software and you put it out into the world and walk away, and you're not actually running it to do the evil thing, I don't know. [34:03.250 --> 34:04.470] I'm not that kind of lawyer. [34:07.630 --> 34:17.170] So, AI-generated code is not subject to copyright, and that creates complications when incorporating it into other works that we're writing. [34:17.810 --> 34:22.710] Is it any different from public domain material in that regard? [34:23.330 --> 34:23.850] Okay. [34:24.190 --> 34:24.510] So, no. [34:24.670 --> 34:26.510] It's no different from public domain material. [34:27.150 --> 34:30.450] And that goes to that filtration step, right? [34:30.530 --> 34:34.930] That's one of the ways that we can filter out things that can't be copyrighted. [34:35.050 --> 34:36.010] Is it public domain? [34:36.430 --> 34:42.650] If this piece of software was already in the public domain, you don't get to own it. [34:42.730 --> 34:47.310] You can't, like, claw it back from the public just because you put your name on it. [35:18.440 --> 35:18.960] Right. [35:19.860 --> 35:20.260] Okay. [35:20.860 --> 35:39.820] So, the question is, given that the AI system is trained on copyrighted material, which, for the current systems, they almost all are, is the output of that system a derivative work of that training material? [35:39.820 --> 35:42.100] As I understand it, no. [35:43.400 --> 35:43.840] Because... [35:45.800 --> 35:47.620] Well, you know, I'm not really sure. [35:47.880 --> 35:51.140] And I'm not sure there is a strong answer for it just yet, right? [35:52.920 --> 35:56.160] It can go... Yeah, you can make arguments either way from it. [35:56.160 --> 36:04.220] The system itself does not have in it a copy of the work from the training data, right? [36:04.780 --> 36:07.480] That meaning has been distilled in some way. [36:07.520 --> 36:16.640] But we've seen examples of images generated that very clearly have the Getty logo on them, right? [36:16.640 --> 36:26.820] Which could only happen if not only was the copyrighted image used as training data, but if it were not trying to replicate that exact thing. [36:27.340 --> 36:40.600] I think it's possible that, yes, if it creates something that is clearly a derivative of an existing copyrighted work, maybe that could be treated as a derivative work owned by the original copyright owner. [36:40.960 --> 36:43.800] But we're still working through that stuff. [36:45.720 --> 36:46.360] Hi. [36:46.520 --> 36:48.420] I also have a question about derivative works. [36:49.620 --> 37:06.800] So, if I author something myself, a piece of code, a paper, whatever it is, and then I have an AI system, alter that, or even if it's small as like linting, grammar correction, contrast enhancement, is that then a public domain derivative work? [37:07.140 --> 37:16.060] And also, a little bit separately, what claim do I have to my prompts that generate the later works? [37:16.440 --> 37:18.260] So those are two very different questions. [37:19.240 --> 37:24.700] I'm going to do the derivative work one first and try and hold the other one in my head, and we'll get to it. [37:26.500 --> 37:27.080] All right. [37:27.240 --> 37:41.220] So the question is, if you create some creative expression and you use an AI tool to modify in some way, does that AI tool in some way diminish your ownership of the work? [37:41.380 --> 37:44.060] And the answer to that, I'm pretty confident, is no. [37:44.480 --> 37:44.820] Right? [37:45.120 --> 37:48.520] Because at the base level, it would be a derivative work, right? [37:48.580 --> 37:52.820] Even if you gave this to another human being and said, hey, can you proofread this for me? [37:52.820 --> 37:53.620] Right? [37:53.980 --> 37:59.000] That would not affect your copyright because they're making modifications of your work. [37:59.100 --> 38:02.840] Unless it's so profoundly transformative that it's now a completely different work. [38:03.400 --> 38:04.000] Right? [38:04.940 --> 38:09.200] The other question was, what ownership do you have over your prompts? [38:09.400 --> 38:09.620] Right? [38:11.800 --> 38:14.500] I'm not sure there's a strong answer to that in the law. [38:14.680 --> 38:15.460] I'm going to speculate. [38:16.720 --> 38:21.850] I believe that that goes to whether that prompt itself is copyrightable. [38:22.700 --> 38:23.140] Right? [38:23.340 --> 38:28.180] If it's just a statement of an idea, then no, it's not. [38:28.180 --> 38:31.180] If your prompt... because a prompt can be very big. [38:31.500 --> 38:31.960] Right? [38:32.200 --> 38:34.300] You can use an image as a prompt. [38:34.520 --> 38:34.760] Right? [38:34.980 --> 38:39.740] And you would presumably, if you created that image, have copyright over that image, and so copyright over the prompt. [38:39.960 --> 38:50.000] So if your text prompt, your natural language prompt, is sufficiently creative to have independent copyrightability, then yeah, you would own that prompt. [38:50.000 --> 38:57.420] But if it's just a statement of, I want a purple monkey on top of the entire state building, that's just an idea. [38:57.800 --> 38:59.700] And it's not going to rise to that level. [39:00.380 --> 39:01.220] Gotta speak up. [39:19.600 --> 39:20.040] Sure. [39:20.520 --> 39:20.760] Okay. [39:21.680 --> 39:24.860] So the question relates to international law. [39:25.000 --> 39:27.420] Because you very correctly pointed out, I've only talked about U.S. [39:27.420 --> 39:27.640] law. [39:27.980 --> 39:28.760] I'm a U.S. [39:28.820 --> 39:33.380] lawyer, and we're kind of, you know, at the forefront of dealing with this. [39:33.380 --> 39:37.100] But other countries certainly are doing so as well. [39:37.620 --> 39:40.880] So you asked, what... [39:40.880 --> 39:42.920] Can you repeat the punchline? [39:46.270 --> 39:46.830] Okay. [39:46.990 --> 39:53.710] So what is the consequence of using a model that is trained with data that originated outside of the United States? [39:53.970 --> 39:58.450] I don't think that the origin of the data actually makes much of a difference. [39:58.450 --> 40:03.170] When it comes to copyright law, most of the world is pretty much on the same page. [40:03.170 --> 40:07.430] At least in terms of the easy stuff, right? [40:07.610 --> 40:10.170] If you wrote something, if you drew something, if you programmed... [40:11.470 --> 40:12.170] Excuse me. [40:12.310 --> 40:12.810] Source code. [40:13.790 --> 40:17.050] Yourself, everybody agrees you own that, right? [40:17.250 --> 40:22.570] And so whether it's done in Europe, in China, in Africa, it doesn't matter. [40:24.270 --> 40:26.670] That source code would still... [40:26.670 --> 40:31.790] Or that training data would still be copyrightable, and you would have to contend with whatever... [40:31.790 --> 40:38.650] However we end up dealing with that training data question, which is still a very active issue in the courts. [40:40.610 --> 40:49.510] Yeah, my question is for open-source maintainers, if you have thoughts on how we can have external contributors that we know if they use generative AI or not. [40:49.590 --> 40:53.250] We can figure that out with maintainers, that we all follow our expectations. [40:53.630 --> 40:53.670] Yeah. [40:53.670 --> 40:57.730] But should we do something like in the pull request template, ask them explicitly? [40:57.730 --> 40:57.790] Absolutely. [40:58.510 --> 41:09.430] So, to provide some context now, a given open-source project may be very large, may have hundreds, thousands of maintainers for big projects. [41:09.670 --> 41:18.190] And there isn't often a lot of scrutiny that goes into, you know, a given contribution. [41:18.250 --> 41:25.110] And so how do we... or what steps can we take to provide some assurance? [41:25.110 --> 41:30.770] You could, in your submission form, you know, have them promise they didn't use AI. [41:32.210 --> 41:34.190] That's not really going to affect anything, though. [41:34.310 --> 41:40.470] Because at the end of the day, the question isn't whether you had a good faith belief that it was created by a human. [41:40.670 --> 41:43.110] It's whether it actually was or not. [41:43.550 --> 41:44.030] Right? [41:44.210 --> 41:57.530] I assume that as, you know, as people provide their source code contributions, they are assigning their copyrights to the project, or, you know, so that it can all fall under that one GPL license at the end of the day. [41:59.790 --> 42:01.130] That's going to be a nightmare. [42:01.670 --> 42:04.510] You know, with, you know, not to mince words. [42:05.090 --> 42:21.070] Trying to track the, the individual bit, you know, piecewise contributions from all of these different contributors, and whether they plausibly use AI or not is probably intractable. [42:21.070 --> 42:36.070] So, to clarify, if you have a project with 100 maintainers, or 100 contributors, 99 of them never used generative AI, but one single contributor did, and does that now compromise the copyright of the entire project? [42:36.270 --> 42:38.610] So no, it would compromise that one piece. [42:39.290 --> 42:39.730] Right? [42:40.570 --> 42:46.650] And if that one, so if that one piece is the issue when you're in your eventual lawsuit, then that's the problem. [42:47.350 --> 42:54.970] And so that's why I, you know, was saying earlier, the more you use AI, the less copyright you get. [42:55.110 --> 42:56.930] Because it's in direct proportion. [42:57.710 --> 43:02.570] AI takes out every little contribution from the scope of the copyright. [43:03.290 --> 43:03.830] Thank you. [43:04.050 --> 43:04.170] Yep. [43:19.900 --> 43:21.680] I don't know the answer to that. [43:21.960 --> 43:29.080] I can tell you that right now, it's very clear that the compiled source code definitely does have the, does share the copyright. [43:29.080 --> 43:29.160] Right? [43:29.580 --> 43:36.300] And I, you know, just going through the, the analysis of it, that's clearly a derivative work of the original source code. [43:36.500 --> 43:36.880] Right? [43:37.100 --> 43:40.300] And so I, you know, I expect that from the beginning... [43:40.880 --> 43:41.620] Oh, sorry. [43:41.700 --> 43:54.520] The question was, in the history of copyright, was there an argument over whether the compiled binary retains the copyright of the source code? [43:54.520 --> 43:59.660] That is to say, if I, the author of the source code, compile it, do I also own that binary? [43:59.860 --> 44:04.220] I think the answer is probably always yes, but I don't, I can't say that with authority. [44:05.840 --> 44:29.260] So I have heard of, of cases where people have managed to push an LM to generate, um, a piece of its training data, like someone else's, you know, like preexisting software verbatim, which leads to the question, you know, what, what becomes of the copyright of the software that was used as training data? [44:29.600 --> 44:37.400] Um, some of those authors have complained that the LLMs themselves are a violation of their copyright. [44:37.580 --> 44:39.240] Do they, do they have a claim there? [44:39.920 --> 44:40.860] Uh, they may. [44:41.440 --> 44:43.140] That's still working its way through the courts. [44:43.500 --> 44:46.460] I don't have a good answer for it. [44:46.580 --> 44:51.080] Even, even in speculation, I could go either way on it, depending on how I'm feeling and what I had for breakfast. [44:51.080 --> 44:55.020] Um, watch and see. [44:55.180 --> 44:56.860] We'll all find out at the same time. [44:58.460 --> 44:59.080] Thank you. [45:33.660 --> 45:34.220] Okay. [45:34.380 --> 45:44.300] So if I understand the, the question correctly, it's about using a copyrightable original input, right? [45:44.520 --> 45:51.140] A piece of writing as an input to an AI system that then generates some visual output, perhaps. [45:57.400 --> 46:04.340] or puts down the line and how does the copyright, whether the copyright propagates through. [46:27.570 --> 46:28.130] Okay. [46:28.450 --> 46:29.030] I think I have. [46:31.130 --> 46:31.690] Right. [46:32.050 --> 46:35.010] So you've got an original piece of work that was definitely copyrighted. [46:36.310 --> 46:40.990] An AI system based on that original copyrighted work to create some new work. [46:41.330 --> 46:44.170] And then maybe you build something around that new work. [46:44.170 --> 46:44.990] Right. [46:45.290 --> 46:51.050] So you've got different pieces here and the copyright question applies to each one of them, right? [46:51.110 --> 46:52.870] Your original work is definitely copyrightable. [46:53.210 --> 46:57.450] The thing that's been generated by the AI system is definitely not. [46:58.070 --> 47:06.690] The thing that you use to build, or the thing you have built around the AI system, maybe, or the AI output, maybe parts of them are. [47:06.930 --> 47:08.690] Depends on what your contributions are. [47:08.770 --> 47:16.530] Because when you go to the copyright office for your registration, you're going to say, okay, this image was generated by AI. [47:16.830 --> 47:18.190] And then I edited it. [47:18.630 --> 47:21.490] Or I put a nice border around it, right? [47:21.590 --> 47:24.070] And I modified it on top of that. [47:24.230 --> 47:29.870] And it would be those modifications and those contributions that you made as a human being that would be protectable. [47:29.870 --> 47:37.070] But somebody could then take that image, you know, whatever the finished product is, pick out the AI generated stuff and copy that. [47:37.450 --> 47:41.750] And you would have no recourse because you don't own the output of that AI system. [47:43.210 --> 47:45.090] Got one more person in line here. [48:15.680 --> 48:16.240] Right. [48:16.400 --> 48:23.380] Question now is, are we at risk of using these AI systems to wander copyrights? [48:23.380 --> 48:30.500] Where we have something we want to copy, we know that it's been used as part of the training data for an AI system. [48:30.760 --> 48:42.360] And then we use that AI system to now create an output that would be an infringement if we had done it ourselves manually. [48:42.840 --> 48:42.920] Right? [48:43.640 --> 48:43.880] Okay. [48:44.480 --> 48:47.740] In that case, I think that that would still be copyright infringement. [48:47.940 --> 48:48.320] Right? [48:48.540 --> 48:51.440] You've just gone through extra steps to make a copy. [48:52.040 --> 48:56.220] And the fact that the machine was involved, I don't think really affects it. [48:56.320 --> 48:58.560] Because you had access to the original. [49:00.500 --> 49:03.880] Substantially copied it, you know, through an intermediary, but nonetheless. [49:04.560 --> 49:07.800] And so I think you would still be up for copyright infringement. [49:09.580 --> 49:10.020] Yeah. [49:10.280 --> 49:12.080] And I think that's it. [49:12.560 --> 49:15.720] So, I am going to be loitering in the hallway for a bit. [49:15.820 --> 49:17.780] I'll be around all day, all tomorrow. [49:18.260 --> 49:19.640] If you see me, say hello.