The true spirit of gopher ------------------------- What is the "true spirit of gopher"? Its "heart and soul", the deep, conceptual commitment which distinguishes it from other protocols, in particular from the web? Chances are good you have the term "plain-text" on your lips right now, and nobody could blame you for it, given the way that we all (myself included) talk casually about gopher and what makes it so great. But if you think about it, it's actually a bogus answer. Every webserver I've ever used will very happily serve a plain-text file. It'll include a "Content-type: text/plain" HTTP header in the response, and your browser will recognise this and apply absolutely no formatting or styling at all and just show you plain text. You could build an entire website (would it *be* a website, in fact?) out of plain text files. You could link between them with reference numbers and URLs, exactly like we do in the phlogosphere, and your readers could highlight those URLs and paste them into their browser's address bar. The result would be a navigation experience very similar to reading phlogs with a client other than VF-1 (which will extract the links into a menu for you to avoid the need to highlight). You could have no index.html file at the root of your webspace and rely instead upon the server's automatically generated directory listing - which is quite a bit like a gopher menu without the (unofficial, not in RFC1436) i item type. If you did this using a webserver that didn't serve cookies or any other objectionable stuff, then that's pretty much a pure RFC1436 gopher experience right there, over HTTP and using a web browser. There is no substantial difference in the user experience. The inverse is *almost* true, too. The h item type isn't in RFC1436, but it is widely used and widely supported and has, I would argue, the same de-facto standard acceptance as the i item type. Perhaps a little less, but not much. With even a vaguely modern gopher server and client, you could have a gopherhole full of HTML files. Some clients might not handle it so well but lynx, say, certainly would. You could *almost* avoid gopher menus entirely, and instead use tags to link from item type h document to item type h document - the gopher:// URL scheme has its own RFC (RFC4266), after all. Plenty of phloggers use gopher to serve the occasional image or sound file. Serving HTML is, from a protocol perspective, not one iota less legitimate. You do need to have *one* gopher menu (if a client sends an empty selector to a server, the response must be a menu), which is why there are some "almost"s above, but everything else could be HTML. You *could* do either of the above, but nobody does (I might try the first one using shizaru after a few beers some time...). At the end of the day, this comes down to something like "community expectation" or "social convention". Gopher = plain-text, HTTP = HTML is *not* a technical requirement of either protocol, it's "just" a norm. So, what is the *real* heart and soul of gopher? An actual, honest-to-goodness, protocol-level conceptual distinction between gopher and the web? I would argue that the answer is "separation of content from navigation". The first two gopher item types, type 0 and type 1, are for documents and menus, respectively. They are, explicitly, different *kinds* of things from the protocol's point of view. In pure RFC1436 gopher, there is no i itemtype, so menus are *just* lists of links to either documents or other menus. Documents fundamentally *cannot* link anywhere, in anything other than a clunky manual way by including URLs in a text document. This dichotomy is crystal clear. This dichotomy also has no analogue on the web. Webpages combine content and navigation via in-line hyperlinks. You can of course build a webpage with no tags which is a navigational dead-end, just like a "pure" item type 0 gopher document. And you could build a web page which was just a