PNG Chunk Registration Process, draft 19960923



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 for at least six months are eligible to vote. Approval of a chunk registration requires at least 10 YES votes with at least twice as many YES votes as NO votes. The voting period follows a two-week discussion period, and is two weeks from the time the initial vote is received by the png-list server. Vote are cast by electronic mail to the png-list mailing list.

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.

2. Justification and additional aims

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

3. Prerequisites

4. Votes

Casting votes

Votes are cast by sending a message to the png-list indicating a YES or NO 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 email message, must always be accepted:
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.

It is recommended, but not required, that the subject of the message make it clear that the message contains a vote ("cNEW YES")

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 may submit a changed vote any time prior to the expiration of the voting period. Only the latest vote, determined by the time it was received by the png-list server, will be counted.

Tallying votes

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 impech the vote-takers?]

5. 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 spec is available. Short proposals should also be posted it to the list, to save people the trouble of downloading them. If discussion exposes flaws, the spec 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.

6. 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 email server, e.g. in
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:50 -0500.

The voting period also ceases immediately if all YES votes are countermanded by NO votes from the same voters originally casting the YES votes.

The voting period ceases immediately upon approval of another specification for same chunk name.

7. Decision

A chunk specification is approved if both of the following conditions are met: 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 six-month waiting period, to allow for implementation and testing, or a substantial change to the definition as a prerequisite.

8. Franchise

Anyone is eligible to vote who has:

9. 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.

10. Editor

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