# Debian Internal Projects

## Debian-Med
Free Software in Health Care

## Debian-Junior
Free Operating System for Children

(page 1)

## Overview

- Motivation for Debian internal projects
- Status of free software in special fields
- Why is Debian suitable for those projects?
- Technology: meta packages, menu system
- Why not just forking from Debian?
- Summary: goals of Debian internal projects
- Future

(page 2)

## Motivation

- Profile of target users:
  - less technical competence
  - not able to install upstream programs with acceptable effort
  - no interest in administration
  - interest in defined subset of available free software
  - need for easy usage
  - defined security profile
- Other possible projects:
  - multimedia
  - authorities
  - office
  - enterprise / accounting
  - education
  - ???

(page 3)

## Status of specialized free software

- Orphaned upstream
- Strange Licenses
- Hard to use because of lacking GUI
- 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 applications

(page 4)

## Examples of free medical software Medical Practice

- GnuMed
  → robust, secure, portable, professional design (PostgreSQL+Python) not ready yet
- FreePM
  → no professional database back end (Zope), already in production
- FreeMed
  → no appropriate database back end (PHP + MySQL), development stalled
- Tk Family Practice
  → self made database back end, portable (Tcl/Tk), already in production
- OIO - Open Infrastructure for Outcomes
  → out-patient care, robust, flexible (Zope+PostgreSQL), only browser front end
- SQL Clinic
  → psychiatric housing, PostgreSQL + Perl web interface
- ... and others ...

(page 5)

## Why
does the world need this
whole lot of
free
programs to manage
patient data
¿ ? ¿ ? ¿

(page 6)

## Reasons for variety of patient systems?

- historical reasons
- less popularity
- different technological decisions
- different Concepts

Goal of Debian-Med: Integration

(page 7)

## Example: Dental Practice

- OdontoLinux
  → PostgreSQL, PHP, Debian package available
- LinuDent
  → Tcl/Tk, shared code with Tk Family Practice

Authors now are in touch ...

(page 8)

## Microbiology

- Debian contains a number of packages to analyze DNA and protein sequences
- different state of development
- different licenses
  - sometimes not DFSG compatible
  - avoids wide distribution
- problems
  - incompatible data formats
  - problems on different hardware platforms
  - different usage

Goal of Debian-Med: Apply Debian standards of quality

(page 9)

## Missing free software solutions

- drug database
- pharmacy
- physiotherapy
- veterinary practice

Goal of Debian-Med: Supporting developers

(page 10)

## Special fields

- medical imaging
  - different proprietary image formats of medical devices
  - licensing and patent problems
- control of medical devices
  - replacements of proprietary software on non-free systems with drawbacks regarding to functionality and security

Goal of Debian-Med: Indicate advantages of free software to programmers

(page 11)

## Complex problems

- medical research
  - powerful Applications (DHCP / VISTA)
  - telepathology (ipath)
- medical record
  - GEHR (OpenEHR)
  - OIO

Goal of Debian-Med: Demanding solid packaging

(page 12)

## Documentation

- "traditional" weakness of free software
  - Possibility to give contribution without high technical skills!
- Medicine HOWTO
  - part of Linux Documentation Project (LDP)
  - description of existing free medical software
  - translation would be great
- Resmedicinae Analysis Document
  - analysis of existing programs
  - specification of requirements on practice management software
  - only rudimentary English translation
  - need for this kind of analysis documents for other fields

Goal of Debian-Med: Packaging documentation and translations

(page 13)

## Debian-Junior

- Goal: make Debian an OS that children of all ages will want to use
  - making it so easy that children are not afraid of
  - making it so nice that they like it
  - making it a playground for children experiments
  - not only providing games but care for their quality
- Debian-Junior is the first internal Debian project
- Debian-Med adopted ideas and techniques

Basic idea: Do not make a separate distribution but make Debian fit for special purpose instead

(page 14)

## Why using Debian for this purposes?

- powerful packaging tools
- strong quality assurance
- developed by about 1000 volunteers
- support of 11 hardware architectures (auto builders: alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc)
- single developers have influence on development - they just have to do it

→ Sub Projects

(page 15)

## Why Debian as platform for medicine

- stable, solid, carefully tested (BTS)
  → security
- strict rules (policy)
  → reliable, clearly defined installation
- variety of hardware architectures
  → universal and scalable
- ability to have influence
  → independence from commercial distributor

(page 16)

## Technology (1): Meta Packages

- providing meta packages
  - defining dependencies
  - adapted configuration for certain tasks
- collection of field specific software
  - no research for available solutions necessary
  - easy comparison
- documentation
  - packaging and creating of relevant documentation
  - translation

(page 17)

## Advantages of meta packages (1)

- defining dependencies from packages for certain tasks
  - user is not forced to browse the whole package list of Debian
  - easy installation of specific software
  - no accidental remove of necessary package, because pinned by meta package
  - conflicts to incompatible packages
- apt cares for the proper installation of dependencies
  - easy installation
  - guarantees stable system
  - low effort for administration

(page 18)

## Advantages of meta packages (2)

- added value for general Debian user
  - Debian policy does not forbid to install junior-games-card even if you work in an office :-)
  - installing junior-coloring provides you with a desktop of easy to use painting tools
  - med packages for medical office tasks (not yet packaged) could be used in any other office

Demonstration at the end of this talk.

(page 19)

## Technology (2): User menus

- define a list of sub project users using debconf to manage groups like junior and med in /etc/group
- provide those users with a menu structure for their tasks
- do not bother other users with those additional menus
- provide script update-subproject to update user menus after new package installation or additions of users to those groups
- not implemented yet
- current Debian-Med packages give an idea of the look and feel

(page 20)

## Why not just forking from Debian?

- separate distribution would cost extra effort
  - would be hardly better than Debian
  - continuous work to keep base system boot-floppies etc up to date
  - nearly impossible to get security fixes as fast as Debian
    → Forking would be a bad idea
- integration into Debian has advantages
  - huge user base all over the world thus becoming public on the back of Debian
  - secure and stable system without extra effort
  - Bug Tracking System for free
  - infra structure (HTTP-, FTP-, Mailserver, PKI, ...) for free
- bringing back something to Debian
  - enhancing quality of packages by making them more user friendly

(page 21)

## Summary: Goals of Debian-Med

- integration of medical software
- apply Debian standards of quality to medical software
- supporting developers
- indicate advantages of free software to programmers
- solid packaging for huge software which is hard to install
- providing documentation and translation

(page 22)

## Future

Debian-Junior

- first version will be released with woody
- included in task selection list of install CD

Debian-Med

- only first steps
- some meta packages ready
- great interest from developers and users
- first version in Woody+1
- Knoppix based Live-CD

(page 23)

## Further Information

### Debian Junior Project pages

### Debian Med Project pages

Andreas Tille

(page 24)