Summary

  • LIST ACTIVE described the newsgroups a reader could select on this server now; optional LIST ACTIVE.TIMES described retained local creation history.
  • A history row could survive the group's availability, while a current group could lack a row; absence and presence therefore carried deliberately limited meanings.
  • The timestamp was local to one server and the creator field was descriptive plain text, so neither became a universal birth certificate, authenticated owner or global namespace authority.

Two truthful lists that did not agree

Imagine querying one NNTP server twice. LIST ACTIVE returns a bright current group with its high and low water marks and posting status. The same name is missing from LIST ACTIVE.TIMES. Farther down the second response sits a different group with a creation time and a creator description, even though that name is absent from the current catalogue.

Neither answer is defective. They answer different questions.

RFC 3977 requires a server advertising reader service to make LIST ACTIVE include every group the client may select with GROUP. Its four fields describe current local service: name, reported high and low water marks, and status. LIST ACTIVE.TIMES is optional. Its three fields describe retained history: name, time of creation on this news server, and plain text intended to identify the creating entity.

The standards then make the separation explicit. The history may omit groups whose information is unavailable, omit the older part of its own past, and include groups no longer available. A client must not assume completeness or equality with LIST ACTIVE.

The live catalogue came first

The distinction began with the original protocol. RFC 977 defined LIST as the server's list of valid newsgroups. The response also carried the first and last article numbers currently known and whether posting was normally permitted. Even an empty response was meaningful: at that moment the server had no valid groups to report to that client.

This was operational discovery, not history. A reader needed to know what it could select, where the local article-number range lay and how posts would normally be treated. A group removed from service did not belong merely because it once existed. A group newly loaded from configuration belonged even if the server could not reconstruct the moment of its birth.

The live surface therefore represented current capability. It was already local: article numbers, availability and client permission could differ across servers.

A file convention became a protocol surface

RFC 2980 documented LIST ACTIVE.TIMES as a common extension that had appeared in the UNIX reference implementation. Some transport systems maintained an active.times file with the newsgroup name, the time that group was created on this server, and a field describing who created it. A server without the information could reject the function.

That history matters because it shows standardization following running practice. The protocol did not first invent a universal institution for group origins. It exposed a local operational file through an interoperable command, then bounded the meaning of its contents.

RFC 3977 later strengthened those boundaries. The creator field became plain descriptive text, often formatted like a mailbox, rather than a cryptographic or administrative credential. The timestamp remained the creation time on this news server. A line was evidence about one retained local record, not proof that every peer created the group then or accepted the same creator.

Presence did not mean current service

A history record can outlive the thing it records. A server may stop serving a group, change its feed, retire its spool, or deny a particular reader access while retaining an old ACTIVE.TIMES line. The standard expressly allows such a group to remain in the history response.

That makes a positive row useful but narrow. It supports the proposition that this server's retained state associates the name with a local creation time and descriptive creator text. It does not prove that GROUP will work now. It does not show that articles remain on disk. It does not compel another server to recognize the name. It does not establish a global owner.

Operationally, the client must join the historical row to a fresh live catalogue result. Treating the row alone as a current entitlement would confuse memory with service.

Absence did not mean the group had no past

The reverse error is more dangerous because missing data often looks decisive. RFC 3977 permits the history list to omit any group whose information is unavailable. It may omit every group older than its oldest retained entry. A migration can import a current catalogue without the predecessor's history. A newly deployed server can begin recording creation metadata only from its own start date.

The empty place therefore proves only that this response contains no line. It cannot prove that the group was never created, that the name is invalid, that an administrator fabricated it or that another server lacks a record.

This is a disciplined treatment of negative evidence. Absence becomes trustworthy only where a system promises complete coverage. ACTIVE.TIMES promises the opposite: partial local retention. Its omissions are expected states, not automatic contradictions.

NEWGROUPS was another view, not a cure for authority

NNTP also offered NEWGROUPS, a time-based query for groups created on the server since a supplied instant. RFC 3977 says it may be a better access method and that its results should generally agree with ACTIVE.TIMES. But the two may differ when a query reaches earlier than the oldest retained history row; NEWGROUPS may produce extra groups.

The comparison is valuable because it reveals retention boundaries. It does not manufacture a universal clock. The timestamps are still server observations, and the query operates over the history that server can supply. A client comparing two servers may see different times, different retained windows and different current catalogues without discovering a protocol violation.

Evidence becomes stronger when the observer records which server answered, when it answered, which capability it advertised, what scope was queried and which adjacent live state was observed.

Creator text was not creation authority

The third field tempts readers to convert a description into a principal. RFC 3977 resists that move by defining plain text intended to describe the entity. It does not say the field authenticates a person, proves control of a mailbox, confers ownership or binds other sites.

The actual creation path lived elsewhere. RFC 5537 describes newgroup as a request. Each serving agent authenticates control messages according to local policy and may refuse to act. A later history line can preserve the label associated with that local event, but it cannot replay the authentication evidence or elevate the label into a global mandate.

This distinction is the protocol equivalent of separating a ledger entry from the authority that allowed the entry. Useful records need provenance; provenance is not sovereignty.

Registration named the surface, not the world

The IANA NNTP Parameters registry records LIST as the capability label for command variants and points to the defining standards. A common name allowed clients and servers to negotiate a recognizable surface.

Registration does not certify that a given server supports ACTIVE.TIMES, that its history is long, that the creator strings are verified or that the results form a global catalogue. IANA coordinates protocol vocabulary. The serving agents keep the data, choose retention and expose their own local state.

The design is modest, and that modesty is its strength. The Internet did not need one worldwide office to decide the birth of every discussion group. It needed servers to state what they knew without making their memory larger than it was.

The durable lesson is about bounded evidence

ACTIVE.TIMES preserved a distinction modern systems repeatedly erase. Current availability and historical provenance are related, but they are not interchangeable. A current object may arrive without its old audit trail. A retired object may remain in the audit trail after service ends. A descriptive actor label may aid investigation without authenticating authority.

Good evidence systems declare those seams. They show the current catalogue separately, name the observer, retain historical records where possible and state what absence cannot prove. Bad systems merge the views, then let a partial history deny the present or let an old row claim perpetual control.

NNTP's two lists could disagree because agreement would have lied. One described what the server would do now. The other described what part of its past it still remembered.

Sources