The Internet Gopher from Minnesota

106 pointsposted 7 days ago
by rbanffy

44 Comments

dwheeler

3 days ago

> At GopherCon 1993, it was announced that Gopher servers would need to pay for the privilege of using the protocol... Well, that didn’t work out. People were angry and many felt betrayed. They weren’t quiet about any of it either.

> If one were to attempt to identify a single failure of Gopher in competition with the web, it would be the licensing costs. No such fee existed for the World Wide Web.

This, a thousand times. I watched as this happened. The instant that announcement was made, gopher was finished. Gopher might have lost later as HTML kept adding features, but by the time those features were added to HTML, gopher had already lost.

hinkley

3 days ago

Similarly, Bertrand Meyer killed Eiffel by trying to charge money for the compiler, and missing the nascent OSS movement. Java was an inferior language in a few important ways but the compiler and runtime were free. He could not compete with both C++ and Java.

A number of people in that era thought this was a fad and that business as usual would prevail.

SeenNotHeard

3 days ago

The licensing fee wasn't the sole reason, but it certainly sounded the death knell for Gopher and gave users reasons to look elsewhere.

For all the gauzy what-could-have-been speculations about Gopher, it really was more like a hierarchical wiki. WWW's freestyle document model quickly expanded to an application platform that could support all manner and style of services. Fees or not, Gopher didn't have a chance.

msla

3 days ago

To expand on this:

The Gopher standard mixes a document format with a networking protocol. The HTTP standards don't say a damn thing about HTML, but the Gopher standard defines a standard for sending directory information to a client, right down to the fixed list of file types that can occur in a directory. (MIME Type? What's that?) This is the hypertext part of Gopher, as only those directories can link to other places, so constraining that gives you a nice, simple way to have pretty plain-text sites with an enforce separation of lists of links, one one hand, and images and documents, on the other, which HTTP has no equivalent for.

