So anyway, the thing was DVDs were pretty new, and DVDs had "region protection". Cutting corners, this means that data on DVDs could be encrypted with different keys depending on which continent you were on, to allow complicated per-country movie distribution models. You could change the "region" on your DVD player or computer, but only 3 times or so. Of course people could also make unencrypted DVDs, but movie makers didn't do that. Internally the encryption scheme was called CSS, chosen by people who I assume didn't code websites much.
Now, the DVD consortium people (backed by the film industry and hardware vendors) released DVD playing software for Windows and Mac, but not for Linux. This made Linux enthusiasts sad, who couldn't play DVDs on their computers. You have to remember, this was before the Pirate Bay, broadband, and Netflix. People really wanted to be able to buy/rent these DVDs and play them, this was not a hypothetical wish. It was the only way to get high quality movies in the house.
Then it became clear that the DVD people really weren't going to ship a DVD driver thing for Linux, not even closed source, not even when we all asked really nicely. I'm not 100% sure whether there were no DVD drivers at all on Linux, or simply that they only could play unencrypted DVDs, but you can see where this is going: the Linux people wanted to be able to play real DVDs, the ones they'd buy or rent in town, the vendors wouldn't do the effort, so the Linux folks did it themselves. This was common, especially then, when most hardware vendors couldn't care less about Linux.
So they cracked the CSS encryption.
I mean, of course they cracked it. This was not the warez people, this was the FOSS people. They had a computer with a perfectly good DVD drive and they wanted to watch movies on it. You can't stop these folks.
The MPAA, however, did not like this. They realized that it would just be a matter of time before people would port this code to OSes that have more usage than a rounding error on their bottom lines. So they did what the MPAA does best: hunt witches. At least one guy, a Norwegian 16-year old, got prosecuted by the state, and it all got messy very fast.
Meanwhile, the angry nerd mob that is the internet didn't sit still. They soon realized that the big Linux DVD player software wasn't the issue, the only issue was that little library called DeCSS which cracked the encryption. Soon, people started hosting DeCSS on their websites, in objection to the MPAA's witch hunt. It wasn't that big, after all.
MPAA then started sending aggressive takedown notices and even lawsuits to ISPs and hosting providers who had customers who hosted DeCSS. Some customers got in trouble, some providers had a spine. It was bad, but this sparked 2 wonderful developments:
First, someone wrote a Perl script called DeCSS that removes cascading style sheets from HTML files. Nobody had a use for it, but lots of people hosted it on their sites. The MPAA sent takedown notices to those as well, and this was much easier for providers to say no to. After all, it was as harmless as any program good get and let's be honest, it was aptly named.
Second, the one of first serious internet sizecoding competitions got kicked off, because smaller code is easier to distribute in nifty ways. People remixed each other's work until the core DeCSS algorithm was only a single line of code. Gzipped, there was nearly nothing left. The article this thread is about assumes that you're aware of that (all the geeks were at the time) and starts from there with the insight that there's probably a prime number that includes this code and is, therefore, illegal.
People also put this minified DeCSS code in all kinds of wonderful places. One of the best hacks I recall is that you could make the DVD consortium's DNS servers host DeCSS. Because DNS servers cache data from other DNS servers, you could make a TXT record on your domain with DeCSS in it, then look it up via the DVDCCA nameserver, and it would keep a copy. But there were many ways: http://decss.zoy.org/
This was all straight from memory. I probably got some details wrong and I probably missed many great anecdotes. But this was a beautiful piece of collaborative civil disobedience and to my knowledge it was the nail in the coffin of region-protected DVDs.
It outlaws bypassing any DRM, regardless of how trivial it is mathematically, the legitimate purpose of doing so, or even whether the content inside the DRM is copyrighted.
> > You could change the "region" on your DVD player or computer, but only 3 times or so.
Before this law the shops selling DVD players (for TVs, not computers) would also give you a sheet of paper with a controller code to turn your machine into a region free player. You'd tap some numbers into the remote control.
After these laws (which were introduced across the world) shops would no loner do this because it was a criminal act.
The fact that I could not legally buy a DVD that was only sold in Japan (never sold in the UK) and play it was really weird and scary. It was now more legal for me to pirate that DVD than to buy a real copy.
So, when people ask me why I pirate so much, DeCSS and DMCA are why.
they just realized it was the ultimate killer feature so it was cleverly removed from the lower end models. the high end ones could always be turned region free. in the very end the ones with multidisk and what not could be factory reset to clear the 3 region change restriction.
Region-free players existed, mostly from sketchy/low-end sources.
Wow, that’s pretty impressive! Your comment made a pretty good article by itself; I’d encourage you to take those final polishing steps and publish it as an article or blog post.
Just a nitpick, but this was not before Netflix; I remember this vividly because I was called to a friend's house to troubleshoot their problems with Netflix DVDs and it was because their DVD player had been purchased off ebay for cheap and was region-locked.
The super-cheap DVD rentals offered by Netflix were really game-changing for people who were interested in DVD quality but couldn't justify the cost of purchase/rental in my area.
Eg IMO it's fair to say that Motorola phones were there before Nokia. It's a true statement unless you mean Nokia, the well known Finnish manufacturer of bike tyres, rubber boots and television sets.
Here's how old these companies will be turning in 2018:
Snapchat: 7 years
Uber: 9 years
Twitter: 12 years
Facebook: 14 years
Tesla: 15 years
Google: 20 years
Netflix: 21 years
Amazon: 24 years
Apple: 42 years
Intel: 50 years
HP: 79 years
Disney: 95 years
IBM: 107 years
Facebook I started with while it still required a school address.
It does look though as if I started using Netflix in late 2001. So not that much later.
Then again, encryption of something that the self-contained software will need to be able to decrypt is probably just a small hindrance.
> People remixed each other's work until the core DeCSS algorithm was only a single line of code. Gzipped, there was nearly nothing left
What was the actual number? Can you post it here?
> This gif file contributed by Robert de Bath, contains a surprise inside. Mr. Bath writes: "There are two tiny facts about GIF files and ZIP files you might like to know about: GIF files have their length defined at the start of the file; any bytes after are ignored. ZIP files have a table at the end; anything at the start of the file is ignored. The result is that a file can be both a GIF and a ZIP, just change the extension."
I also like the gallery, which contains a variety of code-golf like discussions of the edge cases of US 1st ammendment protections.
Though, it wasn't 1/100th as ugly as this block of graffiti spam.
(just for context)
Note the implication: the prime basically is the original program represented as a binary number, then shifted 211 bytes (i.e., 00000000 appended 211 times). Then 99 is added to that number. Note that 99 is representable by a single byte.
Consequenly, if you take that prime number and chop off the last 211 bytes, you end up with the original program.
"CSS" in this case stands for "Content Scrambling System." It may well predate the common use of CSS (stylesheets) on the web. They both originated around 1996.
In particular they contain this illegal prime number, and the gzipped and non-gzipped versions of this program in every programming language possible.
Does that mean that they may become illegal someday if they are proven to be normal?
(edited to add links)
What does it mean to "contain" information?
These discussions often use an implicit definition "if you enumerate an infinite series of digits according to some rule, you will eventually generate any arbitrary string". But that'll never fly legally. Under this definition, the boring old system of counting up from 0 also "contains" every number, and in fact is a much more efficient system for doing so. Pickover's pi-based mysticism loses its magic a bit!
On the other hand, the practical, everyday sense is "meaningful information can be extracted, with an input of information very much smaller". Hard drive images "contain" files, requiring only a few dozen bytes to specify which one. Encrypted files likewise generally only require a few dozen bits to recover. This is much more legally relevant, as it allows the possessor of the "container" to act on its contents.
Pi does not qualify, as the index to any meaningful information in its digits will be far larger than the information itself. Writing "pi" on the back of my hand will not help me cheat on my Shakespeare exam. It's merely a highly inefficient coding scheme.
They give the example of a C script that breaks an old DRM crypto scheme.
It seems kinda silly since primes have a fairly regular distribution, so all they need to do is:
1. Pick any program they want to be "prime".
2. Serialize it and check if it's prime. If so, done; if not prime, continue.
3. Perform some minor code modification that doesn't change the script's functionality, e.g. tweaking a variable name or the content of a comment.
4. Return to Step (2), looping until a prime representation has been found.
* 4 serialise and check if prime; if so then done
5 check if any byte value makes it prime when appended. If so, append it, else append NULL. Repeat until done
Additionally, the author wanted to find a prime that encoded the program that was also notable for some other reason (to give people a legitimate pretext to host it). He decided to try to make it one of the largest primes ever discovered, and it was, though it no longer is.
The UK has an approach which is almost sensible, but ends up being stupid. IP holders have rights to protection from illegal copying, and that's why law about circumvention of technological measure was introduced. Consumers also have rights to make copies in some situations, and those rights need to be protected. So consumers can ask the rights-holders for an exception, and can then go to the secretary of state if the IP holder declines to provide an exception.