Subject: [dnsext] What is the 'canonical' spelling: RRset of RRSet ?

From: Alfred Hönes <[email-masked]>
Date: Thu, 15 Oct 2009 16:01:37 +0200 (MESZ)

Folks,
I need a bit of feedback for a review.

What is the correct/preferred spelling/capitalization from the PoV
of the list:  "RRset"  or  "RRSet"  ?

There's a very decided position in the IETF w.r.t. the capitalization
of other important acronyms, like "IPsec".
Do the readers of this list care similarly in the above case?

Background information usage in on selected 'important' DNS RFCs:
o  "RRset" is used in RFCs 4033, 4034, 4035, and 4509;
o  "RRSet" appears in RFCs 2181 and 5155.
o  current DNS related I-Ds also vary; there are even drafts using both.

Any opinions?

Thanks in advance for the help, and
kind regards,
  Alfred.

---

From: Andrew Sullivan <[email-masked]>
Date: Thu, 15 Oct 2009 11:39:14 -0400

>From the evidence, there are plenty of opinions! But since 2181
defines RRSet and does not define RRset, I claim that the latter term
is undefined and that the former term is the only correct spelling of
the notion.  Contrariwise, others might argue that DNS is
case-preserving but case-insensitive, and therefore RRSet and RRset
(and even rrset) denote the same concept.  I answer that we are
writing in English and not DNS, and English is case-sensitive and
case-preserving.

I'll note (for those to whom these things are meaningful) that I also
believe the Gowers edition of Fowler to be the One True version and
that anything else is a needless innovation.  One might infer that I
am sort of curmudgeonly on this topic.  I am not, however, the RFC
Editor.  It might be worth asking them whether they have a rule about
this (but given the publications you mention, I doubt it).

A

-- 
Andrew Sullivan
[email-masked]
Shinkuro, Inc.

---

From: Chris Thompson <[email-masked]>
Date: 15 Oct 2009 17:48:49 +0100

On Oct 15 2009, Andrew Sullivan wrote:

>the notion.

But RFC 2136 defines RRset (and uses it heavily) and that takes precedence
over RFC 2181 by a whole 3 months in publication date! :-)

There are some earlier (rather informal) references. The earliest I found 
in a casual search was in RFC 1996, and it uses "RRset".

I admit to a strong personal bias in favour of "RRset".

>am sort of curmudgeonly on this topic.

You want to start a curmudgeoness contest *here*? That's extremely ...
brave of you.

-- 
Chris Thompson               University of Cambridge Computing Service,
Email: [email-masked]    New Museums Site, Cambridge CB2 3QH,
Phone: +44 1223 334715       United Kingdom.

---

From: Andrew Sullivan <[email-masked]>
Date: Thu, 15 Oct 2009 13:15:43 -0400

> over RFC 2181 by a whole 3 months in publication date! :-)

Hrm, now that's a good point.  I forgot about that definition.
Therefore, I must revise my opinion, and claim that RRset is indeed
defined.  Nevertheless, since 2181 says it's the "clarifications"
document, I still claim that it is authoritative on this topic.
Still, for questions of publication style, the right authority is the
RFC Editor.  If I were going to make it to Hiroshima (I have a
personal conflict that can't be resolved in the IETF meeting's
favour), I'd probably stop by their desk and ask them.

> You want to start a curmudgeoness contest *here*? That's extremely ...

I did limit the scope to rules for English, please note!

A

-- 
Andrew Sullivan
[email-masked]
Shinkuro, Inc.

---

From: Donald Eastlake <[email-masked]>
Date: Thu, 15 Oct 2009 13:15:59 -0400

On Thu, Oct 15, 2009 at 12:48 PM, Chris Thompson <[email-masked]> wrote:

> ...

+1

Donald

---

From: Jaap Akkerhuis <[email-masked]>
Date: Thu, 15 Oct 2009 19:35:46 +0200

Alfred,

    Folks,

Thanks for bringing this up.

    Any opinions?

My preference is for RRset because that is what I always use.

	jaap

---

From: Olafur Gudmundsson <[email-masked]>
Date: Thu, 15 Oct 2009 15:37:29 -0400

>My preference is for RRset because that is what I always use.

FWIW
scanning the archives of namedroppers with:
foreach i ( namedroppers.* )
foreach? echo $i
foreach? grep RRset $i/* | wc
foreach? grep RRSet $i/* | wc
foreach? end

namedroppers.199x
     1056   12172  120612
       48     552    4367
namedroppers.2000
       48     556    4639
        2      28     211
namedroppers.2001
      159    2050   16458
       21     248    2003
namedroppers.2002
      422    4873   43979
        9     118     884
namedroppers.2003
      770    8831   84217
       25     295    2504
namedroppers.2004
      366    4349   37347
       72     921    7248
namedroppers.2005
      516    4780   56603
      141    1776   15789
namedroppers.2006
      180    2104   17631
      247    2620   30338
namedroppers.2007
       55     626    5450
       48     577    5140
namedroppers.2008
      264    3086   26183
      176    2585   23184
namedroppers.2009
      420    5121   48336
       85    1552   12005

RRset is much more popular except RRSet seems to be more popular with the
advocates of NSEC3 :-)

         Olafur

---

From: "Roy Arends" <[email-masked]>
Date: Thu, 15 Oct 2009 22:03:06 +0200

> o  current DNS related I-Ds also vary; there are even drafts using both.

I can't believe this came up :-)

This is what I wrote a wrote many moons ago:

Begin forwarded message:

From: Roy Arends <[email-masked]>
Date: February 16, 2007 9:37:46 PM GMT+01:00
To: DNS Directorate 
Subject: tongue in cheek weekend reading: RRSet vs RRset 

Peter Koch and I are pondering which of the term RRSet or RRset is the 
preferred one. In other words, should it be written with or without 
capital 's'.

Have fun reading.

Dear Peter,

I did a little research on what the correct notation should be.

RFC 1996 introduces the term RRset, but does not explicitly define it.
RFC 2136 explicitly defines RRset.
RFC 2181 explicitly defines RRSet.

RFC 2181 did not re-define the term RRset to RRSet, since it updates nor 
obsoletes RFC 2136.
We are left with two different acronyms that have a similar definition, 
and we may assume that they can co-exist. However, we still have to pick 
one for our current draft. To decide which is preferred, we simply count 
the RFCs that use RRset and use RRSet, and we go with term that is used in 
the most RFCs. Note that I did not include the obsoleted drafts in my 
count.

RRset:
  1996 2136 2308 2663 2694 2874
  3007 3364 3403 3833 3958 4033
  4034 4035 4470 4471 4472 4509

RRSet:
  2181 3123 4592 4641 4697 4795

Thats 24 RFCs, of which

 18 RFCs use RRset,
  6 RFCs use RRSet.

This, however, is skewed. Since the 'RRset' RFCs might actually refer to 
RFC 2181 (the 'RRSet' RFC), in which case those are completely wrong and 
should be candidate for a -bis draft. With priority ofcourse.  Since RFC 
1996 and RFC 2136 were published before RFC 2181, I'll skip those. These 
are in error: 2308 2874 4471

The adjusted count is now:

 15 RFCs use, or should have used the term RRset,
  9 RFCs use the term RRSet.

This is still skewed, since some RFCs refer to both 2136 and 2181. Since 
2181 was published later than 2136, we assume it should be leading. Those 
RFCs are ambiguous and should be candidate for a -bis draft. With priority 
ofcourse. These are in error: 2694 4033 4034 4035 4472

The adjusted count is now:

 10 RFCs use, or should have used the term RRset,
 14 RFCs use RRSet.

But, this goes both ways. RFC 4592, which uses RRSet (defined in 2181), 
does NOT refer to 2181, but DOES refer to 2136. This obviously and 
blatantly wrong, and is thus candidate for a -bis document. With Priority 
of course.

The adjusted count is now:

11 RFCs use, or should have used the term RRset,
13 RFCs use, or should have used the term RRSet.

There is a problem with RFC 2308 though. This RFC was previously counted 
as wrong.  RFC 2308 has RFC 2181 in the reference section, but does NOT 
refer to 2181 in the body. Since we now have RFC 2308 with an obsolete 
orphan reference, we must re-instate the status of RFC 2308 as using the 
term RRset correct. The reference section needs to be updated, hence 2308 
is still candidate for a -bis. With priority ofcourse.

This now makes our count:

12 RFCs use, or should have used the term RRset,
12 RFCs use, or should have used the term RRSet.

Since there is an equal count of RFCs using (or should have been using) 
the term RRset or RRSet, this approach does not lead to a definite answer.
We are now back to the question: which term is the prefered, 2136's RRset 
or 2181's RRSet.

Lets assume the choice is arbitrary, and we choose RRset from 2136.

When our draft becomes an RFC, the count will then be:

13 RFCs use, or should have used the term RRset,
12 RFCs use, or should have used the term RRSet.

Since most RFCs use the term RRset, I recommend that we do a 2181-bis as 
well, after which we can -bis all RFCs that use the term RRSet, with 
priority of course. This appears to be a lot less work compared to revving 
all RFCs that use the term RRset in error.

[afterword]

There is one RFC that I haven't mentioned yet. RFC 2929 written by Don 
Eastlake and Bill Manning.

I have never EVER seen such an atrocity in my life, "RR Set". An extra 
space. What were they thinking! Was the RFC just too damn short ? Is life 
not confusing enough ?

Have a good weekend :)

Roy Arends
ignoramus savant.

---

From: Paul Vixie <[email-masked]>
Date: Thu, 15 Oct 2009 21:36:01 +0000

> Date: Thu, 15 Oct 2009 13:15:59 -0400
> From: Donald Eastlake <[email-masked]>
> 

also +1.  as a bonus, here's some historical background on the term itself.

RFC 2136 was the first time the atomicity of resource record sets denoted
by <name,class,type> was made explicit, because it was very important to
the operation of the DNS UPDATE protocol.  i coined the term "RRset" for
RFC 2136 but the atomicity itself was always implicit in RFC 1034 and 1035,
so it was not new information.  BIND itself wasn't as strict about resource
record set atomicity until version 4.9 -- which was the first release i had
a hand in -- and so it was a hot topic for me personally during the
production of RFC 2136.  an early draft of DNS UPDATE attempted to make
updates on a per-RR basis, and DNS IXFR as far as i know still does so.