DRAFT png-registration-2017-02-15 Wed Feb 15 11:25:00 EST 2017 PNG-GROUP-DRAFT PNG Development Group PNG-Registration png-mng-misc@lists.sourceforge.net Expires: 15 Sep 2017 15 Feb 2017 PNG Chunk Registration Process, draft 2017-02-15 File png-registration-2017-02-15.txt 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 png-mng-misc@lists.sourceforge.net or at png-group@w3.org. Distribution of this memo is unlimited. At present, the latest version of this document is available on the World Wide Web from http://www.simplesystems.org/png-group/proposals/PngReg A copy of this version is archived at ftp://ftp.simplesystems.org/pub/png-group/documents/history/png-registration-2017-02-15.txt Notices Copyright (c) 1996 Thomas Boutell, 2007,2017 Glenn Randers-Pehrson 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. Abstract This document describes the approval process for registering public PNG chunks. Persons who have contributed to a PNG mailing list at least 180 days prior to the end of the voting period are eligible to vote. After informal discussion and development of a draft proposal, a two-week formal discussion period is followed by a two-week voting period. Votes are cast by electronic mail to the png-mng-misc mailing list. Approval of a chunk registration requires at least 5 more YES votes than NO votes, with at least twice as many YES votes as NO votes. PNG Development Group [Page 1] PNG-GROUP-DRAFT PNG Chunk Registration Process 2017-02-15 15 Feb 2017 Table of Contents 1. Purpose ........................................................ 2 2. Justification and additional aims .............................. 2 3. Prerequisites .................................................. 2 4. Voting ......................................................... 4 4.1. Initiation ................................................ 4 4.2. Casting votes ............................................. 4 4.3. Changing votes ............................................ 5 4.4. Termination ............................................... 5 5. Decision ....................................................... 6 6. Franchise ...................................................... 6 7. Time Stamps .................................................... 7 8. Adoption of this process ....................................... 7 9. Security considerations ........................................ 7 10. Appendix 1: Sample call for votes ............................. 7 11. Credits ....................................................... 9 12. Editor ........................................................ 9 1. Purpose To formally approve or reject a chunk for registration as a public chunk as described in the PNG specification. This method can also be used to resolve other issues that need to be decided by the PNG group such as approving new keywords for existing chunks. 2. Justification and additional aims Discussions on the PNG discussion list (png-mng-misc@lists.sf.net) sometimes fail to reach a clear consensus on the desirability of particular chunk definitions. The formal approval process is intended to aid such decisions by * Identifying consensus when it exists. * Giving a limited time period within which objections can be raised. * Encouraging discussion and preventing ambiguities when one party to the discussion simply falls silent. To meet these ends the formal process is based on a discussion and voting process exercised over a limited period of time. 3. Prerequisites * It is expected that prior to this point, there will have been informal discussion and development of a proposed specification or other issue on the png-group discussion list or elsewhere and that some consenseus has been reached to proceed with formal discussion, voting, and approval. * Before entering the formal discussion period, a proposed specification of the chunk or document describing the issue must exist in electronic form either in the list itself or in PNG Development Group [Page 2] PNG-GROUP-DRAFT PNG Chunk Registration Process 2017-02-15 15 Feb 2017 a location on the current png-group discussion list FTP/HTTP server. Currently this is the tree based at http://www.simplesystms.org/png-group/proposals/ (for active discussions) and at ftp://ftp.simplesystems.org/pub/png-group/documents/ (for all active and archived discussions). The proposal must be in a final publishable format, such as that of the PNG 1.2 specification and PNG extensions documents found in ftp://ftp.simplesystems.org/pub/png/documents/. * The specification can be a whole single file, a group of files (which must be named by a single ftp accessible directory name and implies all files in that directory and all directories beneath it), or an identified part of a single file. * The specification should describe the proposed chunk in its unregistered form, to avoid the risk of premature distribution of documents describing public chunks that are not in their final form. The editors will make the necessary changes to the final document, by changing the second letter of the chunk name to uppercase and by removing any private version identification. If any other changes are needed, instructions to the editors should be provided in the proposal. * The specification or the call for votes must state the proposed disposition of the registered chunk: * Inclusion in the PNG core specification * Inclusion in the PNG extensions document * Inclusion in an existing separate document * Inclusion in a new separate document Note that the names of all formally registered chunks will either appear in the PNG specification or in the PNG extensions document. The editors will make the appropriate changes to those documents when a chunk is registered. * Throughout the two-week voting period the specification must remain absolutely unchanged. The two-week discussion period must be restarted upon making any change to the proposed specification. The beginning of the new discussion period will be the time that the message announcing the change was received by the png-mng-misc server. PNG Development Group [Page 3] PNG-GROUP-DRAFT PNG Chunk Registration Process 2017-02-15 15 Feb 2017 4. Voting 4.1. Initiation Voting can be initiated after a formal two-week discussion period. The proposed chunk specification must be available and must not change, even trivially, 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 for formal discussion. 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 or, if appropriate, calling off the formal discussion and resuming informal work on a new draft proposal. Any eligible voter can initiate the voting period by submitting a Call for vote on an identified specification. This message must not be received by the png-mng-misc server before two weeks have elapsed since the message initiating or reinitiating the discussion period was received by the png-mng-misc list server. The message must clearly identify the specification to be voted upon. Appendix 1 gives the recommended format for a call for votes. If no Call for vote occurs and no messages on the topic are submitted to the png-mng-misc server for a period of 30 days, the discussion will be considered to have lapsed and a new two-week discussion period must occur before a Call for vote on the proposal may be initiated. Lapsed proposal documents may be removed from the HTTP server, but copies will be retained in the png-group/documents/history archives on the FTP server. 4.2. Casting votes Votes are cast by sending a message to the png-mng-misc list indicating a YES, NO, or ABSTAIN vote. Voters must take care to make their intentions clear (i.e. "YES" or "NO" or "ABSTAIN" and precisely what chunk specification is being voted on). It is possible that votes will be tallied automatically. Therefore, to ensure that a vote is correctly registered, the first five lines of the message must conform to the following format: {YES|NO|ABSTAIN} Name For example: YES cNEW 1999-12-31 http://www.simplesystems.org/png-group/proposals/cNEW/ png-proposed-cNEW-chunk-1999-12-31.html Glenn Randers-Pehrson 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 PNG Development Group [Page 4] PNG-GROUP-DRAFT PNG Chunk Registration Process 2017-02-15 15 Feb 2017 long message might get overlooked by a person tallying the votes and would most certainly be missed by an automatic vote tallying robot. It is acceptable and useful to include additional explanations in the message, but the vote itself must be placed at the beginning. The subject of the message must contain the word "VOTE" (in uppercase letters), your vote, and the name of the proposal being voted upon. The string "Re:" must not not appear in the subject. An example of a correctly formatted subject line is Subject: VOTE YES on cNEW 1999-12-31. 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 issuing the CALL for DISCUSSION. Persons are expected to identify themselves with their own name and their preferred e-mail address on the fifth line of the message, regardless of the account name from which they actually submit the message. Any votes received prior to the call for votes will not be counted. Any votes not meeting the formatting specifications for the subject and first five body lines described above will not be counted. 4.3. 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-mng-misc 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. The name and e-mail address on the fifth line of the changed vote must match those of the original vote, even if the new vote is submitted from another e-mail account. 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, converted to UTC: PNG Development Group [Page 5] PNG-GROUP-DRAFT PNG Chunk Registration Process 2017-02-15 15 Feb 2017 "Received: from grommit.inria.fr (grommit.inria.fr [138.96.48.84]) by dworkin.wustl.edu (8.6.10/8.6.6.yuck) with ESMTP id KAA10764 for ; Sun, 22 Sep 1996 10:11:58 -0500" in which the date and time are "Sun, 22 Sep 1996 10:11:58 -0500" (15:11:58 UTC), and therefore the voting period ends on Sunday, 06 Oct 1996 10:11:58, -0500, i.e., 15:11:58 UTC). The voting period ceases immediately and the proposal is rejected upon approval of a competing specification for the same chunk name. 5. Decision A chunk specification is approved if both of the following conditions are met at the end of the voting period: * Five more YES votes than NO votes are received. * At least twice the number of YES votes as NO votes are received. If these conditions are met, then the chunk becomes registered immediately upon the close of the voting period, 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. The same chunk cannot be brought up again for another discussion period and vote either until a 180-day waiting period has elapsed, to allow for implementation and testing, or until a substantial change to the specification is made. 6. Franchise Any person is eligible to vote who has: * Submitted their first (or any subsequent) message received by the png-mng-misc or png-mng-implement list server, or their predecessors, png-list@ccrc.wustl.edu or png-implement@ccrc.wustl.edu, at least 180 days before the termination of the voting period. * Not voted on the same matter during the present voting period using a different name or e-mail address on the fifth line of the vote message. PNG Development Group [Page 6] PNG-GROUP-DRAFT PNG Chunk Registration Process 2017-02-15 15 Feb 2017 7. Time Stamps The "Received:" field generated by the png-mng-misc list server is used to determine the exact times of the the beginning of the discussion period and the voting period, the close of the voting period, and for all other timing purposes except that the sender's "Date:" field is used to determine the order of precedence of multiple votes from the same person. 8. Adoption of this process Adoption of this process for registering PNG chunks will be voted upon using the same process 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 process. Prior to such approval, the PNG group may use the procedure by consensus. If approved, this document will be converted by the editor to a non- draft form and maintained in the appropriate public documents directory on the png-group discussion list FTP server. The process described in this document can also be used in a suitably amended form for registering chunks in related formats such as MNG, provided it is separately adopted for use for the other format. 9. Security considerations This process depends upon the integrity of the persons involved. We have no reason to believe that other measures are required. In the event of a prank or fraudulent vote, we will deal with it harshly, outside the scope of this process. This process depends upon the continued availability of the png-list server and its connection to the Internet. We will deal with system failures on a case-by-case basis, outside the scope of this process. 10. Appendix 1: Sample call for votes This is a recommended format for a call for votes. Only the first five lines of the message, which contain the words "CALL for VOTE", are mandatory; the rest can be omitted if it is clear that all participants are already aware of the voting process. When there has been a long lapse between votes, or when new people have become eligible to vote, the complete message should be sent. Subject: CFV: CNEW 1999-12-31 PNG Development Group [Page 7] PNG-GROUP-DRAFT PNG Chunk Registration Process 2017-02-15 15 Feb 2017 CALL for VOTE cNEW 1999-12-31 http://www.simplesystems.org/png-group/proposals/cNEW/ png-proposed-cNEW-chunk-1999-12-31.html My Name This is a call for votes on the PNG proposal cNEW 1999-12-31 To vote on this proposal, send a message to png-mng-misc@lists.sf.net The subject line of your message must contain the words VOTE YES|NO|ABSTAIN: cNEW 1999-12-31 and must NOT contain the string "Re:" (i.e. do not try to cast your vote by "replying" to this message. You must manually construct the proper subject line). The body of your message must contain the following five lines, which must appear first in the message. YES | NO | ABSTAIN cNEW 1999-12-31 http://www.simplesystems.org/png-group/proposals/cNEW/ png-proposed-cNEW-chunk-1999-12-31.html My Name After these five lines you can add an explanation of your vote, if you desire. Providing the rationale for a NO vote is particularly encouraged. The voting period closes exactly two weeks after the time that this message was received by the png-mng-misc list server (png-mng-misc@lists.sf.net) You can change your vote by submitting a new message. Only the last message sent by you and received by the png-mng-misc list server prior to the close of the voting period will be counted. Your messages can be sent from different e-mail accounts, but the fifth line of all of your messages, containing your name and your preferred e-mail address, must be identical. You are eligible to vote if your earliest message to png-mng-misc or png-mng-implement was received at least 180 days earlier than the close of the voting period. regards, Chunk Proponent PNG Development Group [Page 8] PNG-GROUP-DRAFT PNG Chunk Registration Process 2017-02-15 15 Feb 2017 11. Credits Contributors' names are presented in alphabetical order: * Thomas Boutell, boutell at boutell.com * John Bowler, jbowler at acm.org * Adam M. Costello, png.amc+0 at nicemice.net * Lee Daniel Crocker, lee at piclab.com * Tom Lane, tgl at sss.pgh.pa.us * Glenn Randers-Pehrson, glennrp at gmail.com * Greg Roelofs, newt at pobox.com * Willem van Schaik, willem at schaik.com 12. Editor Glenn Randers-Pehrson PNG Development Group 611 Rivershore Court Edgewood MD 21040 Phone: (410) 676-6950 EMail: glennrp at gmail.com End of PNG Chunk Registration Process document. Expires 25 Jul 2017. PNG Development Group [Page 9]