This talk was given in the Accessibility track of LSM because Custom
Debian Distributions also do cover this topic and thus it includes
some special issues regarding accessibility and the idea how to build
live CDs which was of special interest.
How Debian might be used by impaired people
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
operating system or 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^H^H^H^HNovell and others.
- Debian is just one of them.
That was wrong.
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
or simply Debian for short.
Moreover, work is in progress to provide Debian for other kernels,
including in particular the Hurd and NetBSD. There have even been
discussions of a possible port to Windows.
What are Custom Debian Distributions?
- Debian contains nearly 10000 binary packages
- General users interested in a subset of those packages
- Care for special groups of target users with different skills
- Not 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
- Support of target users with common profile:
- Less technical competence
- Not able to install upstream programs with acceptable
- No interest in administration
- Interest in defined subset of available free
- Need for easy usage
- Defined security profile
- Support of administrators with common profile:
- Limited time frame
- Seeking for time saving in often repeated tasks
- Lack of specialist knowledge
Status of specialised free software
- Hard to install
- Hard to maintain
- Hard to use because of lacking GUI
- Strange Licenses
- Orphaned upstream
- Porting issues (architectures, byte order, 32 vis 64 bit)
- Data format not exchangeable
- Parallel development of the same functionality
- Used tools or back ends are not intended for those
→ Lack of an integrated framework
- Free Software development is kind of evolutionary process
- Needs a critical mass of supporters which are
- Specialised software has a limited set of users (specialists)
- Results in a limited set of programmers
- We have to attract both groups to get it working ...
→ We are the missing link between upstream developers and users
Existing Custom Debian Distributions
Debian for blind and visually impaired people
- Debian accessible to people with disabilities
- Special care for
- Screen readers
- Screen magnification programs
- Software speech synthesisers
- Speech recognition software
- Scanner drivers and OCR software
- Specialised software like edbrowse (web-browse in the spirit of line-editors)
- Making text-mode interfaces available
- Providing screen reader functionality during installation
Debian - adaptable for any purpose?
- Developed by about 1000 volunteers
- Flexible, not bound on commercial interest
- Strict rules (policy) glue all things together
- Common interest of each individual developer to get the best operating
system for himself
- Developers have children in real life or work in the field of
- In contrast to employees of companies every single Debian developer has the
freedom and ability to realize his vision
- Do-O-Cracy = "The doer decides"
Why not just forking from Debian?
Meta Packages - Developers point of view
A meta package is a Debian package which contains:
- Dependencies from other Debian packages
- Depend from packages to do a certain task
- Recommend further interesting packages
- Suggest others or non-free packages
- User menu entries (recommended)
- in /etc/cdd/<cdd>/menu/<pkg-name>
- maintained via role based tools
- debconf questions or pre-seeding
- cfengine scripts
- Special meta package: <cdd>-common
Meta Packages - Users point of view
- Collection of specific software
- No research for available software necessary
- User is not forced to browse the whole package list of Debian
- Easy comparison between software covering the same task
- Safety against accidental removal of dependencies
- Conflicts to incompatible packages
- Easy installation
- Low effort for administration
- Documentation packages
- Packaging and creating of relevant documentation
Handling of meta packages
- No special help by usual package handling tools
- Tricks to obtain informations about meta packages
(Mentioned in Custom
Debian Distributions paper)
- Target of future development
- Searching for existing meta packages
- Overview about dependencies
- Enhancing tools like aptitude,
- Special tasksel section
- Web tools which keep meta package information up to date
- Find a set of keywords for each Custom Distribution and write a
tool to search comfortable
- Make use of Debian Package Tags
- Role based user menu system
- User with role <cdd> is provided with additional
- Do not bother other users with those additional menus
- Implemented in current Debian-Med packages
- Roles system is implemented by flexible plugins
Developing meta packages
- The package cdd-dev provides development tools
- Examples and templates to fill in dependencies
- Verification of dependencies inside distribution
- Simple method to provide user menus
- Verification of dependencies
- Creates <cdd>-common package
- Package <cdd>-common: user roles
- Usage of these tools is strongly recommended
- Debian-Med packages provide a working example
Documentation & Translation
What is a (customised) live CD?
- Boot an operating system
- Autodetect hardware
- Copy writable data to RAM disk and mount it writable
- Configure and start services
- Contain all applications for a certain task ready to run
- User is able to
- Work with his special applications
- Carry his own environment around
- Demonstrate (or even show off using) his fine system
- Leave the local harddisk untouched
Further usage of live CDs
Selection of Debian based live CDs
Mastering a live CD - the right way™
- Enhance tools for handling meta packages
- Fix tasksel to present list of CDDs
- Debian Package Tags
- Integrate live CD build system into Debian