USENET-Format Poll

USENET-Format Poll This page contains a form by which one can enter opinions on various issues for the usenet-format working group.

New issues are welcome at this time, as well as arguments for the various choices or sides of the issues, and new choices or alternatives.

You can't fill out the form yet! It's just here for review Partisan comments are in indented tables, in red. Anybody can submit them, though we should try to keep it to one per side. To submit one, mail it to me with the string "topic.subtopic" in the subject line, as in "openpgp.pro". In the body, enter paragraphs, blank line between paragraphs. No HTML, though if you are really desperate you can use my simple formatter language.

I'm sure that there will be many who want to suggest mods for the questions or choices or offer defenses for the choices. This is just preliminary and that's expected.

Abstain is there if you want to skip a question or undo the setting of a button. If you don't like the choices, write in your feelings in the Other box. If your comments are not a choice, use the Comment box.


Openpgp | Language | Uuencode | Spki | Richtext | Lock1 | Locksites | Extend | Attributes | Binary | Sig | Artsig | Partial | Partialtag | Alternative | From | Named-invis | Named-class | Replace | Author-id | Cancel | Newcontrol | Sendsys | Ihave | Topics | Policy | Makefile | Richallow |


Openpgp

USENET signatures and/or certificates should be encoded using the openpgp encoding with extensions to deal with features and certified attributes specific to USENET

Argument: Con

OpenPGP is really an encoding for signatures and not much else. It doesn't say how to define USENET signatures or all the many attributes a USENET certificate needs. How do you say "This keyholder is allowed to newgroup in comp.*" or "This keyholder is the moderator of rec.humor.funny" in OpenPGP?

You don't, except by extending it. What we would get from OpenPGP before extending it is almost nothing -- a packed binary syntax for a few basic parameters. USENET tends not to use packed binary syntaxes, preferring readable, editable forms even though they are larger. -BradT

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment:


Language

USENET messages should have a mandatory MIME content-language header, with no default.

Argument: Con

Anglocentric as it is, it's simply more efficient, with the vast majority of groups being in English, to have that as a default for this header. We want to reduce the mandatory headers.

Alternately, we could specify that "newsgroups" have a default and say only that postings not in the default language of the newsgroup must contain such a header. -BradT

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment:


Uuencode

The use of uuencode should be discouraged and eventually forbidden, to be replaced by MIME tagging and encoding for binaries.

Argument: Pro

No spec should have two equivalent means of doing something, except as a migration from one to another. MIME is clearly better than uuencode, and now as most readers have the ability to use MIME, it's time to make a decision to do one and not both. -BradT

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment:


Spki

USENET certificates should be encoded using SPKI extended to include USENET attributes.

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment:


Richtext

How should rich texts be inserted, when it is to be inserted, into USENET articles?

  1. Prettyprinted HTML
  2. Multipart alternative with plain and rich format
  3. Propose out of band HTML encoding to W3C
  4. Abstain
Other:
Comment:


Lock1

Cancel Lock should not be implemented in USENET systems until a 3rd party signed cancel system is also defined.

Argument: Pro

It must be realized that the primary use of cancel on the net today is not to cancel one's articles, but to cancel net abuse, namely spam. Cancel lock, implemented without a corresponding 3rd party cancel system, creates uncancellable spam, at least within the spec.

In the rush to stop abusive forged cancels, we should not install a one half of a facility, bringing on an even worse problem.

Yes, there are some ad-hoc 3rd party cancel systems out there. But it is not right for a spec to knowingly create a problem and just hope that ad-hoc systems will fix it. If we know we need a 3rd party signed cancel (or rather 3rd party signed message) system, we should have it.

Cancel locks are easier to implement. Drafted without a spec for general signed messages, implementers will implement only them.

You'll be able to easily spot spam after that -- spam will be the first stuff to have cancel locks.

Cancel locks are useful, but they are not useful enough for this group to endorse only half (or rather even less than half) of an answer to the security question. It's all or nothing. -BradT

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment:


Locksites

Cancel lock should be used only by users. Sites, injectors and moderators and others should use public key signed cancels to cancel articles they are authorized to cancel.

Argument: Pro

There are two ways to secure cancel. The cancel-lock/unlock pair, with one string on the original message and another string that hashes to the first one on the cancel, and public key digital signature of the cancel, with a certificate indicating the keyholder has authority to cancel the original message.

The cancel lock is easier to code, and requires no public key generation and no certificates. Thus it may make sense for simpler news systems to implement it for users.

But it has its costs. It requires that the lock string be placed on all messages when they are posted. As such it is a lot bulkier. In addition, one has to do this in advance. It is not possible to post an article with old software, realize later one wishes to cancel it, and download software to cancel it. This can, however be done with PK signed cancels.

