Note: I'm currently in the New Maintainer Process, i'm not yet a "real" Debian Maintainer. (waiting for DAM) The following subject has repeatedly been discussed during the last years. I still feel obliged to bring it up again, as it fizzled. I've been experimenting with simple frontends and primitive keyword lists (each package depending on libgnome got the keyword "gnome", Tasks and Sections make also good keywords...) generated from the Descriptions and other control information. And i was quite happy with it... Greetings, Erich Keywords for browsing Debian Packages ------------------------------------- Preface: -------- Dselect has been the bug-a-boo scaring novice users from installing Debian. Tasksel, console-apt and gnome-apt have already improved the situation a lot. But actually woody is suffering even more from a literally big problem: Debian is getting too big. Experienced users will rely to "apt-cache search", but what will novice users do? They do not even know what software choice they do have with Debian. ** What Debian needs is an easy way to browse packages. ** This topic _has_ been discussed multiple times in the last few years. But I see the need to come to a solution, and i'd be happy if we could at least get the basics into woody. Current Situation: ------------------ Debian has about 8000 Packages (from tausq's Package list, including non-free) They used to be divided into sections such as "web", "mail", "net", "electonics", "admin", "x11", but they became very unevenly balanced. For example "electonics" has less than 30 Packages, x11 contains all the kde and gnome applications which makes up for > 500 Packages. In Woody, this separation was mostly removed with the package pool. Furthermore lots of programs would fit into more than one section (for example an x11 mail reader, x11 games etc.) Goal: ----- Consider following situation: A novice user is looking for an email client. The "mail" and "x11" sections have about 700 Packages, he would sit quite some time reading all their descriptions, and probably give up soon (unless he discovers search). With the "Future-Package-Manager", he selects the keyword "mail client", selects "x11" and "gnome", and disselects "kde" (because he doesn't like kde as he has already found out) Then he'll be given a list of 20 Packages to look at the descriptions, and might consider 10 worth evaluating. Well, that'll probably make him happy ;) This will and cannot replace "apt-cache search", but it will make a nice addition, i think, and will improve the Package Management even more. Proposition: ------------ Instead of the "Section" I propose using a "Keywords:" field, containing multiple values (see example keywords list below). There is need for - a keyword list commitee, deciding which keywords are useful, standardizing the use and writing Descriptions for the keywords (as is with tasksel tasks) They should also keep the list of keywords _short_. - Keyword rankings (probably just a "hit count" for sorting keywords) - keyword translators (translating especially the descriptions) - frontends (preferrably inclusion into deity, gnome-apt etc.) Frontends should allow filtering the Packages in both directions (i.e. "has keyword xy" as well as "hasn't keyword xy") and (if applicable) sorting (i.e. listing Packages with certain keywords first) (p.e. lots of people will want to hide all "library" and "development" packages, or might prefer "gnome" over "kde" or the other way round) The keywords CAN be displayed in an hierarchical manner, but i consider it important that mail/x11 is the same as x11/mail. That has been cited as a drawback in previous discussions. Benefits: ----------- - Easier browsing of package lists, especially for newbies Drawbacks: -------------- - Every Package needs to be updated sometime (or overridden) - Debian Policy Change - Slower Frontends (more filtering of package lists) Implementation: --------------- - Make a list of useful keywords - Add Keywords: field to packages - Write Frontends Transition: ----------- - Frontends should be kept in unstable until a good amount of packages has Keywords - two releases after Sections are no longer required by any tool, "Sections" can be dropped ----------------- That's it, Erich Schubert -----[example keywords list]----- # Distinguish User Interfaces console Console Programs x11 X11 Graphical Programs gnome Gnome Desktop Environment gtk GTK User Interface kde K Desktop Environment qt QT Programs # Distinguish Programming Languages perl Perl related python Python related php PHP related c C Programming c++ C++ Programming asm Assembler Programming java JAVA Programming # eiffel etc. too of course... # Distinguish between User Applications (Programs common users will directly call) app User Applications # Daemon Applications daemon Daemons (Server Applications) # Web Applications (Programs called by the webserver) webapp Web Server Applications # Different Groups of Applications graphic Graphic media Video, Music and Sound develop Development office Office games Games util Utilities themes Themes database Database editor Editors shell Shell comm Communication mail E-Mail math Mathematics admin Admin tex TeX and LaTeX # others lib Libraries header Header Files xml XML related web WWW related fonts Fonts -----[]-----
Attachment:
pgpDA4kl7fnPy.pgp
Description: PGP signature