xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) (12/20/90)
Submitted-by: xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) Posting-number: <fill in the blank> Archive-name: vote_tools/Part02 This is the second part of a two part distribution. Enclosed is a "how to run a USENet vote" document to accompany the set of scripts I used to run the comp.sys.amiga reorganization vote acceptance. There are more explanations in the README, in the first part of this distribution. There is no trailing signature, and this shar is complete in this posting. A first posting and shar contains the remainder of the files for this distribution. Thanks to Rich Salz for his cshar that packaged this distribution so nicely. Enjoy! Kent, the man from xanth. <xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us> #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 2 (of 2)." # Contents: docs/POLLING_PLACE # Wrapped by csa-vote@zorch on Wed Dec 19 14:05:29 1990 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'docs/POLLING_PLACE' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'docs/POLLING_PLACE'\" else echo shar: Extracting \"'docs/POLLING_PLACE'\" \(16763 characters\) sed "s/^X//" >'docs/POLLING_PLACE' <<'END_OF_FILE' XPOLLING_PLACE X XA description of how a USENet vote is actually run, from start to Xfinish, including setting up the files, and the use of the enclosed Xscripts, from experience with the comp.sys.amiga reorganization vote Xand the earlier comp.sys.amiga.games vote. X XKent Paul Dolan, LCDR, USNOAA Corps, Retired. X15 December 1990 X XPermission is hereby granted to freely excerpt and copy this file for Xany purpose whatsoever. X X1) Thinking it over. X XIs the vote, and the newsgroup change, really needed? For a big vote, Xyou are going to give away all your spare time for four months; be Xready to do this. X XIs there active support for such a change? Have people been muttering on Xthe net "I wish somebody would take charge of cleaning up this mess"? If Xthe support is only in your mind, you have a heck of a job ahead of you, Xand net politics is frustrating in the extreme. Contrariwise, if the Xsupport is there, you'll have lots of assistance, but most of the job Xwill still fall on you. X X2) Getting started. X XDon't jump right into news.groups and news.announce.newgroups; sane Xpeople ignore those groups under normal circumstances, so you have to go Xwhere the audience for your change currently exists, and lure them into Xfollowing a discussion in news.groups. Expect to spend four to six weeks Xgetting together a proposal in the group where your audience lurks. Lots Xof votes fail for lack of a coherent proposal or an interested audience Xfollowing the discussion; the time spent _before_ "going public" is the Xmost valuable part of your effort to the final result, so don't hurry Xand don't let yourself be hurried by the calls to "just get on with the Xvote, damn it". X XThe net has a significant, sometimes multi-week lag in responses, so you Xcan find yourself fielding answers to proposal items long changed or Xabandoned. Practice civility and patience; folks at sites out in the Xweeds have no choice in the turn around times they experience. X XTake strong charge of the discussion, but don't get your ego tied up in Xthe final proposal details; to get a passing vote, the proposal must be Xwhat the intended audience wants, and what the rest of the net will Xtolerate; this is unlikely to coincide much at all with your initial Xvision, and trying to hold it to that standard is a recipe for failure. X XAgree with sensible changes by posting a revised proposal. You may do Xseveral iterations of this; I did three over six weeks. Use easily Xdistinguished subject lines for ease of deciding what edition of your Xproposal the responses are considering. I used "REV 0", REV 1", and so Xon to highlight the editions. X XWhen you have a concensus, and a coherent proposal drafted, with a Xdescription of the purpose of each new group or other change, a X"moderated" or "unmoderated" status for each, moderators chosen as Xneeded, and a meaningful name for each new or renamed group chosen, it Xis time to "go public". X XFirst, proofread your proposal. If English is not your native tongue, or Xspelling and grammer are not your strengths, get someone to review your Xintended posting for errors or unclarity. X X3) Going public. X XPost your proposal to moderated newsgroup news.announce.newgroups, with Xcrosspostings to news.groups and the groups where your intended audience Xlurks, and followups to news.groups, with a subject line like "CALL FOR XDISCUSSION, comp.eggplant.lifecycle.* REORGANIZATION". The caps will Xmake the subject line stand out when, inevitably, it is pulled back to Xother, busy groups. X XYou are required to run a three week discussion period, but just say in Xyour posting "there will be a twenty one day discussion period from the Xdate this is posted to news.announce.newgroups"; don't try to guess the Xdate yourself. X XIt is _very_ _important_ to have a Keywords: line all in caps that says Xsomething a lot like "NOT THE BALLOT. POST NO VOTES. FORGE NO NEWGROUPS." XThe behavior of people on the net must be experienced to be believed, but Xheading off trouble in advance is the best bet, and this will help. X XThe moderator of news.announce.newgroups habitually batch posts articles Xon weekends, so post your intended Call for Discussion by midweek at the Xlatest to allow time for email transit. X XNominally, the rest of the discussion takes place in news.groups. XActually, most of it will continue in the groups where your audience Xlurks, so you must follow perhaps more groups than you ever have before. XMake sure that each of your postings in response to these discussions Xcontains a crosspost and a followup to news.groups. By this means, you Xcan slowly lure more and more of the intended audience into following Xthe main discussion. X X4) Slings and arrows. X XNot all of the newsgroup creation process is a lot of fun; there are a Xgroup of people whose only joy in life is causing mischief to newsgroup Xproposals. You're going to need patience for this part. X XThe crowd that hangs out in news.groups all consider themselves world Xclass experts on the best names for newsgroups, and the best shapes for Xheirarchies, and they are definitely world class experts at ranting and Xraving, and determined control freaks. Most of them will have no Xinterest whatever in the subject matter of your intended group, but lots Xof interest in dictating how you name or locate it. X XYou'll find lots of folks convinced that the net is going to crash and Xburn if one more group, yours, is allowed to be created, and others who Xthink that all subjects except those personally interesting to them need Xto be excluded from the net by all possible means, and others who can't Xlive with the existance of any but comp groups on the net, though those Xhave long been in the minority, and others who want to censor anything Xwith a chance of being fun. X XGood luck at being civil in response; I didn't even try. A kill file is Xa godsend in this part of the effort; answering these jerks is a waste Xof time, while ignoring them deprives them of the feedback they crave, Xand lets your ulcer heal. X XIf you come into this part of the discussion with a coherent proposal Xagreed upon among your intended audience, this is the time to get Xstubborn about changes away from that standard to fit the whims of those Xwho will never follow the group anyway. Only agree to sensible, well Xfounded changes, but when you agree, agree publically by posting a revised Xproposal to news.groups. X X5) Setting up for the vote. X XGet a separate account for collecting votes! You will find an incredible Xamount of trash accumulating, and you'll need a modified mail handling Xprocedure for acknowledgements; both can make a mess of your normal Xaccount, and you'll need your system administrator's support for the Xeffort anyway. For a big vote, you can find yourself using three to five Xmegabytes of storage, adding several megabytes a week to your system's Xemail traffic, sucking up cpu cycles by the ten billions to process the Xvotes, so you need approval in advance for the impact your vote will Xhave on your system. You might as well get the temporary account at the Xsame time. X XUnder the main directory, set up directories for the votes, one ballot Xper file, for the acknowledgements, one big file will do, for the Xbounced acknowledgements, for problem ballots, for gossip email sent by Xmistake to the vote account, for the working data files created in Xtallying the votes, for the csh scripts, and for the awk source files. X XIn the main directory keep a current report of the vote status, the text Xchunks used to build it, a "thanks for the votes" form letter for the Xacknowledgements, a raw ballot for those who can't find the posted ones Xand request a private copy, and a straight "yes" ballot for the 5% of Xvotes that come in as "yes on all proposals" without a ballot, so you Xcan edit one into the ballot letter quickly. X XSet the scripts in place, and modify the .mailrc, as detailed in the Xaccompanying FILE_PURPOSES document. X XWrite up a ballot; the most successful one I used looked like this: X X----- X"Y" = yes, "N" = no, "A" = abstain; return all 14 vote lines. X XYNA Create comp.sys.amiga.misc (renames comp.sys.amiga) XYNA Create comp.sys.amiga.programmer (renames comp.sys.amiga.tech) XYNA Create comp.sys.amiga.announce (moderated) XYNA Create comp.sys.amiga.reviews (moderated) XYNA Create comp.sys.amiga.introduction (monitored) XYNA Create comp.sys.amiga.audio XYNA Create comp.sys.amiga.graphics XYNA Create comp.sys.amiga.marketplace XYNA Create comp.sys.amiga.multimedia XYNA Create comp.sys.amiga.applications XYNA Create comp.sys.amiga.emulations XYNA Create comp.sys.amiga.advocacy XYNA Create comp.sys.amiga.datacomm XYNA Create comp.unix.amiga X\ / ^---------------------------------^ Leave this part alone X `----Remove two of these, leave your choice; remove any ">", etc., from front X ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ X----- X XI didn't have the "^^^^^" part, but I recommend it; folks just don't seem to Xsee that part without it. This summarizes your ballot proposal and how to Xvote, all in a compact format. X X6) Starting the vote. X XWhen your files are set up, and an email friend or two has tested the Xaccessiblity of your address and the workability of your scripts by Xmailing you test copies of your ballot from offsite, the three week Xdiscussion is nearing an end, a consensus on names and purposes of the Xgroups has mostly been achieved (it will never be perfect), and you've Xtaken a big, deep breath, you are almost ready to conduct the vote. X XMake a posting for news.announce.newgroups out of the ballot, your Xlatest edition of the proposal, and a bit of extra text. X XPut a line at the top saying: "Justification follows the ballot", then Xput the ballot where voters can find it quickly; below the ballot, put Xyour revised proposal below a line saying: X X------------ delete remainder before returning ballot------------------ X XPost your vote call to news.announce.newgroups, crossposted to the Xinterest groups and news.groups, and with followups directed to Xnews.groups as before, with a Subject line like "CALL FOR VOTES, Xcomp.eggplant.lifecycle.* REORGANIZATION". X XUse a Summary: (not Keywords:) line like "THIS IS THE BALLOT. EMAIL XVOTES ONLY. DON'T POST VOTES." X XThe reason to use the Summary: line is that it doesn't get copied to the Xfollowup articles. To cope with them, put in a Keywords: line like: X"VOTE ONLY WITH ORIGINAL BALLOT. FORGE NO NEWGROUPS. POST NO VOTES." X XThere will still be people who don't seem to be able to read, but there Xwill be fewer if you take all these precautions. X XPut in a line near the top saying: "the vote will run for three weeks Xfrom the date this is posted"; the moderator of news.announce.newgroups Xwill set the exact date for you. X XWhile discussion is nominally over, the control freaks never give up, Xand go wild when a vote is actually called. You may find yourself Xdefending everything you thought already settled, again. Be patient, it Xhelps run up the vote totals. X X7) Conducting the vote. X XNow you will see an amazing thing happen; 20% of your final vote total Xwill arrive within twelve hours of the article being posted by the Xmoderator, and 60% within two days. You are going to be very busy for Xa while, and then very bored. X XFor each ballot received, read it to be sure it is correctly formatted; Xif so, save it to directory "votes" under a unique file name; the login Xid of the voter is best, extend it with other identifying information Xif it is a common first or last name. If using "mail", watch for the X"new file" after you save the ballot, to assure that there hasn't been Xa filename collision. X XIf the ballot is badly formatted, but usable, use the edit command of Xyour mail reader (for "mail" this is "e") to correct the problems without Xchanging the intent of the vote, then save to directory "votes" as before. X XIf the ballot is unusable (no way to determine the voter's intentions), Xsave the ballot to directory "problems". X XIf the email is not a ballot, but a bounce of one of your acknowledgements, Xif you can cope with it then, by mailing a new acknowledgement to a better Xformatted address (remember, you can look at the original ballot in "votes" Xto see other possible addresses), do so and delete the bounce. If you can't, Xor don't have time, save the bounce to directory "bounces" under the same Xname as the ballot in "votes", and go on to the next email. X XFor ballots, respond with your canned "thanks for voting" note; in "mail", Xthis is done by typing "R", entering a subject like "thanks for your vote" Xif necessary, typing "~r thanks" return, pausing, then typing "." return Xor "^D" depending on whether you have "set dot" in your .mailrc. X XFor problem ballots, mail back a description of the problem and a copy of Xthe raw ballot instead of the "thanks" note. X XWhen you are done processing the current email votes, exit the mailer Xwith whatever method deletes all the already saved mail. X XIn the main directory, with ~/bin in your path, execute "dothevotes &" Xreturn. You can then su to your real account and read news or do work Xor whatever, with the occasional blast of trash to your screen to tell Xyou when one or another phase of the vote counting is done. X XWhen you see "WRITELETTER DONE" in a row of stars, you can exit back to Xthe vote account and review the scoreletter to see how the vote is going. XIf you see some "invalid" votes counted, search the tally/parsedvotes Xfile for "I " to see whose ballot slipped a problem by you, and then fix Xthe ballot or move it to the problems directory as appropriate and run Xdothevotes again. X X8) Vote huckstering and status reporting. X XYou owe the world a copy of "scoreletter" (and the other reports if you Xlike), "parsedvotes" and a list of the ballots (by mailpath) still Xsitting unusable in "problems", at the end of the voting period. More Xbelow. X XWhile not mandatory, it is customary to post an intermediate mass Xacknowledgement copy of "parsedvotes", but without the vote information, Xat a midpoint of the voting period. Since there are two weekends between Xthe start and end of the voting period, and since well over half of the Xvotes of the votes arrive in the first couple of days, use the first Xweekend. X XAgain post the article by Friday at the latest to Xnews.announce.newgroups with a Subject: line like "FIRST MASS XACKNOWLEDGEMENT, comp.eggplant.lifecycle.* REORGANIZATION VOTE", and Xagain a keywords line like "NOT THE BALLOT. USE ORIGINAL BALLOT ONLY. XDON'T POST VOTES." Sigh. X XIt is also a fact of life that many sites expire news in two or three Xdays. If your vote total is running short, post more ballots to the Xinterest groups (and news.groups if you are willing to take the Xcomplaints) every few days. A few grumpy people will vote against Xyour proposal out of spite, but this is more than balanced by the 40% Xor so of the vote that can only be gained by being pushy. X XThere is a slight infelicity in the voting rules, in that the weekend Xposting habits of the news.announce.newgroups moderator and the 21 day Xminimum vote rule collide to put a week of dead time waiting for the Xballot results to be posted. If you have plenty of votes, no more seem Xto be arriving, and the issues are not in doubt, cheat and close the Xpolls a little early so you can flash your results to the moderator. If Xthe issue is in balance, or votes are still flooding in, suffer the week Xdelay. X XYour results posting should contain the scoreletter and the parsedvotes Xfile. If you get _lots_ of votes so that your posting would exceed maybe X45Kbytes, break it into several postings that size or smaller, with the Xscoreletter at the top of each. This is because the vote order in the Xscoreletter is the same as the vote order on each ballot line, allowing Xvoters to check their ballots. X XYour scoreletter sl_header text should say the appropriate things about Xhow the vote came out, thank everyone for participating, and mention the Xfive day "vote challenge" period. Normally, you leave the job of posting X"newgroup" control messages to the moderator of news.announce.newgroups. X X9) Aftermath. X XAccept the plaudits of your friends and proposal supporters, the heaped Xscorn of the opponents, say "sorry, too late" to late arriving votes, Xsquirrel away the ballots if you like, or nuke them after the newgroups Xgo out, and go have that nervous breakdown you've been working and Xwaiting for, and so richly deserve now that you have time for it. X X /// It's Amiga X /// for me: why XKent, the man from xanth. \\\/// settle for X<xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us> \XX/ anything less? X-- XConvener, ongoing comp.sys.amiga grand reorganization. END_OF_FILE if test 16763 -ne `wc -c <'docs/POLLING_PLACE'`; then echo shar: \"'docs/POLLING_PLACE'\" unpacked with wrong size! fi # end of 'docs/POLLING_PLACE' fi echo shar: End of archive 2 \(of 2\). cp /dev/null ark2isdone MISSING="" for I in 1 2 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked both archives. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0