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

Bug#37713: [PROPOSED] separate menu policy (like virtual package list)



Package: debian-policy
Version: 2.5.1.0
Severity: wishlist

Ok, so maybe we need to make some changes to the menu heirarchy.  But
that's not important now.  Anyone who was holding his breath, waiting
for me to release a great restructuring of the menu heirarchy can just
stop.  I'm not only NOT going to propose a great restructuring of the
menu heirarchy, but, in fact, I will probably OBJECT to any such
proposal until we deal with some of the issues below.

Debian Policy section 3.6, para 3 says:

	  Please refer to the <em>Debian Menu System</em> document
	  that comes with the <tt>menu</tt> package for information
	  about how to register your applications and web
	  documents.</p></sect>

Looking at that document, we find, in section 2.2:

  Here is the <em/authoritative list of Debian's menu structure/. [...]

And other examples of what seem to be (and basically are) policy, not
technical documentation.

PROBLEM ONE: Menu policy is hard to find.

It's not real clear from the policy manual that the menu document
contains policy.  Policy just says it has, "information and how
to...".  But it's pretty easy to figure out "how to" from the many
examples that come with the system.  And developers tend to be
roll-your-own types -- a lot of them (including the menu package
maintainer) don't even bother to install the menu package.  So a lot
of developers may not even realize there *is* additional policy to be
found in the menu package.

As evidence that this is a real problem, I submit the many packages
which don't follow menu policy.

PROBLEM TWO:  Menu policy is badly coupled.

If we want to change menu policy, we have to arrange to get Joost to
release a new version of the menu package.  Even if the menu *program*
hasn't changed.  This isn't a major problem by itself, but it makes
problem three worse.  (Also, if the menu program changes, developers
have to download it *in case* there was also a policy change, even if
the developers don't use the menu system, and don't want to have it
installed.)

PROBLEM THREE:  We're paralyzed by choice (everyone's got an answer)

Since we don't want to force Joost to rerelease the menu package every
few weeks, there's a strong tendency to react to all suggestions to
change the menu policy with the comment: "that's a good idea, let's
get some more suggestions together and overhaul the entire heirarchy
all at once," followed by hordes of suggestions, usually bad (I know,
I've made some bad ones myself).  Then we wrangle, decide we're not
sure yet, and forget the whole matter till the next innocent
suggestion comes along, to start the whole mess over again.

Note that this problem is SO prevalent, that when Joeyh suggested
*moving* the menu policy into the main policy document, the reaction
from Wichert was, "that's a good idea, but lets overhaul the entire
heirarchy all at once, first."  Pretty much missing the ENTIRE POINT
OF THE PROPOSAL!  (Although, technically, I think Wichert was right,
insofar as menu policy probably shouldn't be embedded in the policy
document directly.)

I'm sorry, but we are NOT GOING to overhaul the entire heirarchy all
at once!  IT IS NOT GOING TO HAPPEN.  But there are a couple of fairly
important suggestions that really deserve strong consideration, and
they shouldn't have to wait indefinitely.  We need to be able to make
changes when we need to make changes.

And I don't want to make Joost re-release the menu package every few
weeks, any more than any of you do.

PROBLEM FOUR: nobody agrees on everything

Believe it or not, this is not a big problem, for the most part.  We
shouldn't all have to agree all at once.  What we need to do is find a
way that we can get *important* changes that people *do* agree on into
menu policy without trying to get everyone agree that ok, menu policy
is done, it's perfect, every change we might want to make is there.

Menu policy *needs* to be flexible.  It shouldn't change *all* the
time -- I'd object to that as much as anyone.  Changes should be made
only after careful consideration.  But we still need to be able to
make *some* changes, and we need to be able to make them when we need
them.  We need to make this NOT BE an all-or-nothing proposition.  We
need a more open ended system.

The fact that nobody agrees on everything is only a problem because we
keep waiting for everyone to agree.  We need to stop waiting.

- - - - - - - - - - - - - - - -

PROPOSAL (1.0?):

ABSTRACT: Menu policy should be handled much like the virtual package
list.  It should be separate from the main policy document (and from
the menu package), so that there are no <em>irrelevent</em> objections
to proposed changes, only relevent ones.  And it should be on the web
site and in the debian-policy package, so that it's easy to find.

ONE:  Change Debian Policy section 3.6, inserting a new paragraph just
before the existing paragraph three (above):

	  Menu entries should follow the current menu policy as
          defined in the file <ftpsite>ftp.debian.org</ftpsite> in
          <ftppath>/debian/doc/package-developer/menu_policy.txt</ftppath>
          or your local mirror.

TWO: Create the menu_policy.txt file, using the text below.  Note that
the heirarchy is the one proposed by Joey Hess, with my suggestion of
"Help", which he seconded, and someone else's suggestion of
"Apps/Databases", which received a few seconds.  We can make more
changes later, including possibly adding other menu policy issues,
such as icons, and whatnot, but this should do for a start.

    The latest copy of this document can be found at
    ftp://ftp.debian.org/debian/doc/package-developer/menu_policy.txt

    If you have a package which doesn't fit within the existing menu
    heirarchy, please bring it up on the debian-devel mailing list.
    If you have other proposals for changing the menu heirarchy, or
    making other changes to menu policy, please bring it up on
    debian-policy.

    Preferred menu structure
    
    Here is the authoritative list of Debian's menu structure. Please
    do not put your packages into any other sections without asking
    for permission first!

       Apps            - normal applications
         Databases     - interactive database programs
         Editors       - text editors, word processors
         Emulators     - wine, dosemu, etc.
         Graphics      - image manipulation
	 Hammradio     - anything relating to ham radio
         Math          - math related programs
         Net           - network programs that don't fit elsewhere
         Programming   - debuggers, etc.
         Tools         - simple apps, like clocks, that perform only one task
	 Technical     - technical stuff
	 Text          - text oriented tools other than editors
         Shells        - bash, ksh, zsh, etc.
         Sound         - sound players and editors
         Viewers       - image viewers
         System        - system administration and monitoring tools
       Games           - games and recreations
         Adventure     - walk around virtual space, zork, MOO's, etc
         Arcade        - any game where reflexes count
         Board         - games played on a board
         Card          - games involving a deck of cards
         Puzzles       - tests of ingenuity and logic
	 Sports        - games derived from "real world" sports
	 Strategy      - games involving long term strategic thinking
         Tetris-like   - games involving falling blocks
         Toys          - amusements, eye-candy, etc.
       Help            - programs that provide user documentation
       Screen          - programs that affect the whole screen
         Lock          - programs to lock the screen
         Save          - screen savers
         Root-window   - things that fill the root window
       WindowManagers  - X window managers
         Modules       - window manager modules
       XShells         - xterm and its brethern

THREE: (cleanup) remove section 2.2 from the menu documentation in the
menu package.

-- 
Chris Waters   xtifr@dsp.net | I have a truly elegant proof of the
      or    xtifr@debian.org | above, but it is too long to fit into
http://www.dsp.net/xtifr     | this .signature file.


Reply to: