The IMPLEMENTATION section of the RFC is supposed to be mandatory, but
there have been an awful lot of RFCs posted that have missing or
evasive IMPLEMENTATION sections.  I found more than 39% of all RFCs
have a missing or incomplete implementation section.  

Here are the results of my survey.  Of 166 total RFCs: (numbers 1-167,
except #41)

RFCs: 24 25 69 70 80 81 106 128 132 147 148 159 164

        These 13 ( 8%) had very brief IMPLEMENTATION sections that
        didn't contain any substantive discussion.  In these cases I
        judged that an implementation section would have been
        desirable.  Some RFCs do not need implementation sections.  I
        have enumerated these separately below.

        In some cases the section was actually flippant.  #147 is a
        good example here.

RFCs: 21 26 62 84 88 110 112 131 136 137 140 149 162 165 166

        These 15 ( 9%) had no IMPLEMENTATION section at all.  I was
        surprised that the librarian had even accepted these, since
        that section is not described as 'optional' in the RFC format
        document.

RFCs: 97 100

        These 2 ( 1%) said that implementation discussion was beyond
        the scope of the RFC, which I don't understand, since it
        clearly *is* part of the scope of the RFC.


RFCs: 8 12 21 23 31 40 53 54 55 58 59 72 73 93 103 104 120 133 134 150 167

        These 21 (13%) contained remarks about the author's ignorance.

        For example:
        #53: "Dammit, Jim, I'm a doctor, not an engineer!"
        #93: "I'll leave that to the internals guys. :-) "
        #40: "I've no real concrete ideas on this, sorry."


RFCs: 5 6 14 30 39 45 64 75 87 89 109 113 115 160

        These 14 ( 8%) contain IMPLEMENTATION sections, but do not
        actually discuss implementation.  Instead, they contain more
        or less detailed discussions of the *interfaces* to the
        proposed new features.

        I recommend that a change be made to the RFC metadocuments to
        make the purpose of the implementation section clearer.

This makes a total of 65 (39%) that have missing or bogus
implementation sections.

Of the remainder:

RFCs: 1 2 3 4 10 11 13 17 18 19 22 27 32 35 36 37 38 42 43 44 46 47 48
      49 50 51 52 56 57 60 61 63 65 66 67 71 78 79 82 83 85 86 90 92
      95 96 98 99 108 111 116 117 119 121 123 124 129 130 135 138 139
      142 143 145 146 151 152 153 154 155 156 157 158 161 163

        These 75 (45%) appeared to contain explanations of
        implementation issues.  In some cases the discussion seemed
        clearly deficient, but that's not the problem I'm trying to
        address in this message.  I did not try to judge whether or
        not the discussion was cogent or to the point, but only
        whether a good-faith effort had been made to identify and
        discuss the issues.


RFCs: 7 16 33 34 68 74 76 77 91 94 102 107 114 118 121 144

        These 16 (10%) said something along the lines of "The
        implementation should be straightforward."  I did not try to
        judge whether this was actually true.  

RFCs: 9 28 29 101 105 125 126 127 141

        These  9 ( 5%) don't contain any substantive discussion of
        implementation issues, because it is not appropriate or
        necessary.   For example, #125 is "Components in the Perl Core
        Should Have Well-Defined APIs and Behavior" and #28 is "Perl
        should stay Perl".



Summary:

Have implementation section:            75      (45%)
Should have implementation but do not:  65      (39%)
"Implementation is straightforward":    16      (10%)
Don't need implementation section:       9      ( 5%)
        

I don't think this is a good thing.  People are proposing all sorts of
stuff without thinking even a little bit about how it might be
implemented.  I think the proposals might be more carefully thought
through if the proposers were not allowed to evade thinking about
implementations.

Not everyone knows enough about Perl's internal design or about
programming design generally to be able to consider the issues.  I
suggest that these people should write to the approrpriate working
group chair and ask to be put in touch with someone who can help them
with the internals sections of their RFC.  Then they can work out some
of the details together and we might avoid some of the more obviously
half-baked suggestions.

Reply via email to