Today Gopher is often dismissed as inept, because people are comparing the greatly expanded HTTP protocol (delivering pages containing extensive lines of code and executed with numerous browser plug-ins) to the still lean Gopher protocol. This however is an unfair "apples to oranges" rendering comparison of stagnant against enhanced (Gopher is not inherently restricted to remaining unenhanced). Gopher is not intrinsically better or worse, just different. One needs only to look back at how HTTP websites and Browsers appeared in the early '90s, to realize that if it was not for the Gopher licensing fiasco, Gopher would still be a major component of the Web; with HTTP serving up commercial advertising and shopping, and Gopher serving up academic resources and personal blogs.
(Both Gopher and HTTP are Web technologies, which can even be merged seamlessly using Hyper-G.)

Initially fully graphical browsers were not available, and Gopher, before its licensing induced stagnation, was actually on the fast-track to popularizing them first. In fact, advancing even beyond static graphical browsing is relatively easy with Gopher (due to the universal understructure the Protocol imposes on every Gopher Server), and graphical 3-D "Virtual Reality" burrowing of gopherspace was demonstrated as far back as 1994. To give you an idea of the state of the HTTP during Gophers prominence, here is a link to a reproduction of the struggling original CERN website, and a link to an emulator of an early HTTP Browser. For another example, note how the page you are currently reading looks, which is a modern web page laid out in a hierarchical format, using only core HTML without much of the added bling (and therefore a more objective HTTP to Gopher rendering comparison).


1993 Licensing Fiasco

Gopher-Software-Licensing-Policy ANCIENT .txt = (this onerous policy hung a dark cloud over GopherCon 93)
Gopher-Software-Licensing-Policy NEW .txt = (the lifting of prohibition had little impact, occuring seven years too late)
- GNU General Public License .txt

Peers Condemning the Ancient Gopher License
UMN Justifying their Ancient Gopher License
Desertion Warnings over the Ancient Gopher License
Retrospection on the disasterous impact of licensing Gopher

Note: Extreme industry backlash towards what were perceived as immorally greedy Gopher protocol license owners at UMN, motivated CERN out of fear to quickly renounce its own restrictive CERN HTTP protocol license (and it was industry approval of the CERN license annulment decision that was the unforeseen catalyst that within weeks ushered in the HTTP-centric, now turned Commercial Internet, of today).


Official Standards Referencing Gopher

rfc1738 .txt - Uniform Resource Locators (URL)
rfc1808 .txt - Relative Uniform Resource Locators
rfc2396 .txt - Uniform Resource Identifiers (URI): Generic Syntax
rfc4266 .txt - The gopher URI Scheme
Port Numbers .txt - IANA Reserved Port Numbers = (be aware that the service listed beside the Port number is the Primary user. Servers may use any Port as a secondary user, as long as they don't conflict with a primary user. Clients should therefore allow access through any Port. In the '90s, when it was common for servers to be running on individual machines with separate IP addresses, several legacy Gopher Clients and multi-protocol HTTP Browsers were written which improperly hard-coded Gopher server access exclusively through Port 70.)
Character Encoding - For compatibility reasons, Gopher selector strings must always be constructed using the 7-bit "US-ASCII" character encoding scheme. 8-bit character encoding can be substituted for text intended to be displayed by a Client (although some older mainframe and TeleType terminals will be unable to display any high characters), but the "Latin-1" (ISO-8859-1) character set should be used in preference to the "UTF-8" character set whenever possible.

Proposals Referencing Gopher

rfc1436 .txt - The Internet Gopher Protocol (a distributed document search and retrieval protocol) ~ WARNING ~ These proposed Item-Types do not reflect adopted Internet practice.*
rfc1580 .txt - Guide to Network Resource Tools
rfc1594 .txt - Answers to Commonly asked "New Internet User" Questions
rfc1614 .txt - Network Access to Multimedia Information
rfc1689 .txt - Networked Information Retrieval: Tools and Groups
rfc1727 .txt - A Vision of an Integrated Internet Information Service
rfc2219 .txt - Use of DNS Aliases for Network Services

*Note: RFC1436 was released as an informational memo. This prologue, describing how Gopher was deployed internally at one university and speculating how it -might- possibly be used on the Internet, firmly states that it "does not specify an Internet standard".


Enhancement Suggestions for Gopher

Gopher+ = (under the despised Gopher licensing cloud, this Web evolution proposal now fell on deaf ears)
+MENU block suggestion
Changes to RFC1738 and RFC1808
Proposed Item-type Changes = (at the time, JumpJet [GopherJewels-2] and Cameron Kaiser [Veronica-2] operated the largest Gopher hub servers on the Internet)


Business Lesson: The rejection of Gopher over HTTP, like for example the rejection of GIF over JPG, proves once again why retroactive licensing of a Protocol is harmful to utilization of the Protocol in the long term.