RFC 72 UNKNOWN PROTOCOL GOVERNANCE · NETWORK DEVELOPMENT

Proposed Moratorium on Changes to Network Protocol

A call to pause protocol changes while the network becomes operational.

On rfc-editor.org ↗
PUBLISHED
September 1970
AUTHORS
R.D. Bressler
STREAM
Legacy
PROPOSED MORATORIUM LENGTH
6 months or until system is operational
SITES AFFECTED
Multics, Lincoln Laboratories, and others
DOI
10.17487/RFC0072

RFC text

Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                 Robert D. Bressler
Request for Comments #72                              M.I.T./Project MAC
                                                      September 28, 1970



           PROPOSED MORATORIUM ON CHANGES TO NETWORK PROTOCOL


       Bill Crowther's RFC No. 67 raised a much more  fundamental  issue

   than  the  question  of marking.  Any change to presently established

   protocol  is  going  to  involve  changes  in  the  hardware/software

   development  efforts  that have, in some instances, been going on for

   over 6 months.  In the case  of  Multics,  this  effort  has  yielded

   programs  either  complete or in the advanced debugging stages.  This

   is no doubt true for many other sites as well.


       The arguments being developed  here  are  not  that  the  present

   protocol  is  ideal,  but  rather that everyone has agreed that it is

   workable and has begun implementation of it.  We would therefore like

   to propose a moratorium on most changes to this protocol for the next

   6 months, or however long it takes to get this system running and  to

   observe its characteristics.


       Specifically this means not making changes that only  effect  the

   efficiency  or  ease of implementation.  If a major design problem is

   uncovered it should still be brought forward  for  consideration,  as

   could  issues that represent extensions to the existing system.  But,

   changes to the details of the present system should not be made.


       There are several points to be made in favor  of  this  argument.


                                [Page 1]





Network Working Group            RFC 72               Robert D. Bressler


   The  first,  and  perhaps  the  most important, is getting the system

   working as soon as possible.  The major benefits of the network  will

   be  in the uses to which it is put, and development along those lines

   cannot really get off its feet until the network is operational.   We

   feel that, although the effort needed to reprogram part of the NCP at

   a later date will undoubtedly be greater, it will be  hidden  by  the

   parallel  effort  then  going  on  involving network usage and higher

   level network development.


       Another problem that immediately arises is what should constitute

   an  official  change to the protocol.  The history of the development

   of the current protocol shows that once an  idea  is  raised,  it  is

   modified  many  times  before it is generally agreeable to all.  Thus

   each new suggestion  for  change  could  conceivably  retard  program

   development in terms of months.


       Finally there  is  the  consideration  that  an  idea  may  prove

   unfeasible  once  actual operation of the network begins.  Any one of

   the currently agreed upon issues may  be  reopened  when  full  scale

   testing begins to take place.


       We think that these considerations are important enough to freeze

   the  network  protocol  unless  any  problems arise that would make a

   certain feature unimplementable.   Changes  then  leading  simply  to

   greater  efficiency would be saved until actual network operation has

   been tested.



                                [Page 2]





Network Working Group            RFC 72               Robert D. Bressler


       This is not to say that new ideas  or  arguments  should  not  be

   brought  forward,  but  that  they should be brought forward with the

   understanding that they  are  not  to  be  considered  for  immediate

   implementation but rather to be discussed with a view toward possible

   later implementation.  This concept might  be  reflected  by  titling

   such documents, "Proposal for Post-Moratorium Changes to ..."


       [ This RFC was put into machine readable form for entry ]

          [ into the online RFC archives by Bob Hinden 6/97 ]

AI ELI5

On this page
PROBLEMMany RFCs propose frequent changes to the ARPANET protocol. Sites have committed 6+ months of development effort to implement the agreed protocol, and new changes force costly recoding of host and IMP software.
MECHANISMPropose a 6-month moratorium on protocol changes that only improve efficiency or implementation ease. Continue to allow changes for major design flaws and protocol extensions, but freeze details.
STABILITY MATTERSThe moratorium lets implementations stabilize, the network becomes operational faster, actual usage and operational experience will guide future improvements, and late changes do not compete with parallel network-usage development.

§1The Burden of Constant Changes

Robert Bressler from MIT responds to RFC 67 (which raised concerns about marking) with a broader concern: the protocol keeps changing. Sites like MIT (Multics), Lincoln Laboratories, and others have been implementing the agreed protocol for over 6 months. Some code is complete; other parts are in advanced debugging. Each new RFC proposing a change forces developers to revise, retest, and redeploy. The effort to reprogram parts of the NCP is substantial.

Software teams have been building for half a year. Every new rule change means weeks of rewriting and testing.

§2The Case for Freezing Protocol Details

The arguments are practical, not ideological. First, getting the system operational is paramount. The real benefits of the network depend on how it is used. Development of applications and higher-layer protocols cannot proceed until the base network is working. Reprogramming effort, though greater when done later, will be hidden by parallel work on network applications.

Second, deciding what counts as an 'official change' is difficult. History shows that even settled issues are modified many times before consensus emerges. Each new suggestion can delay implementation by months as people debate and consider revisions.

Third, an idea's feasibility is unknown until actual network operation begins. Some accepted features may prove unworkable in practice; others might be reopened for change when full testing shows problems.

Let's get it working first. We can learn from real use. And we should not argue forever about each small change.

§3What to Freeze and What to Allow

Bressler proposes freezing the network protocol except in specific cases. Major design flaws should still be brought forward and discussed. Extensions to the protocol (new capabilities) can be proposed. But changes that only improve efficiency or ease of implementation should be postponed.

The intent is not to silence ideas. New proposals should still be written and debated, but with the understanding that they are 'Proposals for Post-Moratorium Changes' rather than immediate modifications. This preserves design discussion while allowing implementations to proceed.

Fix real problems now. Improve efficiency later. Write down all the good ideas for after we are running.

§4References

[RFC 67]Crowther, W. Proposed Modification to the Host-IMP Protocol.