Subject: RE: [Ltru] status of RFC 3066 or RFC 3066bis in relation to HTTP Accept-Language

From: "McDonald, Ira" <[email-masked]>
Date: Fri, 24 Mar 2006 14:29:55 -0800

Mark Crispin wrote:
> 
> As a long-time IETFer:
> 
> Typically, these matters are handled on an ad-hoc 
> case-by-case basis in 
> which common sense prevails.
> 
> The razor in this case is "does something break?"  
>
> 
> <...snip...>
>
> Equally important is that RFC ijkl should not have been approved for 
> publication if it creates an incompatibility problem in RFC 
> abcd, without 
> also updating/obsoleting RFC abcd.
> 

Precisely my point about RFC 2396 (Generic URI Syntax) and its 
successor RFC 3986.  Dozens of IETF and other standards specs 
were broken by RFC 3986 doing away with some ABNF productions 
and renaming others.  And Roy Fielding wasn't terribly polite 
about squashing my complaint.  And the IESG blithely approved 
this core spec with this glaring deficiency.

Peter - I think you're on your own - and note that RFC 1766
doesn't exactly gracefully prepare programmers for 'script'
subtags in the second position followed by 'region' subtags
in the third position - quoting from page 2 of RFC 1766:

   The syntax of this tag in RFC-822 EBNF is:

    Language-Tag = Primary-tag *( "-" Subtag )
    Primary-tag = 1*8ALPHA
    Subtag = 1*8ALPHA

<...snip...>

   In the first subtag:

    -    All 2-letter codes are interpreted as ISO 3166 alpha-2
         country codes denoting the area in which the language is
         used.

    -    Codes of 3 to 8 letters may be registered with the IANA by
         anyone who feels a need for it, according to the rules in
         chapter 5 of this document.

Cheers,
- Ira

Ira McDonald (Musician / Software Architect)
Blue Roof Music / High North Inc
PO Box 221  Grand Marais, MI  49839
phone: +1-906-494-2434
email: [email-masked]

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.3.1/291 - Release Date: 3/24/2006

_______________________________________________
Ltru mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ltru

---

From: John Cowan <[email-masked]>
Date: Fri, 24 Mar 2006 17:46:49 -0500

> this core spec with this glaring deficiency.

How did section D.2 of RFC 3986 fail to satisfy you?

> in the third position - quoting from page 2 of RFC 1766:

It prepares programmers for tags like zh-yue-taishan-us-ny-nyc,
or should if they read it.

>     Language-Tag = Primary-tag *( "-" Subtag )

Which is to say, there may be any number of subtags.

>          chapter 5 of this document.

This does not say that country codes MUST NOT appear elsewhere, only
that when a 2-letter code appears in the first (nowadays the second)
subtag, it MUST be a country code.

-- 
I don't know half of you half as well           John Cowan
as I should like, and I like less than half     [email-masked]
of you half as well as you deserve.             http://www.ccil.org/~cowan
        --Bilbo                                 http://www.ap.org

---

From: "Addison Phillips" <[email-masked]>
Date: Fri, 24 Mar 2006 15:01:06 -0800

> subtag, it MUST be a country code.

... which is still true.

Addison

Addison Phillips
Internationalization Architect - Yahoo! Inc.

Internationalization is an architecture.
It is not a feature.

---

From: Harald Alvestrand <[email-masked]>
Date: Fri, 24 Mar 2006 17:30:41 -0600

>          chapter 5 of this document.
As author, I must beg to disagree.....

a sensible interpretation of the above is "if you want a meaning for 
something that doesn't have 2 letters in the first subtag, look at the 
registry to figure out what it means".

A person who looks at the registry will find (once he discovers the 
right registry) a registry full of script subtags.

The only person who's affected by 1766->3066bis is the person who wants 
to register something with 4 letters in the first subtag. He can't, 
because that's reserved for scripts - and will be told so immediately 
when he tries to follow the 1766 registration procedure.

What's not to like?

                    Harald

---

From: "Peter Constable" <[email-masked]>
Date: Fri, 24 Mar 2006 18:02:01 -0800

> From: [email-masked] [mailto:[email-masked]] On Behalf
Of Mark
> Crispin

> > in the third position
> Sounds like a good argument to abolish script subtags, and to tell the
> people who want script identity that they are screwed, now and
forever,
> and will just have to live with it because someone may be excessively
> pedantic about RFC 1766.

One more time... If anyone is to be excessively pedantic about RFC 1766,
then *far, far* more is allowed in a 1766 tag than is allowed under
3066bis -- under 1766, there is *very little* that can be assumed about
the internal structure of tags. That doesn't in any way suggest
abolishing subtags; it just means that if all you know is RFC 1766 then
you don't know very much.

RFC 1766 allowed tags like az-Cyrl-AZ; it just didn't call that out as a
specific scenario.

I guess I've figured out the answer to my own question: if you only care
about 1766, you can test for a few possible cases and must fail
gracefully for a very large set of other cases. But if it's of any
interest to you, then you can anticipate that an Accept-Language header
can contain any of the tags permitted by 3066bis and you can parse them
assuming that 3066bis is applying rather than the
wild-west-anything-goes rules of 1766.

Peter Constable

---

From: "Peter Constable" <[email-masked]>
Date: Fri, 24 Mar 2006 18:21:36 -0800

Of Mark

> Peter, I think that you and I are loudly agreeing.  The point is that
> 3066bis, which creates specifics, doesn't break 1766 software which
did
> not (could not) know about such specifics.
> 
> Therefore there is no problem.

Yes. I had a generic question about versioning for IETF specs, for which
I got a somewhat vague answer; but I was also concerned about a specific
instance of versioning, and for that I figured out an appropriate
answer.

I've got someone asking me about Accept-Language, and when writing my
prior response, I realized that probably underlying their question was a
concern based on a wrong understanding of RFC 1766 -- thinking that
Accept-Language can't pass (e.g.) az-Cyrl-AZ because (in their mistaken
understanding) RFC 1766 doesn't allow such a tag because of the script
subtag. So, my response to them is, even though 2616 references 1766,
Accept-Language most certainly can -- and likely will -- past a tag like
az-Cyrl-AZ.

Peter Constable

---

From: Mark Crispin <[email-masked]>
Date: Fri, 24 Mar 2006 18:06:05 -0800 (PST)

Peter, I think that you and I are loudly agreeing.  The point is that 
3066bis, which creates specifics, doesn't break 1766 software which did 
not (could not) know about such specifics.

-- Mark --

http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.

---

From: Mark Crispin <[email-masked]>
Date: Fri, 24 Mar 2006 14:47:09 -0800 (PST)

On Fri, 24 Mar 2006, McDonald, Ira wrote:
> and renaming others.

A change in names in ABNF rules doesn't change the protocol in other 
documents.  It may create a need to update the other documents, but it 
doesn't break anything.

If some document inherited syntax rules from RFC 2396 and RFC 2986 changed 
some of the names, then you have to refer to RFC 2396 to see which rule 
was intended.

A little bit of common sense goes a long way.

Sounds like a good argument to abolish script subtags, and to tell the 
people who want script identity that they are screwed, now and forever, 
and will just have to live with it because someone may be excessively 
pedantic about RFC 1766.

Or.  OR!!!!  An attempt can be made to use common sense.

There is usually both a harmful interpretation and one which is either 
harmless (or causes less harm).  Common sense would sem to.

-- Mark --

http://panda.com/mrc