This message is a draft of the rules for the 2000 Solitaire 500, which is an extension of the 1999 game, the rules of which remain available at http://www.tipjar.com/games/solitaire/wheels/wheels.html The game will be Wheels once again, played with 52-card standard decks of cards. The racing metaphor has been extended by explicitly allowing a form of "drafting" which is the racing practice of reducing wind resistance by positioning oneself closely behind a competitor: all calid solutions will be made available to all entrants, but they must be uniquely modified somehow before they can be returned to the server for credit by a different entrant. The justification for this restriction is that any entrant submitting a solution for a common problem gets a copyright on the solution. It will be up to each entrant to optimize the executive decision to "develop a solution from scratch in-house" or "adapt an existing open-source solution." The first client program ("entrant") to solve 500 decks will again win. The server will run on a computer connected to the internet, exact location to be announced. Entrant teams will be responsible for their own hardware and internet connection. The "SWP2" protocol will be adjusted to deal exclusively in whole decks and whole solutions, and to model open-source product development under licensing arrangements not encumbering development of derivative works. Only the first letter of "discard" and "lay" instructions will be required. The status, win, sync, close and dump commands will no longer be supported. New two card motion primitives 321, 320 and 210 will be available. The six command sequences (31 21), (21 31), (30 20), (20 30), (20 10) and (10 20) will be replaced with the appropriate new two card motion primitive before commands are analyzed further, to prevent cetain trivial transformations from being used to create "unique derivative works" while still allowing maximum compatability with the 1999 protocol. Two new commands will be available, "get" and "solve". get N where N is a deck number, from 1 to 5000, not greater than one more than the highest numbered deck that has been distributed to any entrant. On receiving this command the server sends the complete 52 shuffled cards of deck N to the requesting entrant in the order they will be dealt out, separated by spaces, ended by a newline character. solve N ..... where N is the number of the solved deck, and ..... is the solution On receiving this command the server does these steps: removes non-commands and combines combinable sequences checks the solution for uniqueness checks the solution for accuracy in re: deck N Good solutions the server has not seen before are (here's the "open source" part) distributed to all antrants in this format: fprintf(s,"%s completed lap %i by solving %i: %s\n", entryname,++lapnumber,decknumber,solutionstring); Bad solutions produce an error message returned to the entrant only: Solution not unique or Sequence error ... where ... is a dump of the game state of the deck being manipulated up to the point where an ERR message would have been returned in 1999 SWP. Any entrant may submit a solution for any deck, but an entrant who has received a card deck in reply to a "get" command will not be issued another card deck until they submit a valid unique solution for the deck they have received. The race will be run 7 May 2000, which is a Sunday. The first entrant to "complete lap 500" will win the race, at this time I believe that first prize (in true carnival style) is a large plush Tux from Linuxmall. This may change. A working sample server loaded with fifty random decks will be up or provided as a portable perl5 program soon. Also a working but suboptimal client will be made available for download.