[Cdd-commits] r921 - in cdd/trunk: docs docs/flyer docs/papers docs/papers/200808_cdd docs/talks flyer

CDD Subversion Commit noreply at alioth.debian.org
Thu Jul 3 19:30:30 UTC 2008


Author: tille
Date: Thu Jul  3 19:30:30 2008
New Revision: 921

Added:
   cdd/trunk/docs/
   cdd/trunk/docs/flyer/
      - copied from r919, cdd/trunk/flyer/
   cdd/trunk/docs/papers/
   cdd/trunk/docs/papers/200808_cdd/
   cdd/trunk/docs/papers/200808_cdd/cdd-paper.tex
   cdd/trunk/docs/talks/
Removed:
   cdd/trunk/flyer/
Log:
Start to inject papers and talks; old talks will follow step by step, this is the "to be finished" paper for ma talk at debconf8


Added: cdd/trunk/docs/papers/200808_cdd/cdd-paper.tex
==============================================================================
--- (empty file)
+++ cdd/trunk/docs/papers/200808_cdd/cdd-paper.tex	Thu Jul  3 19:30:30 2008
@@ -0,0 +1,346 @@
+% cdd-paper.tex
+% Authors: Andreas Tille
+% Revisions: August 2008
+
+\documentclass{article}
+\usepackage{times}
+\newif\ifpdf
+\ifx\pdfoutput\undefined
+  \pdffalse % we do not use PDFLaTeX
+  \PassOptionsToPackage{dvips}{graphics}
+\else
+  \pdfoutput=1 % we use PDFLaTeX
+  \pdftrue
+  \PassOptionsToPackage{pdftex}{graphics}
+\fi
+\usepackage{graphics,color}
+\usepackage[latin1]{inputenc}
+\ifpdf
+  \PassOptionsToPackage{pdftex,colorlinks=true,urlcolor=blue,linkcolor=blue}{hyperref}
+  \pdfcompresslevel=9
+\else
+  \usepackage{url}
+\fi
+\usepackage{html}
+\usepackage[T1]{fontenc}
+%\usepackage[english]{babel} %%% conflicts with \cite !!!
+\usepackage{xspace}
+
+\newcommand{\Path}[1]{\path{#1}\xspace}
+\newcommand{\onlynameurl}[1]{\Path{#1}}
+\newcommand{\package}[1]{\Path{#1}}
+\newcommand{\command}[1]{\Path{#1}}
+\newcommand{\file}[1]{\Path{#1}}
+
+\newcommand{\Debian}{\texttt{Debian}\xspace}
+\newcommand{\DebianGL}{\Debian \texttt{GNU/Linux}\xspace}
+\newcommand{\CDD}{\texttt{Custom Debian Distribution}}
+
+\newcommand{\printemail}[1]{%
+   \ifpdf
+   \href{mailto:#1}{$<$#1$>$}%
+   \else
+   \onlynameurl{$<$#1$>$}%
+   \fi
+   \xspace
+}
+\newcommand{\printurl}[2]{%
+   \htmladdnormallink{#2}{http://#1}%
+   \xspace
+}
+
+\newcommand{\myinsertgraphic}[1]{%
+   \ifpdf
+   % \resizebox{#2}{#3}{%
+   %\resizebox{80mm}{53mm}{%
+      \includegraphics{#1}%
+   %}%
+   \else
+      \includegraphics{#1}%
+      %%\epsfig{file=#1.eps}%, height=#2, width=#3} 
+   \fi
+}
+
+\def\halfsloppy{%
+  \tolerance 1250%
+  \emergencystretch 0.75em}
+
+% from http://user.it.uu.se/~matkin/programming/TeX/hacks.tex
+% \smiley
+% \frowny
+%    Here we have a smile face (and a frowny face) to use together with
+%    text in horisontal mode
+\begingroup
+	\def\facewith#1{$\bigcirc\mskip-13.3mu{}^{..}
+	\mskip-11mu\scriptscriptstyle#1\ $}
+	\xdef\frowny{\facewith\frown}
+	\xdef\smiley{\facewith\smile}
+\endgroup
+
+\date{DebConf 8, Mar del Plata, August 2008}
+
+\begin{document}
+\title{Custom \Debian Distributions\ -  \\
+\large Making Debian the distribution of choice for specific work fields}
+
+\author{Andreas Tille}
+
+\maketitle
+
+\begin{abstract}
+The idea of Custom Debian Distributions was born at DebConf 3 in Oslo
+and has turned now into a solid tool set that can be used to organise
+packages targeting at a specific work field inside Debian in a quite
+efficient way.  After five years it is time for a report about status
+and success as well as continuing to spread the idea amongst people to
+enable them to spend a minimum effort for the adoption of the tools to
+get a maximum effect in maintaining a CDD.
+
+One goal of Custom Debian Distributions is to form a group of Debian
+developers who care for a specific set of packages that are used in
+the day to day work of a certain user group.  The fact that Debian has
+grown to the largest pool of ready to install packages on the net has
+led to the side effect that it is hard to maintain for beginners.  A
+Custom Debian Distribution adds some substructure to the currently
+flat pool of 15000+X packages without a user oriented structure.
+These substructures are intended to put a focus on special user
+interest.  These substructures are not based on technical matters like
+Debian installer team, porting teams or teams that are focussing to
+implement programming language policies.
+
+There are some similarities to Debian-i18n which also has the pure
+goal to serve the needs of certain end user groups with the difference
+that the users are grouped not according to their field of work but
+according to their language.  In fact it makes even sense to create
+CDDs for languages that require certain technical means to optimally
+support the language regarding direction of writing, special fonts
+etc.  It is known that some countries in Asia builded Debian         % TODO: WHICH COUNTRY, NAME OF DIST
+derivatives for this purpose but in principle it is not necessary to
+derive - the better solution is to make Debian more flexible by
+starting a CDD effort inside Debian.
+
+The talks will give some examples from the success of CDDs like
+Debian Edu and Debian Med.  One very important outcome of the CDD
+effort is the ongoing reunification of Linex - the Debian derived
+distribution that is used in all schools in Extremadura - with
+Debian Edu.  This step means that Debian gets a very large
+implementation in all schools of Extremadura while on the other hand
+the effort of development for the people who invented Linex will be
+reduced.  Debian featuring Debian Edu now has a very good chance to
+become a really good international school distribution because it has
+roots in five countries (Norway, Spain, France, Germany and Japan) and
+might become attractive for many more.
+
+The success stories of CDDs would not have been possible outside
+Debian and thus leaving the path to build Zillions of Debian
+derivatives that reach a very small user base and working together
+inside Debian is the main idea of the talk.  To make this idea more
+attractive in the second part of the talk a description of tools that
+were developed in the CDD effort will be presented.  Especially the
+newly developed web tools that give a good overview about the
+packages that are useful for a certain field of work and the QA tools
+that enable the CDD team members to easily get an overview about
+packages that need some action.  So if people are not yet convinced
+that a CDD for their purpose makes sense we will catch them by the
+tools they might get for free if they follow the proposed strategy.
+\end{abstract}
+
+
+
+\section{Symbiosis between experts and developers}
+
+
+As it was explained in last years CDD talk the basic goal of Custom
+Debian Distributions is to enable the user to focus on the packages
+that are really needed for his day to day work leading him friendly
+through the jungle of \Debian{}'s $\mathsf{>}$ 15000 packages.  A user
+that is working in a certain field is only interested in a defined
+\emph{subset} of packages and the CDD that is concerned about this
+field tries to prepare the computer optimally to install this subject
+with adapted configuration and easily accessible applications.  So
+CDDs are taking care of groups of specialised users turning \Debian into
+a useful tool adapted to their requirements for day to day work and
+making it to the distribution of choice for their use cases.  It
+should enable and easy installation and automatically configuration
+whenever possible to make the needed work to fit the intended purpose
+as small as possible.
+
+The tricky part in developing a CDD is now to tie a solid network of
+Debian developers, upstream developers (``developing experts'') and
+users (experts in a defined field).  It has turned out that gathering
+upstream developers into a CDD team is quite often not very hard.
+There are several upstream developers who try to become Debian
+Maintainer status - a concept which turned out to be quite
+successfully.  The rationale behind this is if it comes to field
+specific software it is often written by experts in this field to
+solve the tasks of their daily work.  Observations have shown that
+this software while showing great features regarding the task which
+should be solved there are often weak parts in the build system or in
+the general handling of using libraries or wide spread tools.  This is
+exactly the point where Debian developers have good experiences and
+are able to provide technical help.
+
+So it happens quite often that upstream developers of field specific
+applications are quite happy if Debian developers want to build Debian
+packages of the software because they anticipate enhancements of their
+build system and a security audit.  Last but not least they expect a
+wide distribution of their work to reach a large user base easily.
+
+
+\section{Attracting people by providing interesting technical base}
+
+The acceptance of new methods is drastically higher if the techniques
+provided are convincing enough and provide interesting features for
+the target audience.  Considering this we tried to develop simple ways
+to categorise packages that are useful for certain tasks.  This is
+done in so called tasks files which are processed using the
+\package{cdd-dev} package to build meta packages.  The other
+application of these tasks files is building internationalized web
+pages which display the packages that are relevant for a certain CDD
+task with the descriptions of the packages.  The translation for the
+descriptions are drawn from the
+\printurl{ddtp.debian.net}{Debian Description Translation Project} and
+the more complete the DDTP translation of packages that are relevant
+for a CDD are the better is the translation of the web pages featuring
+the CDD tasks.  Thus by adding another use case of DDTP translations
+the effort might become additional partipiciants and the quality of
+translations - especially those of specific packages which need some
+expert knowledge for proper translation - might increase.
+
+The internationalized web pages which are generated automatically out
+of the information inside the tasks files is a key documentation
+feature which is a really helpful tool for developers of the CDD as
+well as very informative for users because they immediately get an
+overview about all ready to install software that might be helpfull
+for their day to day work.  Thus we try to promote these pages as the
+main entry point for information for our users what we have done,
+which work is in progress and what's on our todo list.  This
+information might give them a good motivation to join the project.
+The first step might be to provide better translations for the package
+descriptions which is certainly a task which is better done by experts
+using the package themselves instead by Joey Randomtranslator who
+tries his best in a word by word translation but if he does not know
+the real usage of the package it is hard to provide a really useful
+translation.
+
+Once we were able to rise users interest they might be interested to
+do the next step to install and try the packages in question.  This is
+the point where the upstream developer of the software becomes a new
+user which might report bugs or give hints for enhancements and might
+become a coworker finally.  This way Debian, or more specifically the
+CDD that supports the specific field, has helped to increase the user
+base of a software and thus the potential developer base.
+
+The process to establish a certain piece of Free Software described
+above seems to be quite straightforeward but without a linking
+instance like a CDD inbetween upstream developer and users the
+propagation of specialised Free Software is often everything else than
+straightforeward.  If the idea of Free Software reaches a specialist
+who is working on a specific solution he is happy to release the code
+on his private web page -- and that it is just there.  It is not very
+common to use well known source code repositories like
+\printurl{savannah.gnu.org}{Savannah} or
+\printurl{sourceforge.com}{SourceForge} or even implementing a version
+control system to promote group development.  In contrary if an other
+specialist is seeking for a solution for the same problem he has to
+invent extended Google queries to find the project in question -- if
+he has the idea to seeking and before he is starting simply from
+scratch. 
+
+Some volunteers have realised this situation and provide extensive
+link lists either on static HTML pages or Wikis to enable others to
+join the catalogisation effort.  The problem here is that these link
+lists are often incomplete and what matters even more are not directly
+connected to immediately installable and executable binaries.
+
+There are some similar efforts like CDD in other distributions
+(Gentoo biology, BSD Biology) because also other distributors realised
+the problem described above.  The difference between such kind of
+installable software collections and a CDD is that a CDD 
+
+
+\section{Supporting very special applications}
+
+There are several reasons for and against adding special applications
+to the \Debian pool.  One drawback is penalty is that \Debian becomes
+larger and larger regarding the number of packages and the question
+raises: How many packages are good for Debian?  Currently there is no
+reasonable answer to this question and the rule for adding packages is
+currently: As long as one person is interested enough in a software to
+maintain the package it will be included.
+
+From the upstream maintainers point of view it is a very interesting
+method to bring special applications under quality control.  It often
+happens that Debian maintainers add reasonable patches and Debian
+users might file interesting bug reports that lead to further
+enhancements of the software.
+
+As mentioned above \Debian can serve as a vehicle for upstream
+software because \Debian users just stumble upon some programs they
+did not know before when they are installing \Debian.  So integrating
+software into \Debian just increases the user base of the software.
+
+This turns in to the question: How many packages are good for our
+users?  If our users on one hand learn about interesting applications
+and on the other hand are enabled to install these applications
+flawlessly ready to run this is exactly what we want.
+
+Related to the packaging of special applications is the question about
+packaging special data.  Some applications need large data sets to
+work reasonably and it is not really an option to bundle all these
+into normal packages because this would drive mirror maintainers crazy
+in terms of bandwidth and disk space.  There would be other solutions
+to discuss like providing a separate data archive which seems not to
+be happen according to \printurl{bugs.debian.org/38902}{\#38902
+  wont-fix} or alternatively find some common tool that downloads data
+according to certain rules.
+
+So the basic goal of Custom Debian Distributions is to enable the user
+to focus on the packages that are really needed for his day to day
+work leading him friendly through the jungle of \Debian{}'s
+$\mathsf{>}$ 15000 packages.  A user that is working in a certain
+field is only interested in a defined \emph{subset} of packages and
+the CDD that is concerned about this field tries to prepare the
+computer optimally to install this subject with adapted configuration
+and easily accessible applications.  So CDDs are taking care of
+groups specialised users turning \Debian into a useful tool adapted
+to their requirements for day to day work and making it to the
+distribution of choice for their use cases.  It should enable and easy
+installation and automatically configuration whenever possible to make
+the needed work to fit the intended purpose as small as possible
+
+While \Debian as a distribution stays a general collection of Free
+Software ready to install it supports specialists as well which is
+kind of unique in the distribution market.  By attracting specialists
+\Debian might become more attractive for a larger user base especially
+those users that are basically left alone by other distributions.
+So the basic idea of Custom Debian Distributions is
+\begin{center}
+           Do not make a separate distribution but make\\
+           \Debian fit for special purpose instead.
+\end{center}
+
+%  Naturally a
+%\Debian developer looks at the operating system as the thing users
+%really want.  And yes there are users that just want an operating
+%system and no it is not a bad thing to focus on the system itself.
+%But believe it or not there are people out there who do not really
+%care about operating systems.  These people use their computer as kind
+%of device like their mobile phone or there washing machine.  They
+%absolutely do not care about the operating system that is running the
+%programs that are needed to dial the correct number and do a phone call
+%or to get clean clothes.
+
+
+\section{Summary}
+
+Custom Debian Distributions might solve future structural problems of
+Debian while fitting better user interests.  If done the right ay it
+makes Debian stronge and is sometimes refered to as: ``\emph{The last,
+  final step towards Total World Domination.}''
+
+From a \Debian developers point of view we are really {\em
+  universal}.  From a random users point of view we are not -- but we
+are perfectly able to reach this goal.
+
+\end{document}



More information about the Cdd-commits mailing list