Finger-Protocol

⸺ by Charles Iliya Krempeaux

The finger-protocol is a simple, friendly, human-oriented & human-legible protocol, that has its origins in the early 1970s.

Although some of the usage of the finger-protocol was similar to a directory-service for humans — it evolved into one of the early Internet-based social networks.

(One should note that online social networks existed on other pre-Internet networks. So, while the finger-protocol wasn't the first online social network — it is important because of just how important the Internet became.)

It was not uncommon for people to use finger to publish:

Like with a lot of things from the early Internet — the finger-protocol is decentralized.

The finger-protocol was created and evolved over time, by the software developers who created the finger-client software, and the finger-server software (as well as the user who chose to use or not use a particular implementation). Later on — at least 6 years after the finger-protocol was first created, IETF RFC-742 was published, in an attempt to describe the pre-existing finger-protocol. I.e., IETF RFC-742 did not create a new protocol, but instead just tried to document and describe what was created by software developers outside of the IETF. 14 years later after RFC-742 was published, and at least 20 years after the finger-protocol first existed and was evolving — RFC-1288 was published in an attempt to remove some of (what some perceived as) the ambiguity of RFC-742, to make it easier for both people who would implement a finger-protocol client or server, and to provide some guidance. However RFC-1288 added restrictions to the finger-protocol that did NOT exist in RFC-742. In 1991 some of these restrictions may have seemed reasonable, however today (in the year 2022) some of the restrictions probably do not make as much sense (and should probably be reconsidered). This document is in part an attempt to reconsider one of these restrictions that RFC-1288 introduced but which didn't exist in RFC-742 — in particular, how to handle a switch other than the "/W" switch.

Historically people and even machines were identified by user names at a host name. For example:

cikrempeaux@reiver.link

Someone could request information from or about a user at a host using one of the historic finger terminal applications. On the command-line, a simple finger request could be performed with something like the following:

finger cikrempeaux@reiver.link

A finger-protocol server could return anything it wanted. But the spirit of the finger-protocol is that the output should be first, given what technologies are available at the time (and & second if at all).

Also, being a simple protocol, made creating a simple client often trivial for many. For example:

echo '/W cikrempeaux' | nc reiver.link 79

Small-Net

Nowadays (as the year 2022), the finger-protocol is considered a protocol.

Example

Here is a very simple example finger response, using a more vintage format:

	Login: reiver                           Name: Charles Iliya Krempeaux
	Directory: /home/reiver                Shell: /usr/bin/bash
	Last login Thu Dec 01 02:05:59 2022 UTC
	No Mail.
	Plan:
	
	
	          _
	         ( )
	          H
	          H
	         _H_ 
	      .-'-.-'-.
	     /         \
	    |           |
	    |   .-------'._
	    |  / /  '.' '. \
	    |  \ \ @   @ / / 
	    |   '---------'        
	    |    _______|  
	    |  .'-+-+-+|  
	    |  '.-+-+-+|         Hello world!
	    |    """""" |
	    '-.__   __.-'
	         """

Finger-Protocol Advantages

The finger-protocol has a number of advantages:

Finger-Protocol Disadvantges

The finger-protocol also has a number of disadvantages:

History

Here is some history of the finger-protocol

On February 19th, 1990, Lester Donald Earnest was quoted (by Sean Colbath) on the group alt.folklore.computers saying:

Finger was named for the act of pointing. I recall that sometime after it became popular I received a message from a system administrator who thought that it should be renamed so that users would not have to use a "dirty" word. I gave his request all the consideration that it deserved. I created Finger around 1971 to meet a local need at the Stanford Artifical Intelligence Lab. People generally worked long hours there, often with unpredictable schedules. When you wanted to meet with some group, it was important to know who was there and when the others would likely reappear. It also was important to be able to locate potential volleyball players when you wanted to play, Chinese food freaks when you wanted to eat, and antisocial computer users when it appeared that something strange was happening on the system. The only tool then available for seeing who was running on our DEC-10 computer was a WHO program that showed IDs and terminal line numbers for people who were logged in. There was no information available on people who were not logged in. I frequently saw people running their fingers down the WHO display saying things like "There's Don and that's Pattie but I don't know when Tom was last seen." or "Who in hell is VVK and where does line 63 go?" I wrote Finger and developed the supporting database to provide this information in traditional human terms -- real names and places. Because I preferred to talk face to face rather than through the computer or telephone, I put in the feature that tells how long the terminal had been idle, so that I could assess the likelihood that I would find them there if I walked down the hall. The program was an instant hit. Some people asked for the Plan file feature so that they could explain their absence or how they could be reached at odd times, so I added it. I found it interesting that this feature evolved into a forum for social commentary and amusing observations. Finger was picked up by a number of other groups with DEC-10 computers that were connected to Arpanet -- software flowed in all directions around the net in those days. It later migrated to Un*x, probably via U.C. Berkeley. Somewhere along the line the idea arose to provide a network Finger service. I don't remember who suggested that but it seemed like a good idea at the time so I stuck it in. Some other anxious people wanted to be able to verify that their mail was delivered to specific addressees, so the Mail feature was also added. While I was somewhat surprised by the popularity of Finger, it has not been as successful as an earlier program that I invented -- the spelling checker. It too was created to fill a personal need that many others apparently share. We didn't think about commercial development and software protection in those days, but if we had we probably could have made something out of it. On the other hand, I enjoyed the comradery of those gentler times and have no regrets.

See Also