[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RFC: Keywords instead of Section

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...


Keywords for browsing Debian Packages

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.)

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.

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.

- Easier browsing of package lists, especially for newbies

- Every Package needs to be updated sometime (or overridden)
- Debian Policy Change
- Slower Frontends (more filtering of package lists)

- Make a list of useful keywords
- Add Keywords: field to packages
- Write Frontends

- 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

Reply to: