apparentlymart
The more I thought about the interior references part the more questions I had! For example:
- The actual characters in a String belong to a dynamic memory allocation rather than to the String object itself, so the lifetime of &str references into there is "until any operation that might change the size of the allocation". Since that level of detail doesn't seem visible to to the type system even with the discussed addition, I guess it would reduce just to disallowing any mutable reference to the string so that its content cannot possibly move to a new allocation while the internal references are live. π€
- I also thought about the idea that a reference whose lifetime is related to another field in the same object could be represented as an offset from the object's address rather than an absolute pointer and then generate relative accesses when dereferencing, but that would mean that the referents would need to always live inside the object itself, and not in a dynamic allocation as would be the case for &str into a String.
So, with all of that said, I'd love to read an article with more details on that part!
It's nice to see this starting to get tested in court.
I doubt this will really upset "Hollywood Studios" too much, though. They are unlikely to be creating entire productions using ML techniques, and instead using it for smaller parts of an overall production. It seems like e.g. generating a voice or image for one part of a film would not invalidate copyright on other parts of the work or of the overall work taken together.
Film studios also rely on other non-copyright protections such as trademarks to dissuade derivative works.
I think the bigger test will be: is it copyright infringement to use a work as part of a training set for a model? It's all very well saying that the output is not copyrightable, but there's still a big question about the input.
I agree that this law seems ill-advised, but it seems like a package repository like, say, Debian's could be made compliant with a new policy that they will not distribute any software that meets the definition of communication software as defined here, and thus the question of who is making the request becomes irrelevant.
Of course that does then leave the question of what does and does not meet that definition. A web browser is the most obvious edge case: it isn't itself a program for human communication but it provides access to software that is. In that case it's unclear whether the browser itself is in this category or whether it's the providers of web applications that afford communication that then become culpable.
Regardless though, it does seem like this law is very ambiguous in what it covers.