Packaging Software for Use in Medicine

This talk was held on Friday, July 6th 2001 at 9:00am at the Libre Software Meeting in Bordeaux. It was tied to Libre Software for Medicine but strongly related to the Debian Conference 1. as well.

This talk was not officially announced. The reason is that in the talks about Libre Software for Medicine I have seen that there are some problems for developers and users which could be easily solved using a packaging system. That's why I offered to do the talk for the next day at request of the participants.

Abstract

There are good open-source solutions can be useful for several problems in medicine. Developers often are faced to the problem that users of their programs have trouble installing or updating the software because they are often not very skilled in computer administration. As in many open source projects documentation is often not very detailed and mostly unavailable in other languages than English. Thus the installation process has to be made as easy as possible to give users the chance to test and use the software. Using a smart packaging system makes installation instructions more or less unnecessary and gives the developer implicit control that all requirements for his product are available (software and version dependencies). Moreover the developer can guarantee for smooth updates of his software by doing the necessary steps for migration to higher versions in the update scripts. Moreover packages enable an easy mechanism for security updates. The talk introduces Debian GNU/Linux and gives some examples for installation of packages. Moreover I give a short description how to build packages of the software we talked about the day before in the topic Libre Software for Medicine.

Slides of the talk

MagicPoint source and the Style I used.

Any questions and hints are welcome.

Andreas Tille Aug 17th 2001.


Other talks regarding this topic.


Packaging Software for Use in Medicine

  • Why precompiled packages?
  • What can Debian do for you?
  • What can you do for Debian?
(page 1)

Why precompiled packages?

  • users don't need any skills to install
  • easily installation for administrators even if there are many boxes to install
  • easily upgrading and following security updates
(page 2)

Why precompiled DEBIAN packages?

  • Debian is famous
    • for its difficulty of installation :-)
  • Differentiation of installation of
    • Operating System (once a year)
    • Single applications (could be often)
  • Debian is completely developed by volunteers so no marketing is necessary
  • It is independent from any ranking in newspaper tests which just tests ease of installing the basic system
(page 3)

So what is Debian at all?

  • Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.
  • Debian GNU/Linux provides more than a pure OS: it comes with more than 3950 packages, precompiled software bundled up in a nice format for easy installation on your machine.
  • It's a bit like a tower. At the base is the kernel. On top of that are all the basic tools. Next is all the software that you run on the computer. At the top of the tower is Debian -- carefully organizing and fitting everything so it all works together.
  • Although Debian believes in Free Software, there are cases where people want or need to put commercial software on their machine. Whenever possible Debian will support this. There are even a growing number of packages whose sole job is to install commercial software into a Debian system.
(page 4)

What can Debian do for you?

  • completely free operating system
  • well tested, rock stable operating system
  • clear policy
  • option to do things yourself
  • increase
    • usability
    • security
    • spreading over the world
    • availability to different architectures
(page 5)

Debian is a do-it-yourself system

  • if you want software get included you can
    • do it yourself if you are skilled (in general upstream maintainers are very skilled)
    • ask for it to get included
  • normally software which is needed will be packaged
  • kind of evolution principle
(page 6)

Why not just ship a Debian package ...

... but include the software right into debian
  • dependencies
  • mirrors
  • architectures
  • wide user base
  • bug system
  • security team
(page 7)

What about "Dependencies"?

 # >apt-get install DrugDesign
 Reading Package Lists... Done
 Building Dependency Tree... Done
 The following extra packages will be installed:
    DrugDesign
 The following NEW packages will be installed:
    Garlic  Ghemical  ChemIR  Nmrview  DrugDesign
 0 packages upgraded, 5 newly installed, 0 to remove and 1 not upgraded.
 Need to get 9109kB of archives. After unpacking 19.9MB will be used.
 Do you want to continue? [Y/n]

→ Anybody here want's to tell me that isn't easy?

(page 8)

Internals:

control file of package DrugDesign
 Source: DrugDesign
 Section: scientific
 Priority: extra
 Maintainer: Jerome Pansanel <pansanel@chimie.u-strasbg.fr>
 Package: DrugDesign

 Depends: Garlic, Ghemical, VirtualPakageForAnalysisStructure
 Suggests: ChemIR, Nmrview
(page 9)

Internals:

control file of package ChemIR
 Source: ChemIR
 Section: scientific
 Priority: extra
 Maintainer: Anybody Else <anybody@else.org>
 Package: ChemIR

 Depends: X11, ...
 Provides: VirtualPakageForAnalysisStructure

→ Quite orthogonal, isn't it?

(page 10)

Another example: FreeMed

control file of package FreeMad
 Source: FreeMed
 Section: scientific
 Priority: extra
 Maintainer: FreeMed Developer <developer@freemed.org>>
 Package: FreeMed

 Depends: php3 | php4, apache, mysql
 Conflicts: FreePm
(page 11)

Quality Assurance and Auditing:

(page 12)

What can you do for Debian?

    maintained packages (developer or sponsored)
  • file bug reports (with patches)
  • write documentation
  • translate documentation
(page 13)

Get more information

(page 14)

Homepage Andreas Tille