RFC 506 UNKNOWN FILE TRANSFER · NAMING

FTP command naming problem

A proposal to rename confusing FTP commands with clearer synonyms.

On rfc-editor.org ↗
PUBLISHED
June 1973
AUTHORS
M.A. Padlipsky
STREAM
Legacy
PROPOSED SYNONYM FOR RETR
PUSH
PROPOSED SYNONYM FOR STOR
PULL
DOI
10.17487/RFC0506

RFC text

Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                     M.A. Padlipsky
Request for Comments #506                                    MIT-Multics
NIC #16157                                                       6/26/73


                     An FTP Command-Naming Problem

In using the File Transfer Protocol, I've noticed that the choice of
names for two crucial commands is faulty.  The commands are STOR, which
tell the Server to take a file in, and RETR, which tells the Server to
send a file out.  The trouble is that telling the Server to "retrieve" a
file sounds like a desire for the file to be taken in by the Server
rather than be sent out.  For that matter, telling the Server to "store"
the file sounds like it could be either a command to send it out or a
command to take it in.  The names of the commands, then, are both
connotatively ambiguous and not very mnemonic if they are thought of as
commands to the Server.  (If they're thought of as commands to the User
Host, they make more sense -- but they're not commands to the Use
(Host.)

Of course, memorizing the denotations -- despite the connotations -- is
a solution.  But it would probably be easier for users if the names were
more suggestive of the functions named.  Therefore, I propose that PUSH
and PULL be added to the FTP as synonyms for RETR and STOR, respectively
(I hope).  Even GIVE and TAKE would be an improvement.  At the very
least, SEND should be a synonym for RETR. (1)












---------------------
(1)  Note that by specifying synonyms rather than replacement, existing
correct reflexes -- and "automata" -- are not disturbed, while newcomers
to FTPing are given a better chance of choosing right.



       [ This RFC was put into machine readable form for entry ]
       [ into the online RFC archives by Alex McKenzie with    ]
       [ support from GTE, formerly BBN Corp.             9/99 ]

AI ELI5

On this page
PROBLEMThe FTP commands STOR and RETR have confusing names: telling a server to "store" or "retrieve" does not clearly indicate whether data goes in or out.
MECHANISMAdd PUSH and PULL as synonyms for RETR and STOR respectively, making it immediately clear which direction data flows.
USABILITY MATTERSThe specific synonyms were not adopted, but the proposal highlighted usability issues in protocol naming.

§1The Naming Problem

FTP defines STOR to tell the server to accept a file (take it in) and RETR to tell the server to send a file (send it out). The trouble is that "retrieve" sounds like taking in, not sending out, and "store" could mean either direction. The names are both connotatively ambiguous and unintuitive.

Telling a server to "retrieve" a file sounds backwards—like the server gets it, not sends it. The names are confusing.

§2The Solution

The proposal suggests adding PUSH and PULL as synonyms. PUSH would mean "send this to me" (RETR), and PULL would mean "take this from me" (STOR). Even GIVE and TAKE would be clearer than the existing names. At a minimum, SEND should be a synonym for RETR.

The author emphasizes adding synonyms rather than replacing the existing commands, so that existing software and user habits are not disrupted while newcomers benefit from clearer names.

PUSH means send me the file, PULL means take the file from me. Much clearer.

§3Impact and Adoption

The proposal raises a key point about protocol design: command names matter for usability. While FTP eventually settled on STOR and RETR as the standard, many later protocols and APIs adopted the principle of using clear, intuitive names.

The idea was not adopted, but it made people think about whether protocol words should be easy to remember.

§4References