| > Why is the internet different? The Internet isn't really different, it's just people are bending over backwards to have their cake (send free content) and eat it too (tell people how they're supposed to view that content). When you're serving stuff over HTTP, you're giving me data in response to a valid HTTP request. That data is a binary/text blob. The HTTP protocol does not include any technical or legal provision that allows you to control how I interpret that binary/text blob. You can say "only for Firefox" all you want, but the only way to make it meaningful is to not send the data unless you're sure I'll be using Firefox to view it. I'm focusing on the protocol here for a reason. That protocol comes with the set of expectations; probably the most important is that you get to decide how you respond, but not what I do with that response. Understanding of that is necessary to draw correct analogies to other real-world practices. So a real-world analogy would go like this: you've set up a stand on the street, with a big sign saying "FREE BOOK ABOUT CATS". I come to you, and ask if I can have that book (GET request). You give me a book (content) and a hat with a company logo (an ad). I leave you, and on my way discover that the first page of the book says, "you can only read this book if you're wearing the hat that was given to you". It would be ridiculous of you to expect me to honor the request in that book. Hell, it would be ridiculous of you to require that I actually read the book. Maybe I only needed it as paperweight, or as starter fuel for a wood-burning stove. Oh, and I threw the cap you gave me away, without even looking at it. The only implicit contract we had in this example was that I might get a free book if I ask nicely. That's also the only implicit contract that you get when you host a publicly routable HTTP server. |
DRM and proprietary apps already do this.
The HTTP User Agent implies user agency when it comes to how and what content is rendered.