Hello to everybody, Recently, I'm worried about the election of codenames of Debian: 1) how they are choosen and by who, and 2) what will happen when the Toy Story names finish.
In the following, I relate you what I did and what I got, and a proposal for a future codenames of Debian. I present it to you in item list mode for more easy read. I wish that anyone heard me... 1) I asked what's the next name after Sarge (and in general how the names of Debian are choosen) in many places: <a href="http://groups.google.com/groups?hl=ca&lr=&ie=UTF-8&oe=UTF-8&threadm=9ce021f0.0309151451.601d9aa6% 40posting.google.com&rnum=13&prev=/groups%3Fq%3Dxan2%2540ono.com%26hl%3Dca% 26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26scoring%3Dd%26start%3D10%26sa%3DN">in Usenet groups</a> (<a href="http://groups.google.com/groups?hl=ca&lr=&ie=UTF-8&oe=UTF-8&threadm=9ce021f0.0309301055.2f92a703% 40posting.google.com&rnum=12&prev=/groups%3Fq%3Dxan2%2540ono.com%26hl%3Dca% 26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26scoring%3Dd%26start%3D10%26sa% 3DN">several times</a>), in <a href="http://www.debianhelp.org/modules.php?op=modload&name=phpBB_14&file=index&action=viewtopic&topic=2765&5">Debian Help(.org)</a> and to my Linux friends, and all these tries were fruitless, i.e. I did not get any reasonable answer. 2) So it's seems that no one knows what's the next codename after Sarge, and next after next, and, in general, it seems that no one knows how the codenames of Debian are elected. 3) I suspect that the election of the next codename is arbitrary and is made by the cupola of Debian. [By "cupola of Debian" I want to say "The organization/administration of Debian", that is the leader project and all his team (tecnic comitee and secretary...). See http://www.debian.org/intro/organization] 4) Having the consideration of the spirit of Debian and, in general, the open spirit of Linux Community, I think that the codenames of Debian should be elected in open way. That is, that anyone could see and follow any step of the process of election of Debian codenames. Nowadays, the codenames are given, but the process of why they elected this or another codename is not open (in far as I know). 5) There are severals ways of doing this: 5.1) The election is made by the cupola The cupola elects the codename of the next release of Debian in an _open_ way. For example, it could be done with open and public votation of codenames by any member of cupola. The votes could be secrets, but the results should be open. 5.2) The election is made by the package developers+the cupola The cupola plus all the package developers elect the codename of the next release of Debian in an open way. The public votation is a nice way in this case too. 5.3) The election is made by the users of Debian. All the users of Debian distribution elect the codenames. 5.4) the election is made by anyone who wants (being or not Debian user). - In all the cases, the election results and all the election process should be public in the way the it could be. 6) Personally, I vote for the penultimate option (that the Debian users elect the codenames) + that anyone could propose (but not vote) new codenames' names. 7) For do that, it's necessary that we have a debian package that: - allows "to query the possible codenames" (that is, that anyone could see the codenames that could be elected for the next release of Debian) - allows "to vote the codenames" (that the people that we choose (5.1-5.4) could vote somehow the codenames for the next release) - allows "to propose one/several new codename" (that anyone could propose new codenames) 8) How do this package should be? I think that this has two differentiate parts: 8.1) A program itself. 8.2) A database. - This two parts are independent: the database in which we have all the possible codenames (and its current "preference" of election), and the program that allows to "modify" this database. 8.1) I think that the best election is make two parts: a back-end and the gui. The back-end is really what modify and query the database, and communicate with the gui. The gui could be text-based or graphic. I think that, for functionality of people, if text-based gui is made, I think that it should be in ncurses, because it should contains more options. The separation of back-end and gui implies more code lines, but it's more functional: we could make more gui's independently. 8.1.1) The system of election of the codenames should be the most suitable mathematically for assure: a) Each person (of the group elected (5.1-5.4)) is equal to others. It means that no one has more privileges than others and the elections of one person have the same weight as the elections of another. b) Each person can choose several codenames. That is, each person can choose one codename as its prefered codename, one less prefered codename, one less less prefered codename, .... [It's the same that we have to elect what do in vacations: I prefer to go to Madrid. Else, I prefer to go to Lisboa. Else, ....] [Personally, I do that in the following way: 1) Anyone could elect a number of codenames. This number of possible codenames for elect depends of how many codenames are in database. A good election is that anyone _could_ (not should) elect max{10% of total codenames, 10}. 2) If the desired codename for me is A, then I assign a "1" to this codename. If the second I prefer is B, then I assign a "2" to this codename. And so on. 3) Internally, the number of puntuation "1" plus the number of puntuation "2"... that one codename has got is traducted somehow as a puntuation.] c) The system of election should be the most automatically as it could be. This means that no human intervention is desirable. For example, in case of draw of two or more codenames, the system should be capable of decide what is elected (even randomilly). The decission and the criterias of the system of election not could be change: if the system elects codename A, then no one could change this election and choose B as the codename of the next release. And if we choose the most popular name, then we could not change this criteria (else if there is consensus about it). d) The system should favor the variety: - it's best with more proposed codename (much codenames is best than few) - it should estimulate that it could elect codenames for the next release which are not very elected by the users for their local character. Ex.: the codename "Impulsiu" is local to catalan. So it were elected few times than other english localized names (as "Impulsive"). If we _only_ elect the "most popular" codenames, then there are much more election of users that were ignored. It's not worthy. - For this reason, I suggest that: - the system of election could be multivotal: anyone can elect (with order) more than one codename that he/she prefer. I think that it's recommended to study other alternatives mathematically. - periodically (for example after 5 releases), codenames were elected randomilly. - periodically, the codenames could be elected randomilly in one category: non-US language, region, cientific topic, ... For this, when anyone propose a new codename, he/she should specify the data of this codename (is proper name?, to what language it belongs, to what it's related, ...) e) Perhaps, the system should favor the shortest codenames, because (perhaps [I don't know this]) the symbolic links to short names are more efficient. f) Perhaps, technically the system could not allow some codenames as: - codenames with spaces - codenames with control characters - codenames with more than x characters (if it happens, then the number of codenames is finite, and the sense of this program is _more_ discutible. I hope this not happens) g) Perhaps, tehcnicaly the system needs that the codenames have occidental codification translation: if we elect a chinese codename, perhaps it's not supported for the mirrors of debian. I beleive that we have to treat this point more accutery. For other hand, I think that good election is UTF-8 codification for codenames. 8.1.2) The programs should allows: - query the more/less popular codenames - query the database randomilly - show alphabeltically list of proposed codenames - show historically (the time the codenames were proposed criteria) list of proposed codenames. 8.2) I think that the database should be accessible through the web site of debian. So, for example, in codenames.debian.org anyone could see this database. 9) What were the name of this project?. Is it another package for doing this? ;-). I thinked in "NDeb" because "name" in the majorty of languages begins with "N" and "Deb" with evident reasons. But we could change it!. Regards, Xan. Bibliography - http://www.debian.org/doc/FAQ/ch-ftparchives.en.html#s-codenames: 5.3 What are all those names like slink, potato, etc.? They are just "codenames". When a Debian distribution is in the development stage, it has no version number but a codename. The purpose of these codenames is to make easier the mirroring of the Debian distributions (if a real directory like unstable suddenly changed its name to stable, a lot of stuff would have to be needlessly downloaded again). Currently, stable is a symbolic link to woody (i.e. Debian GNU/Linux 3.0) and testing is a symbolic link to sarge. This means that woody is the current stable distribution and sarge is the current testing distribution. unstable is a permanent symbolic link to sid, as sid is always the unstable distribution (see What about "sid"?, Section 5.4). 5.3.1 Which other codenames have been used in the past? Other codenames that have been already used are: buzz for release 1.1, rex for release 1.2, bo for releases 1.3.x, hamm for release 2.0, slink for release 2.1 and potato for release 2.2. 5.3.2 Where do these codenames come from? So far they have been characters taken from the movie "Toy Story" by Pixar. * buzz (Buzz Lightyear) was the spaceman, * rex was the tyrannosaurus, * bo (Bo Peep) was the girl who took care of the sheep, * hamm was the piggy bank, * slink (Slinky Dog) was the toy dog, * potato was, of course, Mr. Potato, * woody was the cowboy. * sarge was the sergeant of the Green Plastic Army Men