Cancel locks only allow the originator to cancel a message, if they planned in advance. PK signed cancels can allow any party you want to authorize, and in particular allow the cancellation of forgeries by the victim. Cancel locks only allow cancellation of forgeries by the perpetrator. (This is both a feature and a bug)

However, when it comes to sites cancelling articles injected at the site, the PK signed cancel is a big win. For sites to add an extra 35 bytes to every article is not trivial in size. For moderators and their sites to add it is even larger.

Sites rarely have to cancel, and they rarely know in advance they will need to cancel. The most common causes for a site wanting to cancel are spam, and a forged message appearing to come from their site which is not authorized to (often also spam, but not necessarily.)

With cancel locks, the locks must have been added (perhaps on top of a user's lock) when the message was posted. One can't be running an older, or simpler injector when the spam is posted and then fix the problem later. With PK signed cancels, one can do that. One downloads a spam canceller, gets a site certificate and issues the site cancel, after the fact.

With PK signed cancels, one can cancel forgeries as well.

PK signed cancels also offer a major efficiency if the posted messages have a message-id using the site's domain name. One can verify such a cancel without having to have first received the message, or having to fetch it from disk. One simply receives a cancel for a message-id, which of course contains a domain, and checks if the canceller is authorized to cancel message-ids in that domain. This won't always work, but in well over 90% of cases the message-id will be from the domain and things will be a lot more efficient.

A cancel lock system requires that in the common case that the message has not yet arrived (very common with a cancelled message), the cancel with unlock key be stored in a pending queue, then verified when the actual message arrives to see if it is authorized.

There is only one downside to using PK cancels for site or moderator cancels. The site admin or moderator must, before issuing the cancel, get a certificate saying they are the master of their domain. A moderator can be presumed to already have one, simply to moderate the group, since we want moderated groups to be secured.

The site should get one in advance, but if they don't, there are ways to build tools to allow the quick fetching of such a certificate for short term use. (Somewhat complex before secured DNS but still doable.) After secured DNS becomes common -- and it is going to -- all sites will have a site certificate already. -BradT

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment:


Extend

Extensions for headers (MIME style). Should they be supported

Argument: All

Look how many travails we had this time because we couldn't do a subtle change to the semantics of a header. All formats should be extensible as much as possible. And tagged parameters are much better than positional. I hope it's a no brainer to define new headers as extensible, but I also say let the new parsers also parse (and ignore) any extensions on old headers where this doesn't break something.

Some day, far from now, the old software will be gone and people will be able to extend those headers, not define a redundant one as we are doing for supersedes. They will thank us then. If we don't do it now, then those headers will never be extensible. -BradT

  1. Only on MIME headers
  2. Only on headers created by this and later specifications
  3. On all headers where they make sense, with the provision that they can only be used on newly created headers for a long period.
  4. Abstain
Other:
Comment:


Attributes

Header Attributes. (Persistence, Variance, Local-Comment). How, if at all should they be signified on future headers defined after this specification.

Argument: Mime

I had originally proposed the prefixes. Now I think the more generalizable extension makes the most sense. These are all new headers, no problem having extensible options on them. This also means that if we want, the attribute can be selectable (ie. header is sometimes persistent sometimes not, or state can be enforced.) We can also remove the attribute later if all software is deemed to know about it. The double-extended headers like X-P-V-Hello just seem too nuts to me. -BradT

  1. As a MIME style header attribute (ie. ";+v")
  2. As a set of prefixes on header name (ie. P-Foobar)
  3. They should not be permitted
  4. Abstain
Other:
Comment:


Binary

Software should be able to handle USENET article bodies that are raw binary (all 256 bytes) just like a file, provided correct MIME headers appear to designate this. However, this should only be used at present in cooperating subnets able to handle raw data.

Argument: Pro

I'm saying our software should handle binary. I know we can't use it yet. Just every bone of my software designer being says that bits is bits, and since it's really not that hard to design software that can handle arbitrary bits, we owe it to the future to require it of software now. The bulk of the volume of USENET is now jpegs and other raw binary. We would save a ton of overhead to eventually have groups where raw binaries can be present.

We can't have it now, but we'll never have it if we don't plan it now. -BradT

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment:


Sig

How should the personal signature be formally defined to parse out of the body?

Argument: Formal

I believe that body structure should be formal. Software should never have to guess at body structure, and it should be very hard to have users accidentally generate body structure elements. That's the main problem with "-- ". It can appear by accident. It can appear by including text of another article without indent.

Good formal specs are formal specs. So any of the formal methods, be it a MIME tag, a Sig-Len header or an out of band tagging method are preferred by me. -BradT

  1. The last instance of "-- " and all text after.
  2. The first instance of "-- " and all text after
  3. Through a "Sig-Len" header which indicates the number of lines
  4. Through an out of band body syntax encoding, when available
  5. Through a header specifying the delimiter (MIME style)
  6. Abstain
Other:
Comment:


Artsig

Where should a digital signature on the article be encoded?

Argument: Header

This is a close call, but for USENET, the header makes more sense. Using multipart/signed is ugly even to users of MIME aware software, because the headers that are signed must be repeated in the body, and the transports must now parse the body to get those headers. To make things look nice, the headers need to be at the end of the article, which is a further burden on the transport.

With mult/signed it is complex as to how to do multiple signature. Especially if the 2nd signature adds some new data it wasnts to sign. The only current way to do that is to have multipart signed within multipart signed, perhaps with intervening multipart related. Very cumbersome and ugly for the user of software not fully aware of how to deal with it. It's also bulky.

Doing it in the header has a couple of disadvantages. It's easier to get the software wrong, because one must precisely distinguish between headers included in the sig and those not, possibly for multiple different sigs that sign different headers! And one must handle header re-ordering and always get the headers in the right order. (Though a sort is not that hard to do.)

And it doesn't fit existing IETF standards. However, I think USENET's signing needs are differnet enough that this is something we have to accept. USENET articles are distributed hundreds of thousands of times. We want to make things compact and efficient.

-BradT

  1. In a special header for USENET for encoding signatures
  2. By encapsulating the body and extra copies of the signed headers in a MIME part, and creating a MIME multipart/signed object
  3. Abstain
Other:
Comment:


Partial

MIME message/partial allows a message to be split up into several parts, in theory when the whole message is too large for some part of the receiving system, but not for the client that will reassemble it.

How should message/partial be permitted or supported?

Argument: Size

Message/partial is there to allow a message to get into a system that for technical reasons can't handle messages over a certain size.

If we require that all net software be able to handle a certain size, like 1MB or 5MB, then there is no technical reason to use message/partial on articles below that size. And lots of reasons not to -- it's complex, hard to code, and runs the risk of missing a part.

So the only reason to use message/partial on these smaller articles is to get into sites that reject large articles for policy reasons. To trick them, in effect, into taking your large article when they have said they don't want it.

I can see no value in that.

So this means message/partial should only be permitted on articles above a certain size which we have declared all software can already handle. Tools that want to be able to handle over that size should implement message/partial. -BradT

  1. Not at all
  2. Clients SHOULD implement it
  3. Clients MUST implement it
  4. Clients MAY implement it
  5. Clients MAY implement, only to be used on messages over some size, all smaller messages MUST NOT use message/partial
  6. Abstain
Other:
Comment:


Partialtag

Should Message/Partial be extended with a required tag (with or without the permission of the MIME group) indicating the size of the resulting assembled message, so that sites or feeds can determine the final size (and make sized based policy decisions) when considering any one part.

Argument: Con

To help implement size based policy filtering, it is necessary that one know the size of the final article before accepting or feeding any given part.

As such, articles split into chunks should contain within them the final size. I propose we add a parameter to the Content-type line of the form final-size=kilobytes.

We should send this off to the MIME group. If they accept it, great. However, even if they don't accept it, we can still insist on it, rejecting any article that doesn't have it. USENET message/partial groups will not be generated by E-mail software but only by news-aware software, and we are allowed to require extra parameters. -BradT

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment:


Alternative

How should multipart/alternative be treated? (See also richtext issues)

Argument: Neutral

While it's clear that multipart/alternative is inefficient and undesired in some groups both for that and because older newsreaders can't handle it, all this was known to the MIME group when they designed it.

They figured having a way to migrate from one form to another was worth the cost, or at least can be worth it. To deprecate this useful feature in a long term spec has no technical basis. It is a policy decision, and should be made within subsets of the net, not globally for all USENET-compatible software. -BradT

  1. Discouraged in the specification
  2. Controlled as a per-newsgroup or per-hierarchy policy issue
  3. The specification should not say
  4. Abstain
Other:
Comment:


From

Should the From line take the new DRUMS syntax that contains many extensions not backwards compatible with RFC1036 as opposed to remaining with the simplified subset of RFC1036

Argument: Con

I am not sure why need the functionality of the new syntax, and it will break some old software. -BradT

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment:


Named-invis

Should "named" articles, articles which can be fetched within a given newsgroup by name, be updatable via a control message, so the updates do not present a visible message to users of newsreaders, old and new?

Argument: Pro

Named articles should not be confused with things like FAQs. While one can implement FAQs as named articles, and those may wish all their updates to be visible to the readers of a group, many named articles such as policy files, topic lists, help screens, menus, group descriptions and so on should not be visible to readers ordinarily.

It should be up to the poster whether article updates are by default seen by the users. Those users who want to see such articles can do so by tracking the control messages in the group, but frankly it's hard to credit that more than a tiny minority will want to track these updates. What the majority want should be the default and easy thing.

If instead the articles are visible but contain a header with the request to not be shown, only users of newer newsreaders will get to ignore them. The vast majority of users for some time will see them -- which defeats the purpose of posting them as database updates.

USENET has a mechanism for invisible messages that affect databases rather than present information to readers. It is control messages, and that is what should be used.

For FAQs and articles which are expected to be seen, those should be posted as visible articles. There can either be a header to give them a name, or they can be posted in both visible form and invisible form, the former for readers to see and the latter for storage in the database for fetch on demand.

This actually makes more sense even though it's less efficient. The invisible forms can be, for example, multipart/alternative articles with HTML while the visible ones would be plain text for some time. Since the invisible would only be seen by new newsreaders, they can take advantage of things like HTML. And many FAQs today are maintained in HTML for good reason, the links are quite useful.

-BradT

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment:


Named-class

Should named articles simply have names they can be fetched by, or should they be fetched by doing a special overview request which returns the available named articles and their message-ids, so they can then be fetched by message-id? In the latter case, fetch by name would be forbidden to require newsreaders to always offer a choice of named articles rather than simply fetching one with a specific name.

Argument: Name

The overview system is cumbersome and gains little. To force all named article fetches to require an overview fetch, scan and article fetch is slow, complex and inefficient, when in fact quite commonly the newsreader or posting program will know the article it wants and just want to fetch it.

Requiring an overview scan defeats several of the key purposes of named articles, including fast customization. I envision reading programs doing things like fetching a 3 line description of each group when a user enters the group to put in a window at the top. You don't want to do an overview fetch to do this, you just want to say, "get me the description."

Using free-form names, which can contain dots for delimiters to turn them into a tree, allows the overview method, it just doesn't forbid simple fetch by name. And it's a lot simpler. -BradT

  1. Fetch by name (though overview scan possible)
  2. Fetch overview first, then fetch by message-id.
  3. Abstain
Other:
Comment:


Replace

Article replacement can be implemented by replacing articles in-place if the original is above the newsgroup's low-water-mark, or by issuing a new article that users of old newsreader will see, but users of new newsreaders can avoid through the use of special entries placed in the Xref header by the news server.

Argument: Choose

In-place replacement will work for both new newsreaders and old. The only thing it makes harder is any effort to try to track down old versions. Frankly, I find it hard to accept arguments that more than a tiny few people will want to routinely do this.

If we do in-place replacement, the code is done once, in the relative small number of servers. There are only a few server systems, and they are maintained by system admins, not ordinary users. And there are orders of magnitude more clients, maintained by ordinary users.

Replacement in-place gives the benefits of replacement to users immediately, as soon as their server upgrades. Otherwise it will be many years before one can reliably do a replaces, and that will cause a chicken and egg problem about getting the feature used.

-BradT

  1. Require in-place replacement, no Xref additions
  2. Forbid in-place replacement, require Xref additions
  3. Allow news server to choose how to implement replacement.
  4. Abstain
Other:
Comment:


Author-id

A news injector may have information about the user performing the injection, such as their IP address, to be stored in the article to later trace back the source. How should this be stored?

Argument: Path

The proposed author-id stored an injector-id (already in the new path line) and some site-specific encoding of the user. The tail of the path is otherwise unusued. Who needs a new bulky header copied a million times to provide info that can only be decoded locally anyway? -BradT

  1. Special Author-ID header
  2. The final entry of the path line, encoded as desired.
  3. It should not be stored in the article at all, just logged locally in association with the message-id.
  4. Abstain
Other:
Comment:


Cancel

Many would like cancel messages to be extended to support multiple message-ids for a "bulk cancel". What method should be used?

Argument: Multi

I think a bulk cancel solves all the problems of multi-cancel for chains of articles and spam cancel. It should allow an arbitrary number, not just what you can get on the control line. Put it in the body, I don't care a lot whether it's a new control message or a variant of the old. -BradT

  1. Take cancel requests from message body, one per line with attributes in a new "cancel multi" message.
  2. Take cancel messages from body, use first message-id on Control header line for backwards compatibilty
  3. Allow multiple message-ids (to some limit) on the Control line. Probably no attributes
  4. Define an entirely different control message for bulk cancel
  5. Abstain
Other:
Comment:


Newcontrol

In the past cancel messages and USENET headers have taken positional parameters. However, many now believe that tagged parameters are superior to positional parameters, because they are more readable, more reliable and more extensible. However, they are also larger.

Should new control messages use positional parameters?

Argument: Pro

In a way, USENET in its RFC822 mail header format, has always followed the philosophy that data should be tagged and fre-form rather than positionally formatted. The old A news used positional headers. That's hard to read, and hard to extend. And easier to get wrong.

Tagging is the way to go. Parameters for headers should move to a tagged format instead of a positional format for their parameters. We can't change the old messages which had positional parameters like From of newgroup, but we can fix this error for the new ones. -BradT

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment:


Sendsys

The old spec defined several "mapping" control messages such as sendsys, senduname and so on which became disabled due to disuse. What should be done with them?

Argument: Signed

I see no reason to not leave them in, once they require authentication. With the potential for abuse gone, they can be used for mapping again. They are not hard to implement, and mapping is valuable. -BradT

  1. Remove them from the spec
  2. Leave them in the spec, but require they be signed to avoid abuse
  3. Leave them in the spec as is
  4. Abstain
Other:
Comment:


Ihave

RFC1036 contained an ihave/sendme control message set to cut back feed volume. Due to NNTP and other factors, these are rarely, if ever used.

Should we:

Argument: Replace

I haven't heard any reports of people still using ihave/sendme in this fashion. This belongs in the transfer protocol not the news format.

However, a globalized system, where central sites broadcast "complete" lists of message-ids, along with their newsgroups/distribution and hash, has a lot of value, as it will let sites detect when they miss an article (or their feeds miss an article) and then fetch it by some means. -BradT

  1. Retain these control messages
  2. Retain them but make them optional for news server admins
  3. Remove them with no replacement, leaving this to transfer protocols
  4. Define a replacement for them suited to recent issues.
  5. Abstain
Other:
Comment:


Topics

Most conferencing systems other than USENET allow members or administrators of their equivalent to a newsgroup to define categories within the newsgroup to group discussions together. These are larger in scope than a thread (and more permanent than a thread) but not an entirely new newsgroup or subgroup.

Should USENET have a "topics" facility, for example such as the one defined here.

Argument: Pro

We get so many newsgroup wars because USENET has nothing in between the newsgroup and the thread. Most other systems do have such tools, and USENET needs one.

This would allow easy creation of subtobics to follow closely or to avoid. Their permanence would make it easier for users to pick them and tools to work with them. Today if there is a major subtopic within a group there is no way to reliably track it or avoid it. -BradT

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment:


Policy

Newsgroups, hierarchies and other subsets of the net will define policies about material acceptable for newsgroups. Policies may limit article size, MIME types, natural language, the presence of graphics, crossposting limits etc.

News posting software, in order to warn users that their articles may not meet the policies of a newsgroup they are posting to, need a means to do this. Some suggested means are included below. Do you like one of them?

Argument: Program

Distributing complex software is close to impossible. You will never be able to write policy checking software to run at every client or even every server that is consistent.

Even if you could, it's harder, since you need to put the code in scores of clients and keep it up to date.

No, it's a lot easier, and far more reliable to have policy checking done by one program, written once and maintained in one place (or a small number of places.) That program can reject or cancelbot things that don't obey policy.

The remaining hard part is to get this message back to the poster. One simple way is E-mail, though it is not immediate enough. So if necessary one can try to find a way to distribute policy information in some language to posting programs, but frankly this seems a daunting task. -BradT

  1. News posters hand-code the policies of their author
  2. Define a policy-rules named articles which can be fetched by the poster containing a language defining rules. Have posting programs understand that language and check articles for conformance
  3. Define a mechanism for a centralized program to check articles against the particular policies of a newsgroup. Have it cancel non-conformant articles and provide some means to provide an error back to the user.
  4. Have a central server able to perform policy checks for posters who are online when posting, and make it an option to use that?
  5. Abstain
Other:
Comment:


Richallow

Some newsgroups will not want the use of non-plaintext types, even prettyprinted HTML or multipart/alternatve messages mixing plaintext and rich text in visible articles.

Should non-plaintext articles be forbidden unless explicitly permitted in a newsgroup (instead of permitted unless forbidden)?

Argument: Permit

The specification should say nothing about policy issues. The spec says how to do it, not what to do. It is up to other bodies to decide even the default states of what is forbidden and permitted. -BradT

[ Agree | Neutral | Disagree ] -- Abstain
Other:
Comment: