Apparently, for this to work, they have to "affix them to a physical medium".
Strongly recommend watching that video! Excellent info.
So, by the same argument, they could copy the self-extracting archive to a hard drive, and then have the same thing, or not?
They even say that they already store it in a compressed form on the hard drive.
What if some future compressor (future ZIP format) is clever enough to see that you are going to save all possible permutations of something, and then saves this is a much better compressed way. Then suddenly when compressors do this, it means when you use such a compressor, you do not have copyright on the data anymore?
I think the focus has to be on the spirit not the technology. Saying to a lawyer/judge/jurist "hey, this script can generate every possible melody!" _feels_ quite different from saying "every single melody is already written down, on this hard-drive I am waving at you! Look!"
Tangent: reminds me of the Hutter Prize for compression (hey, they prize pot recently increased to €500K and I submitted it to HN but it didn't get any votes http://prize.hutter1.net/ https://en.wikipedia.org/wiki/Hutter_Prize).
This has never been proven for the digits of π. Of course, there are other digit-sequences for which it is trivially true. For example, just concatenating together every finite sequence of digits, in some suitable order.
“But are the tunes really affixed to the medium?”
“Yes, this hard drive in my hand literally contains a bunch of MP3 files” is a lot stronger than: “Yes, in a way, because this tune-generating script technically constitutes a self-extracting archive, your honour.”
https://www.tunecore.com/guides/copyrights-101 the first paragraph is:
> For a work to be “copyrightable,” it must be original and fixed in tangible form, such as a sound recording recorded (affixed to) on a CD or a literary work printed (affixed to) on paper.
You may say that in fact having the code that generates the data is effectively the same as having the data. This may convince reasonable, rational people, but the fact that we're dealing with the law that we are should tell you that we're not dealing with reasonable, rational people.
Not to get too far off topic, but even an infinitely long byte sequence cannot represent all numbers. It's possible to construct something not representable by that sequence via Cantor's diagonal argument: https://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument
Most real numbers have infinite-length constructive proofs.
Uncountable is uncountable is uncountable. If any correspondence/encoding existed between naturals and reals, the reals would be countable. (But they are not, so it is fool's errand to search for such an encoding.)
The standard diagonalization argument is a constructive proof, identifying a specific number. Normally a constructive proof is preferable. But with a bit of hand waving you can make it into a non-constructive proof that there are "unknowable" numbers that cannot be described in any finite amount of bytes.
The point is that such a sequence needs to be constructive in the usual sense, so there are still only a countable number of them.
The implication is that human minds wouldn't be able to represent it either, at least not with language.
But it couldn't contain the real number representation.
The diagonal argument seems to be a proof that there are uncountably many infinite byte sequences. So while it proves that it would impossible to "enumerate" every infinite byte sequence, it doesn't prove that there exists a number that cannot be represented by some infinite byte sequence.
Indeed, I believe the opposite can be shown to be true by constructing a mapping from every finite number to an infinite byte sequence. ASCII trivially provides such a mapping for real numbers, and finite-tuples of real numbers (such as imaginary numbers) can be mapped by alternating digits from each element of the tuple.
Edit: The key distinction is that the set of finite byte sequences is infinite, but countable, while the set of infinite byte sequences is not only infinite, but also uncountable. Which of these two sets is deemed the set of "possible byte sequences" seems to be the critical distinction and the turn of phrase "all possible byte sequences in the universe" seems to imply all byte sequences of finite length.
All the possible programs can receive input of infinite length and output bytes of infinite length depending on input.
So if we can supply any input to any program and treat its output as part of result, does this argument still work? Is there such a number that can't be constructed by some program receiving some input?
Correct.
> Is there such a number that can't be constructed by some program receiving some input?
Yes. Most numbers are not representable by a program...unless you allowed a program to be infinite length, in which case the first statement is no longer true.
There's nothing particularly unique about a digit-based encoding for Cantor's diagonal argument.
Why is that? What would be an example of an infinite program that could not be represented by an infinite byte sequence? Indeed, it seems trivial to map an infinite series of machine code instructions to an infinite series of bytes.
Edit: It seems like the first statement is false only if you use a different understanding of "possible" for "possible byte sequences" and "possible programs" where the former excludes infinite length and the latter does not.
Because you cannot enumerate all infinite byte sequences, according to Cantor's diagonal argument as linked earlier. [1]
Calling certain numerical representations "computer programs" in no way changes the fundamentals. There is no way -- no matter how clever your encoding -- to enumerate all real numbers.
[1] https://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument
You don't have to enumerate all real numbers to create a mapping from real numbers to infinite byte sequences.
I am merely pointing out that the first statement only becomes false if you editorialize it to "all the possible [finite] byte sequences contain all the [infinite] possible programs". If you treat the meaning of "possible" consistently in that sentence, I believe it remains true regardless of whether you define infinity as possible or not.
You misread. The previous comment said
> you can trivially write a program which will enumerate all the possible [finite] byte sequences in the universe
No one is interested in your infinitely long musical score.
Okay, all natural numbers then. I don't think that changes the argument.
(Reals are a funny thing because any format you choose has numbers that are infinitely long in that format. Which is basically the same thing you said.)
I guess for matters of copyright you have to produce a specific artifact, just blindly enumerating all possible artifacts is not good enough. Which would also mean that the existence of all those MIDI files will not make a difference.
If I were to write a "random book generator" that just regurgitate infinite text then I can copyright a pair starting index and length, but not simply all possible finite sequences of letters.
If you only provide the code as a means of generating any melody, you could just as well replace it with any music instrument and claim you can generate any melody with it.
If someone is using archive.org for this purpose, please consider donating :-)
Could the algorithm be considered a form of compression?
An algorithm that generates all possible English sentences doesn't demonstrate that I copied this sentence from it, and the balance of probabilities (used in tort cases) suggests that I came up with the sentence, run-on as it is, rather than performing that algo and then selecting that sentence. Moreover 17USC (102? sorry I don't recall) says that media needs to be "fixed" to acquire copyright; so me having to perform the algo makes it no impediment to my owning copyright of a sentence that, if performed, the algo would by expected produce (which is sensible really, perhaps the algo is errant and can't make this sentence, maybe it only forms grammatical sentences ...
Isn't it a bit of wasted space to store the generated data on archive.org (https://archive.org/download/allthemusicllc-datasets)? I mean, as we see, it's trivial to create them. The code above is kind of a self-extracting archive, so it's just the same thing but in compressed form. And I guess it should not matter (legally) whether you store it compressed or uncompressed (or less compressed).