The talk is inteded to people who are interested in the philosophy for
Debian internal projects and the technique which is used to manage
those projects.  It is explained in detail why this are no forks from
Debian but reside completely inside the Debian GNU/Linux distribution
and which advantages can by gathered by this approach.  The concept of
meta-packages and user role based menus is explained.
This talk is intended for a technically interested audience.
 
  | Debian Internal ProjectsDebian-EduDeMuDi | 
  | (page 1) | 
 
  | Overview
  What is Debian?What are Debian internal projects?Debian - adaptable for any purpose?Technology
     
  DocumentationFuture | 
  | (page 2) | 
  | What is Debian?
  Linux is just the kernel of your operating system.You need a lot of applications around.Those collections of software around the Linux kernel is called distribution.Companies who build such distributions are called distributors.They make money by selling their distribution in boxes, doing support and training.You might know Mandrake, RedHat, Suse and others.Debian is just one of them. | 
  | (page 3) | 
  | Sorry. That was wrong.
 | 
  | (page 4) | 
  | The Debian Project is an association of individuals who have made
common cause to create a free operating system. This operating system
that we have created is called Debian GNU/Linux,or simply Debian for short. Moreover, work is in progress to provide Debian for other than Linux
kernels, primarily for the Hurd.  Other possible kernels are BSD and
even ports to MS Windows are planed.
 | 
  | (page 5) | 
  | Web of trust | 
  | (page 6) | 
  | Differences to other distributions
  Debian is no company but an organisation.It does not sell anything.Debian members (maintainers) are volunteers.Maintainers are working on the common goal: building the best operating
      system they could affordLargest collection of ready-to-install Free Software on the InternetTwo ways to obtain Debian GNU/Linux
    
      Buying it from any other distributor on CDDownloading from the Web for freeThe later is the common way and there are really great tools to do it this way. | 
  | (page 7) | 
  | What are Debian internal projects?
   Debian contains nearly 10000 binary packagesGeneral users interested in a subset of those packagesCare for special groups of target users with different skills
       and interestsNot only handy collections of specific program packages but care for
       easy installation and configuration for the intended purpose.No fork from Debian → Basic idea: Do not make a separate distribution
     but make Debian fit for special purpose instead | 
  | (page 8) | 
  | Motivation
   Profile of target users:
       
          Less technical competenceNot able to install upstream programs with acceptable
              effortNo interest in administrationInterest in defined subset of available free
              softwareNeed for easy usageDefined security profileOther possible projects:
       
         AuthoritiesOfficeEnterprise / accounting??? | 
  | (page 9) | 
  | Status of specialized Free Software
   Hard to installHard to maintainHard to use because of lacking GUIStrange LicensesOrphaned upstreamPorting issues (architectures, byte order, 32 vis 64 bit)Data format not exchangeableParallel development of the same functionalityUsed tools or back ends are not intended for those
       applications → Lack of an integrated framework | 
  | (page 10) | 
  | History of Debian internal projects (1)
   Debian-Junior
      
         Start: beginning of 2000Initiator: Ben
             Armstrong <synrg@debian.org>First internal Projekt - in fact the idea of internal
             projects was bornReleased in the current stable Debian code name WoodyDebian-Med
      
         Start: beginning of 2002Initiator: Andreas
             Tille <tille@debian.org>Adapted ideas from Debian-Junior and added some stuffDebian-Edu
       
         Start: just startingInitiator: Raphaël
             Hertzog <hertzog@debian.org>Bringing back a fork from Debian | 
  | (page 11) | 
  | History of Debian internal projects (2)
   Demudi
      
        Start: not really started yetInitiator: Marco  
            Trevisani <marco@centrotemporeale.it>Bringing back a fork from DebianDebian-Desktop
      
        Start: October 2002Initiator: Colin Walters <walters@debian.org>Many common issues with other internal projects | 
  | (page 12) | 
  | Debian-JuniorDebian for children from 1 to 99
   Make Debian an OS that children of all ages will want
       to useMaking it so nice that they like itMaking it a playground for children experimentsNot only providing games but care for their qualityMain target are young children, teens should become comfortable
       with using Debian without any special modifications | 
  | (page 13) | 
  | Debian-MedDebian in Health Care
  Integrated software environment for all medical tasksSpecial care for the quality of program packages in the field of medicine 
      which are integrated in Debian yetBuilding packages of medical software which are missing inside Debian and
      inclusion of those packagesCaring for a general infrastructure for medical usersEfforts to increase the quality of third party software | 
  | (page 14) | 
  | Debian-EduDebian for educational purposes
   Make Debian the best distribution available for educational
     useFederate many initiatives around education (which are partly based on
     forks of Debian)Integrate changes from the French Debian Education distribution
       into DebianCooperate with Debian based SkoleLinux in NorwayCooperate with other education-related projects (like Seul, Ofset, KdeEdu)Just started, mailing list and web site in preparation | 
  | (page 15) | 
  | DeMuDiDebian Multimedia Distribution
   Currently not announced as official internal project but
     coordinator is in touchOriented toward music and multimediaMake GNU/Linux a platform of choice for the musician
       and the multimedia artistPart of a project funded by the European Community, called
     AGNULAInitiator is not yet Debian developer but you are able to work on Debian
     without being an official developer | 
  | (page 16) | 
  | Debian-DesktopDebian GNU/Linux for everybody
   best possible operating system for home and corporate workstation useMotto: "Software, which just works"Desktops like Gnome and KDE should coexist well in Debian and
       work optimalEasy usage for beginners without restrictions of flexibility
       for expertsEasy configuration (hardware-detection)Internationalisation | 
  | (page 17) | 
  | Why not just forking from Debian? | 
  | (page 18) | 
  | Debian - adaptable for any purpose?
   Developed by about 1000 volunteersFlexible, not bound on commercial interestStrict rules (policy) glue all things togetherCommon interest of each individual developer to get the best operating
       system for himselfDevelopers have children in real life or work in the field of
       medicine etc.In contrast to employees of companies every single Debian developer has the
       freedom and ability to realize his visionThus single developers have influence on development - they
       just have to do it | 
  | (page 19) | 
  | Technical reasons for adaptability
   Focus on
      
         SecurityStabilityQualityCareful testing (BTS)Continuity (take care for old configuration)Powerful packaging toolsSupport of 11 hardware architectures (auto
       builders: alpha, arm, hppa, i386, ia64, m68k, mips, mipsel,
       powerpc, s390, sparc) | 
  | (page 20) | 
  | Technology (1): Meta Packages
   Collection of specific software
      
        No research for available software necessaryUser is not forced to browse the whole package list of DebianEasy comparison between software covering the same taskSafety against accidental removal of dependenciesConflicts to incompatible packagesEasy installationLow effort for administrationAdapted configuration inside meta packages
      
        Care for special needs of project usersDocumentation packages
      
         Packaging and creating of relevant documentationTranslation | 
  | (page 21) | 
  | Handling of meta packages
   Overview over
      
         Command line toolsText user interfacesYou know dselect?
                → Forget it!
Graphical user interfacesWeb interfacesHints for administrationFuture development | 
  | (page 22) | 
  | Command line tools (1)apt-cacheSearch for relevant keywords in package descriptions 
 
  | 
~> apt-cache search med | grep '^med-'
med-bio - Debian Med Bio-Informatik-Pakete
med-common - Debian-Med-Projekt: gemeinsames Paket
med-common-dev - Debian Med Project common files for developing meta packages
med-dent - Medizinische Debian-Pakete für die Zahnarztpraxis
med-doc - Debian Pakete mit medizinischen Dokumentationen
med-imaging-dev - Debian Med packages for medical image development
med-tools - Debian Med - verschiedene Programe
med-bio-contrib - Debian Med bioinformatics packages (contrib and non-free)
med-imaging - Debian Med Imaging Packete
 |  → Not really straightforward currently | 
  | (page 23) | 
  | Command line tools (2)grep-dctrl 
 
  | 
~> grep-dctrl -r ': med-' /var/lib/dpkg/available | grep -v '^[ SIMAVF]' | grep -v '^Pri'
Package: med-dent
Depends: odontolinux, galeon | www-browser
Description: Debian Med packages for dental practice
Package: med-imaging-dev
Depends: librumba-dev, libgtkimreg-dev
Description: Debian Med packages for medical image development
Package: med-doc
Depends: doc-linux-html | doc-linux-text, resmed-doc, galeon | www-browser
Description: Debian Med documentation packages
Package: med-tools
Depends: mencal
Description: Debian Med several tools
Package: med-common-dev
Depends: debconf (>= 0.5)
Description: Debian Med Project common files for developing meta packages
Package: med-imaging
Depends: rumbaview, paul
Description: Debian Med imaging packages
Package: med-common
Depends: adduser, debconf (>= 0.5), menu
Description: Debian-Med-Projekt: gemeinsames Paket
Package: med-bio
Depends: bugsx, fastdnaml, fastlink, garlic, njplot, readseq, tree-puzzle
Description: Debian Med bioinformatics packages
Package: med-bio-contrib
Depends: clustalw, clustalx, molphy, phylip, seaview, treetool
Description: Debian Med bioinformatics packages (contrib and non-free)
 |  → Also a bit cryptic | 
  | (page 24) | 
  | Command line tools (3)auto-apt 
 
  | 
~> sudo auto-apt update
put: 880730 files,  1074158 entries
put: 903018 files,  1101981 entries
~> auto-apt -x -y run
Entering auto-apt mode: /bin/bash
Exit the command to leave auto-apt mode.
bash-2.05b$ less /usr/share/doc/med-bio/copyright
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  bugsx fastlink readseq 
The following NEW packages will be installed:
  bugsx fastlink med-bio readseq 
0 packages upgraded, 4 newly installed, 0 to remove and 183  not upgraded.
Need to get 0B/1263kB of archives. After unpacking 2008kB will be used.
Reading changelogs... Done
Selecting previously deselected package bugsx.
(Reading database ... 133094 files and directories currently installed.)
Unpacking bugsx (from .../b/bugsx/bugsx_1.08-6_i386.deb) ...
Selecting previously deselected package fastlink.
Unpacking fastlink (from .../fastlink_4.1P-fix81-2_i386.deb) ...
Selecting previously deselected package med-bio.
Unpacking med-bio (from .../med-bio_0.4-1_all.deb) ...
Setting up bugsx (1.08-6) ...
Setting up fastlink (4.1P-fix81-2) ...
Setting up med-bio (0.4-1) ...
localepurge: checking for new locale files ...
localepurge: processing locale files ...
localepurge: processing man pages ...
This package is Copyright 2002 by Andreas Tille <tille@debian.org>
This software is licensed under the GPL.
On Debian systems, the GPL can be found at /usr/share/common-licenses/GPL.
/usr/share/doc/med-bio/copyright (END) 
 |  &rarr Isn't this great? | 
  | (page 25) | 
  | Text user interfacestasksel 
   Debian Task InstallerEnd-user section contains entry for each internal projectEasy installation | 
  | (page 26) | 
  | Graphical user interfaces (1)gnome-apt | 
  | (page 27) | 
  | Graphical user interfaces (2)synaptic → Synaptic's filters are a great tool here. | 
  | (page 28) | 
  | Web interfaces (1)Web search | 
  | (page 29) | 
  | Web interfaces (2)Package Tracking System→ Also not really straightforward currently
   but becoming comfortable with the Package Tracking System is an
   extra plus here :-) 
   Recently developed web toolGreat help in watching package statusSupports subscription to interesting packages | 
  | (page 30) | 
  | Package Tracking System | 
  | (page 31) | 
  | Web interfaces (3)/usr/share/doc/junior-doc/examples/scripts/list-junior → Not yet a tool but a start of it | 
  | (page 32) | 
  | Future handling of meta packages
   Obviously there are no nifty tools as you might know them from
       Debian available yet.Tools which grep the apt cache directly for meta packages have
       to be written.Policy agreement about additional flag for debian/control fileFind a set of keywords for each internal project and write a
       tool to search comfortable | 
  | (page 33) | 
| Tools to develop meta packages
   Building a meta package is more or less equal for each meta
       packageThose stuff should be parameterised and supported by tools to
       
          Make it easierReduce probability of bugsThere is no common agreement about this but at least Debian-Med
       is using the med-common-dev for package
       buildingEach Debian-Med package build-depends from this package which
       provides templates and tools for meta package building and some
       examples | 
  | (page 34) | 
  | Technology (2): User menus
   Define a list of sub project users using debconf to manage groups like junior
       and med in /etc/groupThese users are provided with an extra menuDo not bother other users with those additional menusProvide script update-subproject to
       update user menus after new package installation or additions
       of users to those groupsCurrent Debian-Med packages give an idea of the look and
       feel | 
  | (page 35) | 
  | User menu toolsPackage med-common contains debconf scripts to configure project users | 
  | (page 36) | 
  | General menu rewrite
   Currently Debian menu system is completely rewrittenDebian packages update general menu after installation
       automaticallyKey features like user roles and translation will be addedPlan: Meta packages contain role specific menu entries which
       are updated on a per user basisEnabling clean administration of multi user systems | 
  | (page 37) | 
  | Documentation
   All internal projects care especially for documentation and
       translation because target users have big need for thisHave a close look on <project>-doc
       packages!Ben Armstrong has started a Debian Subproject HOWTO:
       
       It explains how to start and maintain a Debian internal project
       in general
    | 
  | (page 38) | 
  | FutureDebian-Junior
   First release with Debian WoodyIncluded in task selection list of install CD Debian-Med
   First stepsSome meta packages readyGreat interest from developers and usersFirst version in SargeKnoppix based Live-CD | 
  | (page 39) | 
  | FutureDebian-Edu
   Creating web site and mailing listsIntegrating stuff from educational distributions which is not
       yet in DebianCare for new Debian-installer based CDs DeMuDi
   Same as aboveCare for really free multimedia software (patent issues, licenses, etc.) | 
  | (page 40) | 
  | FutureDebian-Desktop
   Impact onto all other internal projects, because it is end user
       oriented 
   Take part in development of Debian-Installer
    | 
  | (page 41) | 
  | Further Information | 
  | (page 42) |