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)