(Not just file types, in fact, in that they have a special type for tn3270 telnet sessions. Yep, those IBM mainframes with block-mode terminals were quite important back then, but it's a bit out of place now. They also have a type for GIF and a generic 'client-figures-it-out' image type. How forward-thinking.)

https://datatracker.ietf.org/doc/html/rfc1436

jordanb

3 days ago

> The HTTP standards don't say a damn thing about HTML

HTTP stands for Hypertext transfer protocol. The whole thing was predicated on sending HTML documents and couldn't originally send anything else.

> (MIME Type? What's that?)

MIME is a hack to add attachments to email that was later also hacked into HTTP so you could send add "attachments" to a protocol designed only to transfer hypertext, it's a kludge added in version 1.1.

Gopher's main difference with the web was that its linking was directory-based with directory tree documents rather than embedded hyperlinks. This was inferior, strictly speaking since you can easily make a directory HTML document on the web, but you could also cross-link.

I'm sure that would have been changed though, along with additional file-types or whatever had Gopher succeeded. The web's success over Gopher was never down to technical details.

msla

3 days ago

> HTTP stands for Hypertext transfer protocol. The whole thing was predicated on sending HTML documents and couldn't originally send anything else.

OK, HTTP/0.9 was apparently like that. By HTTP/1.0 (1996) they'd learned better, and that was the growth phase:

https://www.w3.org/Protocols/HTTP/1.0/spec.html

> MIME is a hack to add attachments to email that was later also hacked into HTTP so you could send add "attachments" to a protocol designed only to transfer hypertext, it's a kludge added in version 1.1.

Like how Gopher got kludged to add other item types? All useful protocols evolve, and Gopher is no exception.

https://github.com/gopher-protocol/gopher-plus/blob/main/gop...

> Gopher's main difference with the web was that its linking was directory-based with directory tree documents rather than embedded hyperlinks. This was inferior, strictly speaking since you can easily make a directory HTML document on the web, but you could also cross-link.

Yes, that's true.

> I'm sure that would have been changed though, along with additional file-types or whatever had Gopher succeeded. The web's success over Gopher was never down to technical details.

Also true, and that New Gopher is now called Gemini.

https://geminiprotocol.net/

It also defines a hypertext document format (Gemtext) but it allows HTML-style free linking and (depending on client) inline images, although that's not really what the Gemini users want. Again, this is more social than technical, and more self-consciously social because it's a deliberate reaction to existing paradigms: The Web as it is now (too invasive, too busy) and Gopher as it is now (a moribund retrocomputing exercise that can't realistically incorporate new technologies or serve new goals).

Speaking of clients:

https://gmi.skyjake.fi/lagrange/

https://thelambdalab.xyz/elpher/

Both do Gemini and Gopher.

immibis

3 days ago

As usual though, more restrictive protocols remove possible use cases from one side of the protocol, but add use cases to the other. It's like JSON versus a Turing-complete configuration language.

A design based on directories of static files makes it a lot easier to mirror the entire site, or a subtree.

jandrese

3 days ago

It seems to me that Gopher just failed to keep up with the times. Embedding images into the page was a killer feature for HTML and Gopher was still doggedly text based because they were still supporting the VT100 users that had been the core userbase. Plus the web went on to support text formatting, tables, and even eventually layout.

The article isn't entirely correct about the early web being completely free. Netscape was not free software, at least on paper. In practice they didn't try to stop people from spreading it far and wide and I think the sales were somewhat modest despite being the core element of a technological revolution. Also, I guess NCSA Mosiac was technically around, but it lacked enough features to make it a second class citizen compared to Netscape Navigator.

ryukoposting

3 days ago

Gopher was built for a pre-HAL world, where you couldn't just assume that every user had a graphics card that your software supported - hell, a lot of them might not have graphics at all. In that environment, lack of embedded multimedia was a selling point due to interoperability. If you had a computer and a phone line, you could access Gopher's primeval web. Graphics and sound be damned.

For what it's worth, I have a copy of Netscape on a CD-ROM that came with a copy of PC/Computing sometime around 1994-1995. For those magazine subscribers, it was "free" if you squint a little.

jandrese

3 days ago

By the early and especially mid 90s it was incredibly common for the users to have a graphics card. This was the 486 to Pentium era of personal computers. The Mac II line was giving way to the PowerMacs. Graphics cards were commonplace. Being stuck on a text terminal was already old school. Gopher sites were functional, but generally fairly bland. Web sites tended to be a lot more creative (some would say garish) and they were so easy to make that everybody wanted to give them a shot. Animated GIFs were all the rage. Backgrounds and table based layouts were straining the 14.4k modems and 8 MB of RAM machines. It was the wild west. Everybody was trying something different and finding out what worked and what didn't.

ryukoposting

2 days ago

> By the early and especially mid 90s it was incredibly common for the users to have a graphics card.

Well yes, if you were lucky enough to have a new entry-level PC in 1994, you'd have a 486SX with just enough VRAM to run WFW at 800x600.

But, at least as late as Obtober 1992, the cheapest new PCs I see in PCMag are PC/AT clones running a 16MHz 286 (it probably had a VGA card, but come on). You could buy a cheap modem, plug it into your AT clone, and yank down some Gopher stuff.

Some folks didn't have a PC, but still had a computer. One of my old machines is a TRS-80 that was being used almost daily as late as 2013.

parl_match

3 days ago

Gopher was a much more highly structured format. Even if they'd included inline images, they didn't really have a day 0 formatting or layout language that allowed for nesting. There were other locked in choices too, like using a 8 bit value for file type.

snvzz

3 days ago

Not allowing embedded appearance-restricting stuff (such as image or stylesheets) is, in hindsight, what makes gopher great.

And, conversely, the popular WWW crap.

akira2501

3 days ago

> Embedding images into the page was a killer feature for HTML

I'd disagree slightly. Users did not have the high bandwidth always on connections then that they do now. Images were nice but were also avoided as they made pages "slow". The main reason lightboxes and other clickable thumbnails came into existence.

> was still doggedly text based because they were still supporting the VT100 users

I used lynx and links for a very long time. What made me switch was the prevalence and ultimate utility of JavaScript. It turned simple pages that were best consumed after being fully downloaded into complete progressive applications.

em-bee

3 days ago

Users did not have the high bandwidth always on connections then that they do now

users at universities did. i do remember this time as a student, early websites with small but colorful pictures and formatted text were clearly more appealing than gopher.

giantrobot

3 days ago

> Images were nice but were also avoided as they made pages "slow". The main reason lightboxes and other clickable thumbnails came into existence.

I first used the web in 1995 and websites definitely used inline images. The images were mostly small GIF images but they were definitely there. Every web authoring guide implored you to set explicit sizes on img tags so browsers wouldn't have to do a full repaint as images loaded.

Modems weren't that slow in the mid-90s, 14.4k modems were common and 28.8k modems were starting to be the default OEM option.

bluGill

3 days ago

The world would be better off without most of that though. I want content not all the fluf and such.

now get off my lawn!

colechristensen

3 days ago

I still possess a netscape cdrom which I bought at a store so very long ago.

relistan

3 days ago

Gopher was how I first got on the Internet in 1991. Cleveland FreeNet (like an Internet BBS) supported connecting to other FreeNets and Buffalo FreeNet had gopher. I searched lots of ftp sites, read lots. You also had 1.5MB of space you could use to download software to temporarily on Buffalo FreeNet. With gopher, two freenets, and zmodem, I downloaded and installed my first Linux system in 1992: 0.95a running on a 386sx16 with 4mb of memory and a 40mb HD. Gopher opened up the Internet when I was a kid in high school and the web wasn’t a thing. I’ll forever be grateful.

jhbadger

3 days ago

Interesting that the article brings up the original 1990s GopherCons (which were conferences for discussing the Gopher protocol). I'm mildly annoyed that the Go programming community (which uses a gopher as a mascot) has reused the name for their conventions, but I guess it's been unused for a while.

halestock

3 days ago

They also took the name of a programming language that predated Google’s go as well.

https://en.m.wikipedia.org/wiki/Go!_(programming_language)

anthk

3 days ago

Google's Go? Go itself predates Google, as it's founded upon plan9 C's compiler/linkers and then Alef/Limbo.

jhbadger

3 days ago

Not to mention the Chinese board game weiqi (known in English as Go from the Japanese).

nateb2022

3 days ago

The only notoriety this language has appears to be because of a naming clash, not for any legitimate technical merit.

The_Colonel

3 days ago

Go's success is there only because of Google, not for any technical merit. Without Google, Go would be a forgotten niche language.

rickcarlino

3 days ago

If the idea of a text first structured hyper text protocol interests you, consider taking a look at the Gemini protocol, a modern equivalent. https://geminiprotocol.net/

snvzz

3 days ago

Not modern nor equivalent. More of an artistic statement of some sort.

Gemini cannot be upgraded (or fixed). It was done as a one-off.

Gopher lives on.

doublerabbit

3 days ago

Betamax instead of VHS

8-Track instead of cassette

Minidiscs instead of CDs

Yahoo instead of Google

Gopher instead of HTTP

I want to believe that such alternative universe exists. How do I get there? I'm tired of this one...

anthk

3 days ago

Well:

gopher://hngopher.com HN

gopher://magical.fish Huge portal, the news section is big

gopher://gopherddit.com Reddit

gopher://sdf.org SDF blogs

gopher://gopher.icu Nice site

gopher://hoi.st Retroprogrammer

jmclnx

3 days ago

gopher is still active, see gopher://sdf.org, access via lynx

icedchai

3 days ago

I first got involved with the Internet in the early 90's (summer of 1991, I think), right when Gopher was taking off, but before the WWW. Times were so much simpler.

lindner

3 days ago

Confirmed! I was a big metalhead \m/ and was responsible for all the Unix-y things and spent a lot of time maintaining the community.

Other hostnames we had from bands and SciFi

huskerdu / nirvana / supernova / arcwelder

hafnhaf (big bonus points if you can figure this one out, lol!)

ashpool / tessier / joeboy / countzero

anthk

3 days ago

gopher://gopher.com

gopher://magical.fish

As for the client, you can use Lynx under Unix/Linux and Lagrange under everything else.

FerretFred

2 days ago

Check out my gopher server using lynx gopher://gopher.petergarner.net ... Enjoy!

a1o

3 days ago

Cool seeing the Archie Comics references!

eichi

3 days ago

I thought it was about Golang mascot.