PNG Chunk Registration Process, draft 19960924



Status of this Memo

This document is an informal draft of the PNG development group.

Comments on this document can be sent to the PNG specification maintainers at or at

Distribution of this memo is unlimited.

At present, the latest version of this document is available on the World Wide Web from


Copyright © 1996 Thomas Boutell

Permission is granted to copy and distribute this document for any purpose and without charge, provided that this notice is preserved, and that any substantive changes or deletions from the original are clearly marked.


This document describes the approval process for registering public PNG chunks. Persons who have contributed to the PNG mailing list at least 180 days prior to the end of the voting period are eligible to vote. A two-week voting period follows a two-week discussion period. Votes are cast by electronic mail to the png-list mailing list. Approval of a chunk registration requires at least 10 YES votes with at least twice as many YES votes as NO votes.

Table of Contents

1. Purpose

To formally approve or reject a chunk for registration as a public chunk as described in the PNG 1.0 specification. This method can also be used to resolve other issues that need to be decided by the PNG group.

2. Justification and additional aims

Discussions on the PNG discussion list ( at present fail to reach a clear consensus on the desirability of particular chunk definitions. The formal approval process is intended to aid such decisions by To meet these ends the formal process is based on a discussion and voting process exercised over a limited period of time.

3. Prerequisites

4. Voting

4.1. Initiation

Voting can be initiated after a two-week discussion period. The proposed chunk specification must be available and must not change for a period of at least two weeks before a vote can be called for. The chunk proponent starts this clock running by notifying the list that the proposed specification is available. Short proposals should also be posted to the list, to save people the trouble of downloading them. If discussion exposes flaws, the specification can be revised, thus starting a new two-week discussion period.

After the two-week discussion period, the vote is initiated by any person submitting the first YES vote on an identified specification, using the format suggested above, clearly identifying the specification to be voted upon.

Casting votes

Votes are cast by sending a message to the png-list indicating a YES, NO, or ABSTAIN vote. Voters should take care to make their intentions clear (i.e. "YES" or "NO" and precisely what chunk specification is being voted on). To ensure that a vote is correctly registered the following form, as the first lines of an e-mail message, is suggested:
Name <voter@host.domain>
For example:
Glenn Randers-Pehrson <>
The vote-takers can accept votes that do not adhere exactly to this format as long as the intent is clear.

There should be no other topics of discussion in the same message. An "Oh, by the way, I vote NO on cNEW" buried in the text of a long message might get overlooked. It is acceptable and useful to include additional explanations in the message, but the vote itself should be placed at the beginning.

The subject of the message must contain the word "VOTE" (in uppercase letters), the word "YES" or "NO" or "ABSTAIN" (in uppercase letters), and the name of the proposal being voted upon, and the string "Re:" must not not appear in the subject. An example of a correctly formatted subject line is

Subject: I VOTE YES on cNEW 19991231.
Only one vote should be included in a message. If a group of chunks is being voted on as a whole, then only one message is necessary, but if different chunks are being separately voted upon during the same period, separate messages are required. The decision whether to group or separate chunks for voting is up to the person casting the initial YES vote.

Changing votes

A person can submit a changed vote any time prior to the expiration of the voting period. Only the latest vote, determined by the time it was mailed by the voter (from the "Date:" field of the message), that is received by the png-list server prior to the expiration of the voting period, will be counted. ABSTAIN votes are not counted. A person can cast an ABSTAIN vote to withdraw a YES or NO vote without having to cast a NO or YES to countermand it.

4.4. Termination

The voting period ceases two weeks after the initiation, at the same time of day as the initiation. The time of the call for votes is determined by the "Received:" line generated by the png-list e-mail server, e.g. in the message header
"Received: from ( []) by (8.6.10/8.6.6.yuck) with ESMTP id KAA10764 for 
<>; Sun, 22 Sep 1996 10:11:58 -0500"
the date and time are "Sun, 22 Sep 1996 10:11:58 -0500", and the voting period ends on Sunday, 06 Oct 1996 10:11:58 -0500.

The voting period also ceases immediately and the proposal is rejected if all YES votes are countermanded by NO or ABSTAIN votes from the voters originally casting the YES votes.

The voting period ceases immediately and the proposal is rejected upon approval of a competing specification for same chunk name.

5. Decision

Votes will be tallied and interpreted by a group of [3?] vote-takers, to be selected by consensus for life-time appointment from among volunteers. [Who counts the votes if we want to impeach the vote-takers?]

A chunk specification is approved if both of the following conditions are met at the end of the voting period:

If these conditions are met, then the chunk immediately becomes registered and people can start using it in its registered form. The PNG editors will include the chunk specification, or a reference to it, in the next release of the PNG documentation.

If these conditions are not met the chunk specification is rejected. A further vote requires either a 180-day waiting period, to allow for implementation and testing, or a substantial change to the definition as a prerequisite.

6. Franchise

Anyone is eligible to vote who has:

7. Adoption of this procedure

Adoption of this procedure for registering PNG chunks will be voted upon using the same procedure as used for approving a chunk registration. It will take effect immediately upon the successful completion of the required discussion and voting periods. Discussion periods for proposed chunks, but not voting periods, can run concurrently with the voting period for adoption of this procedure.

The procedure described in this document can also be used for registering chunks in related formats such as MNG, provided it is separately adopted for use for the other format. The votes will be called for and cast using the appropriate mailing list (e.g. mpng-list) instead of png-list.

8. Editor

End of PNG Chunk Registration Process document. Expires 24 Mar 1997.