> One problem is that keywords can be ambiguous. Keyword > 'X' can mean either that the package is part of an X server, > or that it is a program that uses X as a user interface. That is correct, but with multiple keywords this works just fine, select keywords "X11" and "client", or "x11" and "server", and there you go. If you do not care whether your mail client is for x11 or not, just select "mail" and "client" ;) I don't like bundling keywords like "x11-app" > But this isn't the most serious problem. The most serious > problem is that classification systems have a tendency to > become ontologically disorderly. (I won't get into what > that means here.) That is why i proposed a comitee for mainting the keyword list. I'm not completely sure what you mean with "ontologically disorderly", could you please be a bit more specific about this? > A good solution is explicitly to _type_ the keywords. Dividing > keywords up into groups of the same type is very a useful way > of keeping the system orderly. I consider this pure cosmetic and thus to be done in the Package Browser. There sure is need to group keywords in a useful way, but this can be done "runtime". > the system but integrated into it. (However, we must absolutely > not have a type called 'other' !!!) I believe that other should get all those packages which cannot be put in any of the other groups - most programs can be fit into "daemons", "clients", "web-apps", "utilities", "development" and maybe "scripts", but there surely will be some apps which do not fit into any of them really. Maybe "special" is a better name instead of "other". Of course this "group" should be avoided. > SourceForge and Freshmeat do this. Their keyword types are: None of them is special, they are assigned single numbers like all other keywords / groups. > I would suggest that instead of re-inventing the wheel, we > simply adapt the SourceForge/Freshmeat system for our own use. There is not much difference between the two systems. In fact i believe that freshmeat does not distinguish between different keyword "groups" except for user interface. That's the way i want to go here, too. > The simplest thing to do is replace "Section:" with several tags > like this: > Development-Status: stable > Environment: X, console > Intended-Audience: user > License: GPL > Programming-Language: C, Python > Topic: cooking, sex > allowing any number of keywords to be given on each line. Which you cannot include into the existing Package info easily (except you make another multiline field) > An alternative is to do it this way: > Class: Development-Status:stable, Environment:X, > Environment:console, Intended-Audience:user, License:GPL, > Programming-Language:C, Programming-Language:Python, Topic:cooking, > Topic:Sex Which is basically my proposal. "Keywords: client, stable, X11, console, audience-user, gpl, devel-c, devel-python, cooking, sex" Without treating any keyword special, unless the user prefers to do so. But thanks for your comments, they gave me a lot of new ideas (especially having development-status and audience keyword's can be very helpful, license too of course) We should ask freshmeat for a dump of their keywords list as a base to start working with, too. Greetings, Erich
Attachment:
pgpEtEpVWMKJQ.pgp
Description: PGP signature