Logiciels libres et ouverts

Transcription

Logiciels libres et ouverts
Logiciels libres et ouverts
Survol et guide préliminaire pour le gouvernement canadien
Robert Charpentier
Richard Carbone
Les auteurs accepteront gracieusement la rétroaction et les commentaires à:
[email protected]
Distribution illimitée
RDDC ECR 2004-232
R & D pour la défense Canada–Valcartier
décembre 2004
Sommaire exécutif
Évolution des logiciels libres et ouverts Au cours des deux dernières décennies, le marché du logiciel a été dominé par les produits commerciaux
(Commercial Off-the-Shelf (COTS)) tels que MS Windows et le système de gestion de base de données Oracle qui offrent une myriade de fonctionnalités à un prix raisonnable. Cependant, les limitations intrinsèques des logiciels commerciaux (p. ex. code source propriétaire, fidélisation forcée,
mises à niveau coûteuses, brèches de sécurité, etc.) sont apparues avec le temps. Cela a entraîné le développement d’une ‘économie’ parallèle basée
sur les logiciels libres et ouverts (FOSS). Les logiciels libres se définissent comme des programmes dont le code source est rendu disponible pour
usage et modification sans les droits de licence dispendieux imposés par les éditeurs de logiciels commerciaux. Les logiciels libres sont développés
soit par des volontaires, soit par le développement commandité par de grandes compagnies informatiques qui veulent inclure des logiciels de base
afin de donner un avantage concurrentiel à leur matériel. Durant les dix dernières années, le phénomène des logiciels libres a connu un accroissement
constant : des milliers de projets de logiciels libres réalisés grâce à la collaboration par Internet ; des centaines d’applications de grande qualité disponibles pour utilisation ou modification à un coût nul (ou faible) et des dizaines de logiciels libres maintenant considérés aussi matures et sécuritaires
que leurs équivalents commerciaux.
La bonne réputation des logiciels libres et ouverts a attiré l’attention de plusieurs gouvernements dans le monde qui considèrent maintenant la
migration systématique de leurs serveurs et leurs stations de travail vers les logiciels libres. Les chefs de file qui sont présentement en voie de migrer
vers les logiciels libres sont le Royaume-Uni, l’Allemagne et la France, mais on estime que plus de 20 autres pays préparent une politique et un plan
d’action afin d’adopter systématiquement les logiciels libres au sein de leur gouvernement et de leur système industriel. La justification stratégique
de la migration vers les logiciels libres est typiquement liée à trois facteurs principaux : 1) l’espérance d’économies de coûts directs, 2) la réduction
des pertes financières au niveau national dues aux importations de logiciels commerciaux et 3) l’espoir de mieux développer l’expertise nationale en
TI grâce à l’accès au code source (et au développement d’éléments originaux) ce qui n’est pas vraiment possible avec les logiciels commerciaux.
Le Canada semble tirer de l’arrière dans l’adoption des logiciels libres. L’absence d’analyses de rentabilisation et la sous-estimation de la valeur
stratégique des logiciels libres expliquent partiellement cette situation. Cependant, le Gouvernement du Canada (GdC) a récemment endossé une
position proactive concernant les logiciels libres afin de s’assurer que le personnel du GdC est au courant des options disponibles et qu’aucune barrière
à l’approvisionnement ne subsiste. Quelques initiatives bien structurées existent dans les secteurs de la santé et de l’éducation, et on remarque une
prise de conscience accrue de la part du GdC, qui voit les logiciels libres comme une option de rechange viable aux logiciels commerciaux et au
développement de code sur mesure coûteux.
Perspectives proposées pour le GdC Les logiciels libres ne constituent pas une panacée, mais ils offrent une possibilité technologique concrète
et crédible. Le GdC pourrait profiter d’une plus grande diversité dans l’approvisionnement logiciel (code sur mesure vs libre vs commercial), d’une
sécurité accrue par la vérification (et l’amélioration) du code source et d’une plus grande conformité aux normes et spécifications ouvertes qui
contribuent à l’interopérabilité des systèmes.
Des mesures particulières sont proposées afin d’en améliorer la perception et l’utilisation au sein du GdC telles que : promouvoir les logiciels libres au
moyen de publications, d’ateliers et de conférences ; tenir compte des solutions basées sur les logiciels libres lors de travaux contractuels lorsqu’elles
sont concurentielles avec les autres stratégies de développement ; soutenir les ministères du GdC dans l’évaluation de cette technologie émergente.
Ce rapport inclut aussi divers outils de navigation afin d’aider à identifier les logiciels libres appropriés, un chiffrier facilitant les comparaisons côte
à côte des logiciels libres et commerciaux de même que quelques lignes directrices pour aider les gestionnaires de projets à déterminer la pertinence
des logiciels libres dans le cadre de leurs projets particuliers.
ii
Table des matières
Sommaire exécutif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii
Table des matières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iii
Table des figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
v
Liste des tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
v
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
Comment parcourir ce rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
3
Procédure de validation du rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Partie I : Les logiciels libres (FOSS) : Introduction pour les gestionnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
4
Définitions principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
5
Cadre juridique des logiciels libres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6
Constats-clés sur l’évolution des logiciels libres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
7
Risques et inconvénients des logiciels libres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
8
L’adoption des logiciels libres dans le monde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
9
Les logiciels libres aux États-Unis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
10
Les logiciels libres au Canada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
11
Les logiciels libres et la sécurité logicielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
12
Synthèse des auteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Partie II : Principes directeurs proposés pour le GdC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
iii
13
Principes directeurs de la stratégie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
14
Stratégie proposée pour le GdC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Partie III : Catalogue de logiciels libres sélectionnés pour utilisation dans les projets du GdC . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
15
Survol des logiciels libres disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
16
Les logiciels libres pertinents pour le GdC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Partie IV : Lignes directrices dans l’évaluation des logiciels libres pour le GdC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
17
Principes directeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
18
Étapes d’évaluation recommandées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
19
Les licences dans le développement logiciel au GdC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
20
La migration vers les logiciels libres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Partie V : Références / Acronymes / Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Liste des acronymes et sigles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Glossaire des termes pertinents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
A
FOSS applications for consideration within GoC (May 2004) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
A.1
License Agreement - Legal Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
A.2
General Purpose Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
A.3
Scientific Domain Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
iv
Table des figures
1
Une taxonomie des logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2
Le schéma d’évolution des usagers/développeurs dans un projet de logiciel libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Liste des tableaux
A.1
General Purpose Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
A.2
Scientific Domain Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
v
1
Introduction
Après un début plutôt lent à la fin des années 1990, les logiciels libres ont connu une croissance constante et s’étendent maintenant à plusieurs
architectures logicielles à travers le monde. Cette croissance impressionnante s’est appuyée sur de nombreux succès, la réputation de haute qualité
des systèmes basés sur les logiciels libres et, bien sûr, l’espérance d’économies à la mise en oeuvre.
À l’automne 2003, Recherche & développement pour la défense Canada (RDDC) a entrepris une étude spéciale afin de déterminer le rôle des
logiciels libres dans l’évolution de l’architecture de nos systèmes d’information. Celle-ci a ensuite été étendue au Gouvernement du Canada (GdC).
Ce rapport résume nos conclusions en quatre principaux chapitres. Dans la première partie du rapport, nous offrons une introduction générale à
cette technologie, suivie d’une perspective préliminaire pour le GdC (parties I et II). Nous tentons aussi d’identifier/catégoriser les logiciels libres
par domaine d’application technique (partie III). Finalement, quelques lignes directrices sont proposées aux gestionnaires de projets du GdC pour
l’évaluation de l’utilité des logiciels libres dans le cadre de leurs projets particuliers (partie IV).
2
Comment parcourir ce rapport
Il est recommandé aux lecteurs de débuter par le rapport de navigation. Si de plus amples informations sont nécessaires, des hyperliens peuvent être
utilisés jusqu’aux références précises dans les bibliographies. Dans la plupart des cas, la référence complète peut être trouvée sur Internet en inscrivant
le titre (et le nom de l’auteur principal) dans un moteur de recherche comme Google.
Les liens utilisent un code de couleurs. Un lien bleu pointe à l’intérieur même du rapport, tandis qu’un lien magenta pointe vers une page Web,
indiquant que l’accès à Internet est requis. Pour revenir après avoir suivi un lien, utilisez la flèche ’Vue précédente’ (’Go to previous view’) ou les
touches ALT-Flèche à gauche. Les flèches gauche et droite peuvent être utilisées pour se rendre à la page précédente/suivante. Il est aussi possible de
faire un zoom avant/arrière en utilisant les raccourcis clavier suivants :
•
Page entière (Fit in window) : CTRL-0
•
Taille réelle (Actual size) : CTRL-1
•
Pleine largeur (Fit width) : CTRL-2
•
Contenu (Fit visible) : CTRL-3
•
Plein écran (View in full-screen mode) : CTRL-L
En utilisant les signets de navigation (bookmarks) définis dans le format Portable Document Format (PDF), il est facile pour le lecteur d’obtenir une
vue d’ensemble du rapport. Utilisez la touche de fonction F-5 du clavier pour faire apparaître ou cacher les signets (F-6 pour Acrobat 6).
1
3
Procédure de validation du rapport
Membres du groupe consultatif sur les logiciels libres
Cycle 1 – Évaluation technique à Valcartier
Cycle 1 – Valcartier
• Robert Charpentier (RDDC, autorité scientifique)
• Richard Carbone (RDDC, éditeur technique)
• Paul-André Côté (RDDC, secrétaire)
• Martin Salois (RDDC, éditeur du rapport)
• David Demers (RDDC)
• Slt Stéphane Fortin (RDDC)
• Dr Denis Poussart (Université Laval)
• Max Blanchet (CGI)
• Bertrand Couture (DMR Conseil)
Avec les précieux commentaires de :
• Micheline Bélanger (RDDC)
• Yves van Chestein (RDDC)
• Julie Couët (RDDC)
• Louis Bastarache (IEEE Section - Québec)
En appui au processus d’écriture, un groupe d’experts en TI a été formé à
RDDC Valcartier afin de réviser et valider le contenu de ce rapport (janvier/février 2004.) Voir la liste des noms ci-contre.
À la suite de cette première révision, une ébauche avancée a circulé au quartier
général de RDDC pour permettre une revue critique du rapport dans une perspective corporative. Les auteurs tiennent à remercier particulièrement ceux qui
ont proposé des commentaires dans ce second cycle de validation ainsi que M.
Brian Cheers pour avoir patiemment révisé l’anglais de la version originale de
ce rapport.
Cycle 2 – Révision à RDDC Bureau central
Cycle 3 – Révision au MDN/FC et dans les autres ministères
•
•
•
•
•
•
•
•
•
•
•
•
•
Au cours des mois de juin, juillet et août 2004, une ébauche avancée de ce
rapport a circulé à l’intérieur du MDN et des FC ainsi que dans les autres
ministères. Les commentaires et suggestions ont été ajoutés à la version mise
à jour en septembre 2004. La version française de ce rapport a été produite en
décembre 2004 grâce à l’appui financier du Secrétariat du Conseil du Trésor
du Canada. Les auteurs tiennent à remercier Mme Caroline Lemelin pour son
précieux travail de traduction.
Gavin Hemphill (RDDC Atlantique)
Bruce Skinner (RDDC Atlantique)
Dave Hazen (RDDC Atlantique)
Bill Page (RDDC Bureau central)
Lawrence Kemdirim (RDDC Bureau central)
Ingar Moen (RDDC Bureau central)
Eric Fresque (RDDC Bureau central)
Delmar Permann (RDDC Bureau central)
Philip Staal (RDDC Bureau central)
Dr Robert Walker (RDDC Bureau central)
Mark Daniels (MDN DBGI (DIMR) 4-6)
Ken Heaton (MDN J2 RS (SI))
Karine Pellerin (MDN DIIRI (DDCEI) 3-5-3)
Cycle 2 – Révision à RDDC Bureau central
Vous pouvez contribuer aussi !
Étant donné la rapidité de l’évolution des TI et la diversité des sujets couverts par ce rapport, toute contribution au contenu technique pour des éditions
subséquentes serait grandement appréciée. Pour porter à notre attention des
références pertinentes ou des commentaires généraux au sujet de ce rapport,
les lecteurs sont invités à soumettre les références qui peuvent être citées à
l’adresse suivante : [email protected]
2
Partie I
Les logiciels libres (FOSS)
Introduction pour les gestionnaires
3
4
Définitions principales
Le terme ’logiciel libre’ (Free Software (FS))
définit un concept de liberté, plus qu’un
concept de gratuité
Selon la fondation FSF [1] de Richard Stallman, le mot anglais ‘free’ ne doit pas être pris au sens de
gratuit (free-of-charge), mais plutôt au sens de liberté pour l’utilisateur (user’s freedom) :
•
•
•
D’exécuter le programme dans n’importe quel but.
D’étudier le fonctionnement du programme et de l’adapter à des besoins particuliers.
De redistribuer des copies originales ou modifiées du programme.
Un glossaire est disponible à la fin de ce rapport pour une définition plus formelle des termes reliés aux
logiciels libres et une taxonomie graphique est disponible à la figure 1.
Le terme ’logiciel ouvert’ (Open Source
Software (OSS)) englobe plus que le simple accès au code source
L’Open Source Initiative (OSI) exige que le logiciel ouvert (OSS) se conforme aux critères suivants [2] :
•
•
•
•
•
•
•
•
•
Distribution gratuite des programmes ou de leurs éléments.
Le code source doit être inclus.
Les travaux dérivés doivent être possibles et distribuables, au moins en fichiers de correctifs (patch
files).
La discrimination contre des personnes ou des groupes n’est pas permise.
La discrimination contre un champ d’application n’est pas permise.
Aucune licence additionnelle ne peut être imposée lors de la redistribution des logiciels ouverts
(OSS).
Les mêmes droits que pour la distribution initiale du logiciel devraient être octroyés.
La licence ne doit pas restreindre d’autres logiciels.
Aucune disposition de la licence ne peut être basée sur une technologie ou un style d’interface
particuliers.
Quelques contributeurs aux logiciels libres trouvent ces exigences (FSF & OSI) difficiles à satisfaire
dans le cadre concurrentiel de la production de logiciels, mais la plupart d’entre eux tentent d’adopter
la philosophie de l’OSI, laquelle est considérée être plus pragmatique que “l’idéalisme de la fondation
FSF.”
Le terme ’code propriétaire’ (Closed Source
Software or Proprietary code) désigne les logiciels pour lesquels le code source n’est pas disponible
Les firmes commerciales cherchent à restreindre l’accès à leur code source dans le but de protéger leur
propriété intellectuelle. Elles compilent leur code source propriétaire et distribuent le code exécutable
(c.-à-d. la forme binaire du programme) qui ne peut être essentiellement compris que par l’unité centrale
(Central Processing Unit (CPU)) de l’ordinateur. La plupart des logiciels commerciaux (COTS software)
sont vendus selon cette stratégie (p. ex. MS Windows, MS Word, les détecteurs de virus de Symantec ou
McAfee, etc.)
4
Logiciels
Libres
Source
Ouverte
Propriétaires
Source
Fermée
Corporatif
Source
Ouverte
Source
Fermée
Collaboratif
Mature
En
Développement
RISQUE
Figure 1: Une taxonomie des logiciels
5
5
Cadre juridique des logiciels libres
Les licences rattachées aux logiciels libres prévoient les droits fondamentaux pour le titulaire
de licence et l’utilisateur, mais elles varient
beaucoup selon les préférences du concepteur
Même si les utilisateurs de logiciels libres disposent de beaucoup de liberté, les programmeurs peuvent
imposer certaines contraintes concernant l’exploitation des composants logiciels qu’ils rendent disponibles. Par exemple, une licence peut stipuler que le composant rendu disponible doit être intégré dans
un système purement constitué de logiciels libres (c.-à-d. approche puriste) ou, alternativement, peut être
assemblé avec des librairies propriétaires (approche plus pratique). Les architectes de systèmes doivent
être attentifs aux modalités de la licence lors du choix d’un produit, afin d’éviter les problèmes juridiques. Des comparaisons de licences sont disponibles dans plusieurs références [3, 4, 5].
La licence la plus répandue est la GNU General
Public License (GPL), laquelle est utilisée pour
65 % des logiciels libres
La licence GNU GPL a été adoptée par la plupart des programmeurs durant les 15 dernières années et
est considérée comme le modèle de référence pour plusieurs autres contrats de licence. Ce modèle de
licence exige que tout le développement complémentaire soit intégré seulement à des logiciels ouverts
(open source) et publié sous une licence compatible avec la GPL. On s’attend cependant à ce que les
modèles moins restrictifs (comme ceux de Mozilla et BSD) deviennent plus populaires dans le futur [4],
car les systèmes hybrides, à la fois propriétaires et basés sur les logiciels libres, sont plus réalistes dans
les infrastructures modernes.
La fondation FSF a proposé le terme ‘copyleft’
pour décrire le privilège d’utilisation libre des
logiciels libres
S’opposant au concept de protection du droit d’auteur (copyright), un ‘copyleft’ décrit le cas ou le
propriétaire abandonne la propriété intellectuelle et le droit de licence privé. Ce ne sont pas tous les
logiciels libres qui adoptent le ‘copyleft’, mais la plupart de ceux qui sont sous licences GPL et Lesser
General Public License (LGPL) l’adoptent. La compatibilité des divers modèles de licence entre eux et
avec “l’idéal Copyleft” est discutée dans [3].
Quelques tactiques supplémentaires ont été développées afin de prévenir l’appropriation des
logiciels libres par des firmes commerciales
Les logiciels libres sont intrinsèquement exposés au risque d’appropriation par les entreprises commerciales. Donc, en plus de l’octroi de licence, les développeurs peuvent se constituer légalement en
corporation et/ou transférer leurs droits de propriété à une entreprise à but non lucratif et/ou déposer une
marque de commerce sur leurs logiciels et logos, etc. [6].
Le brevetage d’algorithmes est intrinsèquement
incompatible avec le développement de logiciels
libres
Selon Richard Stallman, la pire menace à laquelle les logiciels libres sont confrontés provient des brevets
d’inventions logicielles, lesquels peuvent interdire au logiciel libre l’usage d’algorithmes et de fonctionnalités pour une période allant jusqu’à vingt ans. La Free Software Foundation (FSF) fait circuler une
pétition contre les brevets d’inventions logicielles [7]. Dans [8], l’auteur mentionne que Microsoft a augmenté sont taux de brevetage de plus de 30 % en 2002, ce qui semble confirmer que la menace est réelle.
Des mesures pour empêcher les brevets d’interférer avec la liberté logicielle sont proposées dans [9].
6
6
Constats-clés sur l’évolution des logiciels libres
Avec les années, plusieurs logiciels utiles ont
été distribués selon le paradigme des logiciels
ouverts
Voici quelques exemples reconnus :
LATEX Éditeur de texte (et composition) utilisé pour les publications scientifiques
Linux Système d’exploitation populaire basé sur Unix
Apache Serveur Web très fiable et sécuritaire
MySQL Base de données rapide, précise et polyvalente
Lors de la publication de ce rapport (mai 2004), on estimait que 115 logiciels libres [5] avaient atteint
une maturité comparable ou supérieure à leur équivalent commercial.
Les logiciels libres ont aussi évolué vers un
“processus de développement” très efficace
La force des logiciels libres provient de la capacité de recruter et motiver des programmeurs compétents,
travaillant sur une base volontaire, afin de développer, déboguer et optimiser le code. La coordination
est assumée par un leader délégué, qui est responsable de l’appréciation des diverses solutions offertes
par les programmeurs et de l’intégration du meilleur code dans les prochaines mises à jour des logiciels
libres, lesquelles sont rapidement mises en ligne [10].
Par sa simplicité et son efficacité, le modèle de
développement des logiciels libres a régulièrement démontré plusieurs avantages
•
•
•
•
•
•
•
•
Prodigieuse diversité de logiciels [11].
Grande flexibilité et extensibilité (scalability) des solutions logicielles par l’édition de code source.
Grande fiabilité et haute sécurité par la révision et la validation du code source [12].
Mise en ligne de nouvelles versions à une vitesse d’un ordre de grandeur plus rapide que leurs
équivalents commerciaux.
Développement rapide de solutions sur mesure qui satisfont des exigences particulières grâce à la
réutilisation et à l’ajout de code.
Augmentation de la durée de vie des systèmes grâce aux mises à niveau du code source [13].
Degré élevé de conformité aux normes ouvertes entraînant une plus grande interopérabilité des
systèmes d’information.
Des systèmes minimaux (en taille et en complexité) comparativement à leurs équivalents commerciaux qui souffrent souvent de ballonnement promotionnel.
Pour plus d’information sur les avantages des logiciels libres, les références suivantes sont recommandées [14, 8, 12].
7
7
Risques et inconvénients des logiciels libres
On retrouve quelques critiques dans la littérature technique
Au moment de la préparation de ce rapport (hiver 2004), on retrouvait les critiques suivantes dans la
littérature technique :
• Le contrôle des versions peut être plus complexe avec les logiciels libres qu’avec les logiciels commerciaux (en évolution).
• Le maintien des systèmes requiert plus de ressources locales (discutable pour le long terme).
• Les administrateurs de systèmes doivent posséder des connaissances techniques supérieures.
• Les logiciels libres offrent parfois une moins bonne intégration aux suites d’applications, et une
moins grande convivialité (en évolution).
Microsoft commandite plusieurs études contre
les logiciels libres
On retrouve quelques autres critiques dans divers rapports, mais dans plusieurs cas, la perspective est
clairement biaisée. Par exemple, le rapport de National Economic Research Associates (NERA) déclare
qu’il n’y a rien d’incorrect concernant les logiciels propriétaires, car ils ont permis “une croissance
très rapide de l’industrie du logiciel au cours des dernières décennies, procurant ainsi des logiciels plus
puissants, faciles à utiliser pour plus d’usagers” [15]. Même si l’impartialité de NERA peut être mise en
doute (car l’étude était commanditée par Microsoft), le rapport offre des contre-arguments très complets
contre l’adoption des logiciels libres dans les gouvernements. Ce rapport n’est pas unique ! Un article
récent de Todd Bishop indique que plusieurs études sur Linux réalisées par IDC, Giga et Meta Group
étaient en fait commanditées par Microsoft. Les critiques remettent en question l’indépendance de ces
analyses [16]. Quelques-unes de ces études sont énumérées ci-dessous :
•
•
•
•
•
•
•
•
l’étude de Veritest comparant Windows 2003 et Red Hat Linux [17]
l’étude du Meta Group sur un banc d’essai pour Linux [18]
l’étude de Veritest comparant la performance des serveurs Windows 2003 et Linux [19]
l’étude de Veritest comparant les serveurs Web de Windows 2003 et de Linux [20]
l’étude de IDC sur Windows 2000 vs Linux dans l’informatique d’entreprise [21]
l’étude de cas de 7-Eleven pour MS Windows 2003 au lieu de Linux [22]
l’étude Total Economic Impact MS vs Linux [23]
l’étude Counterpoint from Linux Insider comparant Windows vs Linux [24]
Fait intéressant, l’édition de janvier/février 2004 de IEEE Software inclut une série d’articles très positifs
concernant les logiciels libres, lesquels sont précédés d’une introduction signée par deux directeurs
scientifiques invités : Szyperski (Microsoft Research) et Spinellis (Athens University of Economics and
Business) [11].
8
8
L’adoption des logiciels libres dans le monde
La communauté européenne adopte activement
les logiciels libres, surtout dans les services publics
La Grande-Bretagne, la France et l’Allemagne sont les pays les plus avancés dans la migration des
infrastructures des TI du secteur public vers des normes ouvertes et des logiciels libres. Le gouvernement
de la Grande-Bretagne a adopté une politique afin de considérer les solutions ouvertes (open-source)
par rapport aux solutions propriétaires lors de l’approvisionnement en Technologies de l’information
(TI) [25]. À la fin de 2003, un guide de migration à été publié par NetProject [26]. Celui-ci fournit
des lignes directrices très détaillées pour la migration vers les logiciels libres des postes de travail et
des serveurs en général, et des principales applications (suite bureautique, courriel, bases de données,
systèmes d’exploitation, etc.) en particulier. La KBSt (Allemagne) a aussi préparé un guide technique
extrêmement détaillé qui facilite une stratégie de migration agressive vers les logiciels libres pour les
serveurs et les postes de travail [27]. Les pays européens partagent ces connaissances au sein du projet
Free/Libre and Open Source Software (FLOSS), qui est financé par la Commission européenne dans le
cadre du programme des technologies de la société d’information. Leurs rapports couvrent, entre autres
sujets : une politique pour l’Union européenne, des modèles de gestion des logiciels libres, une vue
d’ensemble des développeurs et du code source [28, 29, 30, 31, 32, 33, 34, 35, 36]. L’Agence suédoise de
gestion publique (Statskontoret) propose une excellente série de publications rigoureuses sur l’adoption
des logiciels libres en Suède incluant [37, 38]. Lors d’une conférence tenue à Washington en juin 2003,
on a estimé que vingt-quatre pays revoient présentement leur politique, incluant le Danemark [39], les
Pays-Bas, l’Italie, la Norvège et la Suède [40, 41]. L’Open Source Observatory (OSO) maintient un site
Web très instructif concernant l’évolution des logiciels libres en Europe [42].
Plusieurs pays d’Amérique latine, d’Afrique,
d’Océanie et d’Asie s’orientent aussi, à divers
degrés, vers les logiciels libres
Les raisons pour migrer vers les logiciels libres sont typiquement liées à trois facteurs principaux :
•
•
•
L’espérance d’économies de coûts directs.
La réduction des pertes économiques nationales causées par l’importation de logiciels commerciaux.
L’espoir de mieux développer l’expertise nationale en TI via l’accès au code source (et le développement d’éléments originaux) ce qui n’est pas vraiment possible avec les logiciels commerciaux.
Un récent survol des politiques concernant les logiciels libres dans différents pays est disponible
sur http://www.csis.org/tech/OpenSource/0408_ospolicies.pdf. Steven Weber (Université de
Californie-Berkeley) offre une analyse intéressante des raisons pour lesquelles les pays en développement devraient migrer vers les logiciels libres [43]. Quelques annonces de décisions stratégiques ont
été communiquées pendant notre étude par différents pays, comme Israël [44], le Japon, l’Afrique du
Sud [45] et l’Australie [46, 47]. Le site Web de l’AFUL [48] offre aussi une liste, mise à jour périodiquement, des pays adoptant une politique ou des lois concernant les logiciels libres [49] et [50] est
un site Web complémentaire intéressant. L’analyse de rentabilisation pour les pays émergents est revue
dans [51].
9
9
Les logiciels libres aux États-Unis
Le mouvement pour les logiciels libres tire son
origine principalement des États-Unis et y demeure très fort
Une pléthore de rapports abordent la croissance des logiciels libres dans différents secteurs de l’économie aux États-Unis. Une grande partie de cette information est incomplète ou biaisée – écrite afin d’appuyer une perspective donnée. Presque unanimement cependant, il est reconnu que les logiciels libres
s’étendent rapidement dans la plupart des infrastructures des TI. Deux produits renommés, le système
d’exploitation Linux et le serveur Web Apache, sont les plus souvent cités comme ayant une croissance
rapide, en raison de leur maturité reconnue et de leurs qualités techniques lorsque comparées à celles de
leurs équivalents commerciaux [52, 53].
Plusieurs grandes sociétés américaines contribuent au réseau des logiciels libres
En plus des logiciels développés par des groupes de volontaires, une contribution substantielle
aux logiciels libres provient de grandes compagnies qui désirent expérimenter un modèle de gestion différent, basé sur le développement collaboratif. L’adoption de la stratégie ouverte par Netscape est un des cas de réussite les plus connus [54]. IBM, Hewlett-Packard, Sun Microsystems,
Novell et Silicon Graphics ne sont que quelques-uns des chefs de file les mieux connus qui hébergent/contribuent/commanditent/soutiennent un grand nombre de projets sources ouvertes [55]. IBM
s’est engagé formellement à accélérer le déploiement de Linux dans le secteur bancaire [56] et au gouvernement [57]. Dell Computer se tourne aussi vers les logiciels libres et s’attend à ce qu’ils soient
largement adoptés [58].
Quelques initiatives du gouvernement des
États-Unis contribuent aux logiciels libres
La commandite des logiciels libres par le gouvernement n’est pas fréquente, bien que quelques exemples
soient rapportés dans [5] incluant le fameux projet Security Enhanced Linux (SELinux) qui peut être
téléchargé directement à partir de la page Web de la National Security Agency (NSA) [59]. En géomatique, la National Technology Alliance (NTA) a commandité l’impressionnant projet Open Source
Prototype Research, qui a eu un impact significatif sur les organisations du gouvernement américain utilisant de l’information géospatiale [60], incluant le département de la Défense (DoD). Plus récemment,
un exemple de développement d’applications critiques au moyen de logiciels libres à été rapporté dans
la revue IEEE Software [61] et décrit comment les logiciels libres ont été utilisés très efficacement dans
un projet du JPL à la NASA.
L’adoption d’une politique ferme concernant
les logiciels libres pourrait être problématique
pour le gouvernement américain car l’industrie
des logiciels propriétaires soutient grandement
l’économie aux États-Unis
L’industrie du logiciel étant évaluée à 70 G$(US) [10], il n’est pas surprenant de constater une réaction
vigoureuse de la part des éditeurs de logiciels commerciaux contre les logiciels libres [62]. Par exemple,
la référence suivante [15] est une étude commanditée par Microsoft qui tente de contrecarrer le plan
de mise en oeuvre des logiciels libres et un article plus formel [63] donne la perspective officielle de
Microsoft sur les logiciels libres. Un essai nuancé sur l’économie des logiciels libres est proposé par
David Adams dans [64].
10
10
Les logiciels libres au Canada
Le Canada semble tirer de l’arrière dans
l’adoption des logiciels libres, particulièrement
dans le secteur public
L’absence d’analyses de rentabilisation et la sous-estimation de la valeur stratégique des logiciels libres
expliquent partiellement la situation [65]. Une excellente évaluation de la place des logiciels ouverts au
Canada a été menée par e-Cology pour Industrie Canada [40] en 2003. Le rapport présente aussi le profil
de 17 compagnies canadiennes exploitant les logiciels libres à différents degrés et offre une discussion
révélatrice des stratégies de rentabilisation que ces firmes utilisent afin de maximiser le retour sur leur
investissement.
Une politique sur les logiciels libres au Gouvernement du Canada (GdC) a récemment été
entérinée
En juin 2004, le GdC a annoncé une nouvelle position concernant les logiciels libres. Elle se base sur
une approche équilibrée afin de s’assurer que la politique et les lignes directrices gouvernementales ne
favorisent pas un modèle de gestion logicielle plus qu’un autre (logiciels libres vs commerciaux vs code
sur mesure). Quelques ministères ont reçu le mandat de soutenir la politique nationale sur les logiciels
libres par des actions déterminées. Pour plus d’information consultez : http://www.cio-dpi.gc.ca/
fap-paf/oss-ll/oss-ll_f.asp.
Les outils de développement logiciel, Apache et
Linux sont les logiciels libres dont l’usage est
le plus répandu au Canada
Lors de la rédaction de ce rapport, les logiciels libres au Canada étaient surtout utilisés en développement
logiciel et dans les services de soutien (c.-à-d. serveurs et gestion de réseau). On s’attend à ce que
cette tendance demeure dominante d’ici les prochaines années [65]. Les analystes décrivent souvent ce
phénomène comme étant la pénétration horizontale du marché par les logiciels libres (c.-à-d. une couche
de service offerte par les logiciels libres).
Quelques initiatives bien conçues existent dans
les secteurs de la santé et de l’éducation
En Colombie-Britannique et au Québec, de vigoureux projets de logiciels libres tentent d’intégrer une
suite logicielle complète pour les écoles et à d’autres fins éducatives [40, 66]. L’université McMaster et
le Département de médecine familiale collaborent au Electronic Health Record (EHR) pour les médecins
de famille [40]. La plupart des analystes considèrent qu’une telle pénétration verticale des logiciels libres
(c.-à-d. à travers les multiples couches d’un domaine d’application donné) est requise pour confirmer une
plus grande pénétration des technologies basées sur les logiciels libres.
11
11
Les logiciels libres et la sécurité logicielle
L’accès au code source facilite grandement la
mise en oeuvre de la sécurité
Lorsqu’un logiciel est créé, son niveau de qualité dépend directement des compétences et de l’expérience du programmeur, ainsi que de sa méthodologie professionnelle. Afin d’accroître la fiabilité et
la sécurité du code, il est essentiel d’utiliser quelques mécanismes complémentaires tels que la revue
par les pairs, les tests, les audits de qualité, le contrôle les versions préliminaires d’évaluation (alpha
et beta), etc. Les logiciels libres et les logiciels propriétaires s’appuient essentiellement sur les mêmes
méthodes (probablement à des niveaux similaires) durant le développement principal. Cependant, après
le premier lancement public, les logiciels libres offrent l’avantage très significatif de permettre l’accès
au code source. Ceci permet d’effectuer plus de revues par les pairs, de tests, d’audits de qualité, et ce
par une communauté beaucoup plus grande d’utilisateurs/développeurs que ce qui est possible avec le
code propriétaire. Dans le cas du code propriétaire, les failles et les défectuosités du code sont souvent
découvertes par des exploitations subversives qui peuvent entraîner des déstabilisations (c.-à-d. application de correctifs et réparations) dans les grandes sociétés qui dépendent des logiciels commerciaux.
Paradoxalement, la confiance accordée aux logiciels libres peut croître plus rapidement et éventuellement atteindre un plus haut degré que son équivalent propriétaire [67, 68]. On trouvera une myriade de
statistiques sur les vulnérabilités des logiciels au chapitre 6 de la référence [8]. Cela semble confirmer
la perception générale qui veut que les logiciels ouverts soient souvent supérieurs au code propriétaire.
Cette autre référence [69] donne une comparaison des vulnérabilités de Red Hat Linux (160) et Windows NT (1200) qui semble être plus scientifique, mais il faut être prudent afin d’éviter d’extrapoler
au-delà de la portée originale de cette étude. En résumé, les logiciels libres ne sont pas intrinsèquement
plus sécuritaires que les logiciels commerciaux, mais l’ouverture du code source rend l’application de la
sécurité plus systématique et moins perturbatrice.
Le dilemme sur la sécurité dans l’obscurité vs l’ouverture a été le sujet d’un débat animé dans la communauté de la cryptographie dans les années 80. La décision finale a été de rendre les algorithmes de
cryptographie généralement disponibles afin de s’assurer que la plus vaste communauté scientifique
possible puisse procéder à l’évaluation et la validation de la sécurité. Whitfield Diffie, inventeur de la
cryptographie à clé publique et maintenant officier de sécurité en chef chez Sun Microsystems, a souvent répété que “l’ouverture est essentielle à la confiance” en développement logiciel comme pour les
protocoles de cryptographie d’il y a vingt ans [70, 71]. “Le soleil tue les bactéries” [67].
12
Les logiciels libres offrent aussi trois autres
avantages clés
D’autres avantages des logiciels libres incluent :
1.
2.
3.
Quelques risques accrus à gérer
Des systèmes moins lourds que leurs équivalents commerciaux qui souffrent souvent de ballonnement promotionnel. Comme ils sont plus petits, les systèmes sources ouvertes devraient laisser
moins de possibilités à l’exploitation de failles.
Le code source peut être enrichi d’assertions, de contrôles de sécurité complémentaires, etc.
Une plus grande diversité de code dans “l’écosystème logiciel” qui pourrait réduire la vitesse et la
prolifération des cyberattaques.
Les logiciels libres sont souvent perçus comme un retour en arrière vers la responsabilisation des ressources internes pour le développement et la maintenance des systèmes. Pour l’application de la sécurité, l’expertise qualifiée est rare et a souvent besoin d’être développée afin de faire face adéquatement
aux responsabilités accrues requises par les systèmes basés sur les logiciels libres. Les logiciels commerciaux ont un avantage significatif sur les logiciels libres en raison de l’imputabilité intrinsèque au
monde commercial (souvent grandement restreinte dans les licences d’utilisation du logiciel !) L’accès
au code source peut aussi être un avantage pour l’agresseur qui peut tenter d’élaborer des attaques plus
circonscrites sur le code source ouvert [63]. Quelques auteurs semblent aussi s’inquiéter des possibilités d’infiltration dans les projets de développement collaboratif par des programmeurs malicieux qui
pourraient installer des portes dérobées (backdoors) ou d’autres fonctionnalités indésirables [72]. Quoi
qu’il en soit, ni les logiciels commerciaux ni les logiciels sur mesure ne sont immunisés contre le code
malicieux ou les défauts de programmation d’où résultent les vulnérabilités des systèmes d’information.
Les adeptes des logiciels libres considèrent que ces menaces sont exagérées [73, 74, 75]. Comme on le
notera plus loin dans ce rapport, les avantages et désavantages ne peuvent être évalués que dans le cadre
précis d’un projet.
13
12
Synthèse des auteurs
Les logiciels libres ne devraient pas être considérés comme une panacée ni être ignorés
comme un phénomène marginal sans pertinence
Les principales firmes de prévision technologique s’accordent à dire que les systèmes basés sur les logiciels libres continueront de se répandre au détriment de leurs équivalents commerciaux. Il semble évident
que les avantages l’emportent sur les désavantages dans plusieurs cadres d’application. De nombreux logiciels libres ont atteint un niveau de maturité et de reconnaissance qui les placent dans une position de
supériorité par rapport à leurs équivalents commerciaux. Compte tenu de la migration de plusieurs gouvernements autour du monde, on s’attend à ce que la qualité et la diversité des logiciels libres continue
de s’améliorer.
Les limitations intrinsèques du code source
fermé pourraient être trop contraignantes pour
plusieurs systèmes du GdC dans le futur
Même si la stratégie du code fermé semble appropriée pour un marché de masse (p. ex. utilisation domestique ou personnelle avec peu ou pas de compétences en programmation), pour les systèmes militaires
et pour l’informatique du gouvernement en général, l’accès au code source et l’adoption de normes ouvertes sont des avantages évidents. Le besoin d’une plus grande fiabilité et sécurité, de plus de flexibilité
et d’extensibilité, de plus de compétition dans l’approvisionnement logiciel et finalement les économies de coûts directs vont toujours avoir tendance à justifier l’utilisation des logiciels libres durant la
prochaine décennie.
Les communautés de R&D devraient faire
preuve de leadership dans l’adoption des logiciels libres
Il semble que la communauté de R&D ait une responsabilité importante dans l’activation de projets
pouvant démontrer la valeur stratégique des logiciels libres qui permettraient de disposer d’analyses
de rentabilisation plus claires pour le GdC. Une de ses principales responsabilités est d’accomplir des
activités exploratoires qui pourraient mener à une réduction des risques dans l’évolution technologique
de nos ministères respectifs.
14
Partie II
Principes directeurs proposés pour le Gouvernement du Canada (GdC)
15
13
Principes directeurs de la stratégie
Les logiciels libres offrent une possibilité
concrète et crédible notamment pour la R&D
La rentabilité des logiciels libres dans les projets de R&D à été analysée par quelques laboratoires de
recherche, incluant le centre de recherche AMES de la National Aeronautics and Space Administration
(NASA)) [76, 77], la National Nuclear Security Administration [78] et par un certain nombre d’universités [79]. Ces études ont conclu que les logiciels libres offrent une troisième option attrayante au
dilemme “développer ou acheter”, avec de nets avantages en matière d’expertise en développement, de
créativité et de productivité. Dans les projets de R&D, les désavantages traditionnels des logiciels libres
(tels que la complexité technique du développement logiciel et la maintenance à long terme) sont moins
importants, puisque l’expertise est habituellement disponible dans les laboratoires et plusieurs projets
visent à construire des prototypes de démonstration.
La diversité dans les approvisionnements est
préférable
(Logiciels sur mesure vs logiciels libres vs logiciels commerciaux)
Les logiciels libres permet de construire un système spécialisé selon un processus de développement
accéléré qui est au moins aussi efficace que l’achat d’éléments commerciaux. Pour les projets de R&D,
l’utilisation de logiciels libres peut assurer le développement rapide (c.-à-d. réutilisation du code et
modification) d’applications de haute qualité (c.-à-d. bien déboguées), ce qui serait très difficile à réaliser
avec du code sur mesure développé à partir de zéro. Dans certaines circonstances, le développement
basé sur les logiciels libres est la seule option raisonnable lorsque les produits commerciaux ne sont pas
disponibles (p. ex. calcul de haute performance [78]) et lorsque le développement sur mesure excède les
budgets disponibles [61]. Les logiciels libres aident à éviter d’être enfermés dans les produits et services
propriétaires et à réduire la dépendance aux technologies monopolistiques.
Les normes et spécifications ouvertes contribuent directement à l’interopérabilité des systèmes
Les logiciels libres implantent les normes et spécifications ouvertes qui sont partagées par les développeurs durant la conception, le codage et les tests. Cela est généralement considéré comme un avantage
stratégique dans l’application d’une politique d’interopérabilité entre des systèmes développés indépendamment [80].
L’évaluation des logiciels libres doit être faite
sur une base de cas par cas
Bien que très attrayants en général, les logiciels libres doivent être évalués dans le cadre de chaque
projet sur une base de “cas par cas” afin de déterminer si les avantages surpassent les désavantages dans
la pratique. Dans le cas du GdC, une attention spéciale doit être accordée à la protection des technologies
classifiées, à la protection de la propriété intellectuelle et à la sélection d’une licence convenable pour
l’activité donnée. Quelques lignes directrices préliminaires sont disponibles dans ce document (parties
III et IV).
16
14
Stratégie proposée pour le GdC
Adopter les logiciels libres progressivement
L’adoption des méthodes de développement des logiciels libres peut avoir des conséquences fondamentales profondes sur les pratiques en ingénierie, particulièrement si l’objectif est de contribuer activement
à un projet de code source ouvert. On recommande d’acquérir de l’expérience avec les logiciels libres
à titre d’utilisateur passif d’abord, pour ensuite prendre une part de plus en plus active, en signalant les
bogues, en suggérant de nouvelles fonctionnalités et en modifiant le code existant avant de s’engager
activement dans le développement dans le cadre d’un projet collaboratif. La figure 2 illustre le schéma
d’évolution d’un utilisateur/développeur de logiciels libres.
Envisager les solutions basées sur les logiciels
libres pour les travaux contractuels lorsqu’elles
sont techniquement concurentielles par rapport
à d’autres stratégies de développement
Le GdC devrait envisager les solutions basées sur les logiciels libres parallèlement aux solutions propriétaires lors des acquisitions en TI, particulièrement dans les contrats de développement importants tels
que le Programme de démonstration de technologies (PDT). Selon Industrie Canada [81], les contrats
sont accordés sur la base de l’optimisation des ressources et Travaux publics et Services gouvernementaux Canada (TPSGC) n’a pas de règle qui restreigne l’usage de logiciels libres dans les contrats du
gouvernement fédéral. Le Conseil du Trésor ne dispose pas non plus de règle qui restreigne l’utilisation
des logiciels libres dans nos programmes internes. La position du Canada concernant les logiciels libres,
endossée en juin 2004, confirme qu’aucune barrière à l’approvisionnement ne devrait être maintenue.
17
Utilisateurs
FOSS
Passifs
Actifs
Non
Développeurs
Développeurs
CoDéveloppeurs
Signalement
de bogues
Suggestion de
fonctionnalités
Revue de
code
Correction
du code
Développeurs
Principaux
Modification
de code
Prise de
décisions
Implantation de
nouvelles
fonctionnalités
Figure 2: Le schéma d’évolution des usagers/développeurs dans un projet de logiciel libre
18
Partie III
Catalogue de logiciels libres sélectionnés pour utilisation
dans
les projets du GdC
19
15
Survol des logiciels libres disponibles
Sur la dizaine de milliers de projets de logiciels
libres, seuls quelques centaines ont atteint assez
de maturité pour être retenus aux fins d’inclusion dans les systèmes du GdC
Selon Spinellis et Szyperski [11], plus de 115 000 projets au code source ouvert étaient enregistrés à l’un
des quatre principaux forums de code source ouvert (30 000 à http://www.freshmeat.net, 70 000
à http://www.sourceforge.net, 5 400 à http://www.cpan.org et 10 000 adaptations distribuées
avec FreeBSD). Notez que quelques projets sont enregistrés deux fois et que de nombreux projets sont
inactifs/morts. Afin de choisir le meilleur code, on recommande de se référer à des listes crédibles de
logiciels libres matures ou sécuritaires telles que celles apparaissant ci-dessous. Ces listes fournissent
des aides à la navigation pour identifier les logiciels libres appropriés à une application donnée, mais ne
devraient pas être prises comme une position, une politique ou une décision officielle du gouvernement,
sur la valeur de chacun des éléments logiciels particuliers.
MITRE a compilé une liste de 115 applications
libres qui offrent un excellent point de départ
pour identifier les logiciels de haute qualité
MITRE s’est appuyée sur la liste de logiciels libres de “Generally Recognized As Safe” (GRAS). Les
logiciels libres de GRAS doivent répondre à ces critères : (a) jouir d’un soutien commercial, (b) être
largement utilisés et acceptés, (c) avoir des états de service reconnus comme sécuritaires et fiables. La
liste complète est disponible dans [5] et incluse dans la liste proposée à l’annexe A.
La liste “Generally Recognized As Mature”
(GRAM) est une autre liste intéressante comprenant 39 logiciels libres
La liste GRAM, accessible dans [82], est maintenue à jour par David Wheeler, un gourou en sécurité
informatique.
Le guide de migration de “Interchange of
Data between Administrations”(IDA) énumère
de nombreux logiciels libres de haute qualité
Les directives de migration d’IDA offrent une comparaison de plusieurs logiciels libres qui constituent
une option de rechange aux équivalents commerciaux incluant : des systèmes d’exploitation, des suites
bureautique, des serveurs de courrier, des logiciels de productivité de groupe, des services Web, des
logiciels de gestion de documents et de bases de données, etc. [26].
20
16
Les logiciels libres pertinents pour le GdC
Les contributions aux logiciels libres provenant des grandes compagnies en TI se classent
parmi les meilleurs logiciels disponibles
Plusieurs grandes compagnies de TI contribuent massivement aux logiciels libres. Dans [83], quelques
137 logiciels libres de haute qualité ont été identifiés provenant des fabricants suivants : Sun Microsystems (28), Silicon Graphics (15), Hewlett-Packard (33), Red Hat (2), AT&T (24) et IBM (35).
RDDC a préparé une liste détaillée de logiciels
libres qui inclut des logiciels scientifiques et
d’usage général (environ 392 logiciels libres)
Basée sur les listes introduites plus tôt et sur des recherches indépendantes, une liste plus détaillée a
été élaborée par les auteurs. Elle offre de l’encadrement dans la sélection de logiciels scientifiques en
plus de ceux d’usage général. Notre objectif est d’offrir un tableau plus complet de la richesse et de la
diversité des logiciels présentement disponibles.
L’annexe A fournit des aides à la navigation
pour aider à identifier les logiciels libres appropriés
À l’annexe A, le lecteur trouvera une liste des logiciels libres et ouverts les plus représentatifs au moment où cette étude a été réalisée (hiver 2004). Cette liste pourrait faciliter l’identification des produits
candidats pour l’évaluation au sein du GdC. Nombre d’entre eux ont été utilisés dans le passé dans
certains projets de RDDC, mais aucun test systématique ni aucune évaluation rigoureuse n’ont été effectués sur les logiciels libres qui y figurent. Par conséquent, ils ne doivent pas être considérés comme
étant “approuvés pour le gouvernement” ou officiellement recommandés par le GdC. Il est fortement recommandé que chaque élément logiciel soit évalué avant son intégration. On propose une méthodologie
rigoureuse à la partie IV.
21
Partie IV
Lignes directrices dans l’évaluation des logiciels libres pour le GdC
22
17
Principes directeurs
Les logiciels libres et leurs équivalents commerciaux devraient être évalués côte à côte
Le processus d’évaluation des logiciels libres et commerciaux est essentiellement le même et la comparaison côte à côte demeure la meilleure approche pour identifier les pour et les contre de chaque
option [84, 85, 38]. Le processus d’évaluation peut varier beaucoup en durée et en profondeur technique
selon le cadre de l’application et les exigences du projet.
Les avantages/désavantages devraient être
comparés dans le cadre précis de chaque projet
Il est important de noter que la plupart des logiciels commerciaux sont conçus pour une très vaste clientèle et incluent typiquement une énorme somme de fonctionnalités et de configurations potentielles.
D’un autre côté, les logiciels libres ont tendance à être plus spécialisés, puisqu’ils sont souvent conçus
pour satisfaire les exigences d’une communauté d’utilisateurs donnée. On recommande la comparaison directe entre les deux types de logiciels et un cadre d’application bien défini afin de déterminer la
meilleure option. En résumé, les principales étapes d’une évaluation incluent :
1.
2.
3.
4.
5.
6.
7.
Une attention particulière doit être accordée au
modèle d’octroi de licence
Comprendre les besoins et le cadre de l’application
Établir les priorités dans les critères de sélection
Identifier les logiciels commerciaux et libres candidats
Comparer les meilleurs candidats
Analyser en profondeur les meilleurs produits (p. ex. performance, audit de sécurité, coût), si nécessaire
Rechercher l’approbation de la direction locale et du client pour le projet.
Documenter les leçons apprises
Pour l’instant, il ne semble pas approprié pour le GdC de choisir un modèle d’octroi de licence et de
l’imposer à tous les projets. Il semble préférable d’identifier le modèle de licence le mieux adapté au
cadre de chaque projet en tenant dûment compte de :
1.
2.
3.
La protection de la propriété intellectuelle,
les contraintes relatives aux partenariats nationaux et internationaux, et
les préférences du client.
23
18
Étapes d’évaluation recommandées
Étape #1 – Définir le cadre de l’application
1.1. Préciser les objectifs et les attentes du client.
1.2. Documenter les contraintes du projet telles que le niveau de classification, les exigences des partenaires, la compatibilité avec les environnements de développement et d’exécution, la compatibilité
avec les systèmes existants et avec les formats d’information existants, les normes obligatoires à
satisfaire, etc.
1.3. Établir les priorités pour les critères d’évaluation servant à comparer les logiciels, incluant les fonctionnalités, le coût, le soutien et la maintenance requis, la fiabilité, la sécurité, la performance, la
flexibilité, l’extensibilité, la convivialité, les questions d’ordre juridique et de licences ainsi que les
autres questions relatives aux applications.
1.4. Évaluer les ressources internes (et externes) disponibles pour le projet (incluant le budget, le temps
et l’expertise technique pour laquelle les besoins peuvent être plus grands dans le cas du développement de logiciels libres).
1.5. Rechercher l’appui d’un collègue expérimenté qui pourrait agir à titre de ‘mentor’ durant le processus d’évaluation et aider à éviter les embûches.
Étape #2 – Identifier les candidats
2.1. Voir l’annexe A de ce rapport pour votre domaine d’application.
2.2. Effectuer des recherches complémentaires sur Internet, incluant les sites spécialisés : http://www.
sourceforge.net, http://www.gnu.org/directory, http://www.freshmeat.net, http://
www.debian.org, http://www.savannah.gnu.org, http://www.icewalkers.com, http://
www.cpan.org.
2.3. Recueillir les examens techniques et les comparaisons de produits.
24
Étape #3 – Comparer côte à côte les 3 ou 4
meilleures options
3.1. Consulter les listes connues de logiciels libres ‘fiables’ telles que Generally Recognized As
Safe (GRAS), Generally Recognized As Mature (GRAM), et Interchange of Data between
Administrations (IDA).
3.2. Lire/évaluer les examens techniques (logiciels libres et commerciaux). Demeurer vigilant concernant les évaluations excessivement biaisées (rencontrées à la fois pour les logiciels commerciaux et
les logiciels libres !)
3.3. Tenir compte de la compatibilité du logiciel aux librairies existantes et les environnements de développement et d’exécution.
3.4. Déterminer la maturité et le risque technique par les “relevés de téléchargement” (et d’autres mesures de popularité), la longévité du produit (souvent révélatrice de la maturité) et la pénétration du
marché.
3.5. Résumer la démarche en regroupant les résultats dans un chiffrier qui inclut les critères selon les
priorités établies à l’étape 1.3. Chiffrier pour l’évaluation des logiciels libres.
Étape #4 – Si approprié, effectuer une analyse
en profondeur du code
4.1. Si le temps le permet, télécharger les versions d’évaluation afin de confirmer la performance, la
compatibilité, la convivialité, etc.
4.2. Clarifier les détails avec les fournisseurs/développeurs.
4.3. Faire l’examen des licences et au besoin recueillir des avis auprès du service juridique local au sujet
de la protection de la propriété intellectuelle.
4.4. Si opportun, effectuer une analyse détaillée du code avec des outils d’analyse logicielle pour détecter
les failles et autres types de défauts. Voir [86].
4.5. Si opportun, évaluer la possibilité d’ajouter de nouvelles fonctions.
25
Étape #5 – Rechercher l’approbation du client
et de la direction locale
5.1. Même si les progiciels sont utilisés tels quels (pas de développement de code), on recommande
d’informer la direction locale (et éventuellement le client) de l’utilisation de logiciels libres.
5.2. Si les logiciels libres sont utilisés pour bâtir un prototype de recherche comprenant du développement de code substantiel, obtenir l’approbation de la direction locale et du client (s’il y a lieu). Voir
le conseil dans “Les licences dans le développement logiciel au GdC”, un peu plus loin.
5.3. Si un projet de développement du GdC est envisagé pour distribution dans un des réseaux de logiciels libres, évaluer l’effort additionnel requis pour nettoyer le code, améliorer la documentation
et soutenir la communauté de façon efficace lorsque le logiciel sera mis à la disposition d’un des
réseaux de logiciels libres. Obtenir l’approbation de la direction locale et du client (s’il y a lieu).
Voir le conseil dans “Les licences dans le développement logiciel au GdC”, un peu plus loin.
5.4. Si un projet de développement du GdC doit être réalisé dans un paradigme de collaboration en
source ouverte, il pourrait être nécessaire de procéder à une analyse détaillée pour justifier cette
approche. Obtenir l’approbation de la direction locale et du client (s’il y a lieu). Voir le conseil dans
“Les licences dans le développement logiciel au GdC”, un peu plus loin. Des conseils se trouvent
sur le site Web de la fondation FSF et dans ce livre de Jan Sandred [87].
Étape #6 – Documenter les leçons apprises
6.1. Résumer les leçons apprises durant l’évaluation dans une brève note technique pour partager votre
expérience avec les communautés du GdC.
6.2. Garder la trace de toute utilisation des logiciels libres et de tous les changements apportés au logiciel
original au moyen d’un logiciel de contrôle des révisions durant tout le processus de développement
(Concurrent Versions System (CVS)). Les données de contrôle des révisions doivent demeurer disponibles pour la Couronne après la fin du développement. Sans l’historique complet du développement, le nouveau code pourrait se retrouver par défaut sous d’autres modèles de licences tels que la
GPL.
26
19
Les licences dans le développement logiciel au GdC
Les licences peuvent être regroupées en deux
principales catégories
Une analyse détaillée des licences des logiciels libres va au-delà de la portée du présent document. Il
suffit de mentionner que les multiples licences actuellement enregistrées à l’OSI (environ 48) peuvent
être regroupées en deux principales catégories : (1) celles inspirée par la GPL, qui exige que tout développement complémentaire soit intégré uniquement à du code source ouvert et publié sous une licence
compatible avec la GPL (p. ex. LGPL, Zope, etc.) ; (2) celles qui permettent la combinaison de logiciels
libres avec du code propriétaire (p. ex. Berkeley Software Distribution (BSD), Mozilla, etc.) [88].
L’utilisateur final préfère habituellement la
stratégie GPL
MITRE a examiné les différentes licences selon la perspective d’un utilisateur final (dans le cas présent,
le DoD aux États-Unis), et en a conclu que la licence GPL est la meilleure en vertu de la diversité de code
source et de la visibilité ‘totale’ des implantations. Cela garantit une réponse plus rapide et autonome
aux cybermenaces [5]. On peut s’attendre à ce que la plupart des utilisateurs finaux préfèrent le modèle
GPL.
Les centres de recherche préfèrent généralement les modèles BSD ou Mozilla
Des options de rechange à “l’octroi de licence plutôt strict de GPL” ont été développées pour répondre
aux besoins des organisations qui doivent intégrer des logiciels ouverts et quelques éléments propriétaires. C’est le cas de plusieurs centres de recherche qui veulent protéger leur propriété intellectuelle
novatrice tout en démontrant l’efficacité grâce à un prototype basé sur les logiciels libres. La NASA a
comparé différentes licences, puis choisi le modèle de Mozilla en 2002 [76] et s’oriente présentement
vers le développement de sa propre licence [77] inspirée de ce modèle. L’analyse du Conseil national de
recherches du Canada (CNRC) conclut que les licences de BSD et Academic Free License (AFL) sont
souvent les modèles les plus appropriés pour eux [89]. Gartner croit que les licences inspirées par BSD
et Mozilla vont avoir une popularité grandissante, puisqu’elles offrent plus de flexibilité [4]. Étant donné
que la sélection d’une licence est complexe et que de multiples options sont disponibles, les chercheurs
devraient demander l’assistance de leur service juridique local lorsqu’un doute subsiste concernant les
implications juridiques.
27
Le cadre juridique est présentement contesté
On observe que les compagnies commerciales sont souvent sur une trajectoire de collision avec les
logiciels libres qu’elles combattent sur l’aspect technique mais aussi par des moyens légaux. Ces compagnies misent également sur la peur, l’incertitude et le doute engendrés par une nouvelle technologie
pour faire passer leur message. Le développeur de logiciels libres qui vise un déploiement important de
son travail doit être bien conscient des pièges et des questions de droit qui peuvent se poser à la suite
d’événements qui se produisent dans la communauté, dont certains sont perçus comme étant clairement
abusifs par divers observateurs [90]. Les exemples incluent la bataille que se livrent présentement Santa
Cruz Operation (SCO) et IBM. Pour être mieux informés de tels courants sous-jacents, voir par exemple
http://www.groklaw.net, http://www.osriskmanagement.com, et http://www.pubpat.org. Le
site Open Source Development Labs http://www.osdl.org, qui accueille Linus Torvalds, le créateur
de Linux, est aussi une bonne source d’information sur les enjeux et les nouvelles relatifs à la gestion de
la propriété intellectuelle par rapport aux logiciels libres.
Plusieurs bonnes références sur les licences des
logiciels libres se trouvent sur Internet
La réalité des diverses licences est beaucoup plus complexe que le survol présenté ci-dessus. Une étude
complémentaire sera requise pour offrir des opinions juridiques sur l’octroi de licence, les droits de
propriété, les transferts de technologie et d’autres questions de droit. Pour les lecteurs intéressés à une
comparaison plus détaillée des licences, nous recommandons les références suivantes :
•
•
•
•
•
•
•
•
•
•
•
•
Free Software Foundation - “l’école de pensée” GPL (plutôt idéaliste) [91] .
Open Source Initiative - multiples modèles de licence (certains sont plus pragmatiques) [1].
Guide européen pour choisir les licences des logiciels libres [92].
Analyse détaillée des licences des logiciels libres [93].
Comparaison des licences des logiciels libres - perspective du DoD aux États-Unis [5].
Comparaison des licences des logiciels libres - perspective d’un développeur de la NASA) [76].
Un bon aperçu des licences des logiciels libres [94].
Un coup d’oeil pratique sur l’intégration des logiciels libres dans les produits commerciaux [95].
Un coup d’oeil plutôt théorique sur les licences, démontrant les tendances intéressantes [96].
“GPL copylefting vs non-copylefting licenses” [97].
Normes complémentaires et tactiques légales concernant l’octroi de licences pour les logiciels
libres [6].
Une revue des enjeux des brevets logiciels [98, 9].
28
20
La migration vers les logiciels libres
Dans certains projets, une migration complète
aux logiciels libres peut être envisagée
Dans certains cas, il pourrait être approprié d’envisager la migration complète d’un projet du GdC
vers les logiciels libres. Même si plusieurs expériences récentes ont été très réussies à la NASA [61],
dans le milieu de la santé [99], dans l’industrie [95, 100] et dans quelques universités [101] , on doit
comprendre que le processus collaboratif des logiciels libres est un nouveau paradigme de développement qui implique des changements culturels significatifs. Le gouvernement d’Afrique du Sud recommande dans [45] le modèle VCS (c.-à-d. demonstrating Value–building Capacity–mobilizing Support)
qui semble être un excellent cadre de travail conceptuel pour les études de migration vers les logiciels
libres. Hewlett-Packard a défini un paradigme de génie logiciel innovateur pour les grandes sociétés,
appelé “Progressive Open Source”, qui semble très bien fait [102]. On trouvera plus d’information à
propos des changements culturels aux références suivantes :
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
La performance des applications scientifiques dans une grappe de terminaux Linux (cluster) [103].
La migration des services de soutien (back-office) appuie la lutte anti-terrorisme (dans OSO) [104].
Comprendre les caractéristiques des logiciels libres [105].
La gestion de la configuration des logiciels libres [106].
Linux au gouvernement - Livre blanc [57].
Bon article résumant la pénétration du marché par Linux [107].
La technologie Linux sur les ordinateurs de bureau et un survol du marché [52].
Livre blanc d’IDC sur le coût total de possession (CTP) (ou TCO, en anglais) de Linux (commandité
par IBM) [108].
Livre blanc d’IDC concernant l’expansion de Linux dans les entreprises (commandité par
IBM) [109].
Livre blanc d’IDC sur l’accélération de l’adoption de Linux (commandité par IBM) [110].
Bloor – Recherche et évaluation de la maturité de Linux [111].
L’impact de l’adoption des logiciels libres au gouvernement [112].
Les bénéfices perçus pour les logiciels libres dans le secteur public [113].
La popularité croissante de Linux à Wall Street [114].
La recommandation de Gartner d’utiliser les logiciels libres au gouvernement [115].
Un excellent guide de migration de QinetiQ (UK) [116].
Directives de migration très détaillées par IDA [26].
Un autre guide de migration très impressionnant du ministère de l’Intérieur allemand [27].
29
•
•
•
•
•
•
•
De multiples outils existent pour effectuer une
analyse des coûts
Les logiciel libres : Enquête et étude [28].
Les logiciels libres dans les firmes et institutions publiques européennes [29].
Les motivations commerciales et les implications politiques [30].
Politique à l’intérieur de l’Union européenne [31].
Le marché des logiciels libres et les méthodes de gestion [32].
Enquête sur les développeurs de logiciels libres [33].
Enquête sur le code source des logiciels [35].
Plusieurs modèles de coûts ont été développés pour les systèmes logiciels. Quelques-uns sont plutôt
simples et faciles à utiliser et pourraient convenir aux petits projets de migration partielle vers les logiciels libres :
•
•
•
•
•
Notes concernant un chiffrier de comparaison de coûts [117].
Chiffrier comparant les coûts : Un modèle pour la comparaison des coûts.
Une introduction de base aux logiciels libres avec une évaluation des coûts [118].
Coût total de possession (CTP) de Linux en entreprise [119].
Toute une collection de statistiques sur le CTP au chapitre 7 [8].
Les scientifiques qui dirigent un projet majeur ou encore qui envisagent une migration complète vers les
logiciels libres, pourraient préférer des modèles de coûts plus complexes tels que :
•
•
•
•
•
Un article de Gartner donnant une vue d’ensemble qui mène à des analyses de CTP [120].
Une analyse de rentabilisation de MITRE sur les logiciels libres (voir chapitre 3) [121].
Un rapport de Forrester sur l’impact économique total de Microsoft vs Linux/Java 2 Enterprise
Edition (J2EE) [23].
Comparaison du CTP de Linux vs Windows [122].
Modèle danois d’évaluation des ordinateurs de bureau pour la migration vers les logiciels
libres [123].
30
Références
1. Stallman, Richard (2003). Basic Idea Behind Open Source. Paper. Open Source Organization,. http://www.gnu.org.
2. OpenSource.org. Web Site. Open Source Organization,. http://www.opensource.org.
3. Wu, Ming-Wei and Lin, Ying-Dar (2001). Open Source Software Development : An Overview. (Technical Report IEEE 0018-9162/01).
National Chiao Tung University, Taiwan..
4. Driver, M. (2001). The Future of Open-Source Software. (Technical Report SPA-13-7536). Gartner..
5. Bollinger, Terry (2003). Use of Free and Open-Source Software (FOSS) in the U.S. Department of Defense. (Technical Report MP
02W0000101 v1.2.04). MITRE..
6. O’Mahony, Siobham (2003). Guarding the Commons : How Community Managed Software Projects Project Their Works. Paper. Harvard
University Graduate School of Business Administration..
7. Casamento, Gregory. Petition Against Software Patents. Web Page,. http://www.petitiononline.com/pasp01/petition.html.
8. Wheeler, David A. (2003). Why Open Source Software / Free Software (OSS/FS) ? – Look at the Numbers !. Paper. Personal Web Page..
9. Rosen, Lawrence (2004). Patents in an Open Source World. newsforge.com..
10. United Nation Conference on Trade and Development Secretariat (2003). Free open-source software : Implications for ICT policy and
development, Ch. 4. United Nation..
11. Spinellis, Diomidis and Szyperski, Clemens (2004). How Is Open Source Affecting Software Development ?. Paper. IEEE SOFTWARE..
12. James W. Paulson, Giancarlo Succi and Eberlein, Armin (2004). An Empirical Study of Open-Source and Close-Source Software Products.
(Technical Report IEEE 0096-5589/04). General Dynamics Canada, University of Bozen, University of Sharjah..
13. Dowling, Ted (2000). Software COTS Components – Problems, And Solutions ?. In RTO SCI Symposium on “Strategies to Mitigate
Obsolescence in Defense Systems Using Commercial Component”, pp. 28–1—28–8..
14. Calvin, James B. and Rodgers, Steven L. (2003). The Case for Open Source Tools is Compelling. COTS Journal, pp. 25–29..
15. Evans, David S. and Reddy, Bernard (2003). Government Preferences for Promoting Open-Sources Software : A Solution in search for a
problem. (Technical Report 9 Mich. Telecomm. Tech. L. Rev. 313 (2003)). National Economics Research Associates..
16. Bishop, Todd (2004). Studies on Linux help their patron : Microsoft. Seattle Post-Intelligencer..
31
17. VeriTest (2003). Microsoft Windows Small Business Server 2003 vs. Red Hat Enterprise Linux ES 2.1 Deployment. Test Report. VeriTest..
18. Rubin, Howard (2003). Mainframe Linux Benchmark Project Audit Report. Audit Report. META Group, Inc..
19. VeriTest (2003). Microsoft Windows Server 2003 vs. Linux Competitive File Server Performance Comparison. Test Report. VeriTest..
20. VeriTest (2003). Microsoft Windows Server 2003 with Internet Information Services (IIS) 6.0 vs. Linux Competitive Web Server Performance
Comparison. Test Report. VeriTest..
21. Bozman, Jean, Gillen, Al, Kolodgyand, Charles, and al (2002). Windows 2000 Versus Linux in Enterprise Computing. Test Report. IDC..
22. Morrow, Keith (2004). 7-Eleven Upgrades Its Strategic Retail System, Lowers Costs, and Improves Customer Service. Case study. Microsoft
Corporation..
23. John R. Rymer and Bob Cormier (2003). The Total Economic Impact of Developing and Deploying Applications on Microsoft and J2EE/Linux
Platforms. Technical Report. Forrester Research..
24. Murphy, Paul (2004). Getting the Facts About Windows and Linux. LinuxInsider..
25. Office of the e-envoy. Leading the drive to get the UK online. UK online,. http://www.e-envoy.gov.uk/Home/Homepage/fs/en.
26. netproject (2003). The IDA Open Source Migration Guide. (Technical Report OSPL/EEC-01.10). Interchange of Data between Administrations..
27. KBSt (2003). Migration Guide – A guide to migrating the basic software components on server and workstation computers. (Technical Report
1.0). Bundesministerium des Innern, Germany..
28. Ghosh, Rishab Aiyer, Krieger, Bernard, Glott, Ruediger, and Robles, Gregorio (2002). Free/Libre and Open Source Software : Survey and Study
– Deliverable D18 : FINAL REPORT. (Technical Report Part 0 : Table of Contents and Executive Summary). International Institute of
Infonomics, University of Maastricht..
29. Wichmann, Thorsten (2002). Free/Libre and Open Source Software : Survey and Study – FINAL REPORT. (Technical Report Part 1 : Use of
Open Source Software in Firms and Public Institutions – Evidence from Germany, Sweden and UK). Berlecon Reasearch..
30. Wichmann, Thorsten (2002). Free/Libre and Open Source Software : Survey and Study – FINAL REPORT. (Technical Report Part 2 : Firms’
Open Source Activities : Motivation and Policy Implications). Berlecon Reasearch..
31. Ghosh, Rishab Aiyer, Krieger, Bernard, Glott, Ruediger, and Robles, Gregorio (2002). Free/Libre and Open Source Software : Survey and Study
– Deliverable D18 : FINAL REPORT. (Technical Report Part 2B : Open Source Software in Public Sector : Policy within the European Union).
International Institute of Infonomics, University of Maastricht..
32
32. Spiller, Dorit and Wichmann, Thorsten (2002). Free/Libre and Open Source Software : Survey and Study – FINAL REPORT. (Technical Report
Part 3 : Basics of Open Source Software Markets and Business Models). Berlecon Reasearch..
33. Ghosh, Rishab Aiyer, Robles, Gregorio, Krieger, Bernard, and Glott, Ruediger (2002). Free/Libre and Open Source Software : Survey and Study
– Deliverable D18 : FINAL REPORT. (Technical Report Part 4 : Survey of Developers). International Institute of Infonomics, University of
Maastricht..
34. Ghosh, Rishab Aiyer, Robles, Gregorio, Krieger, Bernard, and Glott, Ruediger (2002). Free/Libre and Open Source Software : Survey and Study
– Deliverable D18 : FINAL REPORT. (Technical Report Part 4A : Survey of Developers – Annexure on validation and methodology).
International Institute of Infonomics, University of Maastricht..
35. Ghosh, Rishab Aiyer, Robles, Gregorio, and Glott, Ruediger (2002). Free/Libre and Open Source Software : Survey and Study – Deliverable
D18 : FINAL REPORT. (Technical Report Part 5 : Software Source Code Survey). International Institute of Infonomics, University of
Maastricht..
36. Ghosh, Rishab Aiyer (2002). Free/Libre and Open Source Software : Survey and Study – Workshop on Advancing the Research Agenda on Free
/ Open Source Software. (Technical Report Workshop Report). International Institute of Infonomics, University of Maastricht..
37. The Swedish Agency for Public Management (2003). Free and Open Source Software..
38. The Swedish Agency for Public Management (2003). Free and Open Source Software – a feasibility study..
39. Ministry of Science (2003). The Danish Software Strategy. Software Strategy. Danish Ministry of Science, Technology and Innovation..
40. e-cology Corporation (2003). Open Source Software in Canada – A Collaborative Fact Finding Study. Technical Report. e-cology Corporation..
41. e-cology Corporation (2003). Open Source Software in Canada – Appendices. Technical Report. e-cology Corporation..
42. Open Source Observatory (OSO). Web Site. Open Source Observatory,.
http://europa.eu.int/ISPO/ida/jsps/index.jsp?fuseAction=showChapter&chapterID=452&preChapterID=0.
43. Weber, Stephen (2002). Open Source Software in Developing Economies. Technical Report. University California, Berkeley..
44. Enav, Peters (2003). Israel stops buying Microsoft software. The Associate Press..
45. South African Government (2003). Using Open Source Software in the South African Government – A Proposed strategy compiled by the
Governmen Information Technology Officers Council. (Technical Report Version 3.3). Government Information Technology Officers Council..
46. Riley, James (2004). Tax to Open Up Software Policy. Australian IT..
33
47. Varghese, Sam (2003). ACT set to adopt open source bill. IDG News Service, West Africa bureau..
48. AFUL’s Site. French speaking Linux and Libre Software Users’ Association. AFUL,. http://www.aful.org/index.html.
49. AFUL’s Site on Peru OSS. French speaking Linux and Libre Software Users’ Association. AFUL Web Page on Peru,.
http://www.aful.org/politique/perou/english/referencias.html.
50. proposicion.org.ar. Government’s documents about Free Software. Open Source Organization Web Page,.
http://proposicion.org.ar/doc/gob/.
51. Logan, D., Arevolo, W., and Bittinger, S. (2004). Open-Source Software Means Benefits for Emerging Nations. (Paper SPA-19-4429). Gartner..
52. Decrem, Bart (2003). Desktop Linux Technology & Market Overview. Technical Report. Open Source Application Foundation..
53. Horstmann, Jutta and Muehlig, Jan (2003). Linux Usability Study. (Paper Version 1.01). Relevantive..
54. Hecker, Frank (2000). Setting up Shop : The Business of Open-Source Software. Paper. Netscape..
55. Fricke, Pierre (2003). Linux Strategies and Solutions 2003 : Linux Server Suppliers Contend for Leadership. Technical Report. D.H. Brown
Associates, Inc..
56. Jacob, Bart, Janson, David, Mark, Oliver, and Marras, Fabio L (2002). Linux and Branch Banking. (Technical Report SG24-6909-00).
ibm.com/redbooks..
57. Fisher, Mary Ann (2002). Linux in Government White Paper. Paper. IBM..
58. Lowery, J. Craig (2003). Dell’s Open Source Software Philosophy. In Open Standards/Open Source for National and Local eGovernment
Programs in the U.S. and EU : Conference, eGovOS..
59. National Security Agency (NSA). Security-Enhanced Linux. NSA Web Page,. http://www.nsa.gov/selinux/index.html.
60. TYBRIN (2002). Open Source Prototype Research – Open Source Process. Technical Report. NTA – NCAT..
61. Norris, Jeffrey S. (2004). Mission-Critical Development with Open Source Software : Lessons Learned. (Technical Report vol 21 no1). IEEE
Software..
62. Frye, Emily (2003). Open-Source Software, Proprietary Software : Implications for National and Economic Security. Technical Report. THE
CIP REPORT..
63. Mundie, Craig (2002). Security : Source Access and the Software Ecosystem. Technical Report. Microsoft Corporation..
34
64. David Adams (2004). Free Can Mean Big Money : The Open Source Economy. Technical Report. OSNews..
65. Patrick, Ryan B. (2003). Linux deepening its Canadian foothold. Computerworld..
66. Dumais, Michel (2004). Le logiciel libre en éducation : le projet MILLE. Accération du CRIM, 4, 26–27..
67. Hissam, S.A., Plakosh, D., and Weinstock, C. (2002). Trust and Vulnerability in Open Source Software. (Technical Report 20020208). IEE
Proceeding online..
68. ITsecurity (2002). The Strengths and Weaknesses of Open Source Software – And Its Role in the Security Model. Paper. ITsecurity.com :..
69. Jiwnani, K. and Zelkowitz, M. (2002). Maintaining Software with a Security Perspective. (Technical Report IEEE). International Conference on
Software Maintenance (ICSM’02)..
70. Judge, Peter (2002). Diffie defends open-source security. ZDNet, UK..
71. Diffie, Whitfield (2003). Perspective : Decrypting the Secret to Strong Security. news.com..
72. Jones, A. Russell (2004). Open Source Is Fertile Ground for Foul Play. DevX.com..
73. Stone, Mark (2004). Is Open Source Secure ?. www.devx.com..
74. Anderson, Ross (2002). Security in Open versus Closed Systems – The Dance of Boltzmann, Coase and Moore. Paper. Cambridge University,
England..
75. Angelius, Ladd (2004). Who’s Guarding the Guards ? We Are.. Technical Report. DevX.com..
76. Moran, Patrick J. (2003). Developing An Open Source Option for NASA Software. (Technical Report NAS-03-009). NASA Ames Research
Center..
77. Geurts, Bryan A. (2004). NASA’s Open Source Licensing. news.osdir.com, Vol. 1.1..
78. Advanced Simulation and Computing (ASCI) (2003). Request for Information : Open Source Software Development Acceleration (OSSODA).
(Technical Report UCRL-MI-153295). National Nuclear Security Administration (NNSA)..
79. Dongarra, Jack, Malony, Allen, Hollingsworth, Jeffrey, and al. (2003). Response to the Request for Information : Open Source Software
Development Acceleration. Technical Report. National Nuclear Security Administration (NNSA)..
80. Office of Government Commerce (2002). Open Source Software – Guidance on Implementing UK Government Policy. Technical Report.
Cabinet Office Minister of State..
35
81. Gagné, Claude (2003). Innovation in ICT Innovation in Canada. Presentation Power Point. Industry Canada..
82. Wheeler, David A. (2003). GRAM List. Paper. Personal Web Page. http://www.dwheeler.com/gram.html.
83. Carbone, Richard (2004). Contributions to FOSS from the Large IT Companies. Internal Document..
84. Wheeler, David A. (2003). How to Evaluate Open Source Software / Free Software (OSS/FS) Programs. Paper. Personal Web Page.
http://www.dwheeler.com/oss_fs_eval.html.
85. Surman, Mark and Diceman, Jason (2003). Multimedia Training Kit – Choosing Open Source Software Handout. Paper. The Commons Group,
for the Association for Progressive Communications (APC)..
86. Crispin Cowan (2003). Software Security for Open-Source Systems. Technical Report. IEEE Computer Society..
87. Sandred, Jan (2001). Managing Open Source Projects, Robert Ipsen..
88. GNU Project. Various Licenses and Comments about Them. GNU Project web server,.
http://www.fsf.org/licenses/license-list.html.
89. Désilets, Alain, Jenkins, Stephen, Kark, Anatol W., and al (2004). Open Source Software in NRC. Guidebook. National Research Council
Canada – Information Management Services Branch..
90. Moglen, Eben (2004). Now They Own It, Now They Don’t : SCO Sues Novell to Stay Afloat. LinuxDevices.com..
91. Ravella, John and Lum, Rosalyn (2004). Free as in Freedom. Software Development Magazine..
92. ATICA (2002). Guide to choosing and using free software licences for government and public sector entities. Technical Report. ATICA –
Agency for Information and Communications Technologies in the Civil Service..
93. ATICA (2002). Guide to choosing and using free software licences for government and public sector entities, Appendix : Detailed analysis of
licences. Technical Report. ATICA – Agency for Information and Communications Technologies in the Civil Service..
94. Webbink, Mark (2003). Understanding Open Source Software. GROKLAW..
95. Ruffin, Michel and Ebert, Christof (2004). Using Open Source Software in Product Development : A Primer. Study. IEEE Software..
96. Lerner, Josh and Tirole, Jean (2002). The Scope of Open Source Licensing. Paper. Harvard University and NBER ; University of Toulouse and
MIT..
97. Aigrain, Philippe (2002). A Framework for Understanding the Impact of GPL Copylefting vs. non Copylefting Licenses. Paper. European
Commission..
36
98. McOrmond, Russel (2003). A Review of Software Patent Issues. Flora, Ca..
99. Fitzgerald, Brian and Kenny, Tony (2004). Developing an Information Systems Infrastructure with Open Source Software. Study. IEEE
Software..
100.Lussier, Stepane (2004). New Tricks : How Open Source Changed the Way My Team Works. Study. IEEE Software..
101.Serrano, Nicolas, Calzada, Sonia, Sarriegui, Jose Mari, and Ciordia, Ismael (2004). From Proprietary to Open Source Tools in Information
Systems Development. Study. IEEE Software..
102.Dinlelacker, Jamie, Garg, Pankaj K., Miller, Rob, and Nelson, Dean (2001). Progressive Open Source. Study. Hewlett-Packard Compagny..
103.Dressler, Jean-Marc and Kandadai, Swamy N. (2001). Performance of Scientific Applications on Linux Clusters. Performance Technical
Report. IBM..
104.Open Source Observatory (2003). Back-office migration supports anti-terrorism. Technical Report. Bundeskartellamt..
105.Scacchi, Walt (2001). Understanding the Requirements for Developing Open Source Software Systems. Paper. Institute for Software Research,
University of California..
106.Asklund, Ulf and Bendix, Lars (2001). Configuration Management for Open Source Software. Paper. Lund Institute of Technology and Aalborg
University..
107.Macvittie, Lori (2004). Inside Linux. Study. Network Computing..
108.Gillen, Al, Kusnetzky, Dan, McLarnon, Scott, and Perry, Randy (2003). Linux and Intel-Based Servers : A Powerful Combination to Reduce the
Cost of Enterprise Computing. WhitePaper. IDC..
109.Gillen, Al, Kusnetzky, Dan, Melenovsky, Mark, and North, Bill (2003). Expanding Linux System Configurations for Enterprise Deployment.
White Paper. IDC..
110.Gillen, Al, Kusnetzky, Dan, and Rosen, Michele (2003). Accelerating the Adoption of Enterprise Linux Through IBM Software Solutions.
White Paper. IDC..
111.Claybrook, Bill (2002). Linux Is Ready Scalability, Reliability, Security, Flexibility, and Total Cost of Ownership Considerations. Technical
Report. Bloor Research North America..
112.Schmidt, Klaus M. and Schnitzer, Monika (2002). Public Subsidies for Open Source ? Some Economic Policy Issues of the Software Market.
Paper. University of Munich, CEPR and CESifo..
37
113.Taylor, Graham (2001). Open Source – Coming of Age. Paper. OpenForum Europe..
114.Shahrawat, Dushyant (2002). Wall Street Romances the Penguin : The Growing Popularity of Linux. Research Notes. TowerGroup..
115.Drakos, Nikos, Mai, Andrea Di, and Simpson, Robin (2003). Open-Source Software Running for Public Office. (Technical Report AV-19-5251).
Gartner..
116.Briggs, Julie and Peck, Dr Matthew (2003). QinetiQ Analysis of Open Source Solution Implementation Methodologies – QOSSIModo.
(Technical Report Version 1). QinetiQ..
117.netproject (2003). Notes on the use of the Cost Comparison Spreadsheet. (Technical Report version 1, see also Excell spreadsheet in
References). Interchange of Data between Administrations..
118.Meng, Tan Tze (2003). The Case for Open Source : OSS vs Proprietary Software. (Technical Report Version : 1.2). MNCC OSSIG Awareness
Sub-Group Paper..
119.Robert Frances Group (2002). Total Cost of Ownership for Linux in the Enterprise. Study. Robert Frances Group..
120.Smith, David Mitchell, Simpson, Robin, Silver, Michael A., and Fiering, Leslie (2003). Linux on the Desktop : The Whole Story. (Technical
Report AV-20-6574). Gartner..
121.Kenwood, Carolyn A. (2001). A Business Case Study of Open Source Software. (Technical Report MP 01B0000048). MITRE..
122.Cybersource (2002). Linux vs. Windows – Total Cost of Ownership Comparison. (Technical Report Version 1.0.1). Cybersource..
123.Offentlig Information Online (OIO) (2003). Desktop Evaluation Model. (Technical Report 0.8). Danish Government..
38
Liste des acronymes et sigles
AFL
Academic Free License
DND
Department of National Defence
AFPL
Aladdin Free Public License
DNS
Domain Name Server/Service
AFUL
Association Francophone des Utilisateurs de Linux et des
Logiciels Libres
DoD
Département de la Défense
DRDC
Defence Research & Development Canada
AOL
America On Line
EHR
Electronic Health Record
ANSI
American National Standards Institute
EJB
Enterprise JavaBeans
API
Application Programming Interface
EPS
Encapsulated PostScript
ASCII
American Standard Code for Information Interchange
ERP
Enterprise resource planning
BBS
Bulletin Board System
FAQ
Frequently Asked Questions
BSD
Berkeley Software Distribution
FC
Forces Canadiennes
CAD
Computer Aided Design
FLOSS
Free/Libre and Open Source Software
CGI
Common Gateway Interface
FOSS
Free and Open Source Software
FS
Free Software
CORBA
Common Object Request Broker Architecture
FSF
Free Software Foundation
COTS
Commercial Off-the-Shelf
FTP
File Transfer Protocol
CPAN
Comprehensive Perl Archive Network
GIS
Geographic Information System
CPU
Central Processing Unit
GNU
GNU’s Not Unix
CTP
Coût total de possession
GdC
Gouvernement du Canada
CVS
Concurrent Versions System
GPL
General Public License
DBMS
Database management system
GPS
Global Positioning System
DLL
Dynamic Link Library
GRAM
Generally Recognized As Mature
39
GRAS
Generally Recognized As Safe
JVMS
Java Virtual Machine Specification
GRASS
Geographic Resources Analysis Support System
KBSt
Federal Government Co-ordination and Advisory Agency —
Germany
GSF
Generalized Satellite Format
KDE
K Desktop Environment
GUI
Graphical User Interface
LAN
Local Area Network
HTML
Hypertext Markup Language
LGPL
Lesser General Public License
HTTP
Hypertext Transfer Protocol
LPPL
LaTeX Project Public License
HTTPS
HTTP over SSL
MDN
Ministère de la Défense nationale
IDA
Interchange of Data between Administrations
MFC
Microsoft Foundation Classes
IDE
Integrated Development Environment
MIT
Massachusetts Institute of Technology
IDS
Intrusion Detection System
MPI
Message Passing Interface
IEEE
Institute of Electrical and Electronics Engineers
MPL
Mozilla Public License
IIS
Internet Information Server
MS
Microsoft
IT
Information Technology
NASA
National Aeronautics and Space Administration
J2EE
Java 2 Enterprise Edition
NERA
National Economic Research Associates
NIMA
National Imagery and Mapping Agency
J2ME
Java 2 Micro Edition
NIST
National Institute of Standards and Technologies
CNRC
Conseil national de recherches du Canada
NSA
National Security Agency
NTA
National Technology Alliance
J2SE
Java 2 Standard Edition
JDK
Java Development Kit
JIT
Just-in-time
JLS
Java Language Specification
ODBC
Open Database Connectivity
JPL
Jet Propulsion Lab
OGSI
Open Grid Services Infrastructure
JVM
Java Virtual Machine
ORB
Object Request Broker
40
ORDBMS Object-Relational Database Management System
RTF
Rich Text Format
OS
Operating System
SCO
Santa Cruz Operation
OSI
Open Source Initiative
SELinux
Security Enhanced Linux
OSO
Open Source Observatory
SNMP
Simple Network Management Protocol
OSPR
Open Source Prototype Research
SSH
Secure Shell
OSS
Open Source Software
SSL
Secure Socket Layer
PDA
Personal Digital Assistant
SQL
Structured Query Language
PDF
Portable Document Format
TCP
Transmission Control Protocol
PDT
Programme de démonstration de technologies
TCP/IP
Transmission Control Protocol/Internet Protocol
PGP
Pretty Good Privacy
TI
Technologies de l’information
PHP
Hypertext Preprocessor
TPSGC
Travaux publics et Services gouvernementaux Canada
PIM
Personal Information Manager
UDP
User Datagram Protocol
PKI
Public Key Infrastructure
UK
United Kingdom
PS
PostScript
UML
Unified Modelling Language
PDF
Portable Document Format
URL
Uniform Resource Locator
RBAC
Role-Based Access Control
VCS
demonstrating Value–building Capacity–mobilizing Support
R&D
Recherche et développement
VM
Virtual Machine
RDDC
Recherche & développement pour la défense Canada
VPN
Virtual Private Network
RDBMS
Relational Database Management System
VRML
Virtual Reality Markup Language
RFC
Request for Comments
WYSIWYG What-You-See-Is-What-You-Get
RPC
Remote Procedure Call
XML
Extensible Markup Language
41
Glossaire des termes pertinents
(Extrait de [45])
Logiciel commercial Un logiciel est commercial si son développement fait partie d’une activité économique. Un logiciel commercial peut être
gratuit ou non, selon sa licence. Dans la même veine, un programme développé par une école ou un individu peut être gratuit ou non, selon
sa licence. Les deux questions, “quel type d’entité a développé le programme ?” et “quelle est la liberté dont ses usagers disposent ?”, sont
indépendantes. ‘Commercial’ et ‘propriétaire’ ne sont pas synonymes — la plupart des logiciels commerciaux sont propriétaires, mais il y a des
logiciels commerciaux libres et il y a aussi des logiciels non commerciaux non libres.
Compatibilité Le terme compatibilité, dans un contexte logiciel, est lié de près à l’interopérabilité. Un produit est compatible avec une norme mais
est interopérable avec les autres produits qui répondent à la même norme (ou atteint l’interopérabilité par l’entremise d’un courtier.)
Logiciel protégé par un ‘copyleft’ Le ‘copyleft’ (s’opposant au concept de protection du droit d’auteur, ou ‘copyright’ en anglais), c’est l’idée et la
stipulation, lorsqu’un logiciel est distribué, que l’usager aura la possibilité de le copier librement, d’en examiner et modifier le code source et de
redistribuer le logiciel à d’autres (gratuitement ou tarifé) aussi longtemps que le logiciel redistribué est passé au même titre avec la stipulation
du copyleft. Le terme a été introduit par Richard Stallman et la Free Software Foundation (FSF). Un logiciel sous copyleft est un logiciel
libre dont les modalités de la distribution ne permettent pas aux redistributeurs d’ajouter aucune autre restriction lorsqu’ils redistribuent ou
modifient le logiciel. Cela signifie que chaque copie du logiciel, et ce même si elle a été modifiée, doit être un logiciel libre. Le copyleft est un
concept général ; pour effectivement protéger un programme avec un copyleft, on doit utiliser un ensemble particulier de modalités relatives à la
distribution (voir la référence plus bas). Référence : La définition de copyleft selon la FSF : http://www.gnu.org/copyleft/copyleft.html
Logiciel libre Un logiciel libre est un logiciel qui vient avec la permission pour n’importe qui de l’utiliser, le copier et le distribuer, soit mot à mot
ou avec des modifications, soit gratuitement ou avec des frais. En particulier, cela signifie que le code source doit être disponible. En anglais, il
faut se rappeler que le mot ‘free’ dans “Free software” réfère à la notion de liberté et non de gratuité. Dans ce contexte, ‘free’ doit être compris
comme dans “free speech”, et non comme dans “free beer”. Les logiciels libres offrent aux usagers la liberté d’exécuter, copier, distribuer,
étudier, changer et améliorer le logiciel. Plus précisément, il y a quatre types de liberté pour les utilisateurs de logiciels libres :
•
•
•
•
Liberté 0 - La liberté d’exécuter le programme, dans n’importe quel but.
Liberté 1 - La liberté d’étudier le fonctionnement du programme, et de l’adapter à ses besoins - l’accès au code source est un condition
préalable.
Liberté 2 - La liberté de redistribuer des copies afin d’aider son voisin.
Liberté 3 - La liberté d’améliorer le programme et de rendre ces améliorations disponibles au public afin que toute la communauté en
bénéficie - l’accès au code source est une condition préalable.
Référence :
La définition de logiciel libre selon la FSF : http://www.gnu.org/philosophy/free-sw.html
42
logiciel libre vs ouvert Il y a un important désaccord au sein de la communauté à propos de ces deux concepts (presque synonymes) - jusqu’à un
certain point, le mouvement pour les logiciels libres et le mouvement pour les logiciels ouverts sont comme deux clans politiques à l’intérieur
de la communauté des logiciels libres. La définition officielle de “logiciel ouvert”, telle que publiée par la Open Source Initiative, est très
proche de la définition de “logiciel libre” utilisée par la Free Software Foundation, quoiqu’elle soit un peu plus ‘’relâchée’ à certains égards.
Nous n’irons pas plus loin dans ce débat, sauf pour le reconnaître comme un sujet litigieux. Il y a plus d’information disponible à : http:
//www.gnu.org/philosophy/free-software-forfreedom.html.
Gratuitiel (Freeware) Il n’y a pas de consensus sur la définition du terme anglais ‘freeware’, mais il est couramment utilisé pour les progiciels qui
permettent la redistribution sans modification (et leur code source n’est pas disponible). En français, il n’y a pas de confusion possible entre les
termes “logiciel libre” et gratuitiel. Un gratuitiel est offert gratuitement, mais il est généralement protégé par un droit d’auteur. On ne peut donc
pas l’incorporer en tout ou en partie avec ce que l’on développe.
Interopérabilité L’Institute of Electrical and Electronics Engineers (IEEE) définit l’interopérabilité comme l’habilité de deux ou plusieurs systèmes
ou éléments à échanger de l’information et à utiliser l’information échangée. L’interopérabilité, c’est la capacité d’un système ou d’un produit de
fonctionner avec d’autres systèmes ou produits sans effort particulier de la part du client. Le terme est largement utilisé dans les descriptions de
mise en marché de produits. Les produits atteignent l’interopérabilité avec d’autres produits en utilisant l’une ou l’autre de ces deux approches,
ou encore les deux :
•
•
En adhérant aux normes d’interface publiées
En faisant usage d’un ‘courtier’ de services qui peut convertir “à la volée” l’interface d’un produit vers l’interface de l’autre
Un bon exemple de la première approche est l’ensemble des normes qui ont été développées pour le World Wide Web. Ces normes incluent TCP/IP, HTTP, et HTML. Le second type d’approche pour atteindre l’interopérabilité est illustré par “Common Object Request Broker
Architecture (CORBA)” et ses “Object Request Broker (ORB)”.
Liteware Liteware est le terme utilisé pour un logiciel qui est distribué gratuitement dans une version ayant moins de fonctionnalités que la version
complète sur le marché. Ces logiciels sont habituellement conçus dans le but d’offrir à un client potentiel un échantillon de l’aspect et de
la convivialité d’un produit et un sous-ensemble de ses pleines capacités. Ils peuvent être considérés comme un type de logiciel contributif
(shareware) (les logiciels contributifs incluent aussi des produits distribués gratuitement, habituellement dans le but d’être mis à l’essai et qui
n’ont pas leur pleine capacité.)
Logiciel ouvert En général, le terme logiciel ouvert réfère à tout programme dont le code source est rendu disponible pour utilisation ou modification
comme l’usager ou les autres développeurs le jugent approprié. Les logiciels ouverts sont habituellement développés à titre de collaboration
publique et ensuite offerts gratuitement. Au sens le plus strict, le terme logiciel ouvert réfère au logiciel qui est conforme à la “définition de
source ouverte selon l’OSI”.
Normes ouvertes Les normes ouvertes sont caractérisées par le fait que les spécifications sur lesquelles elles sont basées sont la propriété d’une
organisation non liée à un fournisseur plutôt que celle des développeurs initiaux. N’importe qui est libre de constituer un logiciel selon ces
43
spécifications sans violation des droits de propriété intellectuelle, bien qu’habituellement il y ait plusieurs implantations disponibles gratuitement
(commerciales ou ouvertes). Leur véritable avantage, c’est qu’elles ont été adoptées par l’industrie et sont “à l’abri du vieillissement”. Une norme
ouverte est plus qu’une simple spécification. Les principes derrière la norme et la pratique d’offrir et d’utiliser la norme, sont ce qui rend la
norme ‘ouverte’ :
Disponibilité Les normes ouvertes sont disponibles pour tous pour lecture et implantation.
Maximise le choix de l’utilisateur final Les normes ouvertes créent un marché juste et compétitif pour les implantations de la norme. Elles
n’imposent pas au client un fournisseur ou un groupe particulier.
Pas de redevance Les normes ouvertes sont gratuites à implanter pour tous, sans redevance ni frais. La certification de conformité par les
organisations responsables des normes peut occasionner des frais.
Pas de discrimination Les normes ouvertes et les organisations qui les administrent ne favorisent pas un produsteur plus qu’un autre pour
quelque raison que ce soit, mis à part la conformité aux normes techniques de l’implantation d’un fournisseur. Les organisations responsables de la certification doivent fournir une piste pour la validation des implantations à coût faible ou nul, mais elles peuvent aussi fournir
des services de certification plus complets.
Extension ou sous-ensemble L’implantation des normes ouvertes peut être étendue ou offerte sous forme de sous-ensemble. Cependant, les
organisations responsables de la certification peuvent refuser de certifier les implantations de sous-ensembles et peuvent imposer des
conditions sur les extensions (voir Pratiques prédatoires)
Pratiques prédatoires Les normes ouvertes peuvent employer des clauses de licence qui protègent contre la subversion de la norme par des
tactiques du style “englobe et dépasse.” Les licences rattachées à la norme peuvent exiger la publication d’information de référence pour
les extensions et une licence pour tous les autres pour créer, distribuer et vendre des logiciels compatibles avec les extensions. Une norme
ouverte ne peut pas interdire les extensions d’une autre façon.
Une motivation importante pour adhérer aux normes ouvertes est d’atteindre et de promouvoir l’interopérabilité.
Un second ensemble de normes ouvertes est généralement créé par un consortium de leaders de l’industrie (des institutions ou des individus)
qui déterminent qu’il y a une spécification générale pour une norme précise. De plus, il est important de noter l’influence de l’acceptation
générale des normes ouvertes. Si une norme n’est pas largement adoptée, son développement sera probablement interrompu et elle finira
par ne supporter seulement qu’un nombre très limité d’interactions entre les produits propriétaires.
Référence : Principes et pratiques des normes ouvertes : http://perens.com/OpenStandards/Definition.html
La définition de source ouverte selon l’OSI (The Open Source Definition) “Open Source” est une marque de certification logicielle détenue par
l’Open Source Initiative (OSI). Les développeurs de logiciels qui sont destinés à être partagés librement, possiblement améliorés, et redistribués
par d’autres peuvent utiliser la marque de commerce “Open Source”, pourvu que les modalités de leur distribution soient conformes à la
définition de l’OSI. En résumé, le modèle de définition pour les modalités de distribution requiert que :
•
Le logiciel distribué doit être redistribué à n’importe qui sans aucune restriction
44
•
•
Le code source doit être disponible (de manière que le receveur puisse l’améliorer ou le modifier)
La licence peut exiger que les versions améliorées du logiciel adoptent un nom ou une version différente du logiciel original
Référence : La définition de source ouverte selon l’OSI : http://www.opensource.org/docs/definition_plain.php
Logiciel utilisable avec retour de carte postale (Postcardware) Un logiciel utilisable avec retour de carte postale est un gratuitiel (logiciel sans
frais qui est partagé gratuitement) qui requiert seulement, de la part de l’utilisateur, d’envoyer une carte postale au fournisseur du logiciel, en
guise de paiement. L’idée est d’humaniser la transaction, de rappeler à l’utilisateur que quelqu’un d’autre a partagé quelque chose gratuitement,
et d’informer le fournisseur que quelqu’un utilise effectivement sa création.
Logiciel propriétaire Le terme logiciel propriétaire décrit un logiciel dont les droits sont détenus exclusivement par une seule compagnie qui protège
soigneusement les connaissances au sujet des technologies utilisées et le fonctionnement interne du logiciel. Quelques produits propriétaires ne
peuvent fonctionner correctement que lorsqu’ils sont utilisés avec d’autres produits de la même compagnie. Les logiciels propriétaires ne sont
ni libres, ni semi-libres. Leur utilisation, redistribution ou modification est interdite, ou tellement restreinte qu’on ne peut effectivement pas le
faire librement.
Logiciel du domaine public Les programmes qui ne sont pas protégés par des droits d’auteur, parce que leurs auteurs prévoyaient les partager avec
tout le monde, sont du domaine public. La communauté Unix a développé un bon nombre de programmes de ce genre au fil des ans. Les
programmes du domaine public peuvent être utilisés sans restriction comme éléments d’autres programmes. La façon la plus simple de rendre
un programme libre est de le déposer dans le domaine public, sans droit d’auteur. Ceci permet à des gens de partager le programme et leurs
améliorations, s’ils en ont l’intention. Cependant, cela permet aussi à des gens de convertir le programme en un logiciel propriétaire. Ils peuvent
apporter des changements, nombreux ou rares, et distribuer le résultat comme un produit propriétaire, retirant ainsi la liberté que l’auteur initial
avait prévu. Les logiciels du domaine public sont des logiciels qui ne sont pas protégés pas des droits d’auteur. Si le code source est du domaine
public, il s’agit d’un cas particulier de logiciel libre non protégé par un ‘copyleft’, ce qui signifie que certaines copies ou versions modifiées
peuvent ne pas être libres du tout. Il est possible qu’un programme en version exécutable soit du domaine public, mais que son code source ne
soit pas disponible. Ce n’est donc pas un logiciel libre, puisqu’un logiciel libre requiert l’accessibilité au code source.
Logiciel semi-libre Un logiciel semi-libre est un logiciel qui n’est pas libre, mais qui accorde aux individus les permissions d’utiliser, copier, modifier
et distribuer (incluant la distribution de versions modifiées) à des fins non lucratives. Pretty Good Privacy (PGP) est un exemple de programme
semi-libre.
Logiciel contributif (shareware) Un logiciel contributif est un logiciel qui est distribué gratuitement à des fins d’essai, en supposant que l’usager
pourrait devoir ou vouloir le payer plus tard. Certains développeurs de logiciels offrent une version contributive de leur programme avec une
date d’expiration intégrée (p. ex. après 30 jours, l’usager ne peut plus accéder au programme). D’autres logiciels contributifs (parfois appelés
‘liteware’) sont offerts avec certaines capacités désactivées comme une façon détournée de forcer l’achat de la version complète du programme.
Un logiciel contributif accorde la permission aux utilisateurs d’en redistribuer des copies, mais quiconque qui continue d’utiliser une copie doit
payer un droit de licence. Un logiciel contributif n’est pas libre, ni même semi-libre, pour deux raisons :
45
•
•
Pour la plupart des logiciels contributifs, le code source n’est pas disponible ; on ne peut donc modifier le programme d’aucune façon.
Un logiciel contributif n’offre pas la permission de faire une copie et de l’installer sans payer un droit de licence, pas même pour les
individus l’utilisant à des fins non lucratives. (En pratique, les gens négligent souvent les modalités de distribution et l’utilisent quand même
sans payer, mais les modalités ne le permettent pas.)
46
Annexe A
FOSS applications for consideration within GoC (May 2004)
Disponible en anglais seulement
A.1
License Agreement - Legal Disclaimer
The Crown, the Minister of National Defence (Canada), and DRDC Valcartier GRANT you a non-exclusive license to this document. You may not
copy or disseminate this document openly to non-military or non-public servant members of the Department of National Defence, without the express
written authorization from the Crown, the Minister of National Defence, and DRDC Valcartier. You may read the document, but you may not include
it in your own work or cite it without the express authorization of the Crown, the Minister of National Defence and DRDC Valcartier. This document
is not open literature and must be treated as such. It cannot therefore be circulated outside the Department of National Defence without consent from
the Crown, the Minister of National Defence, and DRDC Valcartier. The Crown reserves all rights pertaining to this document and at any time it may
cancel any rights that you may assume that this License Agreement gives you, without notice and without prior consultation.
The Crown, the Minister of National Defence and DRDC Valcartier are not responsible for the manner in which you use this document or the
information contained therein. All reasonable efforts have been made to verify that the information is up-to-date, accurate, and timely. However,
nothing is guaranteed and any action you take on behalf of the information herein is solely your own responsibility. All reasonable efforts have been
made to ensure that all licensing information for the FOSS (Free and Open Source Software) programs included herein are accurate, up-to-date, and
timely. However, at your risk, you take at face value the licensing information put forward for each program in this document. Neither the Crown,
the Minister of National Defence, nor DRDC Valcartier state that any program listed herein is better than any other, open source or not. Opinions
expressed in this document do not reflect the opinions of the Crown, the Minister of National Defence, or DRDC Valcartier. Please consult legal
counsel if you are unsure about how to proceed concerning either your rights for this document and its License Agreement, or the licensing issues
surrounding FOSS programs, closed source programs, and commercial programs. As far as the closed source programs are concerned, again all
reasonable efforts have been made to ensure their accuracy. Every program you choose either to use or not to use is your own choice and neither the
Crown, the Minister of National Defence, nor the DRDC Valcartier can be held responsible for a choice which you willingly or unwillingly make.
There is no substitute for vigilance and in accepting this License Agreement, you accept the sole responsibility for verifying for yourself the rights and
entitlements to each and every software product listed in this document, including any expressed opinions. As the licensing for open source programs,
and sometimes for closed source and commercial programs, change rapidly, we can only make a best effort to include the licensing information
for the programs listed herein. Either way, you must verify for yourself whether the licensing for a given program applies within your corporate or
government structure.
Neither the Crown, the Minister of National Defence, nor DRDC Valcartier assume any responsibility for loss of data, damage to equipment, loss of
jobs, loss of limbs, dismemberment, disfigurement, or loss of life.
47
LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, OR OTHERWISE,
SHALL THE CROWN, THE MINISTER OF NATIONAL DEFENCE, OR DRDC VALCARTIER BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL
OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT SHALL THE CROWN, THE MINISTER OF NATIONAL DEFENCE, AND
DRDC VALCARTIER BE LIABLE FOR ANY DAMAGES, EVEN IF THE CROWN, THE MINISTER OF NATIONAL DEFENCE, AND DRDC
VALCARTIER SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER
PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT
APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU.
HIGH RISK ACTIVITIES. This document is not without faults and was not written or intended for use, sale, or resale as a decision-aid for you to
make decisions in replacing on-line control equipment in hazardous environments requiring fail-safe performance, such as in the operation of nuclear
facilities, aircraft navigation or communication systems, air traffic control, direct life- support machines, or weapons systems, in which the failure
of this document or the information herein could lead directly to death, personal injury, or severe physical or environmental damage (“High Risk
Activities”). The Crown, the Minister of National Defence, and DRDC Valcartier disclaim any express or implied warranty of fitness for High Risk
Activities.
TERMINATION. The license will terminate automatically if you fail to comply with the limitations described herein. Upon termination of this license,
you agree to destroy all copies of this document.
DISCLAIMER OF WARRANTY. This document is provided on an “AS IS” basis, without warranty of any kind, including, without limitation, the
warranties of merchantability, fitness for a particular purpose and non-infringement. The entire risk as to the quality and performance of this document
is borne by you. Should the document prove defective, you and not the Crown, the Minister of National Defence, or DRDC Valcartier assume the cost
of any service, repair, or restitution. This disclaimer of warranty constitutes an essential part of the License Agreement. SOME JURISDICTIONS DO
NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO YOU AND YOU MAY HAVE
OTHER LEGAL RIGHTS THAT VARY BY JURISDICTION.
MISCELLANEOUS. This License Agreement represents the complete agreement concerning this license and may be amended only by a written
agreement executed by the Crown, the Minister of National Defence, and DRDC Valcartier. If any provision of this License Agreement is held to be
unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License Agreement shall be governed by
applicable Canadian and Québec law.
If you feel like you may need to refer to legal counsel before starting to read this document after skimming the Legal Disclaimer, at least you have been
sensitized to the fact that important legal issues surround the use of FOSS within any information system. To summarize, this document is provided
as an introductory guide to available FOSS products for the exclusive use of DND personnel and their contractors. However, before including any
FOSS product in an operational system, a thorough and detailed analysis of several factors including legal/licensing, cost, and long-term maintenance
and migration of any FOSS component is required.
48
FOSS List
General Purpose Computing (A.2)
• Antivirus Software (4)
Scientific Domain Applications (A.3)
• Astronomy Software (5)
•
CAD Software (1)
•
Biological Software (6)
•
Command Lines and Remote Shells (8)
•
Chemistry Software (6)
•
Database, Data Mining, Search Engine Systems and Clients (17)
•
Electronics Software (4)
•
Desktop Managers (13)
•
Emulators (6)
•
Development / Programming / Toolkits / Libraries (39)
•
Geographical / Geological Software (11)
•
Distributed Computing Software (16)
•
Mathematics Software (11)
•
File Management Software (7)
•
Meteorological Software (4)
•
General Graphics Software (36)
•
Physics Software (4)
•
Graphing and Plotting Software (10)
•
Robotics Software (1)
•
Mail Clients and Servers (13)
•
Simulator Software (3)
•
Network Troubleshooting Tools (24)
•
Scientific Visualization Software (2)
•
Office Automation Software (35)
•
Operating Systems and Environments (11)
•
PDA Synchronization Tools (4)
•
PIM Software (5)
•
Portal Software (4)
•
PostScript Software (3)
•
Security / Network Security & Monitoring Software (43)
•
System Accessibility Software (11)
•
System Administration Software (31)
•
System Services Software (21)
•
Text Editors / IDE’s (10)
•
Web Browsers (7)
49
A.2
General Purpose Computing
Tableau A.1: General Purpose Computing
Product
Description
Antivirus Software :
F-PROT
It is an antivirus program that uses a
License : Closed source ; highly advanced set of heuristic
free for home users, but
algorithms that is available for
their is a cost if support
multiple platforms and architectures.
is needed.
Although it is ac closed-source
project, it is worth considering
because of its portability.
Clam AV
License : GNU GPL.
A GPL virus scanner, it features a
command-line and a fast
multithreaded daemon, it is a filter for
Sendmail, it also offers support for
compressed files, as well as a C library
for writing your own programs. It
currently scans for up to 20,000
viruses.
The Buzz
Status
While not as popular as Symantec
Antivirus, it is nonetheless a very
effective one and is available for
Windows, Linux, BSD, Solaris, and
DOS. The prices are inexpensive when
compared to many other similar
products. The products were freely
downloadable, and no source code was
provided with it. Currently scans for
more than 100,000 different viruses.
Designed for UNIX, it will compile on
most UNIX and UNIX-like operating
systems, including Mac OS X and
Cygwin. It features an up-to-date virus
database. It is difficult to determine
however if the virus database, through
heuristic algorithms, is equivalent to
other commercially available scanners.
Started in 1993, it was previously
available on BBS systems for
evaluation download, like McAfee
Antivirus. Little historical information
could be found on this antivirus, other
than the fact it was developed and
continues to be developed in Finland
by F-Prot Inc.
Still under active development, the
first release was April 2002. Thomas
Kojm started the project, although
various other developers supplied code
patching. It is currently at version
0.67.
50
Tableau A.1: General Purpose Computing (continued)
Product
OpenAntiVirus
License : GNU GPL.
MailScanner
License : GNU GPL.
Description
The OpenAntiVirus project is for
people seriously interested in
anti-virus research, network security
and computer security to communicate
with each other, to develop solutions
for various security problems, and to
develop new security technologies.
MailScanner is already a highly
respected open source e-mail security
system, with more users than AOL
and Hotmail combined, and this new
release increases its stability and
performance. MailScanner scans all
e-mail for viruses, spam and attacks
against security vulnerabilities. It is
not tied to any particular virus
scanner, but can be used with any
combination of 14 different virus
scanners, allowing sites to choose the
“best of breed” virus scanner. Because
it is open source, site administrators
can audit and verify the integrity of
the system.
The Buzz
As the name suggests, there are
antivirus products available. There is
one for the Squid proxy server
(Squid-Vscan), another for Samba
(Samba-Vscan), and of course a
command-line virus scanner
(VirusHammer). It is an interesting
initiative but it is poorly organized and
a Java-based virus scanner seems a
little like overkill.
Claiming to protect over 5 billion
e-mails a week with tens of millions of
users and more than 200,000
downloads, this product seems to be in
wide use and could be for you if you
want to have an open source virus
scanner and spam remover. While not
an antivirus itself, it allows you to
plug in a product you like or feel
comfortable with, and through the
MailScanner’s open architecture lets
you maintain greater control over your
systems.
Status
While still under active development,
it is not possible to determine what
version the products are at. The
project / foundation was started in
2000. It cannot be determined who the
developers of the project are.
Still under active development, it is
currently at version 4.28-6. Julian K.
Field developed it. He is a systems
administrator at the School of
Electronics and Computer Science in
Southampton, UK. It cannot be readily
determined when the project was
started.
51
Tableau A.1: General Purpose Computing (continued)
Product
CAD Software :
QCad
License : GNU GPL.
Description
The Buzz
Status
QCad is an application for
computer-aided drafting in two
dimensions. With QCad, you can
create technical drawings such as
plans for buildings, interiors or
mechanical parts. QCad works under
Linux, UNIX Systems, Mac OS X and
Windows.
QCad was designed with modularity,
extensibility and portability in mind.
However, what people notice most
often about QCad is its intuitive user
interface. QCad is a simple 2D CAD
system for everyone. You do not need
any CAD experience to get started
with QCad immediately. Although
open source, you must purchase a
license in order to be able to work
with it. The software has a 10-minute
time out function. However, the
software is inexpensive to purchase.
Still under active development, it is
currently at version 2.0.2.0-1. It
cannot be determined when the project
started, nor can it be determined who
the author(s) of the program are.
52
Tableau A.1: General Purpose Computing (continued)
Product
Description
Command Lines and Remote Shells :
Bash
Bash is the shell, or command
Listed in : GRAS, IDA
language interpreter, that will appear
License : GNU GPL.
in the GNU operating system. Bash is
a Sh-compatible shell that
incorporates useful features from the
Korn shell (Ksh) and C shell (Csh). It
is intended to conform to the IEEE
POSIX P1003.2/ISO 9945.2 Shell and
Tools Standard. It is available for just
about every platform under the sky.
The Buzz
Status
It offers many useful improvements
over the original Sh shell, and
generally, is much better than the
commercially available Sh that come
with commercial version of UNIX.
Bash combines many good features
from Sh, Csh, and Ksh, making it
more versatile than the other shells
you are likely to encounter, and is easy
to use and learn due to its wide use in
the GNU world. It is the default shell
in Linux systems and now comes
bundled with many commercial
versions of UNIX as well. It offers
features useful for interactive use
include command line editing,
command history, job control, aliases,
and prompt expansion. Programming
features include additional variable
expansions, shell arithmetic, and a
number of variables and options to
control shell behaviour.
Not currently under active
development itself, its patches are still
under active development. Currently
at version 2.05b, development stopped
on the shell in 2002. The main authors
of the project are Chet Ramey and
Brian Fox ; however, there are several
other developers and contributors to
the project. Although it cannot be
determined exactly when the project
started, version 1.14 was released in
1994.
53
Tableau A.1: General Purpose Computing (continued)
Product
Zsh
Listed in : IDA
License : ZSH License.
Tcsh
Listed in : IDA
License : Not available.
Description
Zsh is a shell designed for interactive
use, although it also supports a
powerful scripting language. Many of
the useful features of Bash, Ksh, and
Tcsh were incorporated into Zsh.
Many new and original features were
added. This shell is also available for
just about every platform under the
sky.
The Buzz
You may want to consider working
with Zsh on systems that have all too
often few available system resources.
Zsh is light on resources. It supports
login and logout watching, periodic
command execution, and it supports
TTY sanity checking just to name a
few. Perhaps you are interested in
learning a new scripting language.
The Tcsh is the Csh with file name
completion and command line editing.
It also supports spelling correction, a
history mechanism, enhanced
directory parsing and directory stack
handling.
Little difference between the Csh and
Tcsh other than command line edit
and file name completion. However, as
the years move by, Csh no longer is
the default shell on many operating
systems that are moving back to either
Sh or Bash.
Status
Still under active development, it is
currently at version 4.2.0. The original
developers were Paul Falstad, Richard
Coleman, Zoltan Hidvégi, Andrew
Main, Peter Stephenson, Sven
Wischnowsky, et al. Peter Stephenson
still appears to be on the current
development team. The project dates
back to the 1980’s, however, this
cannot be accurately verified.
However, version 2.1 dates back to
1992.
No longer under active development,
the current version is 6.12.00. It
cannot be determined who actually
started the Tcsh project or when it was
started or who is currently developing
or maintaining the project. However,
the Tcsh itself dates back to the
1980’s, but the exact date remains
uncertain.
54
Tableau A.1: General Purpose Computing (continued)
Product
Vishnu Visual Shell
License : GNU GPL.
Description
The Vshnu Visual Shell is just that, a
visual shell. It is not a mouse driven
shell, and it is not a file manager nor is
it a command-line interface. Not a
new idea, visual shells can operate
within an entire terminal or console
screen. File listings are displayed for
your constant reference. Common
commands and operations can
typically be performed in fewer
keystrokes in a visual interface.
The Buzz
Some visual shells have promoted
themselves as simpler menu-oriented
interfaces suitable for novices, while
others emphasize more expert
functionality. Visual shells have never
really caught on, except some in
certain circles such as Emacs’ “dired”
mode and the Midnight Commander
program. Vshnu can operate as an
optional supplemental visual mode to
your command line shell. Common
commands and operations can
typically be performed in fewer
keystrokes in a visual interface. You
switch between command line and
visual mode easily as you wish. It
requires Perl 5.002 and the Perl
modules Term : :Screen and
Term : :ANSIColor (available at
CPAN). It also offers lots of other
options and features. See the web site
for more details.
Status
Still under active development, it is
currently at version 1.0115. Vshnu
was inspired by the Vsh that was
written sometime in the 1980’s. The
author of the program claims “The
‘nu’ in ‘Vshnu’ implies ‘new’, of
course, as well as invokes the Hindu
god Vishnu, the preserver of the
universe and restorer of dharma.” The
project was started in 1999 and the
author is Stephen B. Kinzler.
55
Tableau A.1: General Purpose Computing (continued)
Product
Wsh
License : GNU GPL.
Description
Wsh is a remote UNIX and Windows
shell that works through its use of
HTTP and HTTPS. In short, it is a
shell that works on the Internet
browser ports of 80 and 447. It also
offers SSL support and a command
line history.
The Buzz
Although this tool does not offer
options that other command shells do,
what sets it apart from the pack is that
it connects to remote machines via
HTTP and HTTPS. This means that it
is capable of bypassing firewall and
proxy server-based networks. If your
network does not allow SSH ports but
allows HTTP, then you can access
remote systems. However, you will
want to use HTTPS if you will access
systems at large on the Internet
otherwise your password will be sent
as cleartext over the Internet. Your
system or network administrators may
encourage or even discourage you
from using this shell.
Status
Still under active development, it is
currently at version 2.1.0. Alex
Dyatlov and Simon Castro developed
it. It dates back to at least 2002.
56
Tableau A.1: General Purpose Computing (continued)
Product
Sudoscript
License : Artistic
License, GNU GPL.
Rssh
License : BSD-like
license.
Description
It is a pair of Perl scripts, Sudoscriptd
and Sudoshell, which provide an
audited shell using the Sudo
command. For those who do not know
what Sudo is, it is a command that
allows users to execute a command as
the superuser user, or as another
altogether, as specified in the Sudoers
file.
Rssh is a restricted shell for use with
OpenSSH that allows only Scp and
Sftp connections.
The Buzz
Because of the obvious security risks
associated with allowing users to use
Sudo, let alone running commands as
the root user, you might ask yourself if
running a shell through Sudo defeats
its own purpose. The reason why you
want to do this is to limit what
commands could be run by users.
However, using Sudo, you can also
maintain an audit trail of the
commands issued by users with root
privilege. Scripts maintain that audit
trail by logging all terminal output to
log files. However, before using this
tool, consider how it will affect your
site’s security and if it makes sense for
you to use it. It should work under
most versions of UNIX.
It uses OpenSSH to establish the
secure Scp and Sftp connections, but it
does not allow for access to a user
shell. You can avoid most of the
potential security issues by using the
most recent version of OpenSSH. It
works on most SVR4 platforms,
including Linux, but not the
BSD-based operating nor Mac OS X.
Status
Still under active development, it is
currently at version 2.1.1. Its
developer and maintainer is Howard
Owen. It dates back to 2002.
It is still under active development. Dr.
Derek Martin wrote the program.
Currently at version 2.1.1, it cannot be
determined when the project actually
started.
57
Tableau A.1: General Purpose Computing (continued)
Product
OpenSSH
Listed in :
GRAS, GRAM, IDA
License : BSD.
Description
OpenSSH is a FREE version of the
SSH protocol suite of network
connectivity tools that increasing
numbers of people on the Internet are
coming to rely on. OpenSSH encrypts
all traffic (including passwords) to
effectively eliminate eavesdropping,
connection hijacking, and other
network-level attacks. It also provides
a myriad of secure tunnelling
capabilities, as well as a variety of
authentication methods. However, it is
important to note that once SSH is
started and has connected and
authenticated itself to a remote system,
it will then bring up the user’s default
command line shell, such as Bash.
The Buzz
The de facto open source standard for
encrypting network
telecommunications without the use of
sophisticated hardware or software
(including IPSec).
Status
Still under active development, it is
based on the original free SSH 1.2.12
release from Tatu Ylönen (1995). SSH
has been around for many years and is
available for a wide number of
platforms. Aaron Campbell, Bob
Beck, Markus Friedl, Niels Provos,
Theo de Raadt, and Dug Song are the
creators of OpenSSH, and many
collaborators around the world
develop it. It is currently at version
3.7.
58
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
Database, Data Mining, Search Engine Systems and Clients :
MySQL
Listed in :
GRAS, GRAM
License : If used as open
source, GNU GPL ; if
used commercially then
under MySQL
Commercial License.
MySQL is an open source
implementation of a Relational
Database Management
System (RDBMS) that uses
SQL-Structured Query Language to
create, modify, and add tables,
indexes, and data, as well as manage
these items. MySQL also has its own
extensions, which are not covered in
the ANSI SQL convention.
It is truly difficult to determine
whether MySQL or PostgreSQL is the
best choice for your needs. Each
database system has its own quirks,
difficulties, and ways in which it
implements the SQL standard. It is
Y2K compliant and supports most of
the ANSI SQL-99 implementations.
However, PostgreSQL currently
supports more SQL-99 features than
MySQL.
Still under active development, there is
MySQL and MySQL AB. The former
is the open source version distributed
under the GPL, while the latter is the
commercial version distributed under
MySQL license agreement. Originally,
there was only MySQL. Its founder
founded his own company MySQL
AB. It is difficult to say exactly when
MySQL was first started, but it has
been copyrighted since 1995.
However, the original code seems to
stem back to 1980’s. Developed by
David Axmark, Allan Larsson, and
Michael “Monty” Widenius.
59
Tableau A.1: General Purpose Computing (continued)
Product
PostgreSQL
Listed in : GRAM
License : BSD.
Description
PostgreSQL is an open source
implementation of an
Object-Relational Database
Management System (ORDBMS). It
is similar in functionality to MySQL
and fully appears to fully support the
ANSI SQL-99 extensions (except
when some things do not make sense
or supersede/removes previous
functionality causing backward
compatibility issues).
The Buzz
PostgreSQL does support slightly
more ANSI SQL features than
MySQL and supports multiple-stack
QUERY statements. Overall,
PostgreSQL is more feature rich and
has a more powerful SQL command
implementation. However, MySQL in
many benchmarks is faster.
Status
Still under active development, in its
original form it was started in 1977 as
a project named Ingres at the
University of California at Berkeley.
Relational Technologies/Ingres
Corporation later developed Ingres
itself commercially. In 1986, another
team led by Michael Stonebraker from
Berkeley continued the development
of the Ingres code to create an
object-relational database system
called Postgres. In 1996, due to a new
open source effort and the enhanced
functionality of the software, Postgres
was renamed to PostgreSQL, after a
brief stint as Postgres95. There does
not appear to be any main developer or
maintainer of the project but rather has
developers sharing the work and a
steering group which makes decisions.
60
Tableau A.1: General Purpose Computing (continued)
Product
SAP DB / MaxDB
License : For those
developing it is GNU
GPL, for commercial
purposes it is MySQL
Commercial License.
RRDTool
Listed in : GRAS
License : GNU GPL.
MC
License : GNU GPL.
Description
MaxDB by MySQL is a re-branded
and enhanced version of SAP DB,
SAP AG’s open source database.
MaxDB is a heavy-duty, SAP-certified
open source database that offers high
availability, scalability and a
comprehensive feature set. MaxDB
complements the MySQL database
server, targeted for large SAP and
ERP environments and other
applications that require maximum
enterprise-level database functionality.
RRD is the acronym for Round Robin
Database. RRD is a system to store
and display time-series data (i.e.
network bandwidth, machine-room
temperature, server load average). It
stores the data in a very compact way
that will not expand over time, and it
presents useful graphs by processing
the data to enforce a certain data
density.
MC is a C++ program that creates
vector-space models from text
documents that can be used for text
mining application. MC provides an
efficient multi-threaded
implementation that can process very
large document collection.
The Buzz
A product worth trying for those who
need SAP and/or ERP, or want to
develop these types of applications.
Still requires MySQL for its basic
database functionality.
Status
While still under active development,
it is currently at version 7.5.0.
However, it cannot be determined
when the project actually began or
who develops and maintains it.
Use it in your Perl / shell scripts. A
great tool for creating graphs of
system administration-based
information. If you are a system
administrator and need to graph your
system’s performance metrics, then
consider this program.
It is still under active development.
The author and main developer is Tobi
Oetiker. This tool is a spinoff of his
earlier project MRTG. It is currently at
version 1.0.46. The program dates
back to at least 1999.
Apparently, it is very fast, but it was
designed to run under Solaris.
However, there is no reason why it
would not compile and work under
Linux. Use this program if you need to
datamine from text files.
It is no longer under active
development ; J. Fan developed it. It
cannot be determined when the project
was started, but it stopped in 2001. It
is currently at version 2.28.
61
Tableau A.1: General Purpose Computing (continued)
Product
Pybliographer
License : GNU GPL.
GNU SQL
License : GNU GPL.
Description
Pybliographer is a tool for managing
bibliographic databases. It can be used
for searching, editing, reformatting,
etc. In fact, it is a simple framework
which provides easy to use Python
classes and functions, and therefore
can be extended to many uses
(generating HTML pages according to
bibliographic searches, etc).
SQL Server is a free portable
multi-user relational database
management system. It supports the
full SQL89 dialect and has some
extensions from SQL92. It provides
multi-user access and transaction
isolation based on predicative locks. It
was meant to run under UNIX. It was
developed in the C programming
language. It also uses RPC’s, shared
memory and message queues.
The Buzz
In addition to the scripting
environment, a graphical Gnome
interface is available. It provides
powerful editing capabilities,
hierarchical search mechanism, and
direct insertion of references into LyX
and Kile, direct queries on Medline,
and more. It currently supports the
following file formats : BibTeX, ISI,
Medline, Ovid, and Refer.
Although it is no longer being
developed, you could use this software
as starting place to build your own
SQL compatible DBMS program, or
just read the source code to better
understand DBMS SQL-based
databases. It only supports, however,
SQL-89 with some SQL-92
extensions.
Status
It is still under active development.
Herve Dreau, Frederic Gobry, Travis
Oliphant, Darrell Rudmann, Peter
Schulte-Stracke, and John Vu
developed it. The project was started
in 1998 and is currently at version
1.2.3.
No longer actively developed,
development ceased in 1998. At the
time, the last release was 0.76b. The
first public release was in 1996. Its
main developer, Michael Kimelan
started working on the project in 1994.
62
Tableau A.1: General Purpose Computing (continued)
Product
Berkeley DB
Listed in : IDA
License : Berkeley
Database License.
Emdros
License : GNU GPL.
Description
The Berkeley Database is an
embedded database system. Its access
methods include B+ tree, Extended
Linear Hashing, fixed and
variable-length records, and Persistent
Queues. Berkeley DB provides full
transactional support, database
recovery, online backups, and separate
access to locking, logging and shared
memory caching subsystems. The
program supports C, C++, Java, Tcl,
Perl, and Python API’s.
The Buzz
It is an embedded database system,
and often finds itself being used by
other programs and systems for its
database library, whether to
implement a fully functional database
or an embedded one. The technologies
behind Berkeley DB are often found
in other commercial and open source
databases and RDBMS systems.
Emdros is an open source text
database engine for storage and
retrieval of analyzed or annotated text.
It has a powerful query-language for
asking relevant questions of the data.
Emdros has wide applicability in
fields that deal with analyzed or
annotated text. Application domains
include linguistics, publishing, text
processing, and any other fields that
deal with annotated text. Text-retrieval
applications such as
Bible-study-programs can also benefit
greatly. Emdros by itself is not very
useful. You need to write an
application on top of Emdros in order
to take advantage of the database
services offered by Emdros,
leveraging them in your particular
application domain.
Status
Still under active development, it is
now at version 4.2.52. It is currently
copyrighted by Sleepycat Software,
although they maintain its original
license. The University of California
at Berkeley sponsored the program up
until it was copyrighted by Sleepycat
software sponsored by the University
of California at Berkeley. However, it
cannot be determined when the project
was actually started and who was the
developer and who currently develops
and maintains it.
Still under active development, it is
currently at version 1.1.16. The author
of the program is Ulrik Peterson.
Version 1.04 can be traced back to
2001, but it certainly goes further back
than 2001.
63
Tableau A.1: General Purpose Computing (continued)
Product
MyDNS
License : GNU GPL.
PHP SQLVIEW
License : GNU GPL.
Description
MyDNS is a free DNS server for
UNIX implemented from scratch and
designed to serve records directly
from an SQL database (currently
either MySQL or PostgreSQL).
SQLView provides a user-friendly
interface for browsing an SQL
database and modifying SQL tables
using a web browser. This is strictly
an application to give users access to
view and modify their SQL tables.
SQLView allows one to walk through
a table, viewing all rows. If the tables
have a primary key and SQLView is so
enabled, the users may modify any
given column for a row, may add a
row or even delete a row.
The Buzz
Its primary objectives are stability,
security, interoperability, and speed,
though not necessarily in that order.
MyDNS does not include recursive
name service, or a resolver library. Its
primarily designed for organizations
with many zones and/or resource
records who desire the ability to
perform real-time dynamic updates on
their DNS data via MySQL. MyDNS
starts and is ready to answer questions
immediately, no matter how much
DNS data you have in the database. It
is very fast and memory-efficient.
It is not a tool to help database
administrators (other than perhaps
getting users to do manage their own
data). SQLView is a PHP application.
It makes use of PEAR : :DB for its
database access and this means that
most common databases should work.
As of Dec 2003, MySQL, Postgres
and Sybase have been tested, but as
long as PEAR : :DB has complete
support for your type of database,
SQLView should work without
modification.
Status
Still under active development, it
appears to be developed by Don
Moore. It is currently at version
0.10.3. The initial public release dates
back to 2002.
Still under active development,
Dmitriy Katsman, Terry Gliedt, and
Chris Van Ittersum develop it. It is
currently at version 2.0. The software
was originally written as part of the
FUSION project at the University of
Michigan. The project can be traced
back to 2002, but it probably extends
further back than this.
64
Tableau A.1: General Purpose Computing (continued)
Product
Xindice
License : Apache
License.
Druid
License : GNU GPL.
Description
Apache Xindice is a database
designed from the ground up to store
XML data. It is more commonly
referred to as a native XML database.
The Buzz
If you have a need for a XML
database, then you should try out this
program. If you do not need a XML
database or do not know what XML
is, then you stay with an RDBMS like
MySQL or PostgreSQL.
Druid lets users create databases
graphically. Users can
add/modify/delete database objects
(fields, tables, etc.) using a simple
GUI and can document each table and
field with HTML information. Druid
then generates an SQL script with all
table definitions that can be piped to
the DBMS ; a data dictionary file
containing all the tables and field in
the database, and Java classes that
contain both the tables’ constants and
users’ code.
Use this tool to help design a
prototype DBMS before you actually
start hacking away at. This tool allows
you to give your DBMS some
forethought before you start
populating the database. The program
works with Java, C, and C++. There is
a plug-in architecture, so users can
write their own modules. The main
module is written in Java.
Status
Still under active development, the
Apache Foundation sponsors it.
Xindice is the continuation of the
project that used to be called the
dbXML Core. The dbXML source
code was donated to the Apache
Software Foundation in December of
2001. It is currently at version 1.0.
Norman Walsh appears to have written
much of the original code, and appears
to still be the lead developer of the
project.
Still under active development, the
main developer appears to be Andrea
Carboni, although there are other
developers as well. It is currently at
version 3.4. Although it cannot be
determined when the project itself
started, it has been registered with
SourceForge since 2000.
65
Tableau A.1: General Purpose Computing (continued)
Product
PgAdmin
License : Artistic
License.
FireBird
License : The InterBase
Public License.
Description
PgAdmin III is a powerful
administration and development
platform for the PostgreSQL database,
free for any use. The application is
running under GNU/Linux, FreeBSD
and Windows 2000/XP.
Firebird is a relational database
offering many ANSI SQL-92 features
that runs on Linux, Windows, and a
variety of UNIX platforms. Firebird
offers excellent concurrency, high
performance, and powerful language
support for stored procedures and
triggers.
The Buzz
PgAdmin III is designed to answer the
needs of all users, from writing simple
SQL queries to developing complex
databases. The graphical interface
supports all PostgreSQL features and
makes administration easy. The
application also includes a query
builder, an SQL editor, a server-side
code editor and much more. PgAdmin
III is released with an installer and
does not require any additional driver
to communicate with the database
server.
Based on the source code from Inprise
Corporation’s InterBase RDBMS,
with the help of many C and C++
developers, FireBird was born. Expect
this to be an enterprise capable
RDBMS.
Status
It is still under active development.
Although it cannot be determined
when the project actually started, it
can be traced back to at least 2003
when it was at version 0.9.2. It is
currently at version 3-1.0.2. The lead
developer is Dave Page, although there
are other contributors to the project.
Still under active development and
currently at version 1.5, it is based on
the source code released to the
Internet community by Borland
Corporation for its enterprise database
InterBase. The source code to
InterBase was released in August
2000, and has since been developed by
the FireBird Project. Although the
project tried to remerge several times
with Borland, the eventual divorce of
code bases was inevitable.
66
Tableau A.1: General Purpose Computing (continued)
Product
UNIX-ODBC
License : GNU GPL and
GNU LGPL.
DocSearcher
License : Apache
License.
Description
ODBC is an open specification for
providing application developers with
a predictable API with which to access
Data Sources. Data Sources include
SQL Servers and any Data Source
with an ODBC Driver. The
UNIXODBC Project goals are to
develop and promote UNIXODBC to
be the definitive standard for ODBC
on non-MS Windows platforms. This
is to include GUI support for both
KDE and GNOME.
The goal of DocSearcher is to
effectively serve as an easy to use
central management toolkit for search
related functions at both the user and
system-administration level.
DocSearcher uses the Open Source
Lucene and POI Apache API’s as well
as the Open Source PDF Box API to
provide searching capabilities for
HTML, MS Word, MS Excel, RTF,
PDF, Open Office and Star Office
Documents, and text documents.
Other file formats are currently not
supported. In short, it is capable of
searching through these document
types are creating an indexed list that
can be queried for key words to help
you find specific documents.
The Buzz
This now makes it possible to work
with multiple database types directly
from your UNIX system, and access
your different databases just as you do
for your Windows ODBC system. It
supports many databases, and of
course supports all of the major
commercial and open source ones.
Status
Still under active development, the
main developers appear to be Peter
Harvey and Nick Gorham, although
there are many other contributors to
the project. The project can be traced
back to at least 1999, although it
probably dates back further than this.
It is currently at version 2.2.8.
There is a server side component to
DocSearcher that enables its Lucene
indexes to be searched via web pages,
such as on an intranet. Deployment on
a standard J2EE or J2SE app server
such as TOMCAT or Jetty should be
easy. There is only one deployment
descriptor to set - which is the value
called USER_HOME, which should
point to the directory where the
index_list.htm file is located. The
future of DocSearcher will be an easy
to manage search engine for multi-site
searching with easy to manage
performance metrics. You will need
Java 1.4.0 or higher to run
DocSearcher.
Still under active development, it was
initiated as a project by the
Department of Homeland Security to
help the department in searching
through its own data warehouses for
critical information in files. The team
leader of the project is John Brown,
although there are currently four other
developers working on the project as
well. While it is difficult to determine
when the project was started, it has
been registered with SourceForge
since 2003.
67
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
The XFree86 project is a project that
aims to produce a platform
independent X Server / Client
architecture for both the local and
remote displaying of X-based
applications. It is a fully open source,
POSIX, X11R6 implementation of the
X standard.
The problem with XFree86 is not that
it is not a high performance X system.
On the contrary, it is so high
performance that SGI now includes it
as the default X server on their new
Onyx4 UltimateVision systems. The
problem is that PC’s all too often do
not have the necessary hardware to
take full advantage of X. The other
problem is that it is complex to setup
for multihead and multipipe use,
however it is possible. Finally, the
other problem is that all too often
video card manufacturers provide
cheap drivers for XFree86, and those
that are written by the XFree86 are all
too often not optimized enough
because the developers did not have
access to better source code directly
from the card manufacturer. It is fully
compatible and interoperable with
anything talking X. It has also has
been ported to many platforms, even
non-UNIX platforms.
It is based on the work of then
German student Thomas Roell (1989 /
1990) who ported over code from the
X11R4 distribution of X and called it
X386.1.1. In August 1991, with the
aid of others, Roell gave PC-based
UNIX its first X implementation.
Today, XFree86 is developed by
hundreds of international contributors
who are pushing the movement
forward. It is currently at version 4.4.0
RC3.
Desktop Managers :
XFree86
Listed in :
GRAS, GRAM, IDA
License : XFree86
License.
68
Tableau A.1: General Purpose Computing (continued)
Product
GNOME
Listed in : GRAM, IDA
License : GNU GPL.
KDE
Listed in : GRAM
License : GNU GPL.
XFCE
License : GNU GPL.
Description
The GNOME project provides two
things : The GNOME Linux desktop
environment, an intuitive and
attractive desktop for end-users, users,
and the GNOME development
platform, an extensive framework for
building applications that integrate
into the rest of the desktop.
KDE is a powerful Open Source
graphical desktop environment for
Linux and UNIX workstations. It
combines ease of use, contemporary
functionality, and outstanding
graphical design with the
technological superiority of the UNIX
operating system. It is however, a bit
heavy on your system’s resources. Use
GNOME if resources are scarce.
XFCE is a lightweight desktop
manager that runs on many platforms
and provides a very intuitive user
interface. It is a desktop manager for
UNIX, UNIX-clone, and BSD
operating systems. Its goals are to be
fast and very light-weight.
The Buzz
Until just a couple of years ago, it was
for many Linux and other UNIX-like
distributions the standard desktop. It is
a highly stable, intuitive desktop to
work with. In the last couple of
versions more emphasis was placed on
visual appearance and functionality.
Many useful user and system
applications come bundled with the
desktop. It should compile on most
major platforms.
It competes for room in the desktop
arena with GNOME, its greatest rival.
KDE can boast a more intuitive
environment than the other desktop
managers can. It is also a more
visually appealing environment. Many
useful user and system applications
come bundled with the desktop. It
should compile on most major
platforms. It is probably the most
popular desktop at this moment for the
open source operating systems.
It is very nice and fast. It is a good
alternative to those familiar with the
CDE desktop. It should compile on
most major platforms.
Status
Under active development, it is
currently at version 2.4. The first
release of GNOME was in 1997. It is
worked on by hundreds of
international contributors.
The KDE project was started in 1996.
It is still under active development.
Currently, it is at release 3.2.
It is currently at version 4.0.3.1 and is
under active development. It was
developed primarily by Olivier
Fourdan. However, it cannot be
determined when the project actually
started, but it has been around since at
least 2001.
69
Tableau A.1: General Purpose Computing (continued)
Product
Enlightenment
License : GNU GPL.
B4STEP
License : License Free
of fee.
BLACKBOX
License : GNU GPL.
Description
Enlightenment is a themeable, fast,
flexible, and powerful window
manager designed to be extremely
configurable in both look and feel.
The program also includes an applet
API that provides functionality
somewhere between the GNOME
applet system and DockApps from
AfterStep/WindowMaker. The current
aim is for Enlightenment to become a
desktop shell.
A very simple and easy to use
graphical interface, B4STEP makes
itself unique only in the way in which
it handles window banners. It, like
Enlightenment makes use of an
uncluttered windowing environment.
It is another lightweight desktop
manager, and is very fast. It uses an
uncluttered desktop approach
resembling that of Enlightenment. Its
main feature is that it has no virtually
no library dependencies, so it can be
compiled on just about any platform,
even on Cygwin.
The Buzz
Overall, a very nice and easy to work
with interface. It is very similar to
Solaris’ OpenWindows and HP-UX’s
Open Look desktop managers. It
interoperates well with GNOME. It
should compile on most major
platforms.
Status
Released in 2000, it is currently at
development release DR17. Originally
started by Carsten Haiztler and Geoff
Harrison, it is now being developed by
several dozen developers and
contributors. It is still under active
development.
It has slightly more emphasis on
visual features than Enlightenment,
but not enough to distract a user from
the work at hand. It is fully GNOME
compliant, and interacts with the
GNOME desktop with relative ease.
You can consider B4STEP a cross
between CDE and Enlightenment with
an enhanced GNOME support. It
should compile on most major
platforms.
Very simple GUI. By no accounts is it
a visually stunning desktop manager,
but its force is in the fact that it has
almost no library dependencies and it
can be compiled on almost anything
anywhere. It should compile on most
major platforms.
The project appears to have started in
at least 1999. It was developed by Eric
Boucher. It no longer is under active
development. The last release was in
2001 and was version 2.2.
It is no longer under active
development. The last version was
released in 2002 and it is currently at
version 0.65.0. The main developers
were Sean Perry and Ben Jansens.
70
Tableau A.1: General Purpose Computing (continued)
Product
FLWM
License : GNU GPL.
FVWM
License : GNU GPL.
Description
FLWM stands for the Fast Light
Window Manager. The entire desktop
manager, in terms of source code is
only 7,000 lines of code. The FLTK
library is designed to work directly on
top of Xlib, which is the driving
library for the X Windows UNIX
interface.
FVWM is an extremely powerful
ICCCM-compliant multiple virtual
desktop window manager for the X
Window system. FVWM is a multiple
large virtual desktop window manager
originally derived from TWM.
FVWM is intended to have a small
memory footprint and a rich feature
set, be extremely customizable and
extendable and have a high degree of
Motif MWM compatibility. FVWM is
highly extensible through its module
interface.
The Buzz
With only 7,000 lines of code, it sure
is fast. Consider using this desktop in
mission critical situations as a full
source code analysis can be
undertaken and completed within a
short amount of time. It should
compile on most major platforms.
Status
The main developer is Bill Spitzak,
and the project is no longer under
active development. It is currently at
release 1.00.
It sports nice graphics and a nice
virtual desktop manager. Let’s you
keep open many virtual desktops and
keep track of them easily and
efficiently. It should compile on most
major platforms.
It is still under active development and
is now at version 2.4.17 (stable). The
main developer appears to be Dominic
Vogt, although there are several dozen
current developers. The project itself
is a derived work from RXVT written
by Robert Nation in 1993.
71
Tableau A.1: General Purpose Computing (continued)
Product
IceWM
License : GNU GPL.
GWorkSpace
License : GNU GPL.
WindowMaker
License : GNU GPL.
Description
Similar to other lightweight desktop
managers, except that it was designed
to be used in conjunction with either
GNOME or KDE. Because of this,
you can run IceWM from inside of
KDE or GNOME. It was designed to
be a light, small, and fast desktop
manager, and emulates the look and
feel of Motif, OS/2, and Windows. It
should compile on most major
platforms.
It is a cloned desktop manager of the
NeXT desktop manager.
Another X11 window manager that
was designed to provide integration
for the GNUstep Desktop
Environment. In every way possible, it
reproduces the elegant look and feel of
the NEXTSTEP GUI. It is fast, feature
rich, easy to configure, easy to use,
and includes compatibility options
that allow it to work with GNOME
and KDE.
The Buzz
Its desktop is more configurable than
Enlightenment or FVWM, but is not
for those requiring desiring a visually
rich desktop environment.
Status
It is still under active development and
is currently at stable release 1.2.13.
Marko Macek is the main developer.
Version 1.0 was released in 1999.
If you like NeXT or want to work in a
similar environment, then should
consider this desktop. It should
compile on most major platforms.
It has the same look and feel as NeXT.
It should compile on most major
platforms.
Enrico Sersale is the developer of
GWorkSpace. It is still under active
development and is now at version
0.6.3. It was started in 2002.
It is still under active development.
The project was started in 1997. It is
developed by Alfredo Kojima. It is
currently at version 0.80.2.
72
Tableau A.1: General Purpose Computing (continued)
Product
Opie
License : GNU GPL.
Description
Opie is a fork of the Qtopia
environment developed by Trolltech.
It is a completely open source based
graphical user environment for PDA’s
and other devices running Linux.
The Buzz
For anyone using portable devices
such as PDA’s, this is a project really
worth looking into as it offers a free
alternative to products such as
PalmOS or Microsoft Windows
Mobile OS.
Status
The Opie project has just recently
gone beyond the version 1.x point and
its 1.x branch is now closed.
Improvements and bug fixes are still
being looked into and will be added in
future versions or patches. The current
version is 1.0.3. Development started
in 2003 with the release of version
1.0.0 and it cannot be determined who
is the author or maintainer of the
project.
73
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
De facto standard open source
compiler collection, which currently
works on just about every platform
currently in existence. It allows
developers to write their own
programs and code in a manner more
closely related to POSIX standards
than the majority of the other
compilers out there. It offers
compilation support for C, C++,
Fortran, Objective-C, Java, and Ada.
Rather than purchasing expensive
proprietary compilers, you should
seriously consider working with GCC.
Your code can generally be very easily
ported across multiple architectures
and platforms and will compile just as
well there. It also produces highly
optimized code and supports a
plethora of compilation options. Use it
as cross-platform development tool.
Still under active development, it is
currently at version 3.3.3. The
maintainer of the project is Mark
Mitchell, however, GCC receives
development and contribution support
from people all over the world. Its
main sponsor is Cygnus (a subsidiary
of RedHat) and CodeSourcery. The
first beta release, version 0.9, was
released in March 1987.
Development / Programming / Toolkits / Libraries :
GCC
Listed in :
GRAS, GRAM, IDA
License : GNU GPL.
GCC is the GNU Compiler Collection,
which currently contains front ends
for C, C++, Objective-C, Fortran,
Java, and Ada, as well as libraries for
these languages. GCC development is
a part of the GNU Project, aiming to
improve the compiler used in the
GNU system including the
GNU/Linux operating system. The
GCC development effort uses an open
development environment and
supports many other platforms in
order to foster an excellent optimizing
compiler, to attract a larger team of
developers, to ensure that GCC and
the GNU system work on multiple
architectures and diverse
environments, and to more thoroughly
test and extend the features of GCC.
74
Tableau A.1: General Purpose Computing (continued)
Product
GNAT
Listed in :
GRAS, GRAM
License : GNU GPL.
GDB
Listed in : GRAS
License : GNU GPL.
Description
GNAT is a free, complete compiler for
Ada95, integrated into the GCC
compiler system.
GDB, the GNU Project debugger,
allows you to see what is going on
inside another program while it
executes – or what another program
was doing at the moment it crashed.
The Buzz
Although Ada is not used anywhere as
much as it was years ago, it is
nonetheless a robust and stable
programming language which must
still be maintained today in sites all
around the world. Consider using
GNAT rather than paying thousands
for platform dependent versions of an
Ada compiler. GNAT now includes
GLIDE, an integrated development
environment that includes an editor
and debugger and supports multiple
graphical debuggers. You will also
find Ada used a lot in mission critical
systems and the military is a large user
of Ada code. GCC is required to
compile the Ada source code package.
You can also use it to debug core
dumps, as well as kernel dumps.
However, how well kernel dump
analysis works will depend on
whether or not you have access to the
kernel source code or not. It can debug
programs written in C, C++, Pascal,
Objective-C, Ada, and many other
languages. It will debug programs not
compiled with GCC ; however, it
works better with programs that were
compiled with it.
Status
No longer under active development
and distributed as a part of GCC, its
maintainers are Robert Dewar and
Arnaud Charlett. For commercial or
mission critical use of Ada 95, contact
either Ada Core Technologies or
ACT-Europe. Currently at version
3.15, it has not received much
development since 2002. Development
appears to have started on GNAT in
1992.
Still under active development, it is
currently at version 6.1. There are
currently eight maintainers for the
project, and seven developers working
on it. GDB has been around for many
years, at least since the mid-1990’s.
Version 4.18 dates back to 1999.
75
Tableau A.1: General Purpose Computing (continued)
Product
Perl
Listed in :
GRAS, GRAM, IDA
License : GNU GPL.
Description
Perl is a stable, cross platform
programming language. It is used for
mission critical projects in the public
and private sectors. It supports
multiple architectures and platform,
and is Y2K compliant. Perl supports
both procedural and object-oriented
programming.
The Buzz
It is an interpreted language, but is
almost as fast as a compiled language
like C. It can be considered a cross
between a shell scripting language and
C, but with object oriented
programming capabilities and
extensions. It is excellent for use with
database integration and text parsing.
It is probably the most commonly
used CGI programming language and
is Web ready from the start. Easy to
learn and easy to use, it is a great
programming language. Perl can also
be inlined into C and C++ programs,
and is great for writing your own
network-enabled programs.
Status
It is still under active development ; it
was developed and is still maintained
by its author Larry Wall. Version 1.0
was released in 1987, and therefore it
is a stable programming language.
Highly extensible, there are more than
500 contributor modules for it on
CPAN. It is currently at stable release
5.8.3.
76
Tableau A.1: General Purpose Computing (continued)
Product
PHP
Listed in :
GRAS, GRAM
License : PHP License.
Description
PHP is a widely used general-purpose
scripting language that is especially
suited for Web development and can
be embedded into HTML. It is like
JavaScript, but more flexible and
object-oriented. It is often used in
portal systems and in web-based /
web-sharing applications.
The Buzz
PHP is a hypertext pre-processor. It is
often embedded directly into HTML
web pages where it can perform its
work directly within the web page,
rather than being called as an applet or
external CGI script. However, while
similar in certain regards to Perl and
Python, PHP is also dissimilar from
them because instead of writing code
that outputs HTML you write HTML
with embedded code to do something
useful. In order to work, you need only
have a PHP parser. PHP has wider
support for browsers and web servers
than Perl, and it supports just about
every major database system available
on the COTS or FOSS market.
Status
Still under active development, it is
currently at stable release version
4.3.5. The first version of PHP to be
released publicly was version 4.0 that
was in 1999. PHP is a project of the
Apache Software Foundation. The
PHP Group consists of Thies C.
Arntzen, Stig Bakken, Shane Caraveo,
Andi Gutmans, Rasmus Lerdorf, Sam
Ruby, Sascha Schumann, Zeev
Suraski, Jim Winstead, and Andrei
Zmievski.
77
Tableau A.1: General Purpose Computing (continued)
Product
Python
Listed in : GRAM, IDA
License : Python Public
License.
Description
Python is an interpreted, interactive,
object-oriented programming
language. It is often compared to Tcl,
Perl, Scheme or Java. Python
combines remarkable power with very
clear syntax. It has modules, classes,
exceptions, very high-level dynamic
data types, and dynamic typing. There
are interfaces to many system calls
and libraries, as well as to various
windowing systems (X11, Motif, Tk,
Mac, MFC). New built-in modules are
easily written in C or C++. Python is
also usable as an extension language
for applications that need a
programmable interface.
The Buzz
Python is another high-level
programming language that can be
applied to many problems. Like Perl,
it is an interpreted language, and is
great for working on file I/O problems
such as parsing and sifting and sorting
data, to be used for networking and
CGI programming. Python, however,
unlike Perl, is better suited to GUI
programming as it can take advantage
of GTK+, QT, and OpenGL just to
name a few. Python is an
object-oriented language like Perl.
Python inline code can also be
compiled into C and C++ programs,
although this can also be done for Perl
as well.
Status
It is still under active development. It
is currently at version 2.3.3. Guido van
Rossum at Stichting Mathematisch
Centrum in the Netherlands created
Python in the early 1990s. It was
created as a successor of a language
called ABC. Guido remains Python’s
principal author, although it includes
many contributions from others. In
1995, Guido continued his work on
Python at the Corporation for National
Research Initiatives in Reston
Virginia, where he released several
versions of the software. In May 2000,
Guido and the Python core
development team moved to
BeOpen.com to form the BeOpen
PythonLabs team. In October of the
same year, the PythonLabs team
moved to Digital Creations (now Zope
Corporation). In 2001, the Python
Software Foundation was formed, a
non-profit organization created
specifically to own Python-related
Intellectual Property. Zope
Corporation is a sponsoring member
of the PSF.
78
Tableau A.1: General Purpose Computing (continued)
Product
DDD
Listed in : GRAS
License : GNU GPL.
Zlib
Listed in : GRAS, IDA
License : Distributed as
Public Domain.
Description
GNU DDD is a graphical front-end for
command-line debuggers such as
GDB, DBX, WDB, Ladebug, JDB,
XDB, the Perl debugger, or the Python
debugger.
Zlib is designed to be a free,
general-purpose, legally
unencumbered lossless
data-compression library for use on
virtually any computer hardware and
operating system. The Zlib data format
is itself portable across platforms.
The Buzz
As a front-end for many different
command-line debuggers, it is a very
useful tool as it allows learning just
one interface rather than having to
learn multiple debuggers and their
command-line. One great feature of
DDD is it has become famous through
its interactive graphical data display,
where data structures are displayed as
graphs.
Unlike the LZW compression method
used in the UNIX compress command
and in the GIF image format, the
compression method currently used in
Zlib essentially never expands the
data. Zlib’s memory footprint is also
independent of the input data and can
be reduced, if necessary, at some cost
in compression. Therefore, consider
using Zlib as an alternative to the
LZW compression algorithm.
Status
Still under active development, it is
currently at version 3.3.8. The primary
authors are Dorothea Lutkehaus and
Andres Zeller. There are also 4 other
developers working on the project.
Cannot determine when the project
actually started, although it was
registered at SourceForge in 2000.
Still under active development, it is
currently at version 1.2.1. Its
developers are Jean-Loup Gailly et
Mark Adler. The project appears to
have started in 1995.
79
Tableau A.1: General Purpose Computing (continued)
Product
Tcl/Tk
Listed in : GRAS
License : BSD.
Description
Tcl/Tk is actually two products
originally developed at the University
of California Berkeley, the Tool
Command Language and the Tool Kit.
They are a versatile scripting language
and a graphical interface development
tool, respectively.
The Buzz
One of Tcl’s most useful features is its
extensibility. If an application requires
some functionality not offered by
standard Tcl, new Tcl commands can
be implemented using the C language,
and integrated easily. Since Tcl is so
easy to extend, many people have
written extension packages for some
common tasks, and made these freely
available on the Internet. Itcl is an
extension of Tcl/Tk that allows the
developer to make scripts more object
oriented using C++ style syntax. Tix is
a set of widgets that extend the base
set to Tk widgets. In most cases, Tcl is
used in combination with the Tk
library, a set of commands and
procedures that make it relatively easy
to program graphical user interfaces in
Tcl.
Status
Still under active development, Dr.
Ousterhout while on sabbatical leave
from DEC in 1987 started it. In 1988,
when he got to Berkeley, he began
writing Tcl, which was first was
released in 1989. The first release of
Tk was in 1991. He then joined Sun
Microsystems in 1994 where in 1997 a
spin-off company was created called
SunScript. Then a Tcl consortium was
formed in 1997, but by 1999 fell apart
due a lack of participation. In 1998, he
left Sun to form his company Scriptics
where a group of 14 developers
spearheaded its development.
Currently at release version 8.4.6.
80
Tableau A.1: General Purpose Computing (continued)
Product
Weka
Listed in : GRAS
License : GNU GPL.
m4
Listed in : GRAS, IDA
License : GNU GPL.
Description
Weka is a collection of machine
learning algorithms for data mining
tasks. The algorithms can either be
applied directly to a dataset or called
from your own Java code. Weka
contains tools for data pre-processing,
classification, regression, clustering,
association rules, and visualization. It
is also well suited for developing new
machine learning schemes.
GNU m4 is a macro processor, in the
sense that it copies its input to the
output, expanding macros as it goes.
Macros are either built-in or
user-defined, and can take any number
of arguments. Besides just doing
macro expansion, m4 has built-in
functions for including named files,
running UNIX commands, doing
integer arithmetic, manipulating text
in various ways, recursion, etc. It can
be used either as a front-end to a
compiler, or as a macro processor in
its own right. Alternative address :
http://www.seindal.dk/rene/gnu
The Buzz
For those of you doing research or
development in data mining, you
should consider looking at this project
and see what it can offer you. Weka is
a collection of an assortment of useful
algorithms that can be applied to your
own work and easily incorporated. It
could also be of interest to those in AI
(artifical intelligence). It is platform
independent because it is written in
Java. You will need a JVM in order for
it to work.
GNU m4 is an implementation of the
traditional UNIX macro processor. It
is mostly SVR4 compatible, although
it has some extensions. GNU m4 also
has built-in functions for including
files, running shell commands, doing
arithmetic, etc. Generally, you
probably will not want to work too
much with this program. However,
there will be times when a macro
pre-processor does come in handy.
Autoconf needs GNU m4 for
generating ‘configure’ scripts, but not
for running them.
Status
It is still under active development ; it
was developed and is still maintained
by its original authors Eibe Frank and
Mark Hall. Currently at version 3.4.1,
it is difficult to determine exactly
when the project started, but it has
been registered with SourceForge
since 2000.
It is still under active development ;
René Seindal developed it in 1990. It
appears as if Gary V. Vaughn is the
current developer and maintainer. It is
currently at version 1.4.
81
Tableau A.1: General Purpose Computing (continued)
Product
Make
Listed in : GRAS, IDA
License : GNU GPL.
Description
Make is a tool that controls the
generation of executables and other
non-source files of a program from the
program’s source files. In short, Make
is a tool that takes a file containing the
necessary rules (a Makefile) and then
compiles the source code according to
the rules set out. It is commonly found
in C and C++ programs, but is not
limited to these, and is a very powerful
development tool
The Buzz
Similar to other make commands, the
GNU version has the benefit of
understanding the other versions while
at the same implementing some new
and useful features. One such feature
is its ability to regenerate, use, and
then delete intermediate files that need
not be saved.
Status
Developed by Richard Stallman and
Roland McGrath, it has been
maintained by Paul Smith since
version 3.76 (1997). The pre-GNU
first version dates back to before 1991.
It is currently at version 3.80.
82
Tableau A.1: General Purpose Computing (continued)
Product
OpenJIT
License : BSD-like
license.
Description
The OpenJIT project is an ongoing
Java Just-in-time (JIT) compiler
project as a collaborative effort
between Tokyo Institute of
Technology and Fujitsu Laboratory,
partly sponsored by the Information
Promotion Agency of Japan. It is a
full-fledged Java JIT compiler, able to
execute real-life applications such as
HotJava. OpenJIT is a reflective
compiler, thus it can be extended and
modified. Such an extension is called
“compilets”, and this allows for a
framework where user added
compilets could easily be added to his
compiler customizations. OpenJIT
consists of two major portions. The
first, a front-end performs Bytecode
decompilation, high-level program
analysis and transformation. The
backend performs low-level program
analysis and transformation, code
generation and run-time support. Only
the backend can act as a standalone
JIT compiler. The front-end is meant
to be invoked only when heavy-duty
optimizations are required.
The Buzz
OpenJIT is a “reflective” JIT compiler.
It is almost entirely written in Java and
it also bootstraps and compiles itself
during execution of the user program,
and the compiler components coexist
as first-class objects in user heap
space. Given that it exists as a VM, its
performance is respectable. In 1999,
its SpecJVM score is about half of the
Sun Hotspot and IBM JDK 1.1.8
JIT’s. The user can tailor and
customize the compilation of classes
at runtime for a variety of purposes.
You may want to do this for
application-specific optimization and
partial evaluation, dynamic,
compiler-assisted environment
adaptation of programs, debugging,
language extension and
experimentation, and other types of
advanced compiler-based research and
applications. It is fully JDK compliant,
and plugs into standard JVM.
Status
No longer under active development,
it appears to have first been developed
in 1999. It is currently at version
1.1.16 and development ceased in
2001. Developed as a collaborative
effort between the Tokyo Institute of
Technology and the Fujitsu
Laboratory, it was partly sponsored by
the Information Promotion Agency of
Japan.
83
Tableau A.1: General Purpose Computing (continued)
Product
JBoss
Listed in :
GRAS, GRAM
License : GNU LGPL.
Jikes
Listed in : GRAS
License : IBM Public
License.
Description
The JBoss Application Server is an
open source Java application server
that competes with commercial
software products such as BEA
WebLogic and IBM WebSphere.
Alternative address : http:
//sourceforge.net/project/
showfiles.php?group_id=22866
Jikes is a Java compiler that translates
Java source files as defined in the Java
Language Specification (JLS) into a
Bytecode instruction set and binary
format as defined in the Java Virtual
Machine Specification (JVMS).
The Buzz
It can be used anywhere from a simple
PC to a Sun E15K with more than a
hundred processors. It can be scaled to
as large a system as you have.
Apparently more secure than BEA
WebLogic, JBoss leads the way in
automation and enterprise readiness.
Sun Microsystems has certified JBoss
as J2EE compliant. JBoss is a
powerful application server and can
scale to anything you could throw at it.
It is written in 100% pure Java and is
fully J2EE standards-compliant.
Because there are already many Java
compilers, you may wonder why you
would want to look at Jikes. Some
reasons are that it is open source and
is OSI Certified Open Source
Software. It adheres strictly to the JLS
and JVMS and does not support any
variations on the language. It is a high
performance compiler that makes it
ideal for large projects. It offers a
Dependency Analysis that offers two
useful features : incremental builds
and Makefile generation. Finally, it
offers Constructive Assistance which
helps the to user to write better code
and point out common programming
mistakes. However, you should know
that it is only a compiler, not an IDE.
Status
Still under active development, it was
started in 1999 as an open source
Enterprise JavaBeans (EJB) container.
Currently at stable release 3.2.3, and
there are currently 96 developers
working on. There are four project
maintainers who are Juha Lindfors,
Marc Fleury, Bill Burke, and Scott M.
Stark. The project registered with
SourceForge in 2001.
Still under active development, it is
currently at version 1.19. Originally
developed by Philippe Charles and
Dave Shields of the IBM T. J. Watson
Research Center, the first binary
version was released in 1997 on the
IBM AlphaWorks website. Jikes for
Linux was released in 1998. While the
authors continue to devote some time
to the project, they have been officially
moved on to other projects within
IBM. Today contributors in the open
source community work on Jikes.
84
Tableau A.1: General Purpose Computing (continued)
Product
CVS
Listed in :
GRAS, GRAM
License : GNU GPL.
Description
CVS is the Concurrent Versions
System, the dominant open-source
network-transparent version control
system. CVS is useful for everyone
from individual developers to large,
distributed teams. Its client-server
access method lets developers access
the latest code from anywhere there is
an Internet connection. Its unreserved
checkout model to version control
avoids artificial conflicts common
with the exclusive checkout model. Its
client tools are available on most
platforms.
The Buzz
The natural evolution of SCCS/CSSC
and RSC, it is the de facto standard for
software development versioning
systems. After all, SourceSafe is just a
Microsoft implementation of it, but at
$500 a head. Client software can be
used on just about every major
platform, and it integrates nicely into
many different IDE’s, and especially
well with Eclipse.
Status
Still under active development, it is
currently at version 1.12.6. The project
was started in 1993. Ian Taylor, Jim
Kingdon, Noel Cragg developed it, but
there are many additional developers
and contributors. However, it cannot
be accurately verified who was the
original developer of the project.
85
Tableau A.1: General Purpose Computing (continued)
Product
Autoconf
Listed in : GRAS
License : GNU GPL.
Description
Autoconf is an extensible package of
m4 macros that produce shell scripts
to automatically configure software
source code packages. These scripts
can adapt the packages to many kinds
of UNIX-like systems without manual
user intervention. Autoconf creates a
configuration script for a package
from a template file that lists the
operating system features that the
package can use, in the form of m4
macro calls.
The Buzz
Generally, well made software
packages use Autoconf to find all of
the necessary libraries and
executables, as well as setup
environment variables that will be
needed to have a clean compilation of
a given software product. Run as the
script “configure,” it can save large
amounts of time in compilation by
finding and fetching its prerequisites.
You will appreciate using this for large
software packages, and others will
appreciate you using this in your
packages that you will distribute.
Poorly designed packages do not use
Autoconf. Using it also helps to
compensate for some
platform-specific dependencies such
as library locations and versions.
Status
Still under active development, it is
currently at version 2.59. David
MacKenzie originally wrote it, with
the help of others. Ben Elliston has
since taken over the maintenance for
Autoconf. Today there are five
maintainers for the project. The
project first started in 1992.
86
Tableau A.1: General Purpose Computing (continued)
Product
Automake
Listed in : GRAS
License : GNU GPL.
Autogen
License : GNU GPL.
Description
Automake is a tool for automatically
generating Makefiles compliant with
the GNU Coding Standards.
Autogen is a tool designed for
generating program files that contain
repetitive text with varied
substitutions. Its goal is to simplify the
maintenance of programs that contain
large amounts of repetitious text. This
is especially valuable if there are
several blocks of such text that must
be kept synchronized in parallel tables.
The Buzz
Automake is a tool for automatically
generating Makefile.ins from files
called Makefile.am. Automake
requires Perl in order to generate the
Makefile.ins. The typical Automake
input file is simply a series of variable
definitions. Each such file is processed
to create a Makefile.in. There should
generally be one Makefile.am per
directory of a project. The GNU
Makefile Standards Document is long,
complicated, and subject to change.
The goal of Automake is to remove
the burden of Makefile maintenance
from the back of the individual GNU
maintainer.
Although this tool may not be suitable
for everyone, it is easy to learn. It is of
high value for those who have lots of
repetitive texts in multiple files and do
not wish to have to re-edit each file
every time a small change is made to
some of the text. Instead, use Autogen.
You will see that if this is the case for
your current development project, then
this is the tool for you.
Status
Still under active development, it is
currently at version 1.8.3. Originally
written by David MacKenzie, he is
joined by two other developers. The
project was first started in 1994.
Still under active development, the
original authors of the program are
Bruce Korb and Gary V. Vaughn.
There are however other developers
who work on the project. It is
currently at version 5.5.7. The project
appears to have started in 1999.
87
Tableau A.1: General Purpose Computing (continued)
Product
CLisp
License : GNU GPL.
Description
Common Lisp is a high-level,
all-purpose, object-oriented, dynamic,
functional programming language.
LISP is an acronym for LISt
Processing. Lisp is generally
considered a third Generation
Language (3GL), as it is a general
purpose, text-based language
comparable to Smalltalk, Ada, C/C++,
Fortran, etc.
The Buzz
Lisp has evolved into a family of
languages. The two major dialects in
use today are Common Lisp and
Scheme. Lisp has evolved with the
field of Computer Science, always
putting the best ideas from the field
into practical use. Common Lisp is the
result of a standardization effort,
which began in the early 1980s. This
is a highly portable, industrial strength
Lisp with a variety of implementations
and a wealth of tools and applications.
CLisp runs on most UNIX platforms
and on Win32 and needs only 2 MB of
RAM. CLisp includes an interpreter, a
compiler, almost all of CLOS, a
foreign language interface and a
socket interface. CLisp supports most
of the ANSI Common Lisp features.
Status
John McCarthy invented Lisp in the
late 1950’s as a formalism for
reasoning about the use of recursion
equations as a model for computation.
Of computer languages still in
widespread use today, only
FORTRAN is older. In 1994,
Common Lisp became the first ANSI
standard to incorporate object-oriented
programming. Still under active
development, it is currently at version
2.33. CLisp is a Common Lisp
implementation by Bruno Haible, then
of Karlsruhe University, and Michael
Stoll, then of Munich University, both
in Germany. The project was started in
1992.
88
Tableau A.1: General Purpose Computing (continued)
Product
GCL
License : GNU LGPL.
Description
GCL is a Common Lisp currently
compliant with the ANSI Common
Lisp standard. GCL compilation
produces native code through the
intermediary of the system’s C
compiler, from which GCL derives
efficient performance and high
portability. It currently uses Tcl/Tk for
its GUI. Alternative address : http:
//www.gnu.org/software/gcl
The Buzz
Perhaps you may want to use this
program because it is tightly
integrated with GCC, and thus you
will able to use GDB and be able to
fully exploit. In addition, it will allow
you to use GCC as a cross-platform
compiler.
Status
It is still under active development. It
is currently at version 2.5.3. Taiichi
Yuasa and Masami Hagiya wrote the
original system KCL in 1984. The
AKCL system was started in 1987 by
William Schelter and continued
through to 1994. A number of people
have contributed ports and pieces. In
1994, AKCL was released as GCL
under the GNU public library license.
Dr. Schelter was working at the
Department of Mathematics at the
University of Texas.
89
Tableau A.1: General Purpose Computing (continued)
Product
GNU Pascal
License : GNU GPL.
Description
GNU Pascal is an open source
implementation of the Pascal
programming language.
The Buzz
It is a 32 and 64-bit compiler, and it
does not have limits like the 64 KB or
640 KB limit known from certain
operating systems. It runs on all
operating systems supported by GNU
C, and can act as a native or as a cross
compiler between all supported
systems. It produces highly optimized
code and is compatible with other
GNU languages and tools such as
GNU C and the GNU debugger. It is
compatible with Borland Pascal 7.0
with objects. However, GDB does not
yet understand Pascal syntax and
types. You will have to use C syntax
when debugging Pascal programs with
GDB. In addition, with GPC you will
get longer compilation times than with
Borland Pascal.
Status
Still under active development,
although the latest stable release dates
back to 2002, it does appear as if the
GNU Pascal team is still busy at work.
It is currently at stable release version
2.1. Jukka Virtanen initiated the GNU
Pascal effort in 1988. Since then there
have been other developers and
maintainers of the project. However,
Frank Heckenbach appears to be the
current maintainer and lead developer.
90
Tableau A.1: General Purpose Computing (continued)
Product
GNU Prolog
License : GNU GPL.
Description
GNU Prolog is a free Prolog compiler
with constraint solving over finite
domains. It accepts a Prolog+
constraint program and produces a
native binary. Besides the native code
compilation, GNU Prolog offers a
classical interactive interpreter
(top-level). It also conforms to the ISO
standard for Prolog.
The Buzz
The obtained executable is now
stand-alone. This executable can be
quite small since GNU Prolog does
not need to link the code of most
unused built-in predicates. The
program also includes an efficient
constraint solver over Finite Domains
(FD). This opens constraint logic
programming to the user, combining
its power with the declarativity of
logic programming. It also has its own
debugger and powerful bidirectional
interface between Prolog and C. Its
executables are very small and very
fast. You can expect equal or better
performance from GNU Prolog than
you would from a commercial Prolog
compiler.
Status
GNU Prolog started in January 1996
under the project name Calypso. It is
currently at version 1.2.16. It was
developed and is still maintained by its
original author Daniel Diaz. However,
the source code has not undergone any
changes since 2002 ; it does appear to
still be under active development.
91
Tableau A.1: General Purpose Computing (continued)
Product
Ulm’s Modula-2
License : GNU GPL.
Checker
License : GNU GPL.
Description
Ulm’s Modula-2 System is an open
source software development
environment for Modula-2 that runs
on several UNIX systems.
Checker is a tool that finds memory
errors at runtime. Its primary function
is to emit a warning when the program
reads an un-initialized variable or
memory area, or when the program
accesses an unallocated memory area.
The Buzz
The SPARC-specific implementation
of the library module MathLib has
been partially derived from the GNU
C Library and includes software
developed by the University of
California, Berkeley and its
contributors. The software includes its
own make Makefile program,
compiler, debugger, and beautifier. It
also includes a program to convert
Pascal programs to Modula-2, and
sports a Modula/Prolog interpreter.
Source code is not available ; only the
binary forms are available for
SPARC-Solaris or the Motorola 68020
processor.
The Malloc library of Checker is very
robust, though a bit slower than the
usual GNU Malloc. Checker’s Malloc
will refrain from reusing a freed block
immediately. This is to catch accesses
to the block shortly after it has been
freed. Checker implements a garbage
detector that can be called either from
your program, by a debugger such as
GDB, or on exit from the program.
The garbage detector displays all the
memory leaks along with the
functions that called Malloc.
Status
No longer under active development,
the project has ceased since 2000. It is
currently at version 3.0b8. The author
of the program is Andreas Borchert.
Ulm’s Modula-2 and the origins of the
compilers have been designed and
developed at the Department of
Computer Science, ETH Zurich in
Switzerland by Niklaus Wirth and his
team. In December 1981, the sources
of the M2M compiler were licensed
and new compilers were derived for
the m68k processor and the SPARCv8
architecture.
Currently at version 0.9.4, it does not
appear to be under active
development. The maintainer of the
project is Ben Pfaff, and the last
developer is Tristan Gingold. Cannot
determine when the project actually
started.
92
Tableau A.1: General Purpose Computing (continued)
Product
Dbg
License : GNU GPL.
Description
The DBG library is a set of C++
utilities to facilitate modern debugging
idioms. It provides various constraint
checking utilities together with an
integrated error logging facility. These
utilities are flexible and customizable.
They can be enabled and disabled at
runtime, and in release builds, Dbg
library use can be compiled away to
nothing.
The Buzz
DBG has been designed to support
defensive programming techniques in
modern C++ code. It integrates well
with standard library usage and has
been carefully designed to be easy to
write, easy to read and very easy to
use. Because rich debugging can only
be implemented in large code bases
from the outset, it is hard to retrofit
full defensive programming
techniques onto existent code. For this
reason, it is good practice to use a
library like Dbg when you start a new
project. By using Dbg extensively you
will find bugs quicker, and prevent
more insidious problems rearing their
head later in the project’s life. It works
with GCC, but it is uncertain if it will
work with other compilers.
Status
Still under active development, it is
currently at version 1.2. The author of
the project is Peter Goodliffe. The first
public release was in 2001.
93
Tableau A.1: General Purpose Computing (continued)
Product
ElectricFence
License : GNU GPL.
Kdbg
License : GNU GPL.
Description
Electric Fence stops your program on
the exact instruction that overruns (or
underruns) a malloc() memory buffer.
Electric Fence is a different kind of
malloc() debugger. It uses the virtual
memory hardware of your system to
detect when software overruns the
boundaries of a malloc() buffer.
Because it uses the VM hardware for
detection, GDB can then be used to
display the line of source-code that
caused the bug. Alternative address :
http://freshmeat.net/projects/
efence?topic_id=47 FTP site :
ftp://ftp.perens.com/debian/
pool/main/e/electric-fence
Kdbg is a graphical user interface to
GDB, the GNU debugger. It provides
an intuitive interface for setting
breakpoints, inspecting variables, and
stepping through code.
The Buzz
It works by using the virtual-memory
hardware to create a red-zone at the
border of each buffer - touch that, and
your program stops. Catch all of those
formerly impossible-to-catch overrun
bugs that have been bothering you for
years. It will also detect any access of
memory that has been released by
free().
Status
It is still under active development.
Bruce Perens developed it. It is
currently at version 2.1.13. Although
it cannot be accurately stated when the
project actually began, it can be traced
to 2.0.1 which dates back to before
1993.
This project adds little to your ability
to actually be able to debug with GDB
except that now you have a nice GUI
designed specifically to work in a
KDE environment. Tastes for
debugging vary, while some prefer to
debug from the command line, others
prefer using more user-friendly
alternatives such as a GUI. Also,
please note that Kdbg only handles C
and C++ code.
Developed by Johannes Sixt, it is still
under active development. It is
currently at version 1.2.9. It cannot be
determined precisely when the project
started, but that the Changelog
mentions that 0.2.5 support KDE 1.0
and Qt 1.33. Thus, it is very likely that
the project dates back to 1999 or 1998,
if not earlier.
94
Tableau A.1: General Purpose Computing (continued)
Product
Memwatch
License : GNU GPL.
Strace
License : GNU GPL.
Description
It is a memory-leak detection tool for
C. It works by you adding a header file
to your source code files, and then
compile with Memwatch. The header
file Memwatch.h contains detailed
instructions for finding memory leaks.
It is fault tolerant as it can repair its
own data structures and detects
overflow and underflow to memory
buffers. It can detect wild pointer
writes and detects un-freed memory.
Strace is a system call trace program.
In other words, it is a debugging tool
that prints out a trace of all the system
calls made by another
process/program. The program to be
traced does not need to be recompiled
for this. Therefore, you can use it on
binaries which are not executing or for
which you do not have any available
source code.
The Buzz
Memwatch cannot catch all wild
pointer writes. It can catch those it
could make itself due to your program
attempting to overwrite Memwatch’s
internal data structures. It works with
GCC and should work with other
compilers, but you will have to try it
first to be sure. It may also have some
difficulty with 64-bit compilers (see
the FAQ for workarounds). It should
work on most platforms, but you will
again have to compile and test it for
yourself. It should work on most
UNIX platforms at the very least. In
addition, it was designed for use with
the C programming language,
although it should work with C++.
System calls and signals are events
that happen at the user/kernel
interface. A close examination of this
boundary is very useful for bug
isolation, sanity checking and
attempting to capture race conditions.
It should work under Linux, SunOS,
Solaris, and FreeBSD.
Status
It is still under active development.
Johan Lindt wrote it. It is currently at
version 2.71. It cannot be determined
when the project actually started.
Still under active development, the
current version is 4.5.2. Its three
primary authors are Paul Kranenburg,
Branko Lankester, and Rick Sladkey.
The program’s initial public release
appears to be in 1994.
95
Tableau A.1: General Purpose Computing (continued)
Product
FlawFinder
Listed in : GRAM
License : GNU GPL.
Description
FlawFinder searches through C/C++
source code looking for potential
security flaws. FlawFinder will
produce a list of hits (potential
security flaws), sorted by risk ; the
riskiest hits are shown first. The risk
level is shown inside square brackets
and varies from zero, very little risk,
to five, great risk. This risk level
depends not only on the function, but
also on the values of the parameters of
the function.
The Buzz
All you have to do is specify files or
directories and FlawFinder will
continue with no further intervention.
It can also produce HTML output
instead of displaying to your console
as simple text. You must still have the
judgement to determine when a hit is a
hit and when it is a miss. However,
using this tool frequently on your
constantly developing source code
should help enable you to develop
tighter, more secure code, with less
buffer overflows. You may encounter
some bugs while using FlawFinder
under Cygwin. The program actually
reading through your source code and
determining whether or not they
contain security holes in written in
Python.
Status
It is still under active development.
David A. Wheeler, who compiled the
GRAM list used throughout this
document, developed it. Currently at
version 1.24, the initial release dates
back to 2001.
96
Tableau A.1: General Purpose Computing (continued)
Product
Maketool
License : GNU GPL.
Description
Double-clicking on errors starts an
editor with that file and line. It offers
special handling for standard GNU
targets such as all, install, clean, etc. It
supports Make in series or in parallel,
(using Make’s -j and -l flags). It now
also supports Solaris make, IRIX
Smake, and BSD Pmake. It works on
most major UNIX operating systems.
Maketool is a simple GTK+ based
GUI front end for GNU make and
other make programs. It offers a wide
array of options and functionalities to
allow you to easily generate a
functional make file. Maketool can be
usefully used to compile large
multiple-directory projects like the
Linux kernel. You can configure the
colours Maketool uses to colour-code
errors and warnings to cater to your
preferences.
The Buzz
It works with any Makefile system
that uses GNU make. It can
automatically update your Makefiles if
projects use Automake, Autoconf or
Make. It figures out what targets are
available and presents them in a menu.
It can run make and detect compiler
errors and warnings in the output.
Status
Still under active development, it is
currently at version 0.8.4. It appears to
have been developed by Greg Banks
and it appears to have been started in
1999.
97
Tableau A.1: General Purpose Computing (continued)
Product
P2C
License : GNU GPL.
NCC
License : Not available.
Description
P2C is a tool for translating Pascal
programs into C. The input consists of
a set of source files and Output is a set
of .c and .h files that comprise an
equivalent program in any of several
dialects of C. Output code may be
kept machine and dialect-independent,
or it may be targeted to a specific
machine and compiler.
NCC is a tool designed to provide
program data analysis of C source
code. In other words, it provides
shows program flow and the usage of
variables. Some big programs which
you have to maintain may be difficult
to understand due to the size,
programming style, patches upon
patches, or other crazy things, etc. In
order to do program analysis correctly,
there has to be compilation of
expressions, and thus NCC is really a
compiler of expressions.
The Buzz
The following Pascal dialects are
supported : HP Pascal, Turbo/UCSD
Pascal, DEC VAX Pascal, Oregon
Software Pascal/2, Macintosh
Programmer’s Workshop Pascal,
Sun/Berkeley Pascal, Texas
Instruments Pascal, Apollo Domain
Pascal. Modula-2 syntax is also
supported. Most reasonable Pascal
programs are converted into fully
functional C that will compile and run
with no further modifications,
although P2C sometimes chooses to
generate readable code at the expense
of absolute generality.
A powerful program to use in order to
better understand how your source
code works, find its bugs, and
understand its internals in a revealing
light. It can also be used to help
explore pointers including their
initialization values and to what
different pointers reference them to or
from. However, this is not an easy
program to figure out. Once you
understand the NCC output for a given
program you will be able to
understand your source code, or better
yet, someone else’s which you are
trying to maintain to no avail suddenly
becomes more clear and manageable.
Status
The project is no longer under active
development. Although it is being
hosted by Debian, it is a part of the
GNU FSF. It was written and was
maintained by Dave Gillespie. It is
currently at version 1.21alpha2. The
project appears to have been started in
1989.
Still under active development, it is
currently at version 1.8. Cannot
determine either the developers or
maintainers of the program or when
the project was started.
98
Tableau A.1: General Purpose Computing (continued)
Product
HexCurse
License : GNU GPL.
Description
HexCurse is a versatile Ncurses-based
hex editor written in C that provides
the user with many features. It
currently supports hex and decimal
address output, jumping to specified
file locations, searching, ASCII and
EBCDIC output, bolded
modifications, an undo command,
quick keyboard shortcuts, and more.
The Buzz
Although it is another file viewer and
editor, it is included in this section
because it supports EBCDIC and it is
Ncurses-based and thus is of more
valuable use to programmers and
developers as a tool than as any editor
per se. Compiles and works on the
majority of UNIX platforms, and
should work under Cygwin.
Status
No longer under active development,
it has two authors who use only their
aliases, Jewfish and Armoth. Currently
at version 1.55, the initial release was
in 2001 and development ceased in
2002.
99
Tableau A.1: General Purpose Computing (continued)
Product
Java
License : Binary Code
License for Java 2
Runtime Environment
(J2RE).
Description
The Java Platform is a new operating
environment different from many
other platforms like Microsoft
Windows, Macintosh, UNIX, etc. It is
designed to deliver and run
applications on networked computer
system. The Java Platform acts as a
layer on top of these operating
systems. Therefore, the same
application written in the Java
language can run securely on any
system, as long as that system
supports the Java Virtual Machine.
Sun Microsystems has packaged the
Java 2 Platform into three editions :
J2ME, J2SE and J2EE.
The Buzz
The Java technology allows
developers to bring the Web and Web
development further than before. The
Java platform brings the benefit of
“Write Once, Run Anywhere” to
applications, services and
technologies. The main idea with Java
technology is that the Internet and
private networks become your
computing environment.
Status
Still under active development, the
Java RE is currently at version
1.4.2_02. Java has undergone many
transformations over the years, and
now developers are no longer required
to use Java products from Sun. Many
companies like IBM and SGI now
bundle their own JVM’s with their
systems, as using Java compilers such
as Jikes, developers can move away
from Sun Java altogether. The choice
is yours. On May 23, 1995, John
Gage, director of the Science Office
for Sun Microsystems, and Marc
Andreessen, cofounder and executive
vice president at Netscape, stepped
onto a stage and announced to the
SunWorld audience that Java
technology was real, it was official,
and it was going to be incorporated
into Netscape Navigator, the world’s
portal to the Internet. Bill Joy is
widely believed to have been the
person to conceive of the idea of a
programming language that later
became Java. In the late 1970’s Joy
wanted to design a language that
combined the best features of MESA
and C. In an attempt to re-write the
UNIX operating system in 1980’s, Joy
decided that C++ was inadequate for
the job.
100
Tableau A.1: General Purpose Computing (continued)
Product
A+
License : GNU GPL.
Description
A+ is a powerful and efficient
programming language, which
embodies a rich set of functions and
operators, a modern graphical user
interface with many widgets and
automatic synchronization of widgets
and variables. It even supports
asynchronous execution of functions
associated with variables and events,
dynamic loading of user-compiled
subroutines, and many other features.
The Buzz
It is an interpreted language ; however,
the interpreter is efficient and very
fast. Primarily, it was written to
support the large manipulation of
arrays and numbers required for the
computationally intensive financial
models at Morgan Stanley, where it
was developed. A+ has many
similarities to the APL programming
language. Using the Morgan Stanley
Tool Kit, it is possible to write GUI
programs that are powerful and fast, as
well as easy to write. It is available for
the majority of modern computer
operating systems found today on the
market.
Status
Still under active development, it is
currently at version 4.20. A+ is based
on the language A that was created by
Arthur Whitney at Morgan Stanley in
1988. Morgan Stanley was at the time
in search of a suitable form of APL to
run on SunOS because of they were in
process of migrating from
mainframes. However, no good
substitutes were found. Over the
course of the next few years, as the
business began to reap tangible value
from the efforts, the pieces were
shaped into a consistent whole and
became A+. The “+” referred to the
electric graphical user interface. An
A+ development group was formally
created in 1992. A+ soon became the
language of choice for development of
Fixed Income applications. Arthur
Whitney is still the lead developer and
maintainer of the project ; the project
is still funded by Morgan Stanley.
101
Tableau A.1: General Purpose Computing (continued)
Product
Bugzilla
License : Not available.
Copyright The Mozilla
Organization.
Ruby
License : Ruby License
Agreement or GNU
GPL.
Description
Bugzilla is one example of a class of
programs known as bug-tracking
systems. Bug-tracking systems are
programs that allow developers to
keep track of their outstanding bugs
and help them to manage them more
efficiently. As most commercial
bug-tracking systems have enormous
costs associated to them, Bugzilla
could be a sensible choice for many
developers. Bugzilla offers many
advanced options and can be easily
compiled on many different platforms.
Ruby is an interpreted object-oriented
programming language. Similar in
functionality to Perl, it is very
scaleable and has excellent text
processing facilities. You can use
Ruby to write your own client/server
applications, as well as write tools for
system administrations tasks that Perl
is often used for, and for your
everyday programming tasks.
The Buzz
Originally written in Tcl, it is now
entirely written in Perl, and thus
should be portable to most modern
operating systems and development
environments. It can also integrate
with your CVS tree and supports
advanced reporting capabilities. It is
adaptable to many different situations
and to many different environments. It
can provide a documented workflow
and boasts high performance. You can
use Bugzilla to extrapolate milestones,
and by using Bugzilla’s e-mail
integration features be able to follow
the discussion trail that led to critical
decisions.
Ruby offers blocks, iterators, and
meta-classes. It offers a simple syntax,
operator overloading, exception
handling, closures, garbage
collections, and dynamic loading. It is
a highly portable programming
language. Therefore, it will work on
the majority of operating systems
currently available.
Status
Still under development, it was
originally written by Terry Weissman
to replace the bug-tracking system for
Netscape Communications. It is
currently at stable release 2.16.5. The
project dates back to at least 1998. It is
currently developed by many
developers by the international
community. It cannot readily be
determined who are the lead
developers and maintainers of the
project.
Still under active development, it is
currently at stable release version
1.8.1. It was written and is still
developed and maintained by its
creator, Yukihiro Matsumoto. The first
release of Ruby dates back to 1997.
102
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
PVM scales on just about every major
architecture there is. It is provides an
easy programming paradigm, and is
most commonly found on Beowulf
clusters. It used everywhere from
small in-house simulations up to the
largest laboratories found at Los
Alamos National Laboratory or even
at NASA. Through the use of a master
node and multiple slave nodes, the
master node pushes out the work to be
done by the slaves, and when it
receives the results, it then continues
sending out more work. Sometimes
the newly released work can be based
on previous calculations, or not. Most
developers of parallel-clustered
applications usually start with PVM,
and then some move on to more
advanced technologies such as MPI or
OpenMP. With PVM you can create
clusterable applications written in C,
C++, and Fortran.
No longer under active development,
it was written by J. J. Dongarra, G. E.
Fagg, G. A. Geist, J. A. Kohl, R. J.
Manchek, P. Mucci, P. M.
Papadopoulos, S. L. Scott, and V. S.
Sunderam. PVM 3 was partly funded
by the Department of Energy, the
National Science Foundation, and the
State of Tennessee. Development
ceased in 2001. The PVM project
began in the summer of 1989 at Oak
Ridge National Laboratory. V. S.
Sunderam and G. A. Geist constructed
the prototype system, PVM 1.0.
Distributed Computing Software :
PVM
License : PVM License.
PVM is a software library that is used
when you develop own code, or port
someone else’s code. PVM is a
collection of functions and routines
that simplify the programming process
for writing multi-threaded,
multi-processor, multi-platform
applications. Your programs can be
very simple in nature to highly
complex protein folding simulations.
In essence, what it does is create one
large homogenous parallel virtual
machine running on heterogeneous
hardware.
103
Tableau A.1: General Purpose Computing (continued)
Product
XPVM
License : XPVM
License.
Description
XPVM provides a graphical interface
to the PVM console commands and
information, along with several
animated views to monitor the
execution of PVM programs. These
views provide information about the
interactions among tasks in a parallel
PVM program, to assist in debugging
and performance tuning.
The Buzz
You should use this program if you
plan to work or develop with PVM.
However, the larger your cluster, the
more you will want to use this
program to help manage your nodes
and their PVM processes. It should be
noted, though that XPVM is buggy on
some installations. Its most stable
incarnation is on Linux. Use it to show
your PVM-networked view or a
Space-Time view of the PVM threads.
It is written in C and Tcl/Tk.
Status
No longer under active development,
the last release was in 1998. The
project appears to have been started in
1995 and is currently at version 1.2.5.
The author and maintainer of the
program was Dr. James Arthur Kohl
of the Oak Ridge National Laboratory.
104
Tableau A.1: General Purpose Computing (continued)
Product
MPICH
License : MPICH
License.
Description
Message Passing Interface (MPI) is a
specification for a standard library for
message passing that was defined by
the MPI Forum, a broadly based group
of parallel computer vendors, library
writers, and applications specialists.
Multiple implementations of MPI
have been developed over the years.
The goal of MPI is to create a
high-performance set of libraries and
routines that could be used on any
platform or architecture to solve the
most challenging computation
problems. MPICH goes beyond PVM.
It is an open source implementation of
the MPI standards that were put forth
by the MPI Forum. It is made
available to everyone in the global
community. There are many vendors
who charge exorbitant prices for their
own MPI implementations.
The Buzz
MPICH is both a research project and
a software development project. As a
research project, its goal is to explore
methods for narrowing the gap
between the programmer of a parallel
computer and the performance that
could be delivered by its hardware. As
a software project, the goal of MPICH
was to promote the adoption of the
MPI Standard by providing users with
a free, high-performance
implementation on a diversity of
platforms, while aiding vendors in
providing their own customized
implementations. MPICH, like PVM,
supports multiple architectures and
platforms that can work together in
unison to crunch away at your large
computational problems. Like PVM,
you can also write your programs in
C, C++, and Fortran.
Status
At the Supercomputing Conference in
1992, two individuals, Gropp and
Lusk volunteered to develop an
immediate implementation of MPI
that would track the Standard
definition as it evolved. The first
version of MPICH was released in
1992. The MPI Standard was released
in 1994, and has been evolving ever
since. MPICH is currently at version
1.2.5.2. It cannot be determined who
the current programmers and
maintainers of the project are. It no
longer appears to be under active
development.
105
Tableau A.1: General Purpose Computing (continued)
Product
MPI LAM
License : LAM/MPI
License.
Description
LAM/MPI is a high quality
implementation of the Message
Passing Interface (MPI) Standard.
LAM/MPI provides high performance
on a variety of platforms, from small
off-the-shelf single CPU clusters to
large SMP machines with high-speed
networks, even in heterogeneous
environments. In addition to high
performance, LAM provides a number
of usability features key to developing
large-scale MPI applications.
The Buzz
You will often find LAM/MPI in
Linux distributions. With TCP/IP,
LAM imposes virtually no
communication overhead, even at
gigabit Ethernet speeds. New
collective algorithms exploit
hierarchical parallelism in SMP
clusters. It has support for the Globus
Toolkit and can work with other
implementations of MPI.
Status
Still under active development, it was
started in 1994 at the Ohio State
University. From 1998 to 2001 it went
to Notre Dame University, and from
2001 to present is at the University of
Indiana. It is currently at version 7.0.4.
The following individuals are
currently developing it : Brian Barrett,
Prashanth Charapalli, Amey
Sharachandra Dharurkar, Anju
Kambadur, Andrew Lumsdaine,
Vishal Sahay, Nihar Sanghvi, Sriram
Sankaran, Shashwat Srivastav, and Jeff
Squyres.
106
Tableau A.1: General Purpose Computing (continued)
Product
Globus Toolkit
License : GNU GPL.
Description
The Globus Toolkit is an open source
software toolkit used for building
grids. The core infrastructure of the
Globus Toolkit is based on the Open
Grid Services Infrastructure (OGSI)
primitives and protocols. The main
design goal has been to make the
OGSI technology easy to use, reuse,
and extend when developing new Grid
applications. The OGSI primitives
implemented offer support for
soft-state management, inspection,
notification, discovery and global
instance naming. The open source
Globus Toolkit is a fundamental
enabling technology for the “grid,”
letting people share computing power,
databases, and other tools securely
online across corporate, institutional,
and geographic boundaries without
sacrificing local autonomy.
The Buzz
In addition to an open source
implementation of all the OGSI
defined protocols, the Globus Toolkit
provides various hosting environments
built around a container abstraction.
The container enables portable OGSI
compliant Grid services to be
developed without any knowledge of
the underlying protocols and transport
bindings. The Globus Toolkit can be
seen as the set of building blocks we
consider essential for all Grid
applications. The OGSI primitives
implemented offer support for
soft-state management, inspection,
notification, discovery and global
instance naming. Additionally, it is
comprised of a security infrastructure,
and a number of system-level services,
such as logging, management, and
administrative Grid services. The
toolkit includes software services and
libraries for resource monitoring,
discovery, and management, plus
security and file management. For
anyone wishing to implement a Grid
infrastructure, this is an indispensable
tool.
Status
Still under active development, and is
currently at version 3.4. Version 1.0
was released in 1998 and version 2.0
was released in 2000. In 2002 the
project earned a prestigious R&D 100
award, given by R&D Magazine in a
ceremony where the Globus Toolkit
was named “Most Promising New
Technology” among the year’s top 100
innovations. Rick Stevens of Argonne
National Laboratory and Tom Defanti
at the University of Illinois at Chicago
attempted to create a national grid for
two weeks before and during the
Supercomputing ’95 conference. They
eventually received funding from
DARPA that led to the development of
the first release in 1998. The Globus
Alliance is currently developing it.
107
Tableau A.1: General Purpose Computing (continued)
Product
Ganglia
License : BSD.
Description
Ganglia is a scalable distributed
monitoring system for
high-performance computing systems
such as clusters and Grids. It is based
on a hierarchical design targeted at
federations of clusters. It leverages
technologies such as XML and XDR,
as well as RRDTool.
The Buzz
Running on a wide variety of
hardware, and designed specifically
for use within clustered heterogeneous
systems, it can be used for monitoring
your more critical systems. Its best
feature is its ability to get data from
remote systems and produce graphs
produced by using by RRDTool. It has
been used on hundreds of clusters
around the world, and can scale to
more than 2000 nodes per cluster.
Status
The project appears to have started in
2001, and is currently at version 2.5.6.
The main developer appears to be
Matt Massie, however, there are many
other developers involved.
108
Tableau A.1: General Purpose Computing (continued)
Product
IBM CSM
License : IBM
Proprietary Software.
Description
CSM is IBM’s response to cluster
management software for
homogenous systems and networks. It
is, in effect, a single point system
administration, configuration, and
error monitoring software that is
available for both Linux and AIX.
The Buzz
While the source code is not available,
it at least has been ported to Linux and
IBM’s own AIX operating system.
Designed to work even better with
IBM’s own Xseries PC workstations
and servers, it still does work with
other non-IBM manufactured PC’s,
although much of the error monitoring
functionality may not be available or
applicable. It works in a client/server
architecture, where the system from
which you will be performing the
administration is generally the server,
collecting data and controlling remote
machines via a client daemon. The
server system can also have a client
installed so as to manage itself. Use
CSM if you plan to deploy either
Linux and/or AIX-based clusters and
require resource monitoring,
automated monitoring and operation,
remote hardware control, remote
command execution, security,
configuration file management,
parallel network installation, and
diagnostics.
Status
Still under active development, this
tool was released towards the end of
2001 when IBM officially announced
that it would begin by selling and
marketing Linux-based products and
solutions. At the time, it was at
version 1.0 and it is currently at
version 1.3 and has evolved to keep
pace with the changes in Linux as well
as with own its AIX operating system.
109
Tableau A.1: General Purpose Computing (continued)
Product
OpenMosix
License : GNU GPL.
Description
OpenMosix is a Linux kernel
extension for single-system image
clustering which turns a network of
ordinary computers into a
supercomputer. In short, it takes
systems that are running only one
instance of the Linux operating
system, and through recompilation of
the Linux kernel using the OpenMosix
extensions enables the originally
independent operating system
instances to work together as if they
were the same. In effect, it extends the
kernel over multiple systems.
The Buzz
A powerful and easy to use tool, the
most complex issue you will face will
be recompiling your kernel.
Depending on the distribution and its
version, some are easier to recompile
than others are. Once it is installed, the
systems begin talking to each other
and behaving as if they were merely
extensions of one another. This
technology is of little benefit to those
running single threaded applications,
but for those who have large, number
intensive, multi-threaded applications,
you will see a tremendous gain in
performance, up until your network
becomes the bottleneck. Rather than
have to use intermediary libraries such
as PVM and MPI, it will be easier to
code your programs in your own
multi-threaded fashion. It supports
only the x86 architecture.
Status
Still under active development, it is
currently at version kernel-2.4.22.
OpenMosix is the GNU GPL version
2, open source project to extend the
work done by the Mosixproject
because new releases of Mosix
became proprietary software as of late
2001. The OpenMosix project began
as of February 10th 2002 by Moshe
Bar in order to progress the work
Mosix. Mosix used to be an open
source project until the licensing
scheme changed.
110
Tableau A.1: General Purpose Computing (continued)
Product
Mosix
License : Mosix System
Software License
Agreement.
CFEngine
License : GNU GPL.
Description
Mosix is the precursor to the
OpenMosix project. It does however,
support one important feature which
the OpenMosix project does not,
Massive Parallel I/O.
CFEngine or the configuration engine
is an autonomous agent and a middle
to high-level policy language for
building expert systems that
administrate and configure large
computer networks. CFEngine uses
the idea of classes and a primitive
intelligence to define and automate the
configuration and maintenance of a
system state, for small to huge
configurations.
The Buzz
Although not open source like
OpenMosix, it can still be used in
many different projects you may have.
You still have access to the source
code, and can recompile it into your
Linux kernel. The only setback is that
you have less flexibility with as to how
you can use the source code. However,
Mosix does support more recent
versions of the Linux kernel than does
OpenMosix. You will have to read the
license agreement and verify if it
works for you and your organization
or if instead it constrains you. It
supports only the x86 architecture.
CFEngine is designed to be a part of a
computer immune system, and can be
thought of as a gaming agent. It is
ideal for cluster management and has
been adopted for use all over the
world in small and huge organizations
alike. It consists of a client/server
architecture. However, it is long to
configure and may not be well suited
to your network or installation,
especially if you are using a
heterogeneous environment.
Status
Still under active development, it
currently supports kernel 2.4.25. The
project was started in 1999 by its
original author who still develops and
maintains the project, Prof. Amnon
Barak.
Still under active development, it is
currently at version 2.1.4. Designed
and developed by Mark Burgess, the
project has also several other
developers and contributors. It cannot
be determined exactly when the
project started, however, version 1.5
can be traced back to 2000.
111
Tableau A.1: General Purpose Computing (continued)
Product
OpenAFS
License : Distributed
under the IBM Public
License.
Pconsole
License : GNU GPL.
Description
OpenAFS is the open source
continuation of the AFS. AFS is a
distributed network file system that
enables files from any AFS machine
across the country to be accessed as
easily as files stored locally. AFS is
composed of cells, with each cell
representing an independently
administered portion of file space.
Cells connect to form one enormous
UNIX file system under the root /afs
directory.
The Buzz
This is probably a better solution for
many large sites. Rather than use NFS,
which does not scale well as the
architecture grows, OpenAFS is a
perfect solution. Consider it for your
large clusters, grids, or
campus/institution wide file sharing.
Using OpenAFS, it becomes possible
to use and share data across great
distances. In a grid environment, this
is a necessity.
Pconsole is an administrative tool for
working with clusters of machines. It
allows you to connect to each node of
your cluster simultaneously, and there
you can type in your administrative
commands in a specialized window
that cascades the input to each of the
connections you have opened. In
short, when you enter an
administrative command, it will be
cascaded and executed on every other
system that has an active and listening
connection window.
When using this tool, consider using
and implementing OpenSSH along
with it. It runs best from inside X
Windows, although it is possible to
use it from a text-only console. Install
it on one machine that you will use as
your administrative node. It also
supports an unlimited number of
simultaneous connections.
Status
Still under active development, it is
currently at version 1.2.11. AFS is a
distributed filesystem product,
pioneered at Carnegie Mellon
University and supported and
developed as a product by Transarc
Corporation (now IBM Pittsburgh
Labs). IBM branched the source of the
AFS product, and made a copy of the
source code available for community
development and maintenance. They
called the release OpenAFS. The
original release is OpenAFS 1.0.
Version 1.0 was released in October
2000.
No longer under active development,
it is currently at version 1.0.
Developed by Walter de Jong in 2001,
its development also ceased in 2001.
112
Tableau A.1: General Purpose Computing (continued)
Product
ClusterIt
License : Not available.
OpenMP
License :
Vendor-Compiler
specific.
Description
Modelled after IBM’s PSSP (Parallel
System Support Programs) for AIX, it
is a set of tools for running jobs in
patch, and some interactively across a
clustered system. In effect, it allows
you to treat a system of computers as
if they were just one computer for
batch jobs.
The OpenMP API is a specification
for a set of compiler directives, library
routines, and environment variables
that can be used to specify
shared-memory parallelism in Fortran
and C/C++ programs.
The Buzz
Relatively simple to install and
configure, you may want to consider
this tool if you have many systems, or
clusters, in which you run many batch
jobs.
Status
No longer under active development,
its development was ceased in 2001
and is currently at version 2.1. It
appears to have been written by Tim
Rightnour and although its exact date
of conception is unknown, version 1.0
was released in 1998.
Because it is standardized, it offers
ease of portability. It is jointly defined
by a group of major computer
hardware and software vendors led by
SGI. OpenMP is a portable, scalable
model that gives shared-memory
programmers a simple and flexible
interface for developing parallel
applications. For a list of vendors for
OpenMP compatible compilers, please
visit http://www.openmp.org/
index.cgi?resources.
In the early 1990’s vendors of
shared-memory systems wanted to
adopt a standard, a directive-based set
of Fortran programming extensions
for augmenting Fortran parallelization.
This attempt led to the ANSI standard
X3H5 in 1994. In 1997, SGI led the
movement, and with help from other
industry partners, it gained acceptance
and became an officially standardized
ANSI norm. In 1997, the Fortran
specification version 1 was released,
and version 2.0 was released in 2000.
For the C/C++ specification, version 1
was released in 2000 and version 2 in
2002.
113
Tableau A.1: General Purpose Computing (continued)
Product
OpenGFS
License : GNU GPL.
SystemImager
License : GNU GPL.
Description
OpenGFS is an enterprise-class
clustered filesystem for organizations
requiring low-cost shared data storage
and management. It is a continuation
of the GPL’ed version of the Global
File System as originally started by
Sistina, which switched to a non-free
license.
SystemImager is a tool that you can
use to automate the distribution and
installation of Linux across many
nodes. This is a tool which is best
suited to a clustered environment,
where all or most of the installation
parameters will be the same across the
cluster.
The Buzz
Currently works only Linux, but it
may be possible to port it to other
operating systems. You should
consider OpenGFS that is a journalled
networked file system, similar to NFS,
but it requires far less bandwidth. This
is because client computers have
direct access to disk rather than be
required to go through a NFS client
intermediary. OpenGFS should be
considered as beta quality software.
It can work with SSH and is designed
to work on Debian, RedHat, SuSE,
and Mandrake x86 versions of Linux.
Do not expect to be able to use
SystemImager on non-x86 platforms.
In addition, single source code files
are no longer available as of version
3.0 and you must now follow the
instructions listed on the web site for
installing it for your particular version
of Linux. You will also need Perl in
order to be able to install
SystemImager.
Status
Still under active development, it is
currently at version 0.2.1. The main
authors are Dominik Vogt, Brian
Jackson, and Ben Cahill. There are
several other developers and many
other contributors to the project. It is
difficult to determine exactly when the
project began, however, the Changelog
itself records dates as far back as 2002.
Still under active development, it is
currently at version 3.2.2. Originally
developed by Brian Elliott Finley, it
has been worked on by several other
developers. The project has been in
existence since at least 1999.
114
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
It is perhaps not as powerful as
Konquerer, but it certainly is far better
than Windows Explorer. It is an
integral part of the GNOME desktop
system. It is nonetheless a very useful
file manager and provides most of
functionality you will probably ever
need.
Still under active development, it is
being maintained by Alexander
Larsson, Dave Camp and Darin Adler.
It was first released in 2000, and is
currently at version 2.6.
File Management Software :
Nautilus
Listed in : IDA
License : GNU GPL.
Nautilus is the official file manager for
the GNOME desktop. It is designed to
be primarly a file manager, but there is
support for web and file viewing too.
115
Tableau A.1: General Purpose Computing (continued)
Product
Konquerer
License : GNU GPL.
Description
It is the default web browser for KDE,
but it is also the KDE file manager.
Use it to manage files, modify them,
move them around and change
permissions. Konquerer is also the
KDE applications launcher that can be
used to create your own customized
icon-based application launcher.
The Buzz
As far as web browsers go, Konquerer
is a very versatile one. Not only is it
the default web browser for KDE, but
it is also the KDE file manager. Use it
to manage files, modify them, move
them around and change permissions.
Konquerer is also the KDE
applications launcher that can be used
to create your own customized
icon-based application launcher.
However, it is primarily used as a web
browser. Konquerer supports HTML
4.0 and supports cascading style
sheets. It has a sleek appearance and
offers very appealing eye-candy. It
supports JavaScript and Java applets.
It also supports DOM1, DOM2,
DOM3, and bidirectional scripts, as
well as SSL. The wheelmouse is also
supported. Cookies, IPv6, and
non-blocking I/O are also supported. It
also supports opening TAR, GZ,
RPM, and Z files.
Status
It is still under active development ;
although the actual release date of the
first version of Konquerer cannot be
determined, it comes bundled and
standard with KDE, and the first
version of KDE was released in 1997.
The developers of Konquerer appear
to be the same for that of the KDE
project. KDE and Konquerer are
always at the same version number.
KDE is now currently at stable release
3.2.
116
Tableau A.1: General Purpose Computing (continued)
Product
Midnight
Commander
Listed in : IDA
License : GNU GPL.
Tree
Listed in : IDA
License : Artistic
License.
YTree
License : GNU GPL.
Description
Midnight Commander is a console
driven file manager that runs on UNIX
and UNIX like systems. It is keyboard
driven through hotkeys and shortcuts.
Tree is a recursive directory-listing
program.
A curses-based file manager for
browsing filesystems and archives
such as RAR, SPM, RPM, TAR, ARC,
LHA, ZIP, and ZOO.
The Buzz
A powerful console driven file
manager, it has many options, such as
peeking into archives such as TAR,
RPM, GZ, and Z files. It can also
allow you to perform editing on text
files and not only navigate the file
system, but manage your files and
directories. It is also available for
Cygwin.
It enables the choice of displaying
only directories or directories with
files on your filesystem. It is a
powerful console tool to explore your
directories or file system. Used with
Grep, it can also help you to find
elusive files.
Even more powerful than Midnight
Commander because of its larger
archive file format support. It has the
look and feel of XTree and
XTreeGold.
Status
Still under active development, it is at
stable release version 4.6. There are
about a dozen developers currently
working on the project, however, it
cannot be determined which is the lead
developer or maintainer of the project.
The project dates back to 1998.
Still under active development, the
leader maintainer of the project
appears to be Steve Baker. It is
currently at version 1.4b. Cannot
determine when the project started.
The software was developed at the
Center for Biological Computing at
Indiana State University Department
for the Department of Life Sciences.
Still under active development, it is
currently at version 1.80. The original
author is Werner Bregulla, but is being
developed by about a dozen other
developers and contributors. It cannot
be determined when the project
actually started.
117
Tableau A.1: General Purpose Computing (continued)
Product
Wipe
License : GNU GPL.
KCommander
License : GNU GPL.
Description
Its purpose is to quickly wipe out
traces of your latest dissident
activities, based on the published
works of Peter Guttmann.
Described by that authors as “the
ultimate tool for every
ex-windows-users,” and “this project
ought to get the same functionality as
its Windows-clone sometime. For
UNIX fans the KCommander gives
the look and feel of the Midnight
Commander.”
The Buzz
Wipe is a short, nice tool for securely
wiping out files from magnetic media.
It works on Linux, AIX, SunOS, and
Solaris. It may or may not work under
other operating systems. When using
this tool, be aware of the limitations of
wiping out your media.
Overall, a nice GUI file manager with
a look and feel similar to Midnight
Commander. However, it does not
offer the same archive options as
YTree, so if you have many archives
to manage, then this is not the right
tool for you. Otherwise, it is worth
trying out. It does offer a hexadecimal
file viewer that many other file
managers do not. It was designed to
work in a KDE / QT environment.
Status
No longer under active development,
it was developed by Berke Durak
1999. His program is currently at
version 0.16.
No longer under active development,
Christian Fricke & René Märten
developed it. Development appears to
have started in 2000 and to have
stopped in 2002. It is currently at
version 3.0b.
118
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
A GUI tool used to morph from one
image to another. For example, take
the original image of a cat and then
morph it into a tiger or a lion.
Makes for some cool animations and
practical for those working in the
animation and computer art media.
SANE stands for Scanner Access Now
Easy and is an Application
Programming Interface (API) that
provides standardized access to any
raster image scanner hardware (flatbed
scanner, hand-held scanner, video- and
still-cameras, frame-grabbers, etc.).
SANE is a universal scanner interface.
While SANE is primarily targeted at a
UNIX environment, the standard has
been carefully designed to make it
possible to implement the API on
virtually any hardware or operating
system. By allowing you to write only
one driver per device rather one per
device and application, SANE saves
you development time and makes your
coding more accurate by using a
consistent framework to access your
scanner devices.
Michael J. Gourlay first invented the
concept of morphing at Industrial
Light & Magic. A. C. G. Mennucci
then wrote Xmorph and Gtkmorph
that are GUI’s to Libmorph, the
library that actually implements the
morphing. Michael Gourlay actually
wrote the Libmorph library, and
Mennucci wrote his own GUI’s for it.
Xmorph can be traced back to 2000,
and the Libmorph library can be
traced back to 1994.
Still under active development, the
authors of the SANE standard are
Andreas Beck and David Mosberger.
Many different developers have
worked on both the SANE front-end
and backend, as well as XSANE. The
backend component can be traced
back to 1996 and development
stopped in 2002 and is at version
1.0.13. The XSANE component was
written by Ulrich Drepper (from 1995
to 1998), and is currently at version
0.92. The front-end component
appears to still be under active
development and is at version 1.0.11.
General Graphics Software :
Xmorph
License : GNU GPL.
SANE
Listed in : IDA
License : GNU GPL.
119
Tableau A.1: General Purpose Computing (continued)
Product
Skencil / Sketch
License : GNU LGPL.
AutoTrace
License : GNU GPL.
Description
Sketch is an interactive, object
oriented drawing program. This means
that the drawing is composed of
objects like rectangles, lines or pieces
of text. Sketch allows you to
manipulate the objects by moving
them around, resizing them or
changing their color, etc. This type of
program is also called a
vector-drawing program because it
stores the objects internally as
coordinates.
It is a program for converting bitmap
to vector graphics. The aim of the
AutoTrace project is the development
of a freely available application with
functionality similar to Corel Trace or
Adobe Streamline.
The Buzz
Yields some very nice results.
Although not as powerful as some
commercial applications, you will still
enjoy working with it. You will find
that it can yield powerful results ; you
only need imagination. It is a part of
the GNOME Office suite.
Status
Still under active development,
Bernhard Herzog developed it.
Currently at version 0.6.16, it can be
traced back to at least 2001.
Works very well and if you need a
tracing program, then you should
consider working with this one. It can
read in many different file formats,
however, you might be disappointed
with its output files, as most programs
do not readily read them in. You may
have to convert them with either
GhostScript or ImageMagick.
Although still under active
development, the source code has not
been modified since November 2002.
Martin Weber developed it with help
from Masatake Yamato. It can be
traced back to 1999, but probably
dates back further than this. It is
currently at version 0.31.1.
120
Tableau A.1: General Purpose Computing (continued)
Product
Xfig
License : Simple
Permissive License.
GIMP
Listed in : GRAM, IDA
License : GNU GPL.
Description
Xfig is an interactive drawing tool that
runs under X Window System Version
11 Release 4 (X11R4) or later, on
most UNIX-compatible platforms. In
Xfig, figures may be drawn using
objects such as circles, boxes, lines,
spline curves, text, etc. It is also
possible to import images in formats
such as GIF, JPEG, EPSF (PostScript),
etc.
The Buzz
Objects can be created, deleted,
moved or modified. Attributes such as
colors or line styles can be selected in
various ways. Thirty-five text fonts are
available. You will find this to be a
powerful vector-drawing tool, and you
can export to many different files as
well.
The GIMP is the GNU Image
Manipulation Program. It is a freely
distributed piece of software for such
tasks as photo retouching, image
composition and image authoring. It
works on many operating systems, in
many languages.
Users who have worked with long
enough compare its power and
usability to that of Adobe PhotoShop.
You can easily create your own
plugins, modules, and filters using a
simple scripting language. In addition,
the Gimp Toolkit Library also forms
the basis for the GNOME
environment. It is a part of the
GNOME Office project.
Status
Supoj Sutanthavibul at the University
of Texas at Austin originally wrote
Xfig in 1985. Later, Ken Yap, at
Rochester, New York, did the first port
of Xfig to X11. In 1989, Brian V.
Smith picked it up and added more
features. In 1991, Paul King at the
University of Queensland, Australia
added many more features. In 1992,
Brian Boyter added the ability to
import EPS files. Mr. Tom Sato from
Japan added Japanese text support and
spell checker in 1997. It is no longer
under active development and is now
at version 3.2.4.
Still under active development, the
long awaited release of version 2.0 has
arrived. It was started in 1995 by
Spencer Kimball and Peter Mattis but
has since become a widely worked
upon project by many developers and
contributors aiming for its success.
121
Tableau A.1: General Purpose Computing (continued)
Product
K-3D
License : GNU GPL.
Art of Illusion
License : GNU GPL.
Ayam
License : Distributed
under the Randolf
Schultz License.
Description
K-3D is a free 3D modeling,
animation, and rendering system for
GNU/Linux and Win32. K-3D
features a robust, object-oriented
plug-in architecture, designed to scale
to the needs of professional artists.
K-3D is designed from-the-ground-up
to generate motion-picture-quality
animation using
RenderMan-compliant render engines.
Art of Illusion is a free, open source
3D modelling and rendering studio. It
is written entirely in Java. It should be
usable on any Java Virtual Machine
that is compatible with JDK 1.1 or
later.
Ayam is a free 3D modelling
environment for the RenderMan
interface. It supports CSG-modeling,
BURBS-modeling, RIB-export and
import, Wavefront-Export, and Tcl
scripting language.
The Buzz
A powerful yet easy to use 3D
modeling program, which can then
render and animate objects. It works
best with the AQSIS rendering engine
(http://www.aqsis.com). Supports
OpenGL and uses Pixar RenderMan
Interface to render high quality
movies.
Status
Still under active development, Tim
Shead originally developed it in 1994
on an Amiga. At the time, the program
was known as Equus-3D. Effort was
then made to port it to Win32. In 1999,
the author then decided to release his
work under the GNU GPL license and
then renamed his program K-3D. It is
currently at version 0.3.0.97.
For once, a Java program that can
actually produce very high quality
graphics. It is capable of producing
stunningly beautiful images. Your
imagination will be your limiting
factor.
Another program that can produce
Pixar Renderman Interface movies.
This program supports the Tcl
scripting language so that you can
write your own modules or modify the
code to suit your own needs. Also
supports OpenGL. Currently runs on
Linux, UNIX, IRIX, Win32, and Mac
OS X.
Still under active development, the
author and maintainer of the program
is Peter Eastman. First started in 1999,
the program is currently at version 1.7.
Still under active development,
Randolf Schultz developed it. It is
currently at version 1.7. The project
can be traced back to 2001, but it
probably dates back a couple of years
earlier.
122
Tableau A.1: General Purpose Computing (continued)
Product
Coin
License : Free version is
GNU GPL ; commercial
version has its own
license.
FreeWRL
License : GNU GPL.
Description
Coin is a high-level 3D graphics
library with a C++ Application
Programming Interface. Coin uses
Scenegraph data structures to render
real-time graphics suitable for mostly
all kinds of scientific and engineering
visualization applications. Coin is
built on the industry-standard OpenGL
immediate mode-rendering library,
and adds abstractions for higher-level
primitives and provides 3D
interactivity. Coin implements the SGI
Open Inventor API.
FreeWRL is an open-source VRML
and X3D browser.
The Buzz
Use the free version of this library if
you do not plan to write your
applications of libraries using the
Coin3D libraries. If you do, then you
must purchase a commercial edition of
the software. It will work under Linux,
UNIX, Win32, and Mac OS X.
Status
Still under active development, it is
sponsored by Systems In Motion
(http://www.sim.no). It cannot be
determined who the author or
maintainer of the program. It is
currently at version 2.2. Cannot
determine when the project was
started.
FreeWRL meets or exceeds the
VRML Minimum Conformancy
requirements, but there is still some
work to be done. Supports OpenGL
and Mesa. Using your browser, you
can look at and examine VRML
scenes. Written mainly for Linux and
Mac OS X, the code could still be
ported to other platforms. The author
does refer to having used the program
on an SGI platform.
Still under active development, John
Stewart, an employee of
Communications Research Centre
Canada, wrote it. The program does
not actually appear to be sponsored or
endorsed by the CRC. Tuomas J.
Lukka originally started the project. It
appears to have started in 1998, and is
currently at version 1.06.
123
Tableau A.1: General Purpose Computing (continued)
Product
Gmsh
License : GNU GPL.
Description
Gmsh is an automatic 3D finite
element mesh generator (primarily
Delaunay) with build-in CAD and
post-processing facilities. Its design
goal is to provide a simple meshing
tool for academic test cases with
parametric input and up to date
visualization capabilities. Gmsh is
built around four modules : geometry,
mesh, solver and post-processing. The
specification of any input to these
modules is done either interactively
using the graphical user interface or in
ASCII text files using Gmsh’s own
scripting language.
The Buzz
Precompiled binaries are already
provided for Windows, Linux, and
Mac OS X. In order to compile it on
other UNIX platforms, you will need
the GNU Scientific Library
(http://sources.redhat.com/gsl)
and FLTK (http://www.fltk.org).
Non-graphical versions like under
Cygwin can be compiled without
FLTK.
Status
Still under active development,
Christophe Geuzaine and
Jean-François Remacle developed it. It
is currently at version 1.51. The
project appears to have started in
1997.
124
Tableau A.1: General Purpose Computing (continued)
Product
MAVERIK
License : GNU GPL.
OpenVRML
License : GNU GPL.
Description
It is a publicly available virtual reality
system. It enables rapid production of
complex virtual environments as well
as providing many functions that are
valuable to anyone developing
applications with 3D graphics or using
3D peripherals. MAVERIK is
designed to support high-performance
rendering, including large-model
processing, customized
representations of environments for
different applications, and
customisable techniques for
interaction and navigation. Although it
is a component of a larger system,
MAVERIK works equally well
stand-alone and forms an ideal
platform for the construction of VR
applications for individual users.
OpenVRML is a free cross-platform
runtime for VRML available under the
GNU Lesser General Public License.
The basic OpenVRML distribution
includes libraries you can use to add
VRML support to an application, and
look at, a simple stand-alone VRML
browser.
The Buzz
Use it for to build or prototype
complex virtual environments. Use it
to test out your new 3D hardware or
peripherals. Use it for large rendering
jobs or large model processing. In
short, use MAVERIK if what you
want is to develop VR (virtual reality)
software. Designed for UNIX
platforms, it can still be compiled
under Windows through Cygwin.
Status
It does not appear to be under active
development, its last release date was
March 2002. It is currently at version
6.2. The first public release was in
February 1999, although it was then at
the time at version 4.2. The program
easily would date back to 1995 or
earlier. Cannot determine the main
author(s) as there are too many
developers, contributors, and
researchers to the project.
The project aims to be VRML97
compliant. It currently supports many
of these features, but is still not yet
fully compliant. Designed to work
under UNIX and Linux, and Mac OS
X. However, it will work under
Windows, and precompiled
dependencies are included for
Windows as well.
Still under active development, it is
currently at version 0.14.3. The
authors of the program are Chris
Morley and Brian McDaniel. Version
0.7.9 dates back to 1999, therefore the
project date back to around mid-1990.
125
Tableau A.1: General Purpose Computing (continued)
Product
PARallel Ray Tracer
License : Not available.
Quat - A 3DFractal-Generator
License : GNU GPL.
Description
PARRT (the PARallel Ray Tracer) is a
multi-threaded Ray Tracer ; if
instructed, it is capable to distribute
rendering among multiple threads in
order to accelerate it on
multi-processor machines. PARRT
works as a regular UNIX filter
accepting scene description in NFF
format of the SPD (Standard
Procedural Database) scenes on
standard input and emitting image in
PPM format to standard output.
Quat is a program for the calculation
of genuine three-dimensional fractals.
These fractals can be cut open to
explore their interiors. For this
purpose, you can define intersection
planes, whose positions can be
adjusted freely. The coloring of an
object is done very flexibly by a
formula, which attaches a color to
every point in space.
The Buzz
PARRT could be compiled to utilize
POSIX threads library or alternatively
OpenMP API for multi-threading
support. PARRT implements both
bounding volume hierarchy and boxed
grid schemes for speeding up
rendering calculations ; scheme to be
used could be selected when
launching the renderer.
Status
Still under active development,
Aleksandar B. Samardzic who works
for Faculty of Mathematics at the
University of Belgrade developed it.
Cannot determine when the project
actually started.
Use this program to create fractals and
view their interiors. Using a
mathematical formula, every pixel of
the image has a colour attached to it.
The program calculates a fractal in
PNG format in 24-bit colour mode. It
works with both Windows and Linux.
For Linux, or any other UNIX system
you try to compile it on, you will need
FLTK (http://www.fltk.org) in
order for it to compile.
No longer under active development,
the author of the project appears to be
Dirk Meyer. The project dates from
2000 to 2002. It is currently at version
1.2.
126
Tableau A.1: General Purpose Computing (continued)
Product
Xaos
License : GNU GPL.
GPaint
License : GNU GPL.
Description
Xaos is a fast portable real-time
interactive fractal zoomer. It displays
the Mandelbrot set (among other
escape time fractals) and allows you to
zoom smoothly into the fractal.
Various coloring modes are provided
for both the points inside and outside
the selected set. In addition, switching
between Julia and Mandelbrot fractal
types and on-the-fly plane switching is
provided.
GNU Paint (GPaint) is a simple,
easy-to-use paint program for
GNOME, the GNU Desktop. Gpaint
starts as a port of XPaint and takes
advantages of features unique to the
GNOME environment.
The Buzz
Creates stunningly beautiful images.
Although they serve little more
purpose than to please the eyes, those
fascinated with fractals or their
structure will enjoy using this
program. The first version was a
minimal X Window Mandelbrot
viewer later modified to support high
frame-rate zooming.
Status
Still under active development,
Thomas Mars and Jan Hubicka
developed it. The program dates back
to 1996, and is currently at version 3.1.
While not as powerful as GIMP, it is
more powerful than XPaint, and
certainly more powerful than
Windows Paint (PaintBrush). It should
compile on just about every platform
out there.
No longer under active development,
Li-Cheng Tai and Michael A Meffie
III developed it. The program dates
back to 2000 and is currently at
version 0.2.3.
127
Tableau A.1: General Purpose Computing (continued)
Product
CinePaint
License : GNU GPL.
Description
CinePaint is a free open source
painting and image-retouching
program designed to work best with
35mm film and other high-resolution
high dynamic range images. CinePaint
is used for painting of background
mattes and for frame-by-frame
retouching of movies. It is being
extended to do film restoration.
The Buzz
The 32-bit per channel color capacity
of CinePaint appeals most to
cinematographers and professional
still photographers. The author of the
program claims that CinePaint is the
most popular open source tool
currently in use in the motion picture
industry. It was used in 2 Fast 2
Furious, Scooby-Doo, Harry Potter,
Stuart Little and other feature films. It
is a general-purpose tool useful for
working on images for motion
pictures, print, and the Web. CinePaint
supports many file formats,
conventional formats such as JPEG,
PNG, TIFF, and TGA images. It also
supports more exotic motion picture
digital intermediate formats such as
Cineon and OpenEXR. It is similar in
look and feel to the GIMP. It probably
requires the GIMP and GTK to work
and compile correctly.
Status
Still under active development, the
lead developer appears to be Robin
Rowe. It is currently at version 0.18-2.
Cannot determine when the project
actually started, however, it was
registered with SourceForge in 2003.
128
Tableau A.1: General Purpose Computing (continued)
Product
GraphicsMagick
License : Distributed
under GraphicsMagick
License and Copyright.
Description
GraphicsMagick is a robust collection
of tools and libraries that support
reading, writing, and manipulating an
image in over 88 major formats
including popular formats like TIFF,
JPEG, JPEG-2000, PNG, PDF,
PhotoCD, SVG, and GIF.
The Buzz
GraphicsMagick supports creating
new images on the fly, making it
suitable for building dynamic Web
applications. GraphicsMagick may be
used to resize, rotate, sharpen, color
reduce, or add special effects to an
image and save the result in the same
or differing image format. Image
processing operations are available
from the command line, as well as
through C, C++, Perl, Java, or
Windows COM programming
interfaces. It runs on most major
platforms.
Status
Still under active development, the
project dates back to 2002. It is
derived from the work of
ImageMagick. More specifically, it is
derived from the ImageMagick 5.5.2
and can be used freely. Corbis and
PDF Sages sponsor it. The current
maintainer of the project appears to
Bob Friesenhahn. It is currently at
version 1.1.
129
Tableau A.1: General Purpose Computing (continued)
Product
ImageMagick
Listed in : GRAS
License : Distributed
under the ImageMagick
License and Copyright.
IVTools
License : Copyright
Vectaport Inc. ;
proprietary license ;
source code is available
under license terms.
Description
ImageMagick is a robust collection of
tools and libraries offered under a
usage license to read, write, and
manipulate an image in many image
formats (over 89 major formats)
including popular formats like TIFF,
JPEG, PNG, PDF, PhotoCD, and GIF.
IVTools is a suite of free X Windows
drawing editors for PostScript, TeX,
and web graphics production, as well
as an embeddable and extendable
vector graphic shell. It is made up of
layered collection of free C++
frameworks that vertically augment
the mechanisms of Unidraw.
The Buzz
ImageMagick supports creating new
images on the fly, making it suitable
for building dynamic Web
applications. ImageMagick may be
used to resize, rotate, sharpen, color
reduce, or add special effects to an
image and save the result in the same
or differing image format. Image
processing operations are available
from the command line, as well as
through C, C++, Perl, Java, PHP,
Python, or Ruby programming
languages. A high-quality 2D renderer
is included, which provides a subset of
SVG capabilities. ImageMagick’s
focus is on performance, minimizing
bugs, and providing stable API’s and
ABI’s. It runs on most major
platforms.
Use this tool if you are working with
TeTeX or LaTeX and need some
simple editors and drawing tools for
graphics production to include with
you Tex files.
Status
Currently at version 6.0.0, it is still
under active development. It cannot be
determined who is (are) the
developer(s) for this project. It cannot
be readily determined when this
project actually started, however,
references can be found stating that it
dates back to perhaps 1995, and
maybe even before this.
Still under active development, it is
based on the works John Vlissides’
Unidraw. According to the
Changelogs, the project started some
time in 1994. It cannot be determined
who the currently developer is.
130
Tableau A.1: General Purpose Computing (continued)
Product
NetPBM
Listed in : IDA
License : Artistic
License, GNU GPL, and
MIT License.
VIPS
License : GNU GPL and
LGPL.
Description
NetPBM is a toolkit for manipulation
of graphic images, including
conversion of images between a
variety of different formats. There are
over 220 separate tools in the package
including converters for about 100
graphics formats.
It is a free image processing system
that aims to be about half way
between Excel and Photoshop. It is
much smaller than either of these two
programs, but it is of professional
calibre. VIPS stands for VASARI
Image Processing Software that is a
heavy-duty image-processing library.
Its true use is for dealing with images
that are too large to be used by other
programs. It can easily handle
graphics file of 4 GB RAM or larger.
VIPS is the image-processing library
and NIPS is the GUI front-end to
VIPS that enables you to work
interactively with your graphics files.
The Buzz
It can do many things such as enlarge,
shrink, rotate, sharpen and reduce
images. However, not all graphics
formats qualify as PBM. It compiles
and works on just about every major
platform.
Status
Still under active development, Brian
Henderson is developing it. It is
currently at version 10.21. The project
dates back to at least 2000.
Use it on for large graphic files. Even
Photoshop has a practical upper limit.
It works very well on files 10 GB or
larger on a Sun Enterprise 6500 with
30 GB RAM. Use this program to
create and/or modify mosaics.
However, do not use it for photo
touch-up. Use other programs like the
GIMP instead. It is multi-threaded and
can take advantage of multiple
processors and huge amounts of
physical memory.
Still under active development, both
VIPS and NIPS are currently at stable
release version 7.8.14. It is developed
and maintained by Kirk Martinez,
John Cupitt, and Joe Padfield. The
project dates back to 1999.
131
Tableau A.1: General Purpose Computing (continued)
Product
XPaint
License : Not available.
Anti-Lamenessing
Engine (ALE)
License : GNU GPL.
Dia
License : GNU GPL.
Description
XPaint is a color image-editing tool
that features most standard paint
program options. It allows for the
editing of multiple images
simultaneously and supports various
formats, including PPM, XBM, TIFF,
etc.
The Buzz
A simple X Windows drawing and
touch-up tool every UNIX or
UNIX-like system should have.
ALE is a free software program that
renders high-fidelity images of real
scenes by aligning and combining
many similar images from a camera or
scanner. The correct similarity
between images is roughly that
achieved by a somewhat unsteady
hand holding a camera.
Dia is designed to be much like the
commercial Windows program Visio.
It can be used to draw many different
kinds of diagrams. It currently has
special objects to help draw entity
relationship diagrams, UML diagrams,
flowcharts, network diagrams, and
simple circuits. It is also possible to
add support for new shapes by writing
simple XML files, using a subset of
SVG to draw the shape.
Through use of sophisticated
algorithms, ALE is capable of
reducing the noise in an image, but it
can also be used to re-sharpened
images, and add weight to images as
well.
Very similar to Microsoft Visio, you
should consider using it if you are
looking for a change. While it does
not support all of the features of Visio,
it is nonetheless a powerful tool to
have around. It saves its files in a
XML gzipped format, thus making it
very easy to interchange data with
other applications. Part of the
GNOME Office suite.
Status
David Koblas originally developed
XPaint. The last version he released
was 2.1.1. It is now currently at
version 2.7.0. The main developer is
Torsten Martinsen, although there are
several who are also working together
on the project. According to the
Changelog, it appears as if Torsten
Martinsen took over the project in
1995.
Still under active development, it is
currently at version 0.6.0. It dates back
to 2002. The author of the program is
David Hilbert.
Still under active development,
Alexander Larsson wrote the original
program. Cyrille Chépélov and Lars
Clausen are currently maintaining it.
However, there are many contributors
working on the project. The project
appears to date back to at least 1998. It
is currently at version 0.92.
132
Tableau A.1: General Purpose Computing (continued)
Product
Flounder
License : GNU GPL.
Gmandel
License : GNU GPL.
Gnofract 4D
License : GNU GPL.
Description
Flounder is a quick way to visualize
regularly spaced 4D data, i.e., a data
set that is a function of x, y, z, and
time.
The Buzz
Generally, you will want to use this
tool to show your data using contour
plots or isosurfaces. It can even create
movies of your data as it changes over
time. It supports the GIF, PNG, and
EPS file formats when saving. You
will need FLTK in order to compile
the software.
Gmandel is a program for exploring
intricate and beautiful details of the
Mandelbrot set, the classic fractal
image. It begins with the common
graphic of the Mandelbrot set, from
which you can select portions with
click-and-drag for enhancement. You
can set the number of colors per
iteration, and the iteration limit.
Gnofract 4D is a GNOME-based
program designed to draw fractals.
What sets it apart from other fractal
programs (and makes it “4D”) is the
way that it treats the Mandelbrot and
Julia sets as different views of the
same four-dimensional fractal object.
This allows you to generate images
that are a cross between the two sets
and explore their inter-relationships.
Supporting threads, you can set the
number of threads you want the
program to use. This will dramatically
increase speed on multi-processor
systems. In addition, if you have MPI
or PVM, you can compile this support
into the program and increase the
program’s speed if you have a cluster.
While similar to other fractal viewing
programs, Gnofract is able to recreate
into four dimensions, allowing you to
explore deeper and more in-depth than
with other similar fractal viewers.
Status
Originally developed by André Bleau
at the University of Montreal, the
project was known then as Affiche.
Originally, it worked only on SGI
because it was written using GL. The
author of Flounder, Edward Vigmond
then took on himself to rewrite the
code for Linux. Flounder appears to
date back to 2000. It is currently at
version 0.40.
No longer under active development,
it is currently at version 1.2.0. The
author of the program is Edscott
Wilson Garcia. The project appears to
have started and stopped and in 2002.
Still under active development, it is
currently at version 1.9. Aurélien
Alleaume, originally developed
Gnofract however, Gnofract 4D was
written by Edwin Young. Gnofract 4D
appears to date back to 1999.
133
Tableau A.1: General Purpose Computing (continued)
Product
Latex2slides
License : GNU GPL.
Potrace
License : GNU GPL.
Terraform
License : GNU GPL.
Description
Latex2slides is a simple graphical
program that produces a set of
HTML/JPEG slides from a TeX or
LaTeX source. Alternatively, the
source can be a multi-page postscript,
DVI or PDF FILE, and the image
format for the slides can be set to
PNG.
Potrace is a utility for tracing a
bitmap, which means, transforming a
bitmap into a smooth, scalable image.
The input is a bitmap (PBM, PGM,
PPM, or BMP format), and the default
output is an EPS file.
Terraform is an open source
interactive height field generation and
manipulation program, giving you the
ability to generate random terrain and
transform it. Terraform runs under
Linux and other UNIX systems under
the X11 Windowing system. It uses
the GNOME desktop platform and
thus has a consistent graphical user
interface that does not require use of
the command line.
The Buzz
User this program to convert your Tex
files to HTML or JPEG-based slides,
or go from PS, DVI, or PDF files to
PNG-based slides. Should run on just
about every major UNIX platform,
and probably will work under Cygwin
and Mac OS X.
Status
Still under active development, the
author of the program is Leo Milano.
Currently at version 1.0, the project
dates back to 2001.
Use this program to take jaggy images
such as those that are scanned in to
turn them into nice, smooth images.
Works well on signatures. You can
save the output images into EPS,
PostScript, SVG, and PGM.
Terraform allows you to generate
random terrain using a number of
algorithms and then selectively change
the terrain using a variety of
transformations. Where possible, the
transformations provide a real-time
preview, giving you instant feedback
on the effect of any parameter
changes. You can even incorporate
your terrains into POV RAY to create
photo-realistic landscapes. You can
also create movies and animations
with Terraform.
Still under active development, the
author of the program is Peter
Selinger. The project dates back to
2001. It is currently at version 1.4.
No longer under active development,
it was first started in 1997 and
development ceased in 2002. It is
currently at version 0.9.0. The author
of the program is Robert Gasch.
134
Tableau A.1: General Purpose Computing (continued)
Product
MESA
Listed in : IDA
License : Some portions
are copyright to their
respective authors ; core
component of Mesa
copyright under
XFree86-style license.
PovRay
License : Distributed
under POV RAY
General License
Agreement.
Description
Mesa is a 3D graphics library with an
API that is very similar to that of
OpenGL. To the extent that Mesa
utilizes the OpenGL command syntax
or state machine, it is being used with
authorization from Silicon Graphics,
Inc. However, the author does not
possess an OpenGL license from SGI,
and makes no claim that Mesa is in
any way a compatible replacement for
OpenGL or associated with SGI.
The Persistence of Vision Ray-Tracer
creates three-dimensional,
photo-realistic images using a
rendering technique called ray tracing.
It reads in a text file containing
information describing the objects and
lighting in a scene and generates an
image of that scene from the
viewpoint of a camera also described
in the text file. Ray tracing is not a fast
process by any means, but it produces
very high quality images with realistic
reflections, shading, perspective and
other effects.
The Buzz
While it is not OpenGL, it is generally
used in place of OpenGL for many
open source projects. Older versions
of OpenGL are available for use in
open source software without
requiring the purchase of an expensive
commercial license. More often than
not, you can use Mesa in place of
OpenGL with a minimum amount of
recoding required. It is, for all intents
and purposes, an open source
compatible OpenGL library. It is
supported on most major platforms. If
you own an SGI, you are probably
better off with the version of OpenGL
supported by your version of IRIX.
A very powerful open source ray
tracer. You can create just about
anything you want with this particular
program. Only your imagination will
hold you back. For an idea of what you
could achieve, have a look at the Art
Gallery. However, the power behind
POV RAY is its Scene Description
Language, which is not too difficult to
learn. It appears similar to a scripting
language. Also, look at MegaPOV
(http://megapov.inetart.net)
and the Internet Movie Project
(http://www.imp.org). Apparently,
it can also be compiled with PVM.
Status
Still under active development, its
author Brian Paul founded it. The
project was started in 1993, and is
currently at version 6.0. SGI is
generally rather receptive to the idea
of Mesa, and has helped them to
further foster OpenGL.
Still under active development, it is
currently at stable release 3.5. It
cannot be determined who the
author(s) of the program are, or when
the project was started.
135
Tableau A.1: General Purpose Computing (continued)
Product
VTK
Listed in : GRAS
License : Open source
through the Kitware
Visualization Toolkit
Copyright License
Agreement.
Description
The Visualization ToolKit (VTK) is an
open source, freely available software
system for 3D computer graphics,
image processing, and visualization.
The design and implementation of the
library has been strongly influenced
by object-oriented principles. The
graphics model in VTK is at a higher
level of abstraction than rendering
libraries like OpenGL or PEX. This
means it is much easier to create
useful graphics and visualization
applications. In VTK, applications can
be written directly in C++, Tcl, Java,
or Python.
The Buzz
The software is a true visualization
system ; it does not just let you
visualize geometry. VTK supports a
wide variety of visualization
algorithms including scalar, vector,
tensor, texture, and volumetric
methods ; and advanced modelling
techniques like implicit modelling,
polygon reduction, mesh smoothing,
cutting, contouring, and Delaunay
triangulation. You can mix 2D
imaging / 3D graphics algorithms and
data. The goal is to make the software
easy enough for any computer literate
person to use.
Status
Still under active development, it is
currently at version 4.2. It appears to
have been developed by Ken Martin,
Will Schroeder, and Bill Lorensen.
They appear to continue the project’s
development. However, the project is
open to advancement through the
contribution effort of outside
developers. Developers can make their
own contributions so long as they
follow a few simple rules that the
authors have listed on their web site.
The software is currently by Kitware
Inc.
136
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
If you like graphs and points, or want
to learn more about graph theory, then
you will like this program.
It is being actively developed and is
now at version 0.9.5. The project
appears to have been started in 2001
and is still developed by the main
author David Symonds, and others as
well.
It is similar to Graph Thing but with
better exporting and its own language.
It is not being actively developed. The
author is Christian Obrecht. The
project was started in 2000 and it
appears to have stopped in 2002.
It is still under active development.
The author is Steve Grubb and the
latest version of the program is 2.20. It
appears to have started in 2003.
Graphing and Plotting Software :
Graph Thing
License : GNU GPL.
Eukleides
License : GNU GPL.
Ploticus
License : GNU GPL.
This is a tool which enables you not
only to create and manipulate
“graphs,” but to study graphs them as
well. These are not traditional
statistical graphs, but rather they are
used to understand the position of a
point in relation to other points. This
is plotting tool for whoever interested
in learning and working more with
graph theory.
Eukleides is a Euclidean geometry
drawing language. It can convert its
graphics to EPS format or other
various graphic formats.
Ploticus is a non-interactive graphical
plotting and charting tool. It is a very
powerful tool and can easily help you
to create and get you on your way to
analyzing many different kinds of data
sets, such as scientific, medical, social
sciences, statistics, and time-series.
While not well suited to all your
graphing needs, it can and should be
used in place of Microsoft Grapher for
some specific types of graphs and
plots. This program is definitely of
commercial quality.
137
Tableau A.1: General Purpose Computing (continued)
Product
R
Listed in :
GRAS, GRAM, IDA
License : GNU GPL.
GNUplot
Listed in : GRAS
License : Freeware, but
one is not allowed to
distribute a modified
version.
KPL
License : GNU GPL.
Description
Very similar to a programming and
plotting language known as S ; R is a
both a programming language and an
environment for statistical computing
and graphics. R comes complete with
a wide variety of statistical and
graphical techniques and capabilities.
Through its programming language, it
becomes very extensible.
GNUplot is a command-driven
interactive function-plotting program.
It can be used to plot functions and
data points in both two- and
three-dimensional plots in many
different formats, and will
accommodate many of the needs of
today’s scientists for graphic data
representation.
KPL is a part of the KDE desktop
manager effort and is always under
development, like the rest of KDE. It
was designed for 2D and 3D scientific
plots and graphing. Simple and easy to
use, it is elegant to work with, and
more pleasant to the eyes than
GNUplot.
The Buzz
If statistics is your thing, this is a
program you would find of great
interest, although it is not obvious to
use at first. It is capable of producing
high-quality graphs and images.
Status
It is still under active development.
The latest version is 1.8.1. R was
initially written by Robert Gentleman
and Ross Ihaka, and since 1997, a
large number of contributors have
joined on. It is uncertain when the
project started but it was at least in
1997 (or possibly earlier).
Considered by many as the de facto
open source graphing tool ; use it in
your scripts, and for scientific
graphing and system administration.
Many other plotting tools copied it,
but this is the real thing.
No longer part of the GNU
community ; it is still under active
development. The latest version is
3.8k.1. The authors are Thomas
Williams, Colin Kelley, Russell Lang,
Dave Kotz, John Campbell, Gershon
Elber, Alexander Woo and many
others. The project started in 1998.
If you like GNUplot but are not too
nuts about the terse interface of
GNUplot, then you will really enjoy
this program’s intuitive GUI.
It is still under active development and
its author is Werner Stille. The
program is currently at version 3.2.
The program appears to date back to
April 1999.
138
Tableau A.1: General Purpose Computing (continued)
Product
PlotMTV
License : Freeware, no
fee.
Tulip
License : GNU GPL.
GRACE
License : GNU GPL.
Description
It is an X11 multipurpose plotting
program which specializes in doing
contour plots, but and it also supports
2D and 3D plots.
The Buzz
It is a bit rough around the edges but
nice nonetheless. It is a bit difficult to
find the source code files, although
they are out there.
Tulip software is a system dedicated to
the visualization of huge graphs. It is
scaleable across clusters and the more
memory you have the larger your
graphs can be. It supports OpenGL /
MESA.
Ever wonder how they manage all the
routers on the Internet ? Well, this is
just the kind of software you could use
to do this with. It supports huge
graphs, larger than anything I have
seen in any other program. Cool
graphics.
If there were a rival to Microsoft
Grapher, this is the one. Consider
using this program for all your basic
and many of your advanced graphing
needs. Its images are very high quality.
Grace is a WYSIWYG 2D plotting
tool for the X Window System and
Motif. Offers true publication quality
and capable of performing different
mathematical analysis on your data
(curve fitting). Also comes with its
own built-in programming language.
Status
It is no longer under active
development. The U.S. Department of
Energy sponsored it. The project
appears to have started in 1991 and to
have ended in 1995. The author
appears to be Kenny Toh. The main
web page only lists the manual and
some examples. Download the source
code from http://rpmfind.net.
The original author is David Auber
and it is still under active
development. It is currently at version
1.2.5. The project dates back to at
least 2001.
It is still under active development.
GRACE started as Xmgr (which was
under a closed license) and originally
written by Paul Turner. GRACE is the
open source version of Xmgr. The
current release is 5.1.14. The project
dates back to at least 2001.
139
Tableau A.1: General Purpose Computing (continued)
Product
RRDTool
Listed in : GRAS
License : GNU GPL.
Description
RRD is the acronym for Round Robin
Database. RRD is a system to store
and display time-series data (i.e.
network bandwidth, machine-room
temperature, server load average). It
stores the data in a very compact way
that will not expand over time, and it
presents useful graphs by processing
the data to enforce a certain data
density.
The Buzz
Use it in your Perl / shell scripts. A
great tool for creating graphs of
system administration-based
information. If you are a system
administrator and need to graph your
system’s performance metrics, then
consider this program.
Status
It is still under active development.
The author and main developer is Tobi
Oetiker. This tool is a spinoff of his
earlier project MRTG. It is currently at
version 1.0.46. The program dates
back to at least 1999.
140
Tableau A.1: General Purpose Computing (continued)
Product
Description
Mail Clients and Servers :
Mozilla
Based on the source code of Netscape
Listed in : GRAM, IDA
Communicator 5.0, it today offers all
License : Mozilla Public
of the same features as Netscape, but
License.
it also offers some new functionality.
It is found standard today with all
versions of Linux and the open source
BSD operating systems (except Mac
OS X). Netscape has taken the same
GUI look and feel as Mozilla.
Sendmail
Sendmail is a mail daemon that is
Listed in :
used by just about every UNIX and
GRAS, GRAM
UNIX-like operating system whose
License : Freeware.
task is to both receive and deliver
electronic mail. It can handle mail
delivery from your system to itself as
well as to all Internet hosts. Electronic
mail involves hosts contacting and
exchanging information from
potentially any site on the Internet.
Thus mail is generally sent using
SMTP and is generally received using
IMAP or POP.
The Buzz
Status
It has a nice look and feel. Fast and
efficient, and includes some useful
features not found in Netscape. It is
the descendant of Netscape
Communicator 5.0, and we find today
that Netscape tries to emulate the
same look and feel of Mozilla. Rather
than use Netscape, try to use Mozilla
instead.
There are commercial versions of
Sendmail available from Sendmail
Inc, as well as an open source one
available that is also available from
http://www.sendmail.org. The
commercial versions offer advanced
features not found in the open source
Sendmail. Sendmail is the de facto
standard for UNIX mail daemons.
It is based on the source code from
Netscape Communicator 5.0 that was
released in 1998. Mozilla is still under
active development. However, it
cannot be determined who the
developers and contributors to the
project are. It is currently at stable
release version 1.6.
Still under active development, the
original author of Sendmail was Eric
Allman. It was started in 1980 at the
University of California at Berkeley
and was first released with UCB BSD.
In 1987, Swede Lennart Lovestrand
developed the first non-Allman
version of Sendmail. Paul Vixie who
in 1990 worked for DEC started the
King James Sendmail that was based
on Lennart’s Sendmail and focused on
code improvement. Vendors like HP
and Sun have made their own updates
to Sendmail.
141
Tableau A.1: General Purpose Computing (continued)
Product
Postfix
Listed in : GRAM
License : IBM Public
License.
Mailman
Listed in : GRAM, IDA
License : GNU GPL.
Majordomo
Listed in : GRAS
License : Free to use but
restricted.
Description
It is Wietse Venema’s mailer that
started life as an alternative to the
widely used Sendmail program.
Postfix attempts to be fast, easy to
administer, and secure, while at the
same time being Sendmail compatible
enough to not upset existing users.
Thus, the outside layers have a
Sendmail-like flavour, but the inside is
completely different.
Mailman is free software for
managing electronic mail discussion
and e-newsletter lists. Mailman is
integrated with the Web, making it
easy for users to manage their
accounts and for list owners to
administer their lists. Mailman
supports built-in archiving, automatic
bounce processing, content filtering,
digest delivery, spam filters, and more.
Majordomo is a program that
automates the management of Internet
mailing lists. Commands are sent to
Majordomo via electronic mail to
handle all aspects of list maintenance.
Once a list is set up, virtually all
operations can be performed remotely
by email, requiring no intervention
upon the postmaster of the list site.
The Buzz
A nice and easy to use replacement for
Sendmail. Your users should not
notice the difference between Postfix
and Sendmail.
Status
Still under active development, it is
has been developed by Wietse Zweitze
Venema who work and developed
Postfix at the IBM Thomas J. Watson
Research Center. It is currently at
version 2.0 patchlevel 18. The project
appears to have started in 1998.
The program is written almost entirely
in Python with a few snippets of C.
You will need a message transfer
agent (like Sendmail) and a web server
(like Apache) in order for it to work.
Although it is not a mail daemon
itself, the program makes it possible
for users to manage their mail and lists
from a web interface, as well as add
rules like filtering and spam blocking.
Use this tool to help you automate the
management of your mailing lists.
Mailman’s lead developer is Barry
Warsaw and it is still under active
development. The project was started
in 1998 and the current release is
2.1.4.
It is a groupware project that evolved
from the original code base of Brent
Chapman, with further work done it
by John Rouillard. The current
maintainer is Chan Wilson. The
current version is 1.94.5. The project
started in 1997, and is no longer under
active development.
142
Tableau A.1: General Purpose Computing (continued)
Product
Qmail
Listed in : GRAS
License : Free to use but
restricted.
Evolution
Listed in : GRAM, IDA
License : GNU GPL.
Description
Compatible with Sendmail, it aims to
be a complete modern SMTP mail
daemon replacement for Sendmail.
It is the award-winning personal and
workgroup information management
solution for Linux and UNIX-based
systems. It seamlessly integrates
email, calendaring, meeting
scheduling, contact management, and
task lists, in one powerful, fast, and
easy-to-use application. Ximian
Evolution is also a powerful
collaboration software package that
connects to popular corporate
communications architectures like
Microsoft Exchange, Lotus Notes, and
other messaging systems. Ximian
Evolution supports a broad range of
leading Linux distributions and UNIX
variants.
The Buzz
Faster and more reliable than
Sendmail, it is also compatible with
Sendmail. Many ports are available
and it compiles on the majority of
UNIX and UNIX-like platforms. If
you have a large Sendmail site and do
not want to pay for expensive
commercial versions of Sendmail,
perhaps this program is for you.
It runs on various versions of Linux
and on the SPARC version of Solaris
8. Although there are free versions
available, it lacks much of the
functionality of the commercial
version. Part of the GNOME Office
suite. It also uses J-Pilot as the
backend program for Evolution’s PDA
synchronization capabilities.
Status
Developed by D. J. Bernstein, the
program is no longer under active
development. The latest release
version 1.0.3 dates to 1998, and the
first released version dates back to
1996.
Ximian was bought in 2003 by SuSE
Linux and then later bought by Novell
in early 2004. The program has been
around since at least 2001, but its
actual history cannot be determined,
nor can the main developer(s) be
determined.
143
Tableau A.1: General Purpose Computing (continued)
Product
Kmail
License : GNU GPL.
Pine
License : Free to use but
restricted.
Procmail
Listed in : GRAS, IDA
License : GNU GPL,
Artistic License.
Description
Kmail is a fully featured email client
that fits nicely into the K Desktop
Environment, KDE. It has features
such as support for IMAP, POP3,
multiple accounts, powerful filters,
PGP/GnuPG privacy, inline
attachments, and much more.
Standing for Program for Internet
News & Email, it is a tool for reading,
sending, and managing electronic
messages from the command-line. It is
available for both UNIX and
UNIX-like operating systems, as well
as for Microsoft Windows platforms.
Procmail can be used to create
mail-servers, mailing lists, sort your
incoming mail into separate
folders/files, pre-process your mail,
start any programs upon mail arrival or
selectively forward certain incoming
mail automatically to another address.
The Buzz
A very nice and easy-to-use mail
client with a powerful yet appealing
interface.
Use this program if you prefer using
command-line driven mail clients.
Though originally designed for
inexperienced email users, Pine has
evolved to support many advanced
features, and an ever-growing number
of configuration and
personal-preference options.
Use it as full replacement for
Sendmail. It is compatible with
Sendmail.
Status
Still under active development under
the KDE project, it is currently at
version 1.6 under KDE 3.2. It has been
around since before 2000, although
when Kmail first appeared in KDE
cannot be readily determined, nor can
its developer(s) be determined either.
Currently at version 4.58, it is still
under active development. Developed
by Computing & Communications at
the University of Washington, it has
been around since 1990.
Started in 1990, the latest version 3.22
was released in 2001. There has been
no development since then.
Development was started in 1990 by
S.R. van den Berg and then Philip
Guenther came onboard the project.
144
Tableau A.1: General Purpose Computing (continued)
Product
Exim
Listed in : IDA
License : GNU GPL.
Horde IMP
License : Proprietary
license.
Cyrus
Listed in : IDA
License : Freeware.
Description
Exim is a message transfer agent
(MTA) developed at the University of
Cambridge for use on UNIX systems
connected to the Internet. It is similar
to Smail 3, but its facilities are more
general. There is a great deal of
flexibility in the way mail can be
routed, and there are extensive
facilities for checking incoming mail.
Exim can be installed in place of
Sendmail, although the configuration
of Exim is quite different to that of
Sendmail.
IMP stands for the Internet Messaging
Program. It is a GUI-based mail client
that was written in PHP and provides
web-mail access to IMAP and POP3
accounts.
The Cyrus Electronic Mail Project
aims to build a highly scalable
enterprise mail system designed for
use in a small to large enterprise
environments using standards based
technologies. The Cyrus technologies
will scale from independent use in
small departments to a system
centrally managed in a large
enterprise.
The Buzz
Use it in place of Sendmail, but
learning how to configure it is quite
different from what you would expect
from most Sendmail replacements, so
be patient.
Status
The current version is 4.30, and it is
still under active development. It was
started in 1995 at the University of
Cambridge. It appears to have been
developed by Philip Hazel, however, it
cannot be readily determined who is
currently maintaining the project.
Use it as a graphical mail client. You
will need a web server like Apache to
run the PHP side of it. It is a part of
the Horde PHP Framework project.
Currently at version 3.2.3, it is under
active development. Chuck
Hagenbuch, Jon Parise, Jan Schneider,
Brent J. Nordquist, Anil
Madhavapeddy, Ivan E. Moore II, and
Mike Hardy developed it. It cannot be
determined when the project started,
but it easily dates back to at least 2000.
Started in 1994 at the University of
Carnegie Mellon, it is under active
development and is now at stable
release version 2.2.3. It cannot be
readily determined who developed
Cyrus, or who is currently maintaining
the project.
It is a powerful MTA, but it does not
set itself apart from other MTA’s
currently available, either as open
source projects, or commercially.
145
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
Use Fping in your scripts. It now
supports both IPv4 and IPv6.
It is no longer under active
development. The original author and
maintainer of the program was Rolan
Schemers and the current maintainer
is Thomas Bzubin. The latest version
is 2.4b2 from January 2002. The
initial release was in June 1992.
It works on the popular UNIX and
UNIX-like platforms. Use it to test site
security. This is a powerful tool that
you must have in your toolbox.
The main developer is Salvatore
Sanfilippo and it is still under current
development. There many other
involved developers and contributors.
It is currently at version 2.0.0rc2. The
program dates back to at least 1998.
Just like your standard Traceroute
program (Tracert for Windows) and
plots on a globe. Supports OpenGL
and Mesa. It compiles on joust every
UNIX and UNIX-like operating
system.
No longer under active development,
it is currently at version 0.9.1. The
main author of the program is Björn
Augustsson. It cannot be determined
when the project started, but the latest
release dates back to April 2003.
Network Troubleshooting Tools :
Fping
License : GNU GPL.
Hping
License : GNU GPL.
Xtraceroute
License : BSD.
Fping is different from Ping in that
you can specify any number of hosts
on the command line, or specify a file
containing the lists of hosts to Ping.
Instead of trying one host until it times
outs or replies, Fping will send out a
ping packet and move on to the next
host in a round-robin fashion. If a host
replies, it is noted and removed from
the list of hosts to check. If a host does
not respond within a certain time limit
and/or retry limit it will be considered
unreachable.
Hping is a command-line oriented
TCP/IP packet assembler/analyzer. It
supports TCP, UDP, ICMP and
RAW-IP protocols, has a Traceroute
mode, the ability to send files between
a covert channel, and many other
features. It is mainly used as a security
tool.
Xtraceroute is a graphical version of
the Traceroute program, which traces
the route your IP packets travel to
their destination. It will all depend on
your personal preferences, whether
you provide command-line tools or
GUI tools.
146
Tableau A.1: General Purpose Computing (continued)
Product
MTR
Listed in : GRAS, IDA
License : GNU GPL.
Etherape
License : GNU GPL.
Description
Mtr combines the functionality of the
’Traceroute’ and ’Ping’ programs in a
single network diagnostic tool. It
investigates the network connection
between the host Mtr runs on and a
user-specified destination host. After it
determines the address of each
network hop between the machines, it
sends a sequence ICMP ECHO
requests to each one to determine the
quality of the link to each machine. As
it does this, it prints running statistics
about each machine.
Etherape is a graphical network
monitor for UNIX modeled after
Etherman. Featuring link layer, IP and
TCP modes, it displays network
activity graphically. Hosts and links
change in size with traffic. It has
colour coded protocol displays. It
supports Ethernet, FDDI, Token Ring,
ISDN, PPP and SLIP devices. It can
filter traffic to, and can read traffic
from a file as well as live from the
network.
The Buzz
Better than both Traceroute and ping
combined, it is a graphical tool that
can be compiled on most UNIX and
UNIX-like platforms. There is also a
console driven version. Consider it for
use in your scripts. Unlike
Xtraceroute, it supports OpenGL or
MESA extensions.
Status
Written by Matt Kimball, its
development effort was taken over in
1998 by Roger Wolff. The current
version is 0.54. It does not appear to
be actively developed with the last
version released in May 2003. It
cannot be determined when the project
actually started.
Do not try to compile this program on
non-Linux platforms (it is too buggy).
It requires GTK+ and the “Libglade”
library to compile correctly. You
should probably use this tool only a
Linux box. However, it is a very useful
tool to see the traffic from/to your
machine and around on the network.
No longer under active development,
and designed primarily for use on
Linux systems, the current version is
0.8.2-1. There is however, an already
compiled version 0.90 for Mandrake
Linux 9.0. Juan Toledo is the original
author, and the project has had many
other developers and contributors
working on it over the years. The
actual start date for the project cannot
be readily determined. The project
was written for the author’s degree
project in order to obtain his
engineering degree.
147
Tableau A.1: General Purpose Computing (continued)
Product
Cheops (no longer
supported or
developed)
License : GNU GPL.
Cheops-NG
(Cheops Next
Generation)
License : GNU GPL.
Description
Written using GTK+, you will need
GNOME to have it work correctly. It
should compile on most UNIX and
UNIX-like platforms that support
GNOME assuming you have all of the
necessary dependencies. Restrict use
to network, system, and security
administrators. Cheops is an Open
Source Network User Interface. It is
designed to be the network equivalent
of a Swiss-army knife, unifying your
network utilities. Cheops does for the
network what a file manager does for
your filesystem.
Based on the original work of Mark
Spencer’s Cheops, this is the next
generation of the tool. The main
difference is that Cheops-NG has a
background service called the
“Cheops-agent” which monitors a
given system and its data can be
reported back to a system running the
“Cheops-ng” program.
The Buzz
A very powerful tool not to be taken
lightly. It can help you understand the
layout of your network as well as gain
vital information in the devices
attached to your network. Be careful
who you let use this tool.
Status
No longer supported or developed.
Development has not progressed since
September 2001. It is currently at
version 0.61. Developed by Mark
Spencer, the initial release was 0.50
that dates back to at least 1998, if not
several years before this.
This is still only alpha code. If you
find it does not work or is too buggy
for your tastes, then go back to using
Cheops. Again, like Cheops, you do
not leave this powerful network
analysis tool in the hands of just any
user. Restrict use to network, system,
and security administrators. The new
tool also has more library
dependencies than the original tool,
and its client/server architecture leave
it open to more possibilities than the
original Cheops does.
It appears to still be under active
development, although at the time of
this writing it has been 10 months
since the last release. It is currently at
version 0.1.12. Brent Priddy and Mark
Spencer are currently developing it. It
cannot be determined when this
project began.
148
Tableau A.1: General Purpose Computing (continued)
Product
Tcpdump
License : BSD.
Netcat
License : Freeware,
Public Domain.
Description
Although every different UNIX or
UNIX-like platform has its own
built-in network sniffer, Tcpdump is
the standard tool that comes with just
about all major distributions of Linux,
and can be found for many non-Linux
distributions.
The Buzz
A far superior product to the majority
of command-line network packet
sniffers available on the market. Use
this tool to troubleshoot your network.
For it to work, you will also need the
“Libpcap” library. Note, there are
versions of the Tcpdump (Windump)
and Libpcap for Windows.
Using the TCP or UDP protocol, it is a
simple UNIX utility that reads and
writes data across network
connections. It is designed to be a
reliable “back-end” tool that can be
used directly or easily driven by other
programs and scripts. At the same
time, it is a feature-rich network
debugging and exploration tool ; it can
create almost any kind of connection
one would need and has several
interesting built-in capabilities.
Use this program to test out not only
your network connectivity, but also to
test out certain network applications
and/or services. . Use it to test the
availability of network services, as
well as to send and get remote data on
these services.
Status
Still under active development, it is
currently at version 3.81 for Tcpdump
and 0.8.1 for Libpcap. Version 2.0 of
Tcpdump, an internal only version
dates back to 1992. Therefore, the
program has been around since 1980’s.
The original author(s) of the program
and library cannot be determined.
Libpcap dates back to at least 1994.
No longer in active development, this
tool has not seen active development
since 1996. However, note that this is a
very complete and stable tool to work
with. It is currently at version 1.10.
The program can only be traced back
to 1995. The author(s) of the program
cannot be determined. There is also a
version available for Windows.
149
Tableau A.1: General Purpose Computing (continued)
Product
MRTG
Listed in : GRAS
License : GNU GPL.
Ethereal
License : GNU GPL.
Description
The Multi Router Traffic Grapher
(MRTG) is a tool to monitor the traffic
load on network-links. MRTG
generates HTML pages containing
graphical images that provide a LIVE
visual representation of this traffic.
You specify the time interval you
want.
Used by network professionals around
the world for troubleshooting,
analysis, software and protocol
development, and education. It has all
of the standard features you would
expect in a protocol analyzer, and
several features not seen in any other
product. It runs on all popular
computing platforms, including
UNIX, Linux, and Windows.
The Buzz
Use this tool to monitor network
traffic. Note : this tool only works for
SNMP enabled devices, such as
printers, switches, and routers.
However, if you enable SNMP on
your workstations too, it will allow
you to see non-switched monitored
information. It is a very useful and
powerful diagnostic tool. Easy to use
and images are automatically
generated every preset time interval. It
is written in C and Perl so it can be
ported to just about any platform.
Configuration can be a bit tricky, but it
is doable.
Currently capable of analyzing 472
protocols, it is by far the most
powerful network analysis program in
the open source community, and easily
rivals anything in the commercial
community. The only thing it cannot
currently do is perform statistical
analysis on the packets it receives. If
you have a need to monitor your
network, use this software without
hesitation. There is a GUI and
command-line tool for gathering and
analyzing the captured data.
Status
Still under active development, it is
currently at version 2.10.13.
Developed by Tobias Oetiker in 1994,
it has gone through several major
overhauls.
Still under active development, the
original developer is Gerlad Combs,
and has perhaps more than 100
contributors to the program. It is
currently at version 0.10.2. The
program has been around since before
2000, but its date of inception cannot
be readily determined.
150
Tableau A.1: General Purpose Computing (continued)
Product
Pingscan
Listed in : GRAS
License : GNU GPL.
SniffIt
License : Freely
distributable.
Net SNMP
Listed in : IDA
License : BSD. BSD-like
for the portions from
Carnegie Mellon
University, BSD for
portions from Network
Associates Inc., BSD for
parts from Cambridge
Broadband Ltd., BSD
for parts from Sun
Microsystems Inc., BSD
parts from Sparta Inc.
Description
Pingscan is a little Perl script to scan a
network for reachable or unreachable
hosts by pinging them. It now also
checks DNS entries.
Sniffit is a packet sniffer, developed on
LINUX, ported to SunOS/Solaris,
IRIX and FreeBSD. it is a quick and
dirty tool and can be used for most of
your sniffing needs.
A platform independent
implementation of the SNMP RFC.
The Buzz
It is a nice program to use in your
scripts. Because it is in Perl, you can
use it on any system where Perl is
installed.
A worthwhile packet sniffer to learn to
use. Portable to multiple platforms,
with a nice selection of command line
options.
Platform independent implementation
of SNMP version 1 and 2. It works on
many different platforms, and is
highly extensible and flexible. It is
currently found on most major
distributions of Linux, and can easily
be compiled and installed on just
about any other platform.
Status
It is currently at version 1.2 ; Matthias
Cramer developed it in 1999.
Development appears to have stopped
in 2000.
Developed by Brecht Claerhout, the
last version was released in 1998. It
cannot be determined when the project
started or why it has stopped, but it is
no longer under active development.
It is originally based on the Carnegie
Mellon University and University of
California at Davis (UCD-SNMP)
SNMP implementations, but has been
so heavily changed and modified that
it no longer resembles the original. As
of release 5.0 Net-SNMP no longer
bore any resemblance to UCD-SNMP.
The Net-SNMP initiative appears to
have started in 2000. It cannot be
determined who the developers are,
but there are many collaborating
together to move the project forward.
151
Tableau A.1: General Purpose Computing (continued)
Product
RRDTool
Listed in : GRAS
License : GNU GPL.
Gnomba
License : GNU GPL.
IPAudit
License : GNU GPL.
Description
RRD is the acronym for Round Robin
Database. RRD is a system to store
and display time-series data (i.e.
network bandwidth, machine-room
temperature, server load average). It
stores the data in a very compact way
that will not expand over time, and it
presents useful graphs by processing
the data to enforce a certain data
density.
Gnomba is a GNOME version of
Smbclient, a UNIX client for
Microsoft’s SMB “Network
Neighbourhood.”
IPAudit is an IP traffic monitor. It
listens to a network interface in
promiscuous mode (or reads data
previously dumped to a file) and
tallies the total traffic for every
“connection”. A connection is a
combination of IP address pairs,
protocol and for TCP/UDP protocols,
the ports numbers. Use this tool for
determining network load.
The Buzz
Use it in your Perl / shell scripts. A
great tool for creating graphs of
system administration-based
information. If you are a system
administrator and need to graph your
system’s performance metrics, then
consider this program.
Status
It is still under active development.
The author and main developer is Tobi
Oetiker. This tool is a spinoff of his
earlier project MRTG. It is currently at
version 1.0.46. The program dates
back to at least 1999.
A nice alternative to Microsoft
Windows’ implementation. It requires
GNOME and Samba. It can be made
to run on multiple platforms and
architectures.
With a little bit of work and using the
standard UNIX text parsing tools, you
could use it in your scripts to collect
network statistics. It should compile
on most platforms.
Developed by Chris Rogers and Brian
Nigito, the program was first
developed in 1999 and development
ceased in 2000.
Currently under active development,
IPAudit 1.0Beta9 is now available.
The initial public release was in 1999.
It was originally developed and
founded by Jon Rifkin, but he now has
the help of three other developers.
152
Tableau A.1: General Purpose Computing (continued)
Product
Komba
License : GNU GPL.
NGrep
License : BSD.
Description
Another Windows-like Network
Neighbourhood browser that also lets
not only browse your Windows
networks, but also send messages
(similar to the Net send command).
NGrep strives to provide most of GNU
Grep’s common features, applying
them to the network layer. NGrep is a
Pcap-aware tool that will allow you to
specify extended regular or
hexadecimal expressions to match
against data payloads of packets. It
currently recognizes TCP, UDP and
ICMP across Ethernet, PPP, SLIP,
FDDI, Token Ring and null interfaces,
and understands BPF filter logic in the
same fashion as more common packet
sniffing tools, such as Tcpdump and
Snoop.
The Buzz
It is similar to Komba in functionality,
but designed to work under KDE
instead. Some parts of the program
may not be correctly translated. It was
originally developed in German and
therefore there may be portions with
comments and variable naming still in
German.
If your can use Grep and Tcpdump,
then you will have no problem using
this neat little tool in no time. Do not
let its simplicity fool you. It is a
powerful tool and can help you to
troubleshoot your network. So long as
you have a Pcap library, you will be
able to compile it for your platform
(there are also precompiled binaries
for Windows).
Status
Developed by Frank Schwanz, it is no
longer under active development. Its
first release was for KDE 2.x, but the
actual date of its initial release and its
version cannot be determined.
Development stopped in 2002.
Developed by Jordan Ritter, it is still
under active development. It is
currently at version 1.41. The project
appears to have started in 2001.
153
Tableau A.1: General Purpose Computing (continued)
Product
Tcpflow
License : GNU GPL.
Tcptraceroute
License : GNU GPL.
Tcpreplay
License : GNU GPL.
Description
Tcpflow is a program that captures
data transmitted as part of TCP
connections (flows), and stores the
data in a way that is convenient for
protocol analysis or debugging. A
program like Tcpdump shows a
summary of packets seen on the wire,
but usually does not store the data that
is actually being transmitted. In
contrast, Tcpflow reconstructs the
actual data streams and stores each
flow in a separate file for later
analysis.
Tcptraceroute is a Traceroute
implementation using TCP packets. In
many cases, firewalls will permit
inbound TCP packets to external
addresses and ports. Therefore, this
enables you to perform trace routing
using when your firewall generally
will not permit you.
Tcpreplay is a BSD-style licensed tool
to replay saved Tcpdump files at
arbitrary speeds. It provides a variety
of features for replaying traffic for
both passive sniffer devices as well as
inline devices such as routers,
firewalls, and the new class of inline
Intrusion Detection System (IDS).
The Buzz
Different in use from your standard
network packet sniffer, it is no less
useful or powerful.
Status
Still under active development, its
initial release was in 1999, and its
current version is 0.21. Jeremy Elson
developed it.
Use this tool to be able to send TCP
packets beyond firewalls. It should
work on most UNIX platforms.
Still under active development, its first
initial release was in 2001. It is
currently at version 1.5beta5. Michael
C. Toren developed the program.
Allows you to replay or recreate
stored network traffic in your
Tcpdump packet log. It should work
on most UNIX platforms.
Initial release dates back to 2002, and
it is still under active development and
is currently at version 2.0.2. The main
developer is Aaron Turner.
154
Tableau A.1: General Purpose Computing (continued)
Product
Iptraf
Listed in : IDA
License : GNU GPL.
BandwidthD
License : GNU GPL.
Description
Iptraf is a console-based network
statistics utility for Linux. It gathers a
variety of figures such as TCP
connection packet, byte counts,
interface statistics and activity
indicators, TCP/UDP traffic
breakdowns, and LAN station packet
and byte counts.
BandwidthD tracks usage of TCP/IP
network subnets and builds HTML
files with graphs to display utilization.
Charts are built by individual IP’s, and
display utilization over 2-day, 8-day,
40-day, and 400-day periods.
Furthermore, each IP address’s
utilization can be logged out at
intervals of 2.5 minutes, 10 minutes, 1
hour or 12 hours in CDF format.
HTTP, TCP, UDP, ICMP, VPN, and
P2P traffic are colour-coded.
BandwidthD runs on most platforms.
The Buzz
This is an impressive tool and you will
like the way it collects its working
statistics of network traffic and how it
breaks them down. It works on Linux
only.
Status
While no longer under active
development, this tool was developed
by Gerald Paul Java. The project
started in 1999 and the last release was
in 2002. It is currently at version 2.7.0.
Get useful network statistics and
generates well made and easy to
understand graphs. The statistics are
listed in an easy-to-understand format.
It should work on most UNIX
platforms.
Funded and provided by DerbyTech
wireless networking and Linux
consulting services, David Hinkle and
other volunteers. The project appears
to have started in 2003 and is still
under active development. The current
version is 1.2.0b.
155
Tableau A.1: General Purpose Computing (continued)
Product
Description
Office Automation Software :
OpenOffice
The goal of the project is to “To
Listed in :
create, as a community, the leading
GRAS, GRAM, IDA
international office suite that will run
License : GNU GPL and
on all major platforms and provide
Sun Industry Standards
access to all functionality and data
Source License.
through open-component based API’s
and an XML-based file format.”
The Buzz
Status
Originally based on the code donated
by Sun Microsystems for its
StarOffice suite, it has developed into
its own fully-fledged office suite, with
many options and features advanced
MS Office users would appreciate and
expect to find. It can also export files
to PDF. It can be compiled for most
major platforms. The only thing
missing is its own mail client. It is by
far the most advanced office suite thus
developed for non-Windows specific
architectures.
It is based on the source code of
StarOffice 5.2, which was released
commercially in June 2000.
StarDivision, the original author of
StarOffice was started sometime in the
mid-1980’s and later acquired by Sun
Microsystems. The source code was
then subsequently released. Future
versions of StarOffice software,
beginning with 6.0, have been built
using the OpenOffice.org source,
API’s, file formats, and reference
implementation. It is currently at
version 1.1.1. You can expect to see
newer versions of OpenOffice for
many years to come.
156
Tableau A.1: General Purpose Computing (continued)
Product
StarOffice
License : Proprietary
technology and license.
KOffice
License : GNU GPL
compatible License.
Description
StarOffice 7 software adds
functionality to enable export to PDF,
and to the Macromedia Flash format.
It also introduces the new StarOffice
Configuration Manager, the StarOffice
Software Development Kit, a macro
recorder, and support for assistive
technologies, as well as for complex
text layouts. It also shares technology
with OpenOffice, which was based on
StarOffice 5.2 source code. StarOffice
7 Office Suite is the world’s leading
office productivity suite on Linux and
the Solaris OS, and the leading
alternative office suite on Windows.
KOffice is a free, integrated office
suite for KDE, the K Desktop
Environment.
The Buzz
StarOffice software is affordable, easy
to use, and based on open standards. It
offers word processing, spreadsheet,
presentation, drawing, and database
capabilities. Its familiar interface
enables quick productivity and results
for the business user and elegant
output for the consumer. It is by far
the most advanced office suite thus
developed for non-Windows specific
architectures.
Status
StarDivision, the original author of
StarOffice was started sometime in the
mid-1980’s and later acquired by Sun
Microsystems. It is currently at
version 7.0. You can expect to see
newer versions of StarOffice for many
years to come.
While not as powerful as either
StarOffice or OpenOffice, it
nonetheless is a contender. It provides
all the tools and programs you would
expect in an office suite. You should
definitely try it out. It has nice visual
appearance. In addition, you will need
KDE to make it work.
Still under active development, it is
currently at version 1.3. Developed
and released with KDE, it is
considered an integral part of the KDE
desktop environment. The founder of
the KOffice effort was Torben Weis,
however, today many different
developers work on different portions
of the office suite. It is difficult to
determine exactly when KOffice first
began, but it is safe bet to say it was in
1999 or earlier.
157
Tableau A.1: General Purpose Computing (continued)
Product
Gnome Office
License : GNU GPL.
GNU Cash
License : GNU GPL.
Description
GNOME Office is a meta-project,
with the mission to coordinate
productivity applications for the
GNOME Desktop. It is intended to
produce a productivity suite composed
of entirely free software. The
GNOME Office suite is not defined by
an arbitrary, fixed number of
applications. However, it does include
all of the applications you would
normally expect in an office suite.
The Buzz
Again, it is not as powerful as either
StarOffice or OpenOffice, but
nonetheless a useful contender. Its
truly useful programs as are the GIMP,
GnuCash, and Gfax. However, its
other components are always good to
have around nonetheless.
GnuCash is a tool to manage your
personal finances using Free Software.
GnuCash allows you to track bank
accounts, stocks, income and
expenses.
Part of the GNOME Office suite. As
quick and intuitive to use as a
checkbook register, it is based on
professional accounting principles to
ensure balanced books and accurate
reports. GnuCash is backed up by an
active development community that is
blossoming into a full-fledged
accounting system.
Status
All the tools and programs within the
GNOME Office suite are still under
active development. It cannot be
determined who the lead maintainer of
the project is. Each program or tool is
developed and maintained by its own
set of developers and contributors, and
you may find some of them within this
text. Needless to say, the GNOME
Office suite has been distributed with
GNOME for many years now, at least
5. However, each tool and program is
at its own release version and is not
necessarily dependent on the other
portions of the office suite. For more
information, you would be well
advised to consult each tool or
applications’ web site independently
of the others.
Still under active development, it
appears that the original author of the
project was Robin Clark for a school
project. Today there are more than a
dozen developers on the project, and
more than 60 contributors to the
project. The school project was
originally done in 1997, and as has
come full circle since then. It is
currently at version 1.8.8.
158
Tableau A.1: General Purpose Computing (continued)
Product
PHPGroupWare
License : GNU GPL.
Horde
License : GNU GPL.
Description
PHPGroupWare (formerly known as
Webdistro) is a multi-user groupware
suite written in PHP. It provides a
Web-based calendar, todo-list,
addressbook, email, news headlines,
and a file manager. The calendar
supports repeating events. The email
system supports inline graphics and
file attachments. The system as a
whole supports user preferences,
themes, user permissions,
multi-language support, an advanced
API, and user groups.
We will not look at the individual
projects, instead, we will consider
only the framework that makes it all
possible. The Horde is a PHP-based
application framework from which to
build and use applications. There are
currently seventeen different
applications that comprise the
project’s totality, which vary from
CVS viewer to mail client to time
tracking applications to a portal to a
multi-user tasks list manager.
The Buzz
An interesting product. It is for those
looking for something different and
something that is web-based and can
therefore, in theory, be accessed from
anywhere. You will need a web server,
PHP, and a database. By no means
should this be considered stable or
production ready code. But since it is
GPL software, you can always reuse
portions of the code for your own
work. Expect to spend a few extra
minutes setting up and installing the
software.
The Horde framework is the glue that
all Horde applications have in
common. It is many things, including
some coding standards, common code,
and inter-application communication.
The shared code provides common
ways of handling things like
preferences, permissions, browser
detection, user help, and more. Horde
2.2.5 also makes heavy use of PEAR,
the PHP Extension and Application
Repository. PEAR is a set of reusable
PHP components providing things
such as Logging, Database
abstraction, and much more. You may
need a version of PEAR that is more
recent than your version of PHP.
Status
Still under active development, there
are four permanent project
coordinators. The person who started
the project is Joseph Engo. Currently
at version 0.9.16.000-1 and it cannot
be determined when the project
actually started.
It is still under active development.
The framework is currently at version
2.2.5. It cannot be readily determined
when the project actually started.
Furthermore, it cannot be determined
who the founder, lead developer or
maintainer of the Horde initiative is.
159
Tableau A.1: General Purpose Computing (continued)
Product
GIMP
Listed in : GRAM, IDA
License : GNU GPL.
KFax
License : GNU GPL.
Xpdf
Listed in : IDA
License : GNU GPL.
Description
The GIMP is the GNU Image
Manipulation Program. It is a freely
distributed piece of software for such
tasks as photo retouching, image
composition and image authoring. It
works on many operating systems, in
many languages.
A fax file viewer which can open and
read files in FAX file format.
Xpdf is an open source viewer for
PDF files. The Xpdf project also
includes a PDF text extractor,
PDF-to-PostScript converter, and
various other utilities.
The Buzz
Users who have worked with long
enough compare its power and
usability to that of Adobe PhotoShop.
You can easily create your own
plugins, modules, and filters using a
simple scripting language. In addition,
the Gimp Toolkit Library also forms
the basis for the GNOME
environment. It is a part of the
GNOME Office project.
A nice and simple tool to use to read
your fax files.
Xpdf is designed to be small and
efficient. It can use Type 1, TrueType,
or standard X fonts. Xpdf should work
on just about any system that runs X11
and has UNIX-like POSIX libraries.
Xpdf runs under the X Window
System on UNIX, VMS, and OS/2.
The non-X components (Pdftops,
Pdftotext, etc.) also run on Win32
systems. Since version 2.0, Xpdf uses
its own native LZW decoder.
Status
Still under active development, the
long awaited release of version 2.0 has
arrived. It was started in 1995 by
Spencer Kimball and Peter Mattis but
has since become a widely worked
upon project by many developers and
contributors aiming for its success.
It is still under active development ; it
was started by Bernd Johannes
Wuebben in 1997. New versions are
distributed with new major releases of
KDE. With version 3.0.0 of KDE Kfax
was at version 1.2.2. KDE is currently
at release 3.2.1.
Still under active development, Xpdf
is copyright of Glyph & Cog, LLC. It
is currently at version 3.0.0. The initial
public release of Xpdf was in 1995.
The developers and maintainers of the
project cannot be readily determined.
160
Tableau A.1: General Purpose Computing (continued)
Product
Gnofin
License : GNU GPL.
AxPoint
License : Not available.
It might be licensed
under the Perl / CPAN
License.
Description
It is a personal finance application that
runs under GNOME. It is designed to
be fast, efficient, and easy-to-use. The
scope of the project has been kept at a
minimum to preserve an interface that
is both intuitive and straightforward to
learn.
AxPoint is a presentation-making tool
from the makers of Apache AxKit. It
allows you to build beautiful
presentations using a simple XML
description format. AxPoint is a Perl
module that uses the PDFLib module
and the PDFlib library to generate
PDF based presentations from XML
data sources.
The Buzz
This program is nowhere near as
advanced as GnuCash. However, for
those looking just to balance their cash
flow, bank accounts, owed and due,
then this program might just be for
you.
Status
No longer under active development,
it is currently at version 0.8.4. Darren
Fisher developed it. The Changelog
indicates that the project started in
1999 and was stopped in 2000.
Creating your XML data sources will
allow you to better fine-tune the layout
of your presentation. The problem
with most other normal presentation
editors is that the editing is never quite
the way it should be. This program
requires you to have a good
knowledge of XML. The program is
actually a Perl module that does the
actual conversion. Now supports SVG
and table support.
It does not appear to be under active
development. It cannot be determined
when the project started, nor can it be
determined who started it or
developed the Perl module. The
project was stopped in 2002 and is at
version 1.3.0.
161
Tableau A.1: General Purpose Computing (continued)
Product
Hipergate
License : Hipergate
Public License
(combination of GNU
GPL, MPL and Apache).
Product documentation
is distributed under
Creative Commons
Attribution-NoDerivsNonCommercial
License.
AMS
License : GNU GPL.
Description
Hipergate is an open source web-based
application suite. Its mission is to
cover a full range of technical
requirements in any organization. All
applications are addresses from
Internet Explorer, without needing any
other additional software in the client
computer. This suite is multi-company
capable, and can be used in a single
company, a corporate group or
working as an ASP solution capable of
serving an unlimited quantity of single
customers.
AMS is a web-based Address
Management System. The AMS
consists of a SQL database and a Perl
script that enables granted users to
access it via Internet browsers.
The Buzz
It offers the following modules :
Collaborative tools and Groupware
Module, Contact Management
Module, Project Management and
Support Issues Tracking Module,
eShop Module, Content Management
Module, Massive Email Module,
Corporate Library, Roles based
security, Hierarchical data
management, Queries and Reports,
and Job Scheduler. All modules are
written in 100% pure Java. It has been
tested with and works with Tomcat
3.1.1a to 4.1.27. It should run on any
platform. You may require other
modules and open source software for
it to work correctly. For more details,
see http://www.hipergate.org/
about/arch.jsp. You will need a
database as well.
A simple to work with address
management system. Supported
downloaded file formats are CVS,
text, and TeX. It is a useful program to
have on an intranet, extranet, or a
portal. It was developed in Perl so it
should run on just about any Perl
supported platform.
Status
Still under active development, it is
currently at version 1.1.3 and is
available as both source code and
compiled Java Bytecode. Hipergate is
a copyright of KnowGate. The project
was registered with SourceForge in
2003, but it cannot be precisely
determined when it was actually
started. The developers and
maintainers of the project are The
Hipergate working group, Ivan
Montoro, KnowGate, and Ivan
Montoro Ten.
While it is no longer under active
development, Schwaerzler Hermann
and Wilhelm Theo developed it in
2000. Development stopped in 2002.
It is currently at version 1.1.
162
Tableau A.1: General Purpose Computing (continued)
Product
Rubrica
License : GNU GPL.
AWOL
License : GNU GPL.
Chronos
License : GNU GPL.
Description
Rubrica is an address book for the
GNOME environment and it offers
many interesting features.
AWOL is an in-out board, similar to
something you’d see on the wall of a
lobby, or desk of a switchboard
operator, to keep track of who’s in the
building, when they’ll be back, etc.
Chronos is a Web agenda/calendar for
intranets (although it could be used
from anywhere). It can send reminders
by email. You can schedule multi-user
events. It is fast and light on resources.
The Buzz
Unlike many other address books
systems, it allows you to place attach
pictures to your contacts to help you
remember who it is you are looking
for, offers interesting import and
export file formats to use with
different address book applications, a
dictionary, as well as localizations. It
is designed for GNOME and will
therefore require that you have a
working copy of GNOME on your
system.
In short, it is a program where
employees can list their whereabouts
so that others can track them down if
need be. It is useful for receptionists,
secretaries, HR, and dispatchers. Users
cannot edit the locations of other
users. It is a PHP applications and it
will need MySQL to work correctly.
Written in Perl, it is a simple agenda
and calendar program that can send
reminder emails to you. You may
consider this program in place of other
similar tools because it is very light on
your systems’ resources. It will not
work with Netscape browsers of
version 4.x or earlier.
Status
While still under active development,
it was developed by Italian
engineering student Nicola Fragale.
The project was started in 2000 and
was born as a programming exercise
from the author’s learning of GTK+
and GNOME. It is currently at version
1.0.12.
It is no longer under active
development, work stopped in 2002. It
is currently at version 3.0.3. The
developers are Josh, Topher, Nathan,
and Rick. The project appears to have
started in 2001.
No longer under active development, it
is currently at version 1.1.6. The main
developer is Simon Perreault, although
Mark Fowler and Richard Chen also
helped in the development of the
program. It is copyrighted to Linux
Québec Technologies. Development
stopped in 2002 but it cannot be
determined when the project started.
163
Tableau A.1: General Purpose Computing (continued)
Product
Goats
License : GNU GPL.
Plans
License : GNU GPL.
CheckUPS
License : BSD.
Description
Goats is a yellow Post-It note applet
for the GNOME desktop, originally
modelled after KNotes for KDE.
Goats features alarms, autosaving and
more...
Plans is a powerful and flexible Web
calendar. Its features include recurring
events, merged calendars, event icons,
custom themes and templates, MS
Outlook export, SQL or flat-file data
storage, and browser-based
management.
CheckUPS actively checks United
Parcel Service Inc’s website on the
status of a shipped package. When the
package status has changed, the
software sends a brief notice to any
email addresses the user may have
supplied (email, ICQ, pager, phone,
etc).
The Buzz
Designed to work for the GNOME
desktop, it is a great little program to
use to remind yourself of things. You
cannot miss the little yellow post-its
on your display under GNOME. It
requires Perl and C compiler.
What makes this calendar program
different from the competition is it can
store data in an SQL database or flat
file, it offers browser-based
management, uses HTML templates
for a customizable look and feel, it
allows for recurring events, supports
multiple languages and weeks do not
have to start with Sunday. It also
allows users to have multiple
dependent or independent calendars. It
will run on UNIX and Windows.
Wow ! Now you will have an easier
time keeping track of your UPS
shipments and arrivals without always
having to go to the UPS web site and
enter in a bunch of ticket ids. It uses
Perl.
Status
It still appears to be under active
development. M. Craig and Tomokazu
Matsumaru developed it. It is
currently at version 2.2. The first
release was in 2000.
Developed by Lloyd Dalton, it is still
under active development and is
currently at version 5.6.5. It cannot be
determined when the project started.
Developed by Robert A. Casinghino
and David Davis, it is no longer under
active development. It was registered
at SourceForge in 2002, and the initial
public release was made available in
2002. It is currently sat version 1.2.
164
Tableau A.1: General Purpose Computing (continued)
Product
HylaFax
License : Distributed in
source code format
under the HylaFax
License and is free.
Econometrics
License : GNU GPL.
Description
HylaFax is an enterprise-class system
for sending and receiving facsimiles as
well as for sending alphanumeric
pages. The software is designed
around a client-server architecture.
Fax modems may reside on a single
machine on a network and clients can
submit an outbound job from any
other machine on the network. Client
software is designed to be lightweight
and easy to port.
It is a GNU regression, econometrics
and time-series library. It is a
cross-platform software package for
econometric analysis, written in the C
programming language.
The Buzz
Designed to work under SGI IRIX, it
will also work under GNU Linux
systems. However, you will have to try
to see if it works under other UNIX
and UNIX-like systems. It is an
enterprise-class fax system for UNIX.
Status
Still under active development, it is
currently at version 4.1.8. According
to the license information file, it was
developed and maintained originally
from 1990 to 1996 by Sam Leffler,
and then taken over by SGI. It is
currently copyrighted by SGI since
1991. However, who the current
developers and contributors are cannot
be determined.
Consider using this library for
developing your own economic trend
analysis application. The library is
linked to R so that you can potentially
tap into a more diverse set of
algorithms if need be. It has a GUI for
the fine-tuning of GNUplot graphs.
However, it is also more than just a
library. Using its GUI, you can import
data and perform your analyses on
them. It also interfaces to LAPACK if
you have installed on your system.
You will need GTK+ 2.0 or greater to
compile the GUI.
Still under active development, it is
currently at version 1.2.4. The initial
public release was in 2000. Allin
Cottrell, Department of Economics,
and Wake Forest University developed
it.
165
Tableau A.1: General Purpose Computing (continued)
Product
MinDia
License : GNU GPL.
Photoshelf
License : Artistic
License.
Description
The program MinDia can be used to
create, modify and run multimedia
slide shows on a computer. You can
show sequences of images, show text
as description, dissolve images and
play sound files in different formats
(WAV or MP3). The program can also
control real slide projectors (from
Rollei) via a serial interface.
Photoshelf is a web base digital image
management, archive and display
system. It is used to catalogue and
arrange into albums photos from a
digital camera or any other source. It
aims to be very featureful and a
complete solution for the only place
where your photos need to be stored.
The Buzz
The program is written in C++ and it
uses Qt for the GUI and runs on Linux
and other UNIX versions and
Microsoft Windows. It has a plug-in
interface, which is applied to
implement the script/macro support.
Python is used as its scripting
language.
Status
Still under active development, it is
currently at version 0.97.3. Michael
Neuroth developed it. The first public
release was in 2002.
Although there are many of
commercial image management and
digital archive software (electronic
photo album), this one worth trying
out because it is stable, and has many
useful and interesting features.
Although currently at version 1.11,
which has been out since 2002, the
web site claims version 2 is in the
works. Therefore, it appears as if it is
still under active development. No
release date was given for version 2.
Written by Ben Buxton, development
appears to have started in 2000.
166
Tableau A.1: General Purpose Computing (continued)
Product
TaskJuggler
License : GNU GPL.
MrProject
License : GNU GPL.
Description
TaskJuggler is a project management
tool for Linux and UNIX
system-based operating systems.
Whether you want to plan your
college’s shifts for the next month or
want to build a skyscraper TaskJuggler is the tool for you.
TaskJuggler not only honours the task
interdependencies but also considers
resource constraints. Using Task
juggler’s powerful filtering and
reporting algorithms you can create
task lists, resource usage tables, status
reports, project calendars and project
accounting statements.
MrProject is a project planning,
scheduling and tracking tool for the
GNOME Desktop aiming to act as a
better replacement than available
proprietary tools.
The Buzz
Instead of clicking yourself painfully
through hundreds of dialog boxes you
specify your TaskJuggler project in a
simple text format. You simply list all
your tasks and their dependencies. The
information is sent through
TaskJuggler and you will get all sorts
of reports in HTML or XML format. It
is a very powerful planner, and earns
its name because it really does juggle
between tasks. It is probably much
better than any other commercial
software you will find on the market.
Status
still under active development, Chris
Schläger and Klaas Freitag wrote it. It
is currently at version 2.0.1. The
project appears to have started in
2001.
MrProject is part of GNOME Office
suite. While it is not as powerful as
TaskJuggler, it certainly does have a
better GUI representation of the tasks
at hand. Perhaps you would consider
using TaskJuggler to actually create
your plan of action and use MrProject
to visualize what it is you have to do.
It comes integrated with RedHat
Linux and Debian Linux. The source
is only available via CVS.
Still under active development, the
project is copyrighted to CodeFactory
AB, who has two full time developers
working on it, Mikael Hallendal and
Richard Hult. It is currently at version
0.9.1. Cannot determine when the
project was started, however, version
0.3 dates back to 2001.
167
Tableau A.1: General Purpose Computing (continued)
Product
OpenSched
License : GNU GPL.
MimerDesk
License : Not available.
IssueTracker
License : GNU GPL.
Description
OpenSched is a tool for project
management. It takes as input a file
describing the project and generates
textural descriptions of the generated
project plan, Gantt charts, and
Network diagrams.
Dicole MimerDesk is a web-based
collaborative learning and groupwork
environment with emphasis on the
word groupwork. It was designed for a
wide variety of uses such as personnel
management, computer-supported
collaborative learning, carrying out
projects, and setting up communities.
IssueTracker is a support issue
tracking system written in PHP, with
option of either a PostgreSQL of
MySQL backend. The system is
designed to be user friendly, and uses a
simple modular API to make addition
of new modules or features very easy.
The Buzz
In short, you write up your textural
description in text, HTML, or TeX,
and then the program will generate an
EPS drawing. This can then be
converted to GIF or PNG by the
program. It is a nice program to work
with because it takes your ideas and
converts them to images. It is not too
difficult to understand how it works.
Its main strengths include a very
customizable group system that allows
many groups to work simultaneously
on a shared database with tools like
Projects, Calendar, Tasks, Forums,
Links, Chat, Reviews, Voting, Files,
Instant Messages, Profiles, and many
more. It was designed to ease the
problems with group-based working,
and makes it easy to work in groups,
inside and outside the organization.
Use this program for your own
development purposes. Rather than
having to buy a commercial issue
tracking or bug tracking software, this
product offers many features which
you will appreciate, and it has a simple
to program API, making adding your
own modules a simple operation. You
will need PHP to make it work.
Status
Still under active development, it is
currently at version 0.4.4. The original
developer of the program was Idan
Shoham ; however, the new maintainer
of the project is Alan McIvor. They
are joined by three other developers.
The first public release was in 1999.
Although certified as open source
software by the OSI, it is being sold
commercially. The project was started
in 1999 and is copyrighted to Dicole.
There are currently three developers
Teemu Arina, Tony Riikonen, Antti
Vähäkotamäki that are paid to work
on this project, although development
is not their only task for this project.
Development is also being done by the
Dicole community as well. It could
not be determined what version the
project is currently at.
Still under active development, it is
currently at version 4.0.3. The project
manager is Jeremy Hogan, and there
are six other developers working on
the project. It cannot be determined
when the project started.
168
Tableau A.1: General Purpose Computing (continued)
Product
GForge
License : GNU GPL.
BeanCounter
License : GNU GPL.
Description
GForge is an open source
collaborative software development
tool, which allows you to organize and
manage any number of software
development projects. GForge is a
web-based Collaborative Development
Environment offering easy access to
CVS, mailing lists, bug tracking,
message boards/forums, task
management, permanent file archival,
and total web-based administration.
BeanCounter is a program that
watches your stocks and other
equities. It helps you to evaluate your
VAR as well as your portfolio return.
It also helps you to determine the
marginal risk of your equities, or your
unrealized gains and losses. It can also
store all of it information into a
database for future analysis.
The Buzz
It is perfect for managing large teams
of software engineers and/or engineers
scattered among multiple locations.
This is a project management program
designed for software developers
rather than for project managers. To
make it work, look at the web site’s
list of dependencies. You will need
PHP. However, the GForge project is
based on the original SourceForge.net
system, which was closed by VA
Linux in 2001.
It works well with North American
equities and mutual funds, as well
those from Europe and Asia. Use this
tool to help better understand your
investment and your potential gains
and losses, as well as to get a better
feel and understanding of the
diversification of your portfolio. It
uses Yahoo ! to update its exchange
rates. If you are an investor or are just
interested in equities or money, then
you should try out this program. It
requires Perl.
Status
Still under active development, it is
currently at version 3.3. There are
many developers in this project ;
however, it cannot be determined who
the project founder was and who is the
current maintainer.
Still under active development, it is
currently at version 0.7.2. Developed
by Dirk Eddelbuttel, the project was
started in 1998.
169
Tableau A.1: General Purpose Computing (continued)
Product
EFax
License : GNU GPL.
GFax
License : GNU GPL
Twiki
License : GNU GPL.
Description
EFax is a small ANSI C/POSIX
program that sends and receives faxes
using any fax modem (Class 1, 2 or
2.0).
The GFax project aims to provide a
free front end to the various facsimile
programs available for Linux and
other operating systems that use the
GNOME project.
Twiki is a content management
system. It is a flexible, powerful, and
easy to use Web-based collaboration
platform. Twiki can be used to run a
project development space, a
document management system, a
knowledge base, or any other
groupware tool, on an intranet or on
the Internet.
The Buzz
It is much smaller than HylaFax, and
is easier to use. However, it also has
far fewer options. Nonetheless, it is a
good product to use for those using
standalone workstations who do not
need all of the options of an
enterprise-class fax system. Faxes can
be sent to a “fax” printer and e-mailed
as a MIME extension. It should work
on most versions of UNIX, and you
may need GhostScript to fax
PostScript files.
Part of the GNOME Office suite.
GFax provides the familiar “pop up”
window and phone book support when
one “prints” to a “fax” printer.
Use Twiki to create your own web
content. Content can be created
collaboratively by using just a
browser. Because of its simple API
plug-in architecture, developers can
easily create new applications. It looks
and feels like a normal intranet or
Internet web site ; but content can be
easily changed. Based on Perl and
CGI, it is easy to create or make new
modules for Twiki. There are already
many contributor modules that you
may find useful.
Status
No longer under active development,
it is currently at version 0.9. Cannot
determine when the project was
started or who the maintainer or
developer of the project is.
Development ceased in 1999.
Still under active development, it is
currently at version 0.6.0 for GNOME
2.x. Developed by George Farris, the
project appears to have started in
2003.
Still under active development, the
production ready release dates back to
2003, whereas the beta version is from
early 2004. The production release is
currently at version 20030201. Twiki
is a registered trademark of Peter
Thoeney, its main developer. Twiki is
a Wiki system based on JosWiki that
was used for the Free JavaOS project
(http://cjos.sourceforge.net/
archive).
170
Tableau A.1: General Purpose Computing (continued)
Product
CVW
Listed in : GRAS
License : Distributed as
Public Domain.
Description
CVW is a collaboration software
environment that provides a “virtual
building” where teams can
communicate, collaborate, and share
information, regardless of their
geographic location. CVW takes
virtual meetings one step further and
enables virtual co-location through
persistent virtual rooms, each
incorporating people, information, and
tools appropriate to a task, operation,
or service.
The Buzz
Consider CVW as follows : it is a
building that is divided into floors and
rooms, where each room provides a
context for communication and
document sharing. It allows people to
get together in rooms to chat or use
audio/video conferencing and share
text and URLs with one another with
their chat. Using rooms as the base for
communication means users are not
required know other user locations.
Rooms are also the basis for document
sharing. Users can place documents
allowing anyone else in that room to
read the document or view information
about the document. Document types
include whiteboards, URLs, notes and
other documents edited through the
user’s local applications.
Status
The original author of the work is the
MITRE Corporation. Development of
the project stopped in 2001 and is
currently at version 4.0.2. Originally
started as proprietary, as of version
3.1.0 it was released as open source.
However, it cannot be readily
determined when the project started or
who the authors of the project were.
171
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
Generally considered the most stable
and most secure of the open source
BSD operating systems, due in large
part to the ongoing source code
analysis of the system.
Actively developed by contributors all
over the world. Bill Joy put the
original BSD kernel together in 1977.
Bill Jolitz then undertook putting
together 386/BSD in 1992. It is
currently at version 3.4.
The most widely ported of all the open
source BSD-like operating systems
and ideal for research institutions. It
offers the most advanced system
scheduler of all the open source
operating systems.
Actively developed by contributors all
over the world. Bill Joy put the
original BSD kernel together in 1977.
Bill Jolitz then undertook putting
together 386/BSD in 1992. It is
currently at version 1.6.1.
It is the closest port to Bill Jolitz’s
386/BSD. Probably the easiest of the
BSD’s to use ; it is the most
technically simple of the BSD open
source operating systems, and offers
more cutting edge software than any
of the other BSD-based operating
systems.
Actively developed by contributors all
over the world. Bill Joy put the
original BSD kernel together in 1977.
Bill Jolitz then undertook putting
together 386/BSD in 1992. It is
currently at release 5.2.1.
Operating Systems and Environments :
OpenBSD
Listed in :
GRAS, GRAM, IDA
License : BSD
NetBSD
Listed in :
GRAS, GRAM, IDA
License : BSD.
FreeBSD
Listed in :
GRAS, GRAM, IDA
License : BSD.
A multi-platform 4.4BSD-based
UNIX-like operating system
emphasizing portability,
standardization, correctness, proactive
security and integrated cryptography.
OpenBSD supports binary emulation
of most programs from SVR4
(Solaris), FreeBSD, Linux, BSD/OS,
SunOS and HP-UX.
NetBSD is a free, secure, and highly
portable UNIX-like operating system
available for many platforms. Its clean
design and advanced features make it
excellent in both production and
research environments, and it is
user-supported with complete source
code.
FreeBSD is an advanced operating
system derived from BSD. Currently
developed and maintained by a large
team of individuals consisting of the
global community. FreeBSD offers
advanced networking, performance,
security and compatibility features.
172
Tableau A.1: General Purpose Computing (continued)
Product
Mac OS X
License : Apple
Proprietary technology
and license.
Darwin
License : Apple Open
Source License.
Description
Mac OS X is Apple’s new flagship
operating system based on the BSD
Mach kernel, and Darwin is the open
source version of Apple’s proprietary
Mac OS X. While they do not share
the same code base, both share the
same underlying kernel
subcomponents. The graphical
interface Aqua/Quartz of Apple
remains to this day proprietary
technology.
Darwin is the open source version of
Apple’s proprietary Mac OS X, and
although it does not have all of the
tools and programs and GUI
interfaces, they share the same
underlying operating system code
base. The base system of Mac OS X
and Darwin are the same. The
differences are found in the user
applications and programs and the
lack of a GUI. Darwin can use
XFree86 for its GUI. Alternative
address :
http://www.opendarwin.org
The Buzz
Mac OS X caused a large buzz when it
was first released and is hailed by
many as not only the most intuitive
operating system in the world, but also
among one of the most secure.
Status
Mac OS X is being actively developed
by Apple and their latest release was
in October 2003, Panther, Mac OS X
version 10.3. Mac OS X was started in
1999.
Not only can it work on your
PowerPC, but even on your x86
hardware. You will need to use
XFree86 in order to have a GUI
system. Aqua and Quartz source code
are not included and are proprietary to
Apple. Most of the Mac OS X tools
and programs are also not included.
Mac OS X was started in 1999.
Darwin was started near or around the
same time, and is maintained by
developers around the world. It is
currently at version 7.0.1.
173
Tableau A.1: General Purpose Computing (continued)
Product
GNU/Linux
Listed in :
GRAS, GRAM, IDA
License : GNU GPL and
LGPL, Copyleft,
XFree86, BSD, and
others.
SELinux
Listed in : GRAS
License : GNU GPL.
Description
Linux is a clone of the operating
system UNIX, written from scratch by
Linus Torvalds with assistance from a
loosely knit team of hackers across the
Net. It aims towards POSIX and
Single UNIX Specification
compliance. It has all the features you
would expect in a modern
fully-fledged UNIX, including true
multitasking, virtual memory, shared
libraries, demand loading, shared
copy-on-write executables, proper
memory management, and TCP/IP
networking. Alternative address :
http://www.kernel.org
The NSA was given a mandate to find
an operating system which could be
both secure and used across different
architectures, and thus a system that
would become a part of the Linux
community, adding some
contributions to help secure the Linux
kernel. It is not a working Linux
distribution but rather a series of
patches to be applied against a
functional source code tree of the
kernel.
The Buzz
The defining standard in open source
software and the potential of
developers to work together on an
international scale to produce the
fastest growing operating system in
the world. There are many choices and
distributions to choose from to run a
variety of platforms.
Status
The original Linux kernel was written
by Linus Torvalds in 1991 due to his
dissatisfaction with the Minix
operating system, and today is
developed on an international scale ;
Linus Torvalds remains a defining
authority on the development of the
kernel, even today. It is currently at
Linux kernel version 2.6.3.
With some tinkering, you can get it to
work, it is more secure than the other
standard Linux distributions because it
supports role based access control,
mandatory access control, and
multi-level security.
Based on previous work to the Mach
kernel by the NSA, it has changed its
mandate to working on a more
portable operating system kernel,
specifically the Linux kernel, and
Linux-based work was started in at
least 1999 (possibly earlier), although
publication was made available in the
open literature in 2000. It is based on
the standard Linux kernel and
augmented by the NSA’s own team of
developers. It is still under active
development. Currently works with
the 2.6 Linux kernel.
174
Tableau A.1: General Purpose Computing (continued)
Product
Cygwin
Listed in : GRAS
License : Most tools are
GNU GPL ; some are
X11 ; others are BSD ;
Cygwin API is GNU
GPL.
RTLinuxFree
Listed in : GRAS
License : GNU GPL,
FSMLabs Open Patent
License.
Description
Cygwin should be considered as a
Linux-like command-line and GUI
environment for the Windows
operating system that uses a set of
DLL’s to implement the Linux API
under a Windows environment. Use
Cygwin if you wish to learn more
about Linux / UNIX from the comfort
of your Windows PC, or wish to
interact with other UNIX systems, or
wish to port your UNIX applications
to PC.
The open source implementation of
RTLinux is a modified, real-time
implementation of both the Linux
kernel and its surrounding tools and
utilities.
The Buzz
It has come a long way since 1998,
when it offered no GUI, and minimal
tools, utilities, and a half functional
compiler compared to today’s well
rounded Linux clone for Windows. It
includes most of the GNU
development tools you would expect
on a Linux system, as well as the
majority of the UNIX commands you
would normally work it. It even comes
with Apache and a fully functional X
Windows system, and you can
configure Cygwin to offer network
services such as Telnet, FTP, SSH,
HTTP, and others.
Worth looking at for those interested
in real-time systems.
Status
It is still under active development and
is sponsored by Red Hat. The first
release was in 1998, and it is
developed by the open source
community and is not controlled by
any one member. Red Hat offers
commercial-based solutions of
Cygwin. It is currently at version
1.57-1.
It is not possible to determine if
RTLinuxFree is still under
development. RTLinux is still under
development - it was started in 1999.
The current version cannot be
determined.
175
Tableau A.1: General Purpose Computing (continued)
Product
UWIN
License : AT&T
Nonexclusive Binary
Code License.
Description
Development : The UWIN package
provides a mechanism for building
and running UNIX applications on
Windows 2000, Windows NT,
Windows XP, Windows ME, Windows
98, and Windows 95 with few, if any,
changes necessary. It is for all
purposes, similar to Cygwin but with
entirely different source code trees.
The Buzz
Well integrated and provides higher
performance than Cygwin because it
does not rely on emulation DLL’s, but
it has less tools and utilities and does
not come bundled with a GUI X
Windows environment. However,
outside contributors have compiled
XFree86 for UWIN, as well as many
other tools. UWIN is free to academic
and research institutions. If this is not
the case, a version is available from
WiPro Inc or Global Technologies Inc
is available for commercial licensing.
Status
Undertaken by David Korn (the
developer of the Korn shell) to
reproduce a UNIX system under the
Windows operating system. It is still
under active development. It is a
research project funded by AT&T. It
cannot be determined when the project
actually began, but it does go back to
the late 1990’s. It is currently at
version 3.2.
176
Tableau A.1: General Purpose Computing (continued)
Product
Sun Java Desktop
System
License : Sun
Proprietary License ; not
licensed as GNU or
other open source
license.
Description
Sun has delivered the first viable
Microsoft Windows alternative. The
Java Desktop System is a more
affordable, secure desktop that is
designed to thrive in a
Windows-centric world. It is also the
only environment with fully integrated
Java technology, making this
“out-of-the-box” desktop ready to run
thousands of Java technology-based
applications with a consistent look and
feel.
The Buzz
Based on SuSE Linux 8.1, it comes
bundled with all of the Sun Java
technology and receives the Sun seal
of approval. This is quite possibly the
only open source-based desktop
operating system that is able to
successfully challenge Microsoft’s
position. It costs less than 25% the
cost for purchasing new Windows
operating system licenses. Please note
that JDS is based on open source
technology but that it has been
packaged and stamped with Sun’s seal
of approval and will cost you money.
There are no free versions of the
software available. For demos, call
your local Sun representative. All Sun
components do not come with source
code as they are proprietary Sun
technology. You have the option of
renewing JDS via renewable yearly
licenses which include 1-year software
support.
Status
The project was started in 2003, based
on SuSE Linux 8.1, with Sun
technological additions and
modifications. It is unknown if Sun or
SuSE is maintaining the Linux source
code base of the operating system. It is
currently at release 1.
177
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
It runs on various versions of Linux
and on the SPARC version of Solaris
8. Although there are free versions
available, it lacks much of the
functionality of the commercial
version. Part of the GNOME Office
suite. It also uses J-Pilot as the
backend program for Evolution’s PDA
synchronization capabilities.
Ximian was bought in 2003 by SuSE
Linux and then later bought by Novell
in early 2004. The program has been
around since at least 2001, but its
actual history cannot be determined,
nor can the main developer(s) be
determined.
PDA Synchronization Tools :
Evolution
Listed in : GRAM, IDA
License : GNU GPL.
It is the award-winning personal and
workgroup information management
solution for Linux and UNIX-based
systems. It seamlessly integrates
email, calendaring, meeting
scheduling, contact management, and
task lists, in one powerful, fast, and
easy-to-use application. Ximian
Evolution is also a powerful
collaboration software package that
connects to popular corporate
communications architectures like
Microsoft Exchange, Lotus Notes, and
other messaging systems. Ximian
Evolution supports a broad range of
leading Linux distributions and UNIX
variants.
178
Tableau A.1: General Purpose Computing (continued)
Product
KPilot
License : GNU GPL.
J-Pilot
License : GNU GPL.
MultiSync
License : GNU GPL.
Description
KPilot is a replacement for the Palm
Desktop software from Palm Inc,
which makes your Palm/Palm
Pilot/Visor computer capable of
exchanging information with your
KDE powered computer. KPilot does
not replace the Palm Desktop all by
itself. It connects and integrates a
number of fine KDE 3.x applications
into a package that can do everything
the Palm Desktop can, and more.
J-Pilot is a desktop organizer
application for PalmOS devices. It is
meant to be an alternative to the Palm
Desktop for those who want to run
Linux or UNIX.
MultiSync is a free modular program
to synchronize calendars, address
books and other PIM data between
programs on your computer and other
computers, mobile devices, PDA’s or
cell phones. MultiSync works on any
GNOME platform.
The Buzz
Although it only works for KDE, this
is a very useful solution and keeps you
away from having to synchronize and
work with your Palm from a
Windows-based system. KPilot has
plugins that can exchange information
between your Palm and other
applications like KOrganizer or
POP3/SMTP mail servers. In KPilot
you can display and edit your contacts,
write notes or install new programs on
your Palm. It appears to support many
non-Palm devices as well.
J-Pilot is meant to be used as a
complete desktop replacement for
PlamOS and has been reported to
work under Linux, IRIX, Solaris, and
FreeBSD.
With plugins for Ximian Evolution,
IrMC, Windows CE / Pocket PC, Opie
and Zaurus, Palm synchronization,
LDAP synchronization, and backup
your PIM data backup.
Status
Still under active development and
part of the KDE PIM suite, it is
currently at version 4.4.0. The project
was started by Dan Pilone, and is
currently maintained by Adriaan de
Groot. Version 3.2.1 dates back to
August 2000. Extrapolating this
version number from the date of its
release, we can assume that it predates
this by at least several more years.
Still currently under active
development, it is now at version
0.99.7. The program was developed
and is still maintained by its author
Judd Montgomery. The program was
started in 1999.
Still under active development, it is
currently at version 0.81. The program
is written by Bo Lincoln, Tom Foottit,
Armin Bauer, and has several other
contributors. The project was started
in 2002 and was originally developed
by Bo Lincoln.
179
Tableau A.1: General Purpose Computing (continued)
Product
PIM Software :
Evolution
Listed in : GRAM, IDA
License : GNU GPL.
Kronolith
License : GNU GPL.
Description
The Buzz
Status
It is the award-winning personal and
workgroup information management
solution for Linux and UNIX-based
systems. It seamlessly integrates
email, calendaring, meeting
scheduling, contact management, and
task lists, in one powerful, fast, and
easy-to-use application. Ximian
Evolution is also a powerful
collaboration software package that
connects to popular corporate
communications architectures like
Microsoft Exchange, Lotus Notes, and
other messaging systems. Ximian
Evolution supports a broad range of
leading Linux distributions and UNIX
variants.
Kronolith is the Horde calendar
application. It provides a stable and
feature-rich individual calendar
system for every Horde user, and
collaboration/scheduling features are
starting to take shape. It makes
extensive use of the Horde Framework
to provide integration with other
applications.
It runs on various versions of Linux
and on the SPARC version of Solaris
8. Although there are free versions
available, it lacks much of the
functionality of the commercial
version. Part of the GNOME Office
suite. It also uses J-Pilot as the
backend program for Evolution’s PDA
synchronization capabilities.
Ximian was bought in 2003 by SuSE
Linux and then later bought by Novell
in early 2004. The program has been
around since at least 2001, but its
actual history cannot be determined,
nor can the main developer(s) be
determined.
Plans include support for shared
calendars and merging multiple
calendars into a single view. It is a
powerful web-based calendar. It
supports iCalendar. Part of the Horde
PHP Framework project.
Still under active development, it is
currently at version 1.1.1. The first
release, version 0.0.1 dates back to
September 2000. It cannot be
determined who is the main
author/maintainer of Kronolith.
180
Tableau A.1: General Purpose Computing (continued)
Product
Tutos
License : GNU GPL.
Twiggi
License : GNU GPL.
KAlarm /
KOrganizer
License : GNU GPL.
Description
Tutos is a tool to manage the
organizational needs of small groups,
teams, and departments by providing
some of the following web-based
tools : user and group calendars,
address manager, bug tracking system,
product/project repository, mailboxes,
project time tracking, change history,
invoices, and watch lists.
Twiggi is a web-based email client and
contact manager solution for Linux. It
includes the ability to securely share
information with co-workers either
individually or via assigned groups.
KOrganizer is the calendar and
scheduling application of the popular
K Desktop Environment. KOrganizer
provides management of events and
tasks, alarm notification, web export,
network transparent handling of data,
group scheduling, import and export
of calendar files and more. It is an
integral part of your KDE PIM suite.
Alternative address :
http://korganizer.kde.org
The Buzz
It is a very nice program and supports
many different languages. Use it to
help organize your organization if you
need internal Quality Management
(ISO9600). To make it work you will
need a web server, a database, and
PHP.
Status
It cannot be determined if the project
is still under active development at
this time (spring 2004) since 9 months
have passed since the last release. The
project was started in July 2000, and is
currently at version 1.1. It cannot be
determined who the main developer
was.
Meant to be used as a web-based
groupware, this suite provides you
with an agenda, a calendar, an e-mail
client. The program’s power is found
in its advanced calendar and agenda
system.
Still under active development, the
main developers are Alan Knowles,
Aaron Stone, Craig Foster,
Christopher Heschong, Greg Ross,
Jaime Kikpole, and M. Allan Noah,
although there many other secondary
developers and contributors. The first
public release was in November 2001,
and it is currently at version 1.10.16.
Still under active development under
the KDE project umbrella, its current
version is 3.2. The project was started
at in 1998. The current maintainer of
the project is Cornelius Schumacher.
KOrganizer supports the two dominant
standards for storing and exchanging
calendar data ; vCalendar and
iCalendar and are fully customizable
to your needs. Very nice and easy to
use and work with, and you do not
need to compile or find many different
programs and libraries because it
comes with KDE. If you can compile
KDE for your platform, then you will
be able to get it to work.
181
Tableau A.1: General Purpose Computing (continued)
Product
Portal Software :
Zope
Listed in :
GRAS, GRAM
License : Zope Public
License.
JBoss Application
Server
Listed in :
GRAS, GRAM
License : GNU LGPL.
Description
The Buzz
Status
Zope is an open source web
application server primarily written in
the Python programming language. It
features a transactional object
database which can store not only
content and custom data, but also a
dynamic HTML templates, scripts, a
search engine, and RDBMS
connections and code. It features a
strong through-the-Web development
model, allowing you to update your
web site from anywhere in the world.
To allow for this, Zope also features a
tightly integrated security model.
The JBoss Application Server is an
open source Java application server
that competes with commercial
software products such as BEA
WebLogic and IBM WebSphere.
Alternative address : http:
//sourceforge.net/project/
showfiles.php?group_id=22866
Zope includes its own HTTP, FTP,
WebDAV, and XML-RPC serving
capabilities, but can also be used with
Apache or other web servers. Consider
using Zope for building your own
intranets and web portals.
Still under active development, it is
currently at version 2.7.0. Copyrighted
by the Zope Corporation, it cannot be
determined who is/are the developers
and maintainers of the program, nor
can it be determined when the first
initial public release was available
publicly.
It can be used anywhere from a simple
PC to a Sun E15K with more than a
hundred processors. It can be scaled to
as large a system as you have.
Apparently more secure than BEA
WebLogic, JBoss leads the way in
automation and enterprise readiness.
Sun Microsystems has certified JBoss
as J2EE compliant. JBoss is a
powerful application server and can
scale to anything you could throw at it.
It is written in 100% pure Java and is
fully J2EE standards-compliant.
Still under active development, it was
started in 1999 as an open source EJB
container. Currently at stable release
3.2.3, and there are currently 96
developers working on. There are four
project maintainers who are Juha
Lindfors, Marc Fleury, Bill Burke, and
Scott M. Stark. The project registered
with SourceForge in 2001.
182
Tableau A.1: General Purpose Computing (continued)
Product
Apache
Listed in :
GRAS, GRAM, IDA
License : Apache
License.
PHP
Listed in :
GRAS, GRAM
License : PHP License.
Description
Apache is very popular and provides
access to most web sites on the
Internet. A recent Netcraft survey of
Web Servers around the world placed
Apache Powered sites at over 50
percent of the total. Apache is free
because it is written and maintained
by enthusiasts and volunteers, much in
the spirit of many UNIX users.
Apache runs on just about every
platform that is out there, and is a high
performance web-based platform.
PHP is a widely used general-purpose
scripting language that is especially
suited for Web development and can
be embedded into HTML. It is like
JavaScript, but more flexible and
object-oriented. It is often used in
portal systems and in web-based /
web-sharing applications.
The Buzz
The world’s most popular web server,
and quite possibly one of the fastest.
However, to determine which is faster,
Apache or IIS, look at the many
different benchmarks already
performed and be the judge for
yourself. Avoid being overly
convinced by those who overly
pro-open source or pro-Microsoft.
Perform your benchmarks if you can.
Status
Still under current development, it is
funded by the non-profit organization
Apache Software Foundation that was
founded in 1999. The ASF is a natural
outgrowth of The Apache Group, a
group of individuals that was initially
formed in 1995 to develop the Apache
HTTP Server.
PHP is a hypertext pre-processor. It is
often embedded directly into HTML
web pages where it can perform its
work directly within the web page,
rather than being called as an applet or
external CGI script. However, while
similar in certain regards to Perl and
Python, PHP is also dissimilar from
them because instead of writing code
that outputs HTML you write HTML
with embedded code to do something
useful. In order to work, you need only
have a PHP parser. PHP has wider
support for browsers and web servers
than Perl, and it supports just about
every major database system available
on the COTS or FOSS market.
Still under active development, it is
currently at stable release version
4.3.5. The first version of PHP to be
released publicly was version 4.0 that
was in 1999. PHP is a project of the
Apache Software Foundation. The
PHP Group consists of Thies C.
Arntzen, Stig Bakken, Shane Caraveo,
Andi Gutmans, Rasmus Lerdorf, Sam
Ruby, Sascha Schumann, Zeev
Suraski, Jim Winstead, and Andrei
Zmievski.
183
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
Provided you have the necessary tools
on your system, it will convert any file
to PostScript.
With the right set of tools, such as
GhostScript, you can use this program
to convert almost any file directly to
PostScript.
Ghostview is an X11 user interface for
GhostScript, allowing you to view and
navigate PostScript files. Versions are
available for UNIX, Windows and
Mac.
In wide use around the world, use this
tool to view and navigate around PS
and PDF files alike.
GhostScript is a set of software tools
that acts as an interpreter for
PostScript language and the Adobe
PDF format and a set of C procedures
that implement the graphics and
filtering capabilities for PostScript and
PDF formats.
You will need GhostScript to convert
to or from PostScript or PDF to other
non-Adobe formats, and it is often
used in the LPD and CUPS printing
systems as printer filters. It is
currently is ported to most major
platforms, including Windows.
The initial shell tool was written Evan
Kirshenbaum. Miguel Santana then
wrote a C version up to version 4.3,
and then Akim Demaille carried it on.
No longer under active development,
the latest version is 4.13b and dates
back to June 2000. It cannot be
determined when the project actually
started.
Ghostview was written by Tim
Theisen and is currently at version 1.5.
It is no longer under active
development. Version 1.5 dates back
to 1993, but it cannot be determined
when the project actually started.
GhostScript itself dates back to 1988,
however, there have been many
different developers on it over the
years and it is under active
development. There are two versions
of GhostScript, the GNU version and
the Aladdin Enterprises. It is currently
at version 8.14.
PostScript Software :
A2PS
Listed in : IDA
License : GNU GPL.
Ghostview
License : AFPL.
GhostScript
Listed in : GRAS, IDA
License : GNUGPL.
184
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
Use it because it is the only known
open source product to fully support
the OpenSSL PKI. It is different from
but serves the same goal as OpenSSH ;
however, they use different
mechanisms for encrypting their data.
It is supported on most versions of
UNIX and UNIX-like systems, as well
Windows and Mac OS X.
In short, it is a program that
reconfigures certain settings and
parameters on your given UNIX box
to help make it more difficult to attack
or hack. Currently only Linux, Mac
OS X and HP-UX are supported.
The initial public release was in 2001
and it is currently at version 1.6-rc3.
Developed by James Yonan, it is still
under active development.
Security / Network Security & Monitoring Software :
OpenVPN
License : GNU GPL.
Bastille
Listed in : GRAS
License : GNU GPL.
Tripwire
Listed in : GRAS
License : GNU GPL.
OpenVPN is an easy-to-use, robust,
and highly configurable VPN daemon
that can be used to securely link two
or more private networks using an
encrypted tunnel over the Internet.
The Bastille Hardening System
attempts to harden or tighten UNIX
operating systems. It attempts to
provide the most secure, yet usable,
system possible.
Tripwire software is a tool that checks
to see what has changed on your
system. The program monitors key
attributes of files that should not
change, including binary signature,
size, expected change of size, etc...
Tripwire is originally known as an
intrusion detection tool (IDS tool), but
it can be used for many other purposes
such as integrity assurance, change
management, policy compliance and
more. There are obviously differences
in the public version and the
commercial version, however, see
their commercial web site to learn
more at http://www.tripwire.com.
Still under active development, it is
now at version 2.1.1 for Linux (and
slightly older versions for Mac OS X
and HP-UX). Jay Beagle originally
developed it. It cannot be determined
when the program was first released,
but it can be traced back to at least
2000.
Developed since the 1990’s, only in
2000 did Tripwire Inc. release its
proprietary source code to the public
in the Linux version of Tripwire 2.2.1.
Cannot determine when it actually
started and who first developed it.
185
Tableau A.1: General Purpose Computing (continued)
Product
Radmind
License : BSD.
TCP Wrappers
Listed in : GRAS, IDA
License : Freeware.
Xinetd
Listed in : IDA
License : Copyright
1992 by Panagiotis
Tsirigotis, proprietary
license but open sourced.
BSD-like license.
Description
It is a suite of UNIX command-line
tools and a server designed to
remotely administrate the file systems
of multiple UNIX machines. At its
core, Radmind operates like a
tripwire. It is able to detect changes to
any managed filesystem object, e.g.
files, directories, links, etc., and then
notifies and optionally reverses the
changes.
Allows monitoring and control over
who connects to a hosts’ TFTP,
EXEC, FTP, RSH, TELNET,
RLOGIN, FINGER, and SYSTAT
ports. It also includes a library so that
other programs can be controlled and
monitored in the same fashion.
Xinetd is a replacement for Inetd, the
Internet services daemon. It supports
access control based on the address of
the remote host and the time of access.
It also provides extensive logging
capabilities, including server start
time, remote host address, remote
username, server run time, and actions
requested.
The Buzz
Use it as a replacement or complement
to Tripwire. It supports multiple
platforms, including Mac OS X. There
is also a Radmind Assistant to help
you in configuring Radmind.
Status
The Research Systems UNIX Group
developed it at the University of
Michigan. Johanna Bromberg Craig,
Wes Craig, Patrick McNeal, and
Andrew Mortensen are developing it.
It is still under active development.
The current release of Radmind is
1.2.1. It cannot be determined when
the project actually started.
Found on most modern UNIX and
UNIX-like systems, this is a great
program to use because not only does
it permit or deny remote systems from
accessing certain or all specified ports
and services, but it can also be used to
log data to files detailing the use of
these services and ports.
Use this instead of Inetd. It can be
found on many modern UNIX and
UNIX-like operating systems. It can
be made to work on the majority of
systems that do not come with it. Inetd
was the standard, but it has its
limitations. Source code is available.
Dating back to 1991 for its first initial
release, it is now currently at version
7.6 since 1997. It is no longer under
active development. Wietse Venema
developed it.
Still under active development, it is
currently at version 2.3.13. Cannot
determine when it was initially
released, but it can be traced back in
older version of Linux to before 2000.
It cannot be determined who
developed the program either.
186
Tableau A.1: General Purpose Computing (continued)
Product
John the Ripper
License : GNU GPL.
Logdaemon
License : Copyright
1995 by Wietse Venema,
but modification of
source allowed as long
as copyright original
copyright notice is
included. Freeware.
Rpcbind
License : Not available.
Description
Use this tool to enforce your system
password or company password
policies. It works on UNIX, DOS,
Win32, BeOS, and OpenVMS.
Logdaemon provides modified
versions of Rshd, Rlogind, Ftpd,
Rexecd, Login, and Telnetd that log
significantly more information than
the standard vendor versions, enabling
better auditing of problems via the
logfiles. Also includes support for the
S/Key one-time password package.
It is a replacement for the Sun SunOS
Rpcbind program. It offers access
control and copious logging. Allows
host access control based on network
addresses.
The Buzz
Use this tool to make sure your users
are using the passwords you created
for them or that they are following
company policies on password
selection and creation.
While not necessarily more secure
than any other version of the network
services it provides, it does log to
syslog far more useful information
than the standard UNIX services
provided.
Status
The latest version dates back to 2003
and is at version 1.6.37. The program
is no longer under active development.
It is not possible to determine the
author of the program.
It is no longer under active
development. Wietse Venema
developed it while he was working at
the IBM Thomas J. Watson Research
facility. The latest version is 5.11. The
project was started in 1990.
If you are using older versions of Sun
Solaris and would like to replace your
version of RPCbind, then use this
package. However, if your version of
Solaris is more recent, then you should
use the version you already have.
It is no longer under active
development ; Wietse Venema
developed it while he was working at
the IBM Thomas J. Watson Research
facility. The last version dates to 1998
and is at version 2.1. It cannot be
determined when this actual project
started ; however, it is old enough to
be able to work on Sun Solaris 2.4 and
2.6, which dates back to at least 1996
if not even earlier.
187
Tableau A.1: General Purpose Computing (continued)
Product
Portmap
Listed in : IDA
License : BSD.
Rwhois
Listed in : GRAS
License : GNU LGPL.
Nload
Listed in : GRAS
License : GNU GPL.
Description
It is a replacement for the standard
UNIX Portmap program. It attempts to
close all known holes in Portmap. This
includes prevention of NIS password
file theft, prevention of unauthorized
Ypset commands, and prevention of
NFS file handle theft.
The Buzz
Use this only for older version of
SunOS, Ultrix, HP-UX, AIX, and
OSF.
Rwhois (Referral Whois) is a
Directory Services protocol that
extends and enhances the Whois
concept in a hierarchical and scalable
fashion. It focuses on the distribution
of network objects - the data
representing Internet resources or
people – and uses the inherently
hierarchical nature of these network
objects to more accurately discover
the requested information.
Nload is a console application that
monitors network traffic and
bandwidth usage in real-time. It
visualizes the in and outgoing traffic
using two graphs and provides
additional info like total amount of
transferred data and min/max network
usage.
Use this tool to be able to get
information about remote hosts on the
Internet. The information comes from
a central WHOIS database available
on the Internet. Works under various
UNIX and UNIX-like systems, and it
might be possible to get it to work
under Cygwin.
A nice tool to use to see in near
real-time the utilization of your
network interface. It is highly portable
and is a command-line based tool.
Status
It is no longer under active
development ; Wietse Venema
developed it while he was working at
the IBM Thomas J. Watson Research
facility. The latest release dates back
to July 1996 and is no longer under
active development. Cannot determine
when this project was started.
Still under active development, this
project was officially started in 1994
through a proposal in RFC 1714.
However, components of the project
date back to at least 1991. It cannot be
determined who started the project
and who is currently developing and
maintaining it.
It is still under active development.
Roland Riegel and Helder Correia
developed the project. The first public
release was in 2001. The project is
currently at version 0.6.0.
188
Tableau A.1: General Purpose Computing (continued)
Product
Nessus
Listed in :
GRAS, GRAM
License : GNU GPL.
Nmap
Listed in :
GRAS, GRAM, IDA
License : GNU GPL.
Description
Nessus is a security scanner for UNIX
and Windows.
The Buzz
It is a powerful security scanner and is
much better than most commercial
alternatives. You can write your own
scripts in a C-like language. It is
available for most UNIX and
Windows.
Nmap is an open source utility for
network exploration. It is network
services tool.
If you ever wanted to know what
services were running on a remote
host but did not what tool to use, this
is it.
Status
Still under active development, it is
currently at version 2.0.10. Renaud
Deraison founded the project, but
there are many developers and
contributors to the project. Many
non-affiliated individuals provide new
plugins and scripts to the project.
While it cannot be determined when
the project was first started,
information suggests it may have been
in 1999 or earlier.
Still under active development, it is
currently at version 3.50. The original
author is Philip Hazel and he
developed it while he was working at
the University of Cambridge in 1997.
189
Tableau A.1: General Purpose Computing (continued)
Product
OpenSSH
Listed in :
GRAS, GRAM, IDA
License : BSD.
OpenSSL
Listed in :
GRAS, GRAM, IDA
License : Apache-style
license.
Description
OpenSSH is a FREE version of the
SSH protocol suite of network
connectivity tools that increasing
numbers of people on the Internet are
coming to rely on. OpenSSH encrypts
all traffic (including passwords) to
effectively eliminate eavesdropping,
connection hijacking, and other
network-level attacks. It also provides
a myriad of secure tunnelling
capabilities, as well as a variety of
authentication methods. However, it is
important to note that once SSH is
started and has connected and
authenticated itself to a remote system,
it will then bring up the user’s default
command line shell, such as Bash.
The OpenSSL Project is a
collaborative effort to develop a
robust, commercial-grade,
full-featured, and Open Source toolkit
implementing the Secure Sockets
Layer (SSL v2/v3) and Transport
Layer Security (TLS v1) protocols as
well as a full-strength general-purpose
cryptography library. The project is
managed by a worldwide community
of volunteers that use the Internet to
communicate, plan, and develop the
OpenSSL toolkit and its related
documentation.
The Buzz
The de facto open source standard for
encrypting network
telecommunications without the use of
sophisticated hardware or software
(including IPSec).
Status
Still under active development, it is
based on the original free SSH 1.2.12
release from Tatu Ylönen (1995). SSH
has been around for many years and is
available for a wide number of
platforms. Aaron Campbell, Bob
Beck, Markus Friedl, Niels Provos,
Theo de Raadt, and Dug Song are the
creators of OpenSSH, and many
collaborators around the world
develop it. It is currently at version
3.7.
SSL is finding itself more and more
accepted in the commercial
marketplace for secure purchases and
transfers when online. Many banks
and institutions are moving to SSL
rather than other proprietary secure
purchasing systems.
It is under active development and
currently at version 0.96l. OpenSSL is
based on the excellent SSLeay library
developed by Eric A. Young and Tim
J. Hudson. The core development
team consists of Mark J. Cox, Ralf S.
Engelschall, Dr. Stephen Henson, and
Ben Laurie ; however, there are many
other developers as well. The project
dates back to at least 1998 (possibly
earlier) when the first initial version of
SSLeay was released.
190
Tableau A.1: General Purpose Computing (continued)
Product
Snort
Listed in :
GRAS, GRAM
License : GNU GPL.
Crack
Listed in : GRAS
License : Artistic
License.
GnuPG
Listed in : GRAS, IDA
License : GNU GPL.
Description
Snort is an open source network
intrusion detection system, capable of
performing real-time traffic analysis
and packet logging on IP networks. It
can perform protocol analysis, content
searching and matching. It can also be
used to detect a variety of attacks and
probes.
It is a tool designed to test and check
your users passwords to be certain that
they conform to your organization’s
policies on password use.
GnuPG is a complete and free
replacement for PGP. Because it does
not use the patented IDEA algorithm,
it can be used without any restrictions.
GnuPG is a RFC2440 (OpenPGP)
compliant application.
The Buzz
A very powerful open source IDS, it is
every bit as capable as any
commercial IDS product. However, it
is not configured out of the box and
must be setup for your site’s specific
needs ; do not expect this to be an easy
job. However, there is lots of good
documentation available to help you
through setting it up. The first
configuration is always the hardest.
Use this tool to enforce your
organization’s password policies.
Use this program to encrypt your files
and directories. It is a powerful, open
source file encryption tool. It is similar
to those who have used Phil
Zimmerman’s PGP or OpenPGP.
GnuPG aims to be a completely open
source PGP implementation, with all
of the same advantages and
disadvantages you would expect from
a PGP encryption tool. It works and
interoperates well with files encrypted
with PGP and OpenPGP (you need the
keys however).
Status
Still under active development, it is
currently at version 2.1.1. Written by
Martin Roesch, the project dates back
to 1998.
It is no longer under active
development. Alec Muffett wrote it. It
cannot be determined the project
started or where the author was
working when it was started, but the
latest version is 5.0.
Still under active development, the
initial public release was in 1999, and
it is currently at version 1.2.4. It
cannot be determined who actually
was the original developer of the
program. Many current developers and
contributors are advancing the work of
PGP encryption in general as well as
the project itself.
191
Tableau A.1: General Purpose Computing (continued)
Product
SATAN
Listed in : GRAS
License : Distributed
under the author’s own
terms ; not affiliated to
any known license
model.
SARA
Listed in : GRAS
License : Distributed
under the author’s own
terms ; not affiliated to
any known license
model.
Ntop
Listed in : GRAS
License : GNU GPL.
Description
SATAN is actually the prototype of a
much larger and more comprehensive
vision of a security tool. Then using
an expert system it generates the final
security analysis.
The Buzz
While not as powerful as Nessus, it is
nonetheless a powerful tool to have in
your bag of security tricks. It is easy to
write your own addins for the program
and you can write them in either C or
in Perl. It works on most UNIX, but it
may not work at all under the various
flavours of Linux.
SARA is a comprehensive network
scanner. It is actively used by over
15,000 security professional
worldwide. It is built to support the
large-scale enterprise model that
contains over 25,000 nodes. It is
approved for operation in the SANS
Top 10 and Top 20 environments.
You could consider it the second
generation of SATAN, with newer and
more advanced plugins and heuristics,
and it does work on Linux, unlike
SATAN. You should consider this tool
rather than SATAN.
Ntop is a tool that shows the network
usage, similar to what the popular top
UNIX command does. Ntop is based
on Pcapture and it has been written in
a portable way in order to virtually run
on every UNIX platform. Ntop can be
used in both interactive or web mode.
You will need Libpcap before you try
to use Ntop.
You can integrate it to work with
RRDTool so that your can get new
graphs displaying the usage of
network. Ntop can be used as a IDS, a
packet sniffer, or it can be used to
browse a list of all systems connected
to the local network as well as detail
the types of traffic these systems are
emitting on to the network.
Status
It is no longer under active
development, it was written by Wietse
Venema and Dan Farmer. It is
currently at version 1.1.1. The last
version was released in 1995. The
project appears to have started in 1993
when the authors of the program
published an article about it in
USENET.
Still under active development, and
based on the original work of the
authors of SATAN, it is now at version
5.0.2. Bob Todd is the developer and
maintainer of SARA. The project was
started in 1999 when Bob Todd joined
Advanced Research Corporation.
Although open sourced, it is the
property of Advanced Research
Corporation.
It is still under active development.
Developed and still maintained by its
original author, Luca Deri. Currently
at version 3.0, it was first started in
1998. However, note that there are
many additional developers and
contributors to the project.
192
Tableau A.1: General Purpose Computing (continued)
Product
ScanSSH
License : BSD.
Arpwatch
License : Uses the
license model of “The
Regents of the
University of
California.”
Airsnort
License : GNU GPL.
Arping
License : GNU GPL.
Description
ScanSSH protocol scanner scans a list
of addresses and networks for running
SSH protocol servers and their version
numbers. ScanSSH protocol scanner
supports random selection of IP
addresses from large network ranges
and is useful for gathering statistics on
the deployment of SSH protocol
servers in a company.
Arpwatch is a tool that monitors
Ethernet activity and keeps a database
of Ethernet/IP address pairings. It also
reports certain changes via email.
Arpwatch uses Libpcap, a
system-independent interface for
user-level packet capture.
Airsnort is a wireless LAN tool that
recovers encryption keys.
Broadcasts a WHO-HAS ARP packet
on the network and prints the answers.
It is very useful when you are trying to
pick up any unused IP’s for a network
that you do not yet have access to.
The Buzz
Use this tool to check and see if other
machines on your local network are
running SSH servers and then verify
what versions they are running. An
invaluable tool to make sure everyone
using SSH is using the most
up-to-date version possible.
Status
Written by Niels Provos, it is no
longer under active development.
Currently it is at version 1.6 and it was
released in 2001. However, it cannot
be determined exactly when the
project was started, but judging from
the available information it would be
in 2000 or 1999.
You can use tool to find out what
MAC address goes with each IP on
your local network. You can also use
this tool to tell you when new
machines are added to the network, or
when IP addresses change to a
different MAC, or vice versa. You can
also consider using it as an IDS.
Use this tool to be able to recover
encryption keys.
No longer under active development,
it was first started in 1992 and
development stopped in 1998. It is
currently at version 2.1. Developed at
Lawrence Berkeley National
Laboratory by Craig Leres of the
Network Research Group.
You can use this tool help find
machines even if you do not have
access to them via the standard IP
tools.
Developed by Jeremy Bruestle, Blake
Hegerle, and Snax, it is still being
actively developed and is at version
0.2.4. The initial public release was in
2001.
It is still under active development.
Thomas Habets developed it. It is
currently at version 2.03. It cannot be
determined when the project actually
started.
193
Tableau A.1: General Purpose Computing (continued)
Product
AIDE
License : GNU GPL.
Dsniff
License : Distributable
according to the Dug
Song License.
Nikto
License : GNU GPL.
Description
AIDE (Advanced Intrusion Detection
Environment) is a free replacement for
Tripwire. It does the same things as
the semi-free Tripwire and more. It
creates a database from the regular
expression rules that it finds from the
configuration file. Once this database
is initialized, it can be used to verify
the integrity of the files. It has several
message digest algorithms (MD5,
SHA1, RMD160, TIGER, HAVAl,
etc.) that are used to check the
integrity of the file.
Dsniff is a collection of tools for
network auditing.
Nikto is an open source web server
scanner that performs comprehensive
tests on web servers.
The Buzz
Consider using this tool if you want an
alternative to Tripwire or want to have
access to more features than the free
version of Tripwire provides.
Status
Rami Lehti and Pablo Virolainen
developed it. It is still under
development. The project is currently
at version 0.10, so it is a very young
project. The project appears to have
started in 2003.
Use this tool for network auditing.
No longer under active development,
Dug Song in developed this tool and
its first initial release was in 1999. It is
currently at version 2.3 but it is no
longer under active development since
2000.
Still under active development, the
first initial release was in 2001. It is
currently at version 1.32. It cannot be
determined who the author or
maintainer of the program is.
It is another kind of scanner that can
be used as an alternative to the ones
already listed here.
194
Tableau A.1: General Purpose Computing (continued)
Product
Kismet
License : GNU GPL.
NBTScan
License : GNU GPL.
Xprobe2
License : GNU GPL.
Description
Kismet is an 802.11 layer2 wireless
network detector, sniffer, and intrusion
detection system. Kismet will work
with any wireless card that supports
raw monitoring (RFMON) mode, and
can sniff 802.11b, 802.11a, and
802.11g traffic. Kismet identifies
networks by passively collecting
packets.
NBTScan is a program for scanning IP
networks for NetBIOS name
information. It sends a NetBIOS status
query to each address in a supplied
range and lists received information in
human readable form. For each
responding host it lists IP address,
NetBIOS computer name, logged-in
user name and MAC address.
Xprobe2 is an active network scanner
based on Ofir Arkin’s ICMP Usage in
Scanning Research project. Xprobe is
an alternative to some tools that are
heavily dependent upon the usage of
the TCP protocol. Xprobe2 differs
from Xprobe in that it uses fuzzy
pattern matching within a signature
database to identify remote operating
systems.
The Buzz
A nice tool to use to sniff on wireless
networks, as well as to implement a
wireless IDS system.
Status
Still under active development, the
initial public release was made public
at the end of 2001. It is currently at
version 4.01. It cannot be determined
who the author or maintainer of the
program is.
The UNIX equivalent to the Windows
Nbtstat command. However, note that
this program has more options and is
generally a more powerful tool than
Nbtstat.
Still under active development, the
first initial version was released in
1999. The program was written and is
still maintained by Alla Bezroutchko,
its original author.
Consider this is an alternative to
Nmap. It is hard to determine which
tool is better, faster, and more efficient.
Written and maintained by Fyodor
Yarochkin and Ofir Arkin, Xprobe2 is
based on Ofir Arkin’s original project
Xprobe. It still appears to be under
active development, and the first initial
release of Xprobe2 was in 2002.
195
Tableau A.1: General Purpose Computing (continued)
Product
Nemesis
License : Distributable
according to the Mark
Grimes / Jeff Nathan
License.
Lsof
Listed in : GRAS
License : Free to use but
restricted.
Stunnel
License : GNU GPL.
Fragroute
License : Distributable
according to the Dug
Song License.
Description
Nemesis is a command-line network
packet injection utility for UNIX-like
and Windows systems. You might
think of it as an EZ-bake packet oven
or a manually controlled IP stack.
With Nemesis, it is possible to
generate and transmit packets from the
command line or from within a shell
script.
Lsof is a UNIX-specific diagnostic
tool. Its name stands for LiSt Open
Files, and it does just that. It lists
information about any files that are
open by processes currently running
on the system. It can also list the
communications open by each
process.
Stunnel is a program that allows you
to encrypt arbitrary TCP connections
inside SSL (Secure Sockets Layer)
available on both UNIX and Windows.
Stunnel can allow you to secure
non-SSL aware daemons and
protocols (like POP, IMAP, LDAP,
etc) by having Stunnel provide the
encryption, requiring no changes to
the daemon’s code.
Fragroute intercepts, modifies, and
rewrites egress traffic destined for a
specified host. It features a simple
rule-set language to modify packets
The Buzz
Use this tool to create your own raw
packets for network testing.
Status
It is still under active development ;
Mark Grimes first developed it from
1999 to 2001. The work was then
given over to Jeff Nathan in 2001 until
the present. It is currently at version
1.4beta3.
No UNIX system would be complete
with administration and diagnostic
tools without this one. This tool lets
you know about all of the open files on
your system, including sockets and
pipes.
It was developed by Ray Shaw. The
first initial release dates back to 1998.
It is still under active development and
is now at version 4.70.
While a very good tunnelling product,
it is not quite a complete stand-alone
product as it does require a SSL
library such as OpenSSL in order to
correctly compile the code. Use it to
secure insecure protocols and
daemons.
It is still under active development.
Michal Trojnara developed it. The first
initial release dates back to 1998. It is
currently at version 4.05.
Fragroute intercepts, modifies, and
rewrites egress traffic destined for a
specified host.
The program no longer appears to be
under active development. Dug Song
developed it from 2001 to 2002. It is
currently at version 1.2.
196
Tableau A.1: General Purpose Computing (continued)
Product
Pidentd
License : It is
distributable according
to the Peter Eriksson
License.
Logwatch
Listed in : IDA
License : Distributable
according to the Kirk
Bauer License.
SentryTools
License : GNU GPL and
Common Public
License.
Description
This is a program that implements the
RFC1413 identification server. It was
very much inspired by Dan
Bernstein’s original ’Authd’ (but
unlike that program does not use
’Netstat’ to get some of the
information). It uses the kernel
information directly.
Logwatch is a customizable log
analysis system. Logwatch parses
through your system’s logs for a given
period of time and creates a report
analyzing areas that you specify, in as
much detail as you require. Logwatch
is easy to use and will work right out
of the package on most systems.
The Sentry tools provide host-level
security services for the UNIX
platform. Portsentry,
Logcheck/LogSentry, and Hostsentry
protect against port scans, automate
log file auditing, and detect suspicious
login activity on a continuous basis,
respectively.
The Buzz
Use this tool to help identify the user
of a particular TCP connection.
Status
No longer under active development,
the project was started in 1997 and
ended in 2002. It is currently at
version 3.0.16. Originally developed
by Peter Eriksson
Use this program to help pull out
information from your syslogs. It is
customizable so you can write your
own parsing filters easily enough.
Still under active development, the
author of the program is Kirk Bauer. It
is currently at version 5.1, but it
cannot be determined when the project
actually started.
Use Portsentry to block remote
systems from performing port scans
on your system (such as a Nmap scan),
Logcheck and Hostsentry to audit your
syslogs, and Hostsentry to help detect
suspicious logins on your system.
It is uncertain if the project is still
under active development. It appears
to have been written by Craig H.
Rowland, but it cannot be determined
when the different components were
actually written. The latest versions
are Portsentry 1.2, Logcheck 1.1.1,
and Hostsentry 0.02.
197
Tableau A.1: General Purpose Computing (continued)
Product
Cage
License : GNU GPL.
RSBAC
License : GNU GPL.
Description
Cage is a creator of unbreakable
“padded cells” for untrusted
applications. Use it when you would
like to Chroot a program that wants to
run as root (e.g. Sendmail, Sshd, etc.).
RSBAC stands for Rule Set Based
Access Control. It is a flexible,
powerful, and fast open source access
control framework for current Linux
kernels, which has been in stable
production use since January 2000
(version 1.0.9a). All development is
independent of governments and big
companies, and no existing access
control code has been reused. The
standard package includes a range of
access control models like MAC, RC,
ACL, and others.
The Buzz
Use this tool to create a Chroot
environment for your untrusted
applications. For those how have never
used Chroot, it is a tool which changes
the environment for a given program,
in effect fooling the application into
thinking that it is currently at the root
directory and therefore can not access
the rest of the filesystem.
While offering many different sets of
configurable access control, it aims to
make Linux a trusted operating
system. Even though the web site does
not specifically say this, these are
components found in commercial
trusted operating systems. However,
note that this project applies only to
Linux.
Status
It cannot be determined when the
project started or stopped, or if it is
even under active development. It is
currently at version 0.80. It also
cannot be determined who the author
or maintainer of the program is.
Still under active development, it was
developed by Amon Ott in 1999 and is
currently at version 1.22.
198
Tableau A.1: General Purpose Computing (continued)
Product
SNARE
Listed in : GRAS
License : GNU GPL.
RBAC
License : Not Available.
Description
SNARE stands for System Intrusion
Analysis and Reporting Environment,
which is a series of log collection
agents that facilitate centralized
analysis of audit log info. The
following are the agents that exist or
are currently under development :
Linux, Windows, Solaris, IIS, Lotus
Notes, and CheckPointFW1.
Alternative address :
http://www.intersectalliance.
com/projects/Snare
Role-Based Access Control (RBAC)
has become the predominant model
for advanced access control because it
reduces the complexity and cost of
security administration in large
networked applications. Most
information technology vendors have
incorporated RBAC into their product
line, and the technology is finding
applications in areas ranging from
health care to defence, in addition to
the mainstream commerce systems for
which it was designed.
The Buzz
Another IDS, but it is no longer just
limited to UNIX and UNIX-like
systems. Consider it in place of the
other ones already mentioned if you
need support for IIS, Lotus Notes, or
CheckPointFW1.
Status
There are both a commercial and an
open source version. It is still under
active development, but it cannot be
determined when the first public
versions were released. The
developers appear to be Leigh Purdie
and George Cora.
RBAC is a powerful administration
tool. It allows you to create roles and
profiles, and then assign specific users
to the roles and profiles. Each role and
profile generally runs inside a
privileged shell that the administrator
has given the necessary rights and
permissions so that the role or profile
can perform the tasks which the users
need to perform. Use this tool to give
certain administrative privileges to
users that would otherwise not have
them. It can be used on UNIX, Linux,
Windows, and other POSIX operating
systems.
No longer under active development,
the majority of commercial UNIX
operating systems now provide the
functions provided by RBAC. David
Ferraiolo, Rick Kuhn, Ramaswamy
Chandramouli, and John Barkley
developed it. Each of the developers
works at the NIST. The project was
funded by NIST. Although RBAC is
now accepted as a national standard, it
has not been developed on since 1998.
It cannot be determined when the
project actually started.
199
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
No doubt that using LDAP, like the
other X.500 implementations
simplifies the administration of your
IT organization’s users, printers, files,
data directories, and allows you to
assign implicit rights and inherited
rights. While very powerful, it is also
very complex and is not for the
uninitiated. How well it integrates
with Novell NDS and Microsoft
Active Directory is uncertain.
Still under active development, it is
currently at release 2.2.7. It cannot be
determined who is the author and
maintainer of the project. The
OpenLDAP Foundation is a non-profit
organization that promotes open
source LDAP. It also owns the
copyright to LDAP. The project was
started in 1998 and is funded by many
generous sponsors. Versions before
2.2.4 were not released to the general
public.
Consider using this as a low-cost
replacement for Citrix MetaFrame,
Norton PC Anywhere or any other
multi-platform telecommunications
program. You can also tunnel your
connections via OpenSSH so that
communications remain secure.
The RealVNC (2002-2003) project
picks up where the AT&T VNC team
left off. Originally started at AT&T
and funded by Olivetti Research
Ltd./AT&T Laboratories Cambridge
(1994-2000), it is now again under
active development. It is staffed and
developed by the original AT&T VNC
team. It is currently at stable release
version 3.3.7. It is now no longer
under AT&T and appears to find its
own funding.
System Accessibility Software :
OpenLDAP
Listed in : IDA
License : OpenLDAP
Public License.
VNC
Listed in : IDA
License : GNU GPL.
LDAP, which stands for Lightweight
Directory Access Protocol is an
implementation of the X.500 protocol.
It is similar to both Novell NDS and
Microsoft Active Directory. Rather
than using flat files to maintain users,
passwords, and given rights and
implicit rights, LDAP, like other
X.500 implementations go from flat
files to tree-like structures with leaves
and branches, where branches are
divisions, groups, and departments,
and leaves are the end user, or other
objects like printers, files, directories,
etc.
VNC stands for Virtual Network
Computing. It is a remote control
software that allows you to view and
interact with one computer using a
simple viewer program on another
computer anywhere on the Internet.
The two computers do not even have
to be the same type of platforms. VNC
is freely and publicly available and is
in widespread active use by millions
throughout industry, academia and
privately.
200
Tableau A.1: General Purpose Computing (continued)
Product
OpenSSH
Listed in :
GRAS, GRAM, IDA
License : BSD.
OpenSSL
Listed in :
GRAS, GRAM, IDA
License : Apache-style
license.
Description
OpenSSH is a FREE version of the
SSH protocol suite of network
connectivity tools that increasing
numbers of people on the Internet are
coming to rely on. OpenSSH encrypts
all traffic (including passwords) to
effectively eliminate eavesdropping,
connection hijacking, and other
network-level attacks. It also provides
a myriad of secure tunnelling
capabilities, as well as a variety of
authentication methods. However, it is
important to note that once SSH is
started and has connected and
authenticated itself to a remote system,
it will then bring up the user’s default
command line shell, such as Bash.
The OpenSSL Project is a
collaborative effort to develop a
robust, commercial-grade,
full-featured, and Open Source toolkit
implementing the Secure Sockets
Layer (SSL v2/v3) and Transport
Layer Security (TLS v1) protocols as
well as a full-strength general-purpose
cryptography library. The project is
managed by a worldwide community
of volunteers that use the Internet to
communicate, plan, and develop the
OpenSSL toolkit and its related
documentation.
The Buzz
The de facto open source standard for
encrypting network
telecommunications without the use of
sophisticated hardware or software
(including IPSec).
Status
Still under active development, it is
based on the original free SSH 1.2.12
release from Tatu Ylönen (1995). SSH
has been around for many years and is
available for a wide number of
platforms. Aaron Campbell, Bob
Beck, Markus Friedl, Niels Provos,
Theo de Raadt, and Dug Song are the
creators of OpenSSH, and many
collaborators around the world
develop it. It is currently at version
3.7.
SSL is finding itself more and more
accepted in the commercial
marketplace for secure purchases and
transfers when online. Many banks
and institutions are moving to SSL
rather than other proprietary secure
purchasing systems.
It is under active development and
currently at version 0.96l. OpenSSL is
based on the excellent SSLeay library
developed by Eric A. Young and Tim
J. Hudson. The core development
team consists of Mark J. Cox, Ralf S.
Engelschall, Dr. Stephen Henson, and
Ben Laurie ; however, there are many
other developers as well. The project
dates back to at least 1998 (possibly
earlier) when the first initial version of
SSLeay was released.
201
Tableau A.1: General Purpose Computing (continued)
Product
Wu-Ftpd
Listed in : GRAS
License : It is distributed
under the Wu-Ftpd
software license.
Vsftpd
License : GNU GPL.
Description
Wuarchive-ftpd, more affectionately
known as WU-FTPD, is a replacement
FTP daemon for UNIX systems
developed at Washington University
(*.wustl.edu) by Chris Myers and later
by Bryan D. O’Connor (who are no
longer working on it or supporting
it !). WU-FTPD is the most popular
FTP daemon on the Internet, used on
many anonymous FTP sites all around
the world.
Secure and fast, the SAC team at
SANS consider it as the preferred
secure FTP server. Although not as
configurable as other FTP servers such
as Wu-Ftpd, it supports PAM, Xinetd,
and Tcp_wrappers. It also supports
Ipv6 and bandwidth throttling. In
addition, it can even be used with
Chroot to keep users where they
belong.
The Buzz
Probably the most common Ftpd
daemon you are likely to encounter on
the Internet.
Status
No longer under active development,
except for some security patch fixes,
the first public release is believed to
have been released in 1991. It is
currently at version 2.6.2, but it cannot
be determined who actually started the
project because Wu-Ftpd was started
from different initiatives.
Although not as configurable as many
other feature-rich (some might say
“bloated”) FTP servers, Vsftpd can
support hundreds, and even thousands
of simultaneous connections, as well
being more secure than any of the
other commercial and open source
FTP servers on the market. Only FTP
servers included with trusted operating
systems would be more secure.
Currently still under active
development, it was developed by
Chris Evans. It is currently at version
1.2.1. It cannot be determined when
the project started or if there are other
developers and contributors to the
project.
202
Tableau A.1: General Purpose Computing (continued)
Product
Webmin
Listed in : GRAS
License : BSD.
Usermin
License : BSD.
Description
Webmin is a web-based interface for
system administration for UNIX.
Using any browser that supports tables
and forms you can perform many of
your system administrations
configurations through it. Because
Webmin has its own web-enabled
daemon, you can configure your
systems locally or remotely, even on
the Internet. Just be sure to use SSL if
you want to administrate and
configure your boxes via the Internet.
Usermin is a web interface that can be
used by any user on a UNIX system to
easily perform tasks like reading mail,
setting up SSH or configuring mail
forwarding. It can be thought of as a
simplified version of Webmin
designed for use by normal users
rather than system administrators.
The Buzz
By far, you will find this the best open
source, multi-platform, system
administration tool. It rivals many
commercial tools. It supports a wide
array of operating systems. You will
be happily surprised to know that it
will support your version of UNIX.
Hats off to Jamie Cameron on a truly
useful system administration tool.
Because everything is written entirely
in Perl, you will be able to write your
modules and share them with the
Webmin community.
It is essentially the same concept as
Webmin, except that it is designed for
users rather system administrators.
With it, you can configure your
preferences, read mail, and setting up
your local databases and configuring
your SSH connections.
Status
Started in 2000 by Jamie Cameron
with funding from Caldera, it is now
funded by Jamie Cameron. It is under
active development and is now at
version 1.140.
John Smith of MSC Software
suggested the idea and helped to fund
its development ; however Jamie
Cameron actually wrote and
developed the project. It was started in
2003. It is currently at version 1.070.
203
Tableau A.1: General Purpose Computing (continued)
Product
X Client / X Server
(XFree86)
Listed in :
GRAS, GRAM, IDA
License : XFree86
License.
Description
The XFree86 project is a project that
aims to produce a platform
independent X Server / Client
architecture for both the local and
remote displaying of X-based
applications. It is a fully open source,
POSIX, X11R6 implementation of the
X standard.
The Buzz
The problem with XFree86 is not that
it is not a high performance X system.
On the contrary, it is so high
performance that SGI now includes it
as the default X server on their new
Onyx4 UltimateVision systems. The
problem is that PC’s all too often do
not have the necessary hardware to
take full advantage of X. The other
problem is that it is complex to setup
for multihead and multipipe use,
however it is possible. Finally, the
other problem is that all too often
video card manufacturers provide
cheap drivers for XFree86, and those
that are written by the XFree86 are
often not optimized enough because
the developers did not have access to
better source code directly from the
card manufacturer. It is fully
compatible and interoperable with
anything talking X. It has also has
been ported to many platforms, even
non-UNIX platforms.
Status
It is based on the work of then
German student Thomas Roell (1989 /
1990) who ported over code from the
X11R4 distribution of X and called it
X386.1.1. In August 1991, with the
aid of others, Roell gave PC-based
UNIX its first X implementation.
Today, XFree86 is developed by
hundreds of international contributors
who are pushing the movement
forward. It is currently at version 4.4.0
RC3.
204
Tableau A.1: General Purpose Computing (continued)
Product
OpenVPN
License : GNU GPL.
Samba
Listed in :
GRAS, GRAM, IDA
License : GNU GPL.
Description
OpenVPN is an easy-to-use, robust,
and highly configurable VPN daemon
that can be used to securely link two
or more private networks using an
encrypted tunnel over the Internet.
Samba is an Open Source/Free
Software suite that provides seamless
file and print services to SMB/CIFS
clients. This enables you to connect to
either your Windows workstations or
domains, share data and files, and even
print. It also enables the Windows the
world to access your UNIX box as if it
were another Windows box.
The Buzz
Use it because it is the only known
open source product to fully support
the OpenSSL PKI. It is different from
but serves the same goal as OpenSSH ;
however, they use different
mechanisms for encrypting their data.
It is supported on most versions of
UNIX and UNIX-like systems, as well
Windows and Mac OS X.
For most UNIX systems, this is the
way to go if you want to connect to or
interchange data with Windows
systems. It is very stable, but it can be
difficult to configure for the novice,
although there are lots of good
documentation available on the
Internet.
Status
The initial public release was in 2001
and it is currently at version 1.6-rc3.
Developed by James Yonan, it is still
under active development.
Still under active development, it is
currently at version 3.0.2. It cannot be
determined who is the lead developer
or maintainer of the project, however,
the core development team consists of
20 developers, with many other
developers and contributors. It can be
traced back to at least 1993, and it
dates back to several years before that.
205
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
It is a high-end web server-reporting
tool. It is light on resources and it is
very portable.
Developed by David Mosberger and
Tai Jin at Hewlett-Packard Research
Labs, it started as a concept in 1998
through a paper they published. It is
currently at version 0.8.
IOzone is useful for performing a
broad filesystem analysis of a vendor’s
computer platform. It is portable and
can be compiled for most UNIX and
UNIX-like operating systems. This is
a tool your definitely want to have
around when you want to evaluate the
performance of your disks and
filesystems. You may be surprised at
the results.
The original author is William D.
Norcott and he is aided by Don Capps
for adding the necessary extensions. It
cannot be readily determined when the
project was started. The current
version is 3.217 and is still under
active development.
System Administration Software :
Httperf
License : GNU GPL.
IOZone
License : Freely
distributable.
It is a tool for measuring web server
performance. It provides a flexible
facility for generating various HTTP
workloads and for measuring server
performance. It generates easy to
understand graphs of the system web
loads.
IOzone is a filesystem benchmark
tool. The benchmark generates and
measures a variety of file operations.
Although the program does not
generate its own graphs, the data can
be easily imported into Excel or other
program for data analysis.
Alternatively, you can use GNUplot in
its place. IOzone will analyze just
about every kind of read/write
possible on your disk and filesystem,
as well as analyze the performance
due to cache and system memory.
206
Tableau A.1: General Purpose Computing (continued)
Product
Webmin
Listed in : GRAS
License : BSD.
Usermin
License : BSD.
Description
Webmin is a web-based interface for
system administration for UNIX.
Using any browser that supports tables
and forms you can perform many of
your system administrations
configurations through it. Because
Webmin has its own web-enabled
daemon, you can configure your
systems locally or remotely, even on
the Internet. Just be sure to use SSL if
you want to administrate and
configure your boxes via the Internet.
Usermin is a web interface that can be
used by any user on a UNIX system to
easily perform tasks like reading mail,
setting up SSH or configuring mail
forwarding. It can be thought of as a
simplified version of Webmin
designed for use by normal users
rather than system administrators.
The Buzz
By far, you will find this the best open
source, multi-platform, system
administration tool. It rivals many
commercial tools. It supports a wide
array of operating systems. You will
be happily surprised to know that it
will support your version of UNIX.
Hats off to Jamie Cameron on a truly
useful system administration tool.
Because everything is written entirely
in Perl, you will be able to write your
modules and share them with the
Webmin community.
It is essentially the same concept as
Webmin, except that it is designed for
users rather system administrators.
With it, you can configure your
preferences, read mail, and setting up
your local databases and configuring
your SSH connections.
Status
Started in 2000 by Jamie Cameron
with funding from Caldera, it is now
funded by Jamie Cameron. It is under
active development and is now at
version 1.140.
John Smith of MSC Software
suggested the idea and helped to fund
its development ; however Jamie
Cameron actually wrote and
developed the project. It was started in
2003. It is currently at version 1.070.
207
Tableau A.1: General Purpose Computing (continued)
Product
Virtualmin
License : GNU GPL.
SysInfo
License : MagniComp
proprietary license.
Swatch
License : GNU GPL.
Description
Virtualmin is a virtual hosting
management system that integrates
cleanly into the Webmin system
administration tool. Virtualmin is a
two-tiered virtual hosting
administration system. Usermin
provides a third tier for individual
users. It has good support for disk
quotas, user-based POP3/IMAP email
setup, Apache virtual host entries,
BIND domain setup, Postfix and
Sendmail email address and alias
management, and MySQL database
creation.
It provides extremely detailed,
platform independent hardware,
software, and OS configuration data
for most major UNIX, Linux, and
Apple Macintosh platforms. SysInfo
enables system administrators to
quickly see a high-level view of a
system’s configuration or dive deep
into very low-level configuration data.
Swatch started out as the “simple
watchdog” for actively monitoring log
files produced by UNIX’s syslog
facility. It has since been evolving into
a utility that can monitor just about
any type of log file.
The Buzz
This is a good tool to try out if you are
doing or planning to do virtual
hosting. It is a two-tiered virtual
hosting administration system, used
by the domain administrator. It allows
for creation of email accounts and
aliases within the domain, as well as
Apache virtual host details, BIND
domain details, and access to the
domains’ MySQL database.
Status
It was written under contract with
Swell Technology, but it was written,
and developed by Jamie Cameron. It is
a relatively new project and was
started in 2003 and is currently at
version 1.81.
It is a very nice administration and
troubleshooting tool to have around.
Consider it a worthwhile tool because
of the number of platforms it supports
and the amount of meaningful
information it is capable of providing
about your systems.
Granting you a 60-day evaluation
period, it can be purchased for a
minimal fee. Developed by
MagniComp, it has been around since
1992. Although not free, it is
worthwhile trying out the evaluation
copy. It cannot be determined who
actually developed or maintains the
program.
Developed by Todd Atkins, it
continues to be under active
development. It cannot be determined
when the project actually started.
However, it goes back to at least 2001
(version 3.0) because this is as far
back as the files posted on
SourceForge.
Use this program to actively monitor
system messages as they are written to
a log file via the UNIX syslog utility.
Use the tool to make sure there has
been no unauthorized tampering with
the system or its logs.
208
Tableau A.1: General Purpose Computing (continued)
Product
Procwatch
License : Artistic
License.
OpenNMS
License : GNU GPL.
Ganglia
License : BSD.
Description
Procwatch watches a /proc filesystem
for new processes. When a process is
created, Procwatch reports the time,
the username, the PID, and the binary
that was run. Its output is suitable for
logging to log files and is geared for
system administrators who are testing
a new but yet untrusted UNIX system.
OpenNMS is an enterprise-grade
network management system built
using the open source development
model. It is a system that monitors a
computer network in an attempt to
prevent and quickly identify problems
that affect how well the computer
network runs. OpenNMS was
designed to manage a very large
number of devices, and currently it
can monitor over 15,000 services and
collect data on over 8000 devices.
Ganglia is a scalable distributed
monitoring system for
high-performance computing systems
such as clusters and Grids. It is based
on a hierarchical design targeted at
federations of clusters. It leverages
technologies such as XML and XDR,
as well as RRDTool.
The Buzz
Designed for Linux, it should be
possible to port it to other platforms.
Currently works with Linux and BSD,
but other POSIX systems should work
too.
Status
It is not currently under active
development. It was developed in
2001 by Adam Guyot. It consists only
of a Perl script that does all the work.
It cannot be determined when the
project actually started, but indications
point to its creation in 2001.
For those of you who like using Tivoli
Management Console, HP OpenView,
or CA UniCenter, consider this open
source program. Its scope and breadth
is quite amazing. This program may
one day change the face of system
management for UNIX-based
operating systems. This program is the
ultimate open source systems
management tool.
Started in 1999, this project is still
under active development. It is a
registered trademark of Blast Internet
Services Inc, but it is fully open
source. It is currently at version 1.0.2.
Running on a wide variety of
hardware, and designed specifically
for use within clustered heterogeneous
systems, it can be used for monitoring
your more critical systems. Its best
feature is its ability to get data from
remote systems and produce graphs
produced by using by RRDTool. It has
been used on hundreds of clusters
around the world, and can scale to
more than 2000 nodes per cluster.
The project appears to have started in
2001, and is currently at version 2.5.6.
The main developer appears to be
Matt Massie, however, there are many
other developers involved.
209
Tableau A.1: General Purpose Computing (continued)
Product
Spong
License : GNU GPL.
PIKT
License : GNU GPL.
Description
Spong is a simple systems and
network-monitoring package. It does
not compete with Tivoli, OpenView,
UniCenter, OpenNMS, or any other
commercial packages. It is not SNMP
based, so it communicates via simple
TCP-based messages. It is written in
Perl so you can easily write your own
modules. It can currently run on every
major UNIX and UNIX-like operating
systems.
It is a cross-categorical toolkit to
monitor and configure computer
systems, organize system security,
format documents, assist
command-line work, and perform
other common systems administration
tasks. Its primary purpose is to report
problems, and fix those problems
whenever possible, but its flexibility
and extensibility evoke many other
uses limited only by one’s
imagination.
The Buzz
Use it to monitor the status of
processes, network programs, disk
space, CPU usage, etc, on your remote
systems. Use it if you need a
lightweight monitoring program.
Status
Developed by Stephen L. Johnson, the
project was started in 2003. It is
currently at version 2.7.7 and it no
longer appears to be actively
developed.
It supports a large of number of
different platforms and due to its
internal scripting language and
preprocessors, it is highly flexible and
extensible. You will be surprised at the
amount of work PIKT can accomplish
for you.
A registered trademark of the
University of Chicago and
copyrighted, and developed by Robert
Osterlund. Started in 1998, it is still in
under active development. It is
currently at version 1.16.
210
Tableau A.1: General Purpose Computing (continued)
Product
OpenPKG
License : MIT-style
license.
Nocol/Snips
License : Copyrighted
but freely available as
Shareware.
Description
It is a portable package management
system designed to ease the job of the
administration of multiple UNIX
systems. It uses the RPM package
format to achieve its high level of
system packaging independence.
OpenPKG provides a way to manage
systems, largely independent of the
UNIX type, and of the particular
distribution within diverse systems
such as Linux. In short, it will update
and install software packages on all of
your supported systems.
Nocol/Snips is a popular network
monitoring shareware package that
monitors for system network faults
running on UNIX boxes. SNIPS uses a
very simple centralized architecture,
capable of monitoring DNS, NTP,
TCP ports, Web ports, host
performance, syslogs, radius servers,
BGP peers, etc. However, it does not
offer trend analysis, device
dependencies to avoid alarm floods,
multi-user model, etc.
The Buzz
Use it if you have multiple UNIX
platforms for which you must update
and upgrade multiple software
packages. Using a large precompiled
software repository for each of the
supported platforms, OpenPKG eases
your system administration load
significantly.
Status
Developed by Ralf S. Engelschall and
sponsored by the European ISP Cable
and Wireless (C&W). It is currently at
version 2.0 and development appears
to have started in 2000.
Consider Snips rather Nocol. It
supports Linux, Solaris, and Windows.
Helix is the commercial version that
supports enterprise-type services as
well as trend analysis. Helix is
available for trial and will work for
about a month, but after that, you must
purchase it. Nocol/Snips is free, and
so is the source code.
Vikas Aggarwal who went on to
become Founder & CTO of Fidelia
Technology initially developed it. It
was developed in the early 1990’s.
Snips is the continuation of Nocol
where development stopped in
December 2003. Snips is still under
active development and is at version
1.1.
211
Tableau A.1: General Purpose Computing (continued)
Product
Nagios / NetSaint
Listed in : GRAS
License : GNU GPL.
Big Brother
License : Proprietary
license ; free for
individual ; fee for
commercial use.
Description
Nagios is a host and service monitor
designed to inform you of network
problems before your clients,
end-users or managers do. It has been
designed to run under the Linux
operating system, but works fine under
most UNIX variants as well. The
monitoring daemon runs intermittent
checks on hosts and services you
specify using external plugins that
return status information to Nagios,
where you, the system administrator
can take action, or have it take the
necessary actions for you.
Big Brother monitors system and
network-delivered services for
availability. Your current network
status is displayed on a color-coded
web page in near-real-time. When
problems are detected, you are
immediately notified by e-mail, pager,
or text messaging.
The Buzz
Use this to monitor your system
services and statuses, and consider it a
lightweight version of OpenNMS ; but
it is still powerful and has many uses.
Status
Nagios is the continuation of NetSaint.
It is under active development and is
being developed and maintained by
Ethan Galstad. The first release of
Nagios was in May 2002, and is
currently at stable release version 1.2.
NetSaint was started in 1999 and
development stopped in 2002.
The main difference between BB and
BBPro (not including license) is that
BB has a manual setup and BBPro has
an automatic setup. Different from
other similar packages, it is worth
trying out and is light on your
resources. It too supports multiple
platforms.
You must read the license agreement
to determine if you qualify for the free
(BB) or paid version of Big Brother
(BBPro). Started in 1996 by Sean
MacGuire and Robert-André Cocteau,
it was purchase by Quest Software in
2000. Development is still on going
and is currently at version 1.9e.
212
Tableau A.1: General Purpose Computing (continued)
Product
Net SNMP
Listed in : IDA
License : BSD. BSD-like
for the portions from
Carnegie Mellon
University, BSD for
portions from Network
Associates Inc., BSD for
parts from Cambridge
Broadband Ltd., BSD
for parts from Sun
Microsystems Inc., BSD
parts from Sparta Inc.
Lsof
Listed in : GRAS
License : Free to use but
restricted.
Description
A platform independent
implementation of the SNMP RFC.
The Buzz
Platform independent implementation
of SNMP version 1 and 2. It works on
many different platforms, and is
highly extensible and flexible. It is
currently found on most major
distributions of Linux, and can easily
be compiled and installed on just
about any other platform.
Lsof is a UNIX-specific diagnostic
tool. Its name stands for LiSt Open
Files, and it does just that. It lists
information about any files that are
open by processes currently running
on the system. It can also list the
communications open by each
process.
No UNIX system would be complete
with administration and diagnostic
tools without this one. This tool lets
you know about all of the open files on
your system, including sockets and
pipes.
Status
It is originally based on the Carnegie
Mellon University and University of
California at Davis (UCD-SNMP)
SNMP implementations, but has been
so heavily changed and modified that
it no longer resembles the original. As
of release 5.0 Net-SNMP no longer
bore any resemblance to UCD-SNMP.
The Net-SNMP initiative appears to
have started in 2000. It cannot be
determined who the developers are,
but there are many collaborating
together to move the project forward.
It was developed by Ray Shaw. The
first initial release dates back to 1998.
It is still under active development and
is now at version 4.70.
213
Tableau A.1: General Purpose Computing (continued)
Product
Queue
License : GNU GPL.
VNC
Listed in : IDA
License : GNU GPL.
Description
It is a load-balancing system that lets
users control their remote jobs in an
intuitive, transparent and nearly
seamless way. Queue can be used as a
local replacement for RSH to hosts
within a homogeneous cluster under
single administrative control. Queue
also supports the more traditional
email-based load-balancing and
distributed batch-processing facilities
using a number of criteria to decide
where to send jobs.
VNC stands for Virtual Network
Computing. It is a remote control
software that allows you to view and
interact with one computer using a
simple viewer program on another
computer anywhere on the Internet.
The two computers do not even have
to be the same type of platforms. VNC
is freely and publicly available and is
in widespread active use by millions
throughout industry, academia and
privately.
The Buzz
Use it for load-balancing and
dispatching jobs on clusters. It
supports multiple platforms.
Status
It is no longer under active
development ; the main developer was
W. G. Krebs, although there were
several other contributors as well. It
was started as an in-house initiative on
a cluster of HP-UX hosts for
load-balancing. The last version was
released in May 2001. It is currently at
version 1.40.1 beta.
Consider using this as a low-cost
replacement for Citrix MetaFrame,
Norton PC Anywhere or any other
multi-platform telecommunications
program. You can also tunnel your
connections via OpenSSH so that
communications remain secure.
The RealVNC (2002-2003) project
picks up where the AT&T VNC team
left off. Originally started at AT&T
and funded by Olivetti Research
Ltd./AT&T Laboratories Cambridge
(1994-2000), it is now again under
active development. It is staffed and
developed by the original AT&T VNC
team. It is currently at stable release
version 3.3.7. It is now no longer
under AT&T and appears to find its
own funding.
214
Tableau A.1: General Purpose Computing (continued)
Product
OpenSSH
Listed in :
GRAS, GRAM, IDA
License : BSD.
OpenSSL
Listed in :
GRAS, GRAM, IDA
License : Apache-style
license.
Description
OpenSSH is a FREE version of the
SSH protocol suite of network
connectivity tools that increasing
numbers of people on the Internet are
coming to rely on. OpenSSH encrypts
all traffic (including passwords) to
effectively eliminate eavesdropping,
connection hijacking, and other
network-level attacks. It also provides
a myriad of secure tunnelling
capabilities, as well as a variety of
authentication methods. However, it is
important to note that once SSH is
started and has connected and
authenticated itself to a remote system,
it will then bring up the user’s default
command line shell, such as Bash.
The OpenSSL Project is a
collaborative effort to develop a
robust, commercial-grade,
full-featured, and Open Source toolkit
implementing the Secure Sockets
Layer (SSL v2/v3) and Transport
Layer Security (TLS v1) protocols as
well as a full-strength general-purpose
cryptography library. The project is
managed by a worldwide community
of volunteers that use the Internet to
communicate, plan, and develop the
OpenSSL toolkit and its related
documentation.
The Buzz
The de facto open source standard for
encrypting network
telecommunications without the use of
sophisticated hardware or software
(including IPSec).
Status
Still under active development, it is
based on the original free SSH 1.2.12
release from Tatu Ylönen (1995). SSH
has been around for many years and is
available for a wide number of
platforms. Aaron Campbell, Bob
Beck, Markus Friedl, Niels Provos,
Theo de Raadt, and Dug Song are the
creators of OpenSSH, and many
collaborators around the world
develop it. It is currently at version
3.7.
SSL is finding itself more and more
accepted in the commercial
marketplace for secure purchases and
transfers when online. Many banks
and institutions are moving to SSL
rather than other proprietary secure
purchasing systems.
It is under active development and
currently at version 0.96l. OpenSSL is
based on the excellent SSLeay library
developed by Eric A. Young and Tim
J. Hudson. The core development
team consists of Mark J. Cox, Ralf S.
Engelschall, Dr. Stephen Henson, and
Ben Laurie ; however, there are many
other developers as well. The project
dates back to at least 1998 (possibly
earlier) when the first initial version of
SSLeay was released.
215
Tableau A.1: General Purpose Computing (continued)
Product
Calamaris
License : GNU GPL.
Awstats
License : GNU GPL.
Webalizer
Listed in : IDA
License : GNU GPL.
Description
It parses log files from Squid,
NetCache, Inktomi Traffic Server,
Oops ! Proxy Server, Novell Internet
Caching System, Compaq TaskSmart
or Netscape/Iplanet Web Proxy Server
and generates statistical reports about
their performance and use. It is written
entirely in Perl.
Short for Advanced Web Statistics, it
is a tool that generates advanced web,
FTP, and mail server statistics,
graphically. It shows you all the
possible information your log
contains, in few graphical web pages.
It can process large log files. It can
analyze log files from IIS, Apache,
WebStar, and most other proxy, WAP,
and streaming servers.
It is a fast, free web server log file
analysis program. It produces highly
detailed, easily configurable usage
reports in HTML format, for viewing
inside a standard web browser. It is
written entirely in C and thus can be
ported to just about any platform. It
works for Apache and WU-FTP logs.
The Buzz
Use this if you need a tool to help you
parse your various log files so that you
can get abundant statistical
information about usage and
performance of your web server and
proxy logs.
Status
It is uncertain if it is still under active
development or not since there have
been no changes since May 2003. The
current version is 2.58. Developed by
Cord Beermann, its first initial release
was in December 1997.
While it does not give quite as much
information as Calamaris, it supports a
wider variety of applications.
It is still under active development and
its initial release was in May 2000.
Laurent Destailleur develops it and it
is currently at stable release version
6.0.
It is very fast. The author claims that a
200 MHz Pentium it can process a 40
MB 10,000 line file in 15 seconds.
Consider this if you use only Apache
or WU-FTP and have very large log
files to analyze.
Still under active development, the
author is Bradford L. Barrett. It is
currently at stable release 2.01-10, and
the project was started in 1997.
216
Tableau A.1: General Purpose Computing (continued)
Product
H2N
Listed in : GRAS
License : GNU GPL.
Expect
Listed in : GRAS
License : Public
Domain.
Condor
Listed in : GRAS
License : BSD.
Description
H2N is a Perl script that can translate
a host table (ex. /etc/hosts) into DNS
zone files and check zone files for
RFC violations or other potential
problems.
Expect is a tool for automating
interactive (non-automatic)
applications such as Telnet, FTP,
Passwd, Fsck, Rlogin, Tip, etc. Expect
is also useful for testing these same
applications. Moreover, by adding Tk,
you can wrap interactive applications
in X11 GUIs.
Condor is a specialized workload
management system for
compute-intensive jobs. Condor
provides a job queuing mechanism,
scheduling policy, priority scheme,
resource monitoring, and resource
management. Users submit their jobs
to Condor and Condor places them
into a queue and chooses when and
where to run the jobs based upon a
policy ; and it carefully monitors their
progress, and ultimately informs the
user upon completion.
The Buzz
Use it if you want to move from
/etc/hosts to DNS and your hosts file
is large enough to make it worth the
while of using DNS. Remember that
DNS uses significantly more resources
than/etc/hosts do.
Consider this program if you need to
automate some of the standard UNIX
interactive programs. It requires
Tcl/Tk to work.
Ideal for batch and serial jobs, it
works particularly well in clustered
environments, such as on Beowulf
clusters.
Status
It does not appear to be currently
under development. Its author is
Brandon Hutchinson. The current
version is 2.55 and it was released in
September 2003.
Still under active development, its
current version is 5.40.0 and
developed by Don Libes. The program
was conceived in 1987 and the first
prototype was in September 1987.
Under active development, it is
currently at version 6.6.1. The project
was started in 1988 based on the
results of the Remote-UNIX project
and as a continuation in the work the
Distribute Resource Manager (DRM).
It is currently being maintained and
developed at the University of
Wisconsin-Madison.
217
Tableau A.1: General Purpose Computing (continued)
Product
Amanda
Listed in : GRAS, IDA
License : BSD.
txt2man
License : GNU GPL.
Description
Standing for the Advanced Maryland
Automatic Network Disk Archiver, it
is a backup system that allows the
administrator of a LAN to set up a
single master backup server to back up
multiple hosts to a single large
capacity tape drive. It uses native
dump and/or GNU tar facilities and
can back up a large number of
workstations running multiple
versions of UNIX. Recent versions
can also use SAMBA to back up
Microsoft Windows hosts.
Txt2man converts flat ASCII text to
man page format. It is a shell script
using GNU Awk that should run on
any UNIX like system.
The Buzz
A bit difficult to configure and not for
the uninitiated in UNIX, but if you
think you know what you are doing,
then this is a great tool to perform
backups and restore a variety of
platforms and architectures.
Status
Currently under active development, it
is at stable version 2.4.4p2. The
program dates back to at least 1998,
and there are many developers who
have contributed to the project, both
past and presently, and are too
numerous to mention.
This tool will let you make your own
man files easily. A very nice tool for
those who do not want to learn Groff.
It is still under active development ; it
was developed by Marc Vertes. The
program started before December
2002, but its history cannot be traced
back further than this. In December
2002, the release was at version 1.4.6,
and the current release is 1.4.8.
218
Tableau A.1: General Purpose Computing (continued)
Product
MyDNS
License : GNU GPL.
Description
MyDNS is a free DNS server for
UNIX implemented from scratch and
designed to serve records directly
from an SQL database (currently
either MySQL or PostgreSQL).
The Buzz
Its primary objectives are stability,
security, interoperability, and speed,
though not necessarily in that order.
MyDNS does not include recursive
name service, or a resolver library. Its
primarily designed for organizations
with many zones and/or resource
records who desire the ability to
perform real-time dynamic updates on
their DNS data via MySQL. MyDNS
starts and is ready to answer questions
immediately, no matter how much
DNS data you have in the database. It
is very fast and memory-efficient.
Status
Still under active development, it
appears to be developed by Don
Moore. It is currently at version
0.10.3. The initial public release dates
back to 2002.
219
Tableau A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
For most UNIX systems, this is the
way to go if you want to connect to or
interchange data with Windows
systems. It is very stable, but it can be
difficult to configure for the novice,
although there are lots of good
documentation available on the
Internet.
Still under active development, it is
currently at version 3.0.2. It cannot be
determined who is the lead developer
or maintainer of the project, however,
the core development team consists of
20 developers, with many other
developers and contributors. It can be
traced back to at least 1993, and it
dates back to several years before that.
Still under active development, it is
currently at version 9.2.3. The initial
release was in 1994. The program is
copyright of the Internet Software
Consortium. It cannot be determined
who are the current developers and
maintainers of the project.
System Services Software :
SAMBA
Listed in :
GRAS, GRAM, IDA
License : GNU GPL.
BIND
Listed in :
GRAS, GRAM, IDA
License : Distributable
according to the Internet
Consortium License.
Samba is an Open Source/Free
Software suite that provides seamless
file and print services to SMB/CIFS
clients. This enables you to connect to
either your Windows workstations or
domains, share data and files, and even
print. It also enables the Windows the
world to access your UNIX box as if it
were another Windows box.
BIND (Berkeley Internet Name
Domain) is an implementation of the
Domain Name Server/Service (DNS)
protocols and provides an openly
redistributable reference
implementation of the major
components of the Domain Name
System. The resolver library included
in the BIND distribution provides the
standard API’s for translation between
domain names and Internet addresses
and is intended to be linked with
applications requiring name service.
The BIND DNS Server is used on the
vast majority of name serving
machines on the Internet, providing a
robust and stable architecture on top
of which an organization’s naming
architecture can be built. Although
most systems have their DNS server,
this one is particularly worth looking
at.
220
Tableau A.1: General Purpose Computing (continued)
Product
Apache
Listed in :
GRAS, GRAM, IDA
License : Apache
License.
Zebra
License : GNU GPL.
Description
Apache is very popular and provides
access to most web sites on the
Internet. A recent Netcraft survey of
Web Servers around the world placed
Apache Powered sites at over 50
percent of the total. Apache is free
because it is written and maintained
by enthusiasts and volunteers, much in
the spirit of many UNIX users.
Apache runs on just about every
platform that is out there, and is a high
performance web-based platform.
GNU Zebra is free software that
manages TCP/IP based routing
protocols. It supports BGP-4 protocol
as described in RFC1771 (A Border
Gateway Protocol 4) as well as RIPv1,
RIPv2 and OSPFv2. Unlike
traditional, monolithic architectures
and even the so-called “new modular
architectures” that remove the burden
of processing routing functions from
the CPU and utilize special ASIC
chips instead, Zebra software offers
true modularity. Zebra is unique in its
design in that it has a process for each
protocol.
The Buzz
The world’s most popular web server,
and quite possibly one of the fastest.
However, to determine which is faster,
Apache or IIS, look at the many
different benchmarks already
performed and be the judge for
yourself. Avoid being overly
convinced by those who are pro-open
source or pro-Microsoft. Perform your
benchmarks if you can.
Status
Still under current development, it is
funded by the non-profit organization
Apache Software Foundation that was
founded in 1999. The ASF is a natural
outgrowth of The Apache Group, a
group of individuals that was initially
formed in 1995 to develop the Apache
HTTP Server.
If you need advanced routing
software, rather than go out and pay a
fortune for a commercially available
product, try Zebra. Open source, fast,
and easy to configure, it is worth
thinking about. It was designed to
work on Linux-based systems.
Still under active development, it was
started in 1996 and it is currently at
release 1.0. Mr. Kunihiro Ishiguro
who at the time needed a new type of
routing software started it.
221
Tableau A.1: General Purpose Computing (continued)
Product
Squid
Listed in : GRAS
License : GNU GPL.
Wu-Ftpd
Listed in : GRAS
License : It is distributed
under the Wu-Ftpd
software license.
Description
Squid is a high-performance
proxy-caching server for web clients,
supporting FTP, gopher, and HTTP
data objects. Unlike traditional
caching software, Squid handles all
requests in a single, non-blocking,
I/O-driven process. Squid keeps meta
data and especially hot objects cached
in RAM, caches DNS lookups,
supports non-blocking DNS lookups,
and implements negative caching of
failed requests. Squid supports SSL,
extensive access controls, and full
request logging.
Wuarchive-ftpd, more affectionately
known as WU-FTPD, is a replacement
FTP daemon for UNIX systems
developed at Washington University
(*.wustl.edu) by Chris Myers and later
by Bryan D. O’Connor (who are no
longer working on it or supporting
it !). WU-FTPD is the most popular
FTP daemon on the Internet, used on
many anonymous FTP sites all around
the world.
The Buzz
An excellent for a proxy-caching
server and can easily be configured
and compiled for many different
platforms, including Windows and
Mac OS X.
Status
Still under active development, the
current developmental version is 3.0,
and the current stable version is 2.5.
Robert Collins appears to be the lead
developer and maintainer of the
program, although there other
developers and contributors. The first
initial release appears to have been in
1997.
Probably the most common Ftpd
daemon you are likely to encounter on
the Internet.
No longer under active development,
except for some security patch fixes,
the first public release is believed to
have been released in 1991. It is
currently at version 2.6.2, but it cannot
be determined who actually started the
project because Wu-Ftpd was started
from different initiatives.
222
Tableau A.1: General Purpose Computing (continued)
Product
CUPS
Listed in : IDA
License : GNU GPL and
GNU LGPL.
LPRng
Listed in : IDA
License : Copyright and
distributable under
Patrick Powell License
Agreement.
Description
The Common UNIX Printing System
is a cross-platform printing solution
for all UNIX environments. It is based
on the Internet Printing Protocol (IPP).
It provides complete printing services
to most PostScript and raster printers.
The LPRng software is an enhanced,
extended, and portable
implementation of the Berkeley LPR
print spooler functionality. While
providing the same interface and
meeting RFC1179 requirements, the
implementation is completely new and
provides support for the following
features : lightweight (no databases
needed) Lpr, Lpc, and Lprm
programs ; dynamic redirection of
print queues ; automatic job holding ;
highly verbose diagnostics ; multiple
printers serving a single queue ; client
programs do not need to run SUID
root ; greatly enhanced security
checks ; and a greatly improved
permission and authorization
mechanism.
The Buzz
While the LPR/LPD printer daemons
may still come standard on most
UNIX systems, watch out because this
is very likely to replace them. CUPS
works on most UNIX platforms,
including Windows and Mac OS X.
Of course, CUPS still supports the
standard printing commands Lp and
Lpr for compatibility.
While CUPS may the way of the
future for UNIX printing, do not
discount LPRng. This project will
probably continue to give long life to
an already long existing printing
system. While the current LPR/LPD
daemons are already tried, tested, and
true, they lack some many of the
options that LPRng provides to them.
Status
Still under active development, it is
owned and copyrighted by Easy
Software Products, and was
copyrighted in 1993. However, it
cannot be determined who the main
developers and contributors are. It is
currently at version 1.2.
It is still under active development. It
was developed and is still maintained
by its author Patrick Powell. The
project was started in 1995 and is
currently at version 3.8.9.
223
Tableau A.1: General Purpose Computing (continued)
Product
NTP
Listed in : GRAS, IDA
License : Copyright and
distributable under
David L. Mills License
Agreement.
OpenLDAP
Listed in : IDA
License : OpenLDAP
Public License.
Description
NTP is a protocol designed to
synchronize the clocks of computers
over a network. NTP version 3 is an
Internet draft standard, formalized in
RFC 1305. NTP version 4 is a
significant revision of the NTP
standard, and is the current
development version, but has not been
formalized in an RFC. Simple NTP
(SNTP) version 4 is described in RFC
2030.
LDAP, which stands for Lightweight
Directory Access Protocol is an
implementation of the X.500 protocol.
It is similar to both Novell NDS and
Microsoft Active Directory. Rather
than using flat files to maintain users,
passwords, and given rights and
implicit rights, LDAP, like other
X.500 implementations go from flat
files to tree-like structures with leaves
and branches, where branches are
divisions, groups, and departments,
and leaves are the end user, or other
objects like printers, files, directories,
etc.
The Buzz
Although you may not realize that
time synchronization is important, it is
critical when performing database
synchronizations or generating and
synchronizing system certificates.
NTP is not an obvious program to
configure, and can be difficult for
those who have never worked with
timeservers and time synchronization.
Status
It is still under active development.
David L. Mills originally developed it.
There are, however, over 50 other
contributors and developers to the
project. Mr. Mills copyrighted it in
1992, and it may have started before
that. It is currently at version 4.2.0.
No doubt that using LDAP, like the
other X.500 implementations
simplifies the administration of your
IT organization’s users, printers, files,
data directories, and allows you to
assign implicit rights and inherited
rights. While very powerful, it is also
very complex and is not for the
uninitiated. How well it integrates
with Novell NDS and Microsoft
Active Directory is uncertain.
Still under active development, it is
currently at release 2.2.7. It cannot be
determined who is the author and
maintainer of the project. The
OpenLDAP Foundation is a non-profit
organization that promote open source
LDAP. It also owns the copyright to
LDAP. The project was started in 1998
and is funded by many generous
sponsors. Versions before 2.2.4 were
not released to the general public.
224
Tableau A.1: General Purpose Computing (continued)
Product
X Client / X Server
(XFree86)
Listed in :
GRAS, GRAM, IDA
License : XFree86
License.
Description
The XFree86 project is a project that
aims to produce a platform
independent X Server / Client
architecture for both the local and
remote displaying of X-based
applications. It is a fully open source,
POSIX, X11R6 implementation of the
X standard.
The Buzz
The problem with XFree86 is not that
it is not a high performance X system.
On the contrary, it is so high
performance that SGI now includes it
as the default X server on their new
Onyx4 UltimateVision systems. The
problem is that PC’s all too often do
not have the necessary hardware to
take full advantage of X. The other
problem is that it is complex to setup
for multihead and multipipe use,
however it is possible. Finally, the
other problem is that all too often
video card manufacturers provide
cheap drivers for XFree86, and those
that are written by the XFree86 are
often not optimized enough because
the developers did not have access to
better source code directly from the
card manufacturer. It is fully
compatible and interoperable with
anything talking X. It has also has
been ported to many platforms, even
non-UNIX platforms.
Status
It is based on the work of then
German student Thomas Roell (1989 /
1990) who ported over code from the
X11R4 distribution of X and called it
X386.1.1. In August 1991, with the
aid of others, Roell gave PC-based
UNIX its first X implementation.
Today, XFree86 is developed by
hundreds of international contributors
who are pushing the movement
forward. It is currently at version 4.4.0
RC3.
225
Tableau A.1: General Purpose Computing (continued)
Product
VNC
Listed in : IDA
License : GNU GPL.
CVS
Listed in :
GRAS, GRAM
License : GNU GPL.
Description
VNC stands for Virtual Network
Computing. It is a remote control
software that allows you to view and
interact with one computer using a
simple viewer program on another
computer anywhere on the Internet.
The two computers do not even have
to be the same type of platforms. VNC
is freely and publicly available and is
in widespread active use by millions
throughout industry, academia and
privately.
CVS is the Concurrent Versions
System, the dominant open-source
network-transparent version control
system. CVS is useful for everyone
from individual developers to large,
distributed teams. Its client-server
access method lets developers access
the latest code from anywhere there is
an Internet connection. Its unreserved
checkout model to version control
avoids artificial conflicts common
with the exclusive checkout model. Its
client tools are available on most
platforms.
The Buzz
Consider using this as a low-cost
replacement for Citrix MetaFrame,
Norton PC Anywhere or any other
multi-platform telecommunications
program. You can also tunnel your
connections via OpenSSH so that
communications remain secure.
The natural evolution of SCCS/CSSC
and RSC, it is the de facto standard for
software development versioning
systems. After all, SourceSafe is just a
Microsoft implementation of it, but at
$500 a head. Client software can be
used on just about every major
platform, and it integrates nicely into
many different IDE’s, and especially
well with Eclipse.
Status
The RealVNC (2002-2003) project
picks up where the AT&T VNC team
left off. Originally started at AT&T
and funded by Olivetti Research
Ltd./AT&T Laboratories Cambridge
(1994-2000), it is now again under
active development. It is staffed and
developed by the original AT&T VNC
team. It is currently at stable release
version 3.3.7. It is now no longer
under AT&T and appears to find its
own funding.
Still under active development, it is
currently at version 1.12.6. The project
was started in 1993. Ian Taylor, Jim
Kingdon, Noel Cragg developed it, but
there are many additional developers
and contributors. However, it cannot
be accurately verified who was the
original developer of the project.
226
Tableau A.1: General Purpose Computing (continued)
Product
Xinetd
Listed in : IDA
License : Copyright
1992 by Panagiotis
Tsirigotis, proprietary
license but open sourced.
BSD-like license.
OpenSSH
Listed in :
GRAS, GRAM, IDA
License : BSD.
Description
Xinetd is a replacement for Inetd, the
Internet services daemon. It supports
access control based on the address of
the remote host and the time of access.
It also provides extensive logging
capabilities, including server start
time, remote host address, remote
username, server run time, and actions
requested.
OpenSSH is a FREE version of the
SSH protocol suite of network
connectivity tools that increasing
numbers of people on the Internet are
coming to rely on. OpenSSH encrypts
all traffic (including passwords) to
effectively eliminate eavesdropping,
connection hijacking, and other
network-level attacks. It also provides
a myriad of secure tunnelling
capabilities, as well as a variety of
authentication methods. However, it is
important to note that once SSH is
started and has connected and
authenticated itself to a remote system,
it will then bring up the user’s default
command line shell, such as Bash.
The Buzz
Use this instead of Inetd. It can be
found on many modern UNIX and
UNIX-like operating systems. It can
be made to work on the majority of
systems that do not come with it. Inetd
was the standard, but it has its
limitations. Source code is available.
Status
Still under active development, it is
currently at version 2.3.13. Cannot
determine when it was initially
released, but it can be traced back in
older version of Linux to before 2000.
It cannot be determined who
developed the program either.
The de facto open source standard for
encrypting network
telecommunications without the use of
sophisticated hardware or software
(including IPSec).
Still under active development, it is
based on the original free SSH 1.2.12
release from Tatu Ylönen (1995). SSH
has been around for many years and is
available for a wide number of
platforms. Aaron Campbell, Bob
Beck, Markus Friedl, Niels Provos,
Theo de Raadt, and Dug Song are the
creators of OpenSSH, and many
collaborators around the world
develop it. It is currently at version
3.7.
227
Tableau A.1: General Purpose Computing (continued)
Product
Arpwatch
License : Uses the
license model of “The
Regents of the
University of
California.”
Net SNMP
Listed in : IDA
License : BSD. BSD-like
for the portions from
Carnegie Mellon
University, BSD for
portions from Network
Associates Inc., BSD for
parts from Cambridge
Broadband Ltd., BSD
for parts from Sun
Microsystems Inc., BSD
parts from Sparta Inc.
Portmap
Listed in : IDA
License : Not available.
Description
Arpwatch is a tool that monitors
Ethernet activity and keeps a database
of Ethernet/IP address pairings. It also
reports certain changes via email.
Arpwatch uses Libpcap, a
system-independent interface for
user-level packet capture.
A platform independent
implementation of the SNMP RFC.
It is a replacement for the standard
UNIX Portmap program. It attempts to
close all known holes in Portmap. This
includes prevention of NIS password
file theft, prevention of unauthorized
Ypset commands, and prevention of
NFS file handle theft.
The Buzz
You can use tool to find out what
MAC address goes with each IP on
your local network. You can also use
this tool to tell you when new
machines are added to the network, or
when IP addresses change to a
different MAC, or vice versa. You can
also consider using it as an IDS.
Platform independent implementation
of SNMP version 1 and 2. It works on
many different platforms, and is
highly extensible and flexible. It is
currently found on most major
distributions of Linux, and can easily
be compiled and installed on just
about any other platform.
Use this only for older version of
SunOS, Ultrix, HP-UX, AIX, and
OSF.
Status
No longer under active development,
it was first started in 1992 and
development stopped in 1998. It is
currently at version 2.1. Developed at
Lawrence Berkeley National
Laboratory by Craig Leres of the
Network Research Group.
It is originally based on the Carnegie
Mellon University and University of
California at Davis (UCD-SNMP)
SNMP implementations, but has been
so heavily changed and modified that
it no longer resembles the original. As
of release 5.0 Net-SNMP no longer
bore any resemblance to UCD-SNMP.
The Net-SNMP initiative appears to
have started in 2000. It cannot be
determined who the developers are,
but there are many collaborating
together to move the project forward.
It is no longer under active
development ; Wietse Venema
developed it while he was working at
the IBM Thomas J. Watson Research
facility. The latest release dates back
to July 1996. Cannot determine when
this project was started.
228
Tableau A.1: General Purpose Computing (continued)
Product
Vsftpd
License : GNU GPL.
Webmin
Listed in : GRAS
License : BSD.
Usermin
License : BSD.
Description
Secure and fast, the SAC team at
SANS consider it as the preferred
secure FTP server. Although not as
configurable as other FTP servers such
as Wu-Ftpd, it supports PAM, Xinetd,
and Tcp_wrappers. It also supports
Ipv6 and bandwidth throttling. In
addition, it can even be used with
Chroot to keep users where they
belong.
Webmin is a web-based interface for
system administration for UNIX.
Using any browser that supports tables
and forms you can perform many of
your system administrations
configurations through it. Because
Webmin has its own web-enabled
daemon, you can configure your
systems locally or remotely, even on
the Internet. Just be sure to use SSL if
you want to administrate and
configure your boxes via the Internet.
Usermin is a web interface that can be
used by any user on a UNIX system to
easily perform tasks like reading mail,
setting up SSH or configuring mail
forwarding. It can be thought of as a
simplified version of Webmin
designed for use by normal users
rather than system administrators.
The Buzz
Although not as configurable as many
other feature-rich (some might say
“bloated”) FTP servers, Vsftpd can
support hundreds, and even thousands
of simultaneous connections, as well
being more secure than any of the
other commercial and open source
FTP servers on the market. Only FTP
servers included with trusted operating
systems would be more secure.
By far, you will find this the best open
source, multi-platform, system
administration tool. It rivals many
commercial tools. It supports a wide
array of operating systems. You will
be happily surprised to know that it
will support your version of UNIX.
Hats off to Jamie Cameron on a truly
useful system administration tool.
Because everything is written entirely
in Perl, you will be able to write your
modules and share them with the
Webmin community.
It is essentially the same concept as
Webmin, except that it is designed for
users rather system administrators.
With it, you can configure your
preferences, read mail, and setting up
your local databases and configuring
your SSH connections.
Status
Currently still under active
development, it was developed by
Chris Evans. It is currently at version
1.2.1. It cannot be determined when
the project started or if there are other
developers and contributors to the
project.
Started in 2000 by Jamie Cameron
with funding from Caldera, it is now
funded by Jamie Cameron. It is under
active development and is now at
version 1.140.
John Smith of MSC Software
suggested the idea and helped to fund
its development ; however Jamie
Cameron actually wrote and
developed the project. It was started in
2003. It is currently at version 1.070.
229
Tableau A.1: General Purpose Computing (continued)
Product
Description
Text Editors / IDE’s :
Eclipse
Eclipse is an open source software
License : Common
development project dedicated to
Public License.
providing a robust, full-featured,
commercial-quality, industry platform
for the development of highly
integrated tools. It is composed of
three projects, the Eclipse Project, the
Eclipse Tools Project and the Eclipse
Technology Project, each of which is
overseen by a Project Management
Committee (PMC) and governed by its
Project Charter.
The Buzz
Status
A very nice IDE to work with. Use it
in place of your other IDE’s. It
integrates well with your existing
projects and has built-in support for
CVS.
It is still under active development.
Industry leaders Borland, IBM,
MERANT, QNX Software Systems,
Rational Software3, Red Hat, SuSE,
TogetherSoft3 and Webgain2 formed
the initial eclipse.org Board of
Stewards in November 2001. Other
vendors joined as well since 2001. On
February 2, 2004, the Eclipse Board of
Stewards announced Eclipse’s
reorganization into a not-for-profit
corporation. Originally, a consortium
that formed when IBM released the
Eclipse Platform into Open Source,
Eclipse became an independent body
that will drive the platform’s evolution
to benefit the providers of software
development offerings and end-users.
All technology and source code
provided to this fast-growing
ecosystem will remain openly
available and royalty-free. It cannot be
determined who the developers are. It
is currently at version 2.1.
230
Tableau A.1: General Purpose Computing (continued)
Product
Emacs
Listed in :
GRAS, GRAM, IDA
License : GNU GPL.
JEdit
License : GNU GPL.
Description
Emacs is the extensible, customizable,
self-documenting real-time display
editor. An easier explanation is Emacs
is a text editor and more. At its core is
an interpreter for Emacs Lisp (“elisp”,
for short), a dialect of the Lisp
programming language with
extensions to support text editing.
A Java-based GUI text editor with a
built-in macro language and contains
many useful features for developers.
The Buzz
Many modern UNIX developers use
Emacs as their standard editor for
programming. However, it can be used
as a replacement for everything you
would normally do in Vi. It is a
powerful text editor, complete with its
own simple to learn scripting
language. It has been ported to just
about every platform imaginable.
There is also an X Windows version
available. It should be considered
highly stable code.
Built mostly for developers, it has
many of the functions and features
developers like to use. Because it is
written in Java, it works on most
platforms that support the necessary
version of the required JVM.
Status
Still under active development, it is
currently at version 21.3. It appears to
have started in 1974 under Joseph
Brian Wells and Richard Stallman, and
then from 1992 to 1993, under Steven
Byrnes, and it is currently under
development by Reuven M. Lerner.
Still under active development, the
bulk of the work was written by Slava
Pestov ; however many modules have
been written by other developers and
contributors to the project. Current
stable release version is at version 4.1.
It appears to have started in 1999.
231
Tableau A.1: General Purpose Computing (continued)
Product
LaTeX
Listed in : GRAS
License : LPPL.
NEdit
License : GNU GPL.
SharpDevelop
License : GNU GPL.
Description
LaTeX is a document preparation
system for high-quality typesetting. It
is most often used for
medium-to-large technical or scientific
documents, but it can be used for
almost any form of publishing. LaTeX
is not a word processor ! Instead,
LaTeX encourages authors not to
worry too much about the appearance
of their documents, but to concentrate
on getting the right content. LaTeX is
based on the idea that it is better to
leave document design to document
designers, and to let authors get on
with writing documents.
NEdit is a multi-purpose text editor
for the X Window System, which
combines a standard, easy to use,
graphical user interface with the
thorough functionality and stability
required by users who edit text for
much of the day.
#develop (short for SharpDevelop) is a
free IDE for C# and VB.NET projects
on Microsoft’s .NET platform.
The Buzz
LaTeX is a high-quality typesetting
system, with features designed for the
production of technical and scientific
documentation. LaTeX is the de facto
standard for the communication and
publication of scientific documents. It
is quite possibly the most popular TeX
distribution around.
Status
Still under active development, it is
can be traced back to at least 1994. It
cannot be determined who the original
author(s) are. The project version
cannot be determined due to the lack
of versioning file names on the FTP
web site.
It provides intensive support for
development in a wide variety of
languages, text processors, and other
tools, but at the same time can be used
productively by just about anyone who
needs to edit text. If you work a lot
with text files, then should really enjoy
working with this program.
Use it in place of your other IDE’s like
VisualStudio. However, preferences
will vary. Bear in mind that this
product is under constant
development. You will also need to
have the .NET architecture present
and installed on your system.
Still under active development, it is
currently at version 5.4. As a
volunteer-based project, it is difficult
to determine who actually started the
project. It appears to have been started
in 1999.
Still under active development, the
project was started in 2000. It is
currently at version 0.99b. It cannot be
determined who the authors or
maintainers of the project are.
232
Tableau A.1: General Purpose Computing (continued)
Product
TeTeX
License : Not available.
TeXmacs
License : GNU GPL.
VI Improved
Listed in : GRAM, IDA
License : Charityware,
compatible with GNU
GPL.
Description
TeTeX is a complete TeX distribution
for UNIX compatible systems.
The Buzz
Similar in most regards to LaTeX.
GNU TeXmacs is a free scientific text
editor, which was both inspired by
TeX and GNU Emacs. The editor
allows you to write structured
documents via a WYSIWYG and
user-friendly interface. The user may
create new styles. The program
implements high-quality typesetting
algorithms and TeX fonts, which help
you to produce professionally looking
documents.
The high typesetting quality still goes
through for automatically generated
formulas, which makes TeXmacs
suitable as an interface for computer
algebra systems. TeXmacs also
supports the Guile/Scheme extension
language, so that you may customize
the interface and write your own
extensions to the editor. Converters
exist for TeX/LaTeX and they are
under development for
HTML/MathML/XML. Consider
using this tool when writing out
mathematical formulae and equations
for use in your scientific reports.
Still looks like Vi, but with many
added enhancements. If you like Vi
then you will definitely like vim.
Vim is a highly configurable text
editor built to enable efficient text
editing. It is an improved version of
the Vi editor distributed with most
UNIX systems. Vim is distributed free
as charityware.
Status
Still under active development, it is
currently at version 2.0.2. It was
developed and maintained by Thomas
Esser. Cannot determine when this
project actually started.
Still under active development, Joris
van Hoevan developed it. Currently at
version 1.0.3.5, it can be traced back
to 1999.
Still under active development, the
main author is Bram Moolenaar.
Cannot determine when the project
actually started, however, vim has
been around for a few years, probably
since 1998 or before.
233
Tableau A.1: General Purpose Computing (continued)
Product
XEmacs
License : GNU GPL.
Description
It is essentially the same as Emacs, but
designed for the X Windows desktop
system. It will work under every major
vendor release of the X Windows
System Release 5.x or 6.x.
The Buzz
If you do not like working with
console driven text editors, then
perhaps you should try XEmacs.
Works just as well as Emacs, with all
of the same commands and
functionality, but now can be mouse
driven for those who do not like
remembering hotkeys. The
maintainers of XEmacs actively track
changes to GNU Emacs while also
working to add new features.
Status
Still under active development, it can
be traced back to 1999 when it was at
version 21.1.6. It is currently at
version 21.4.12. However, since
XEmacs is based on the work of
Emacs version 19, the Changelog
indicates it goes back to at least 1996.
There have been many developers
over the years and it is difficult to
determine who deserves credit for
starting XEmacs.
234
Tableau A.1: General Purpose Computing (continued)
Product
Web Browsers :
Galeon
Listed in : IDA
License : GNU GPL.
Description
The Buzz
Status
Galeon is a GNOME Web
browser-based on Gecko (the Mozilla
rendering engine). It is fast, it has a
light interface, and it is fully
standards-compliant.
It is fast, lightweight, easy to use, with
just enough options to make simple
and fun to use. It requires both
GNOME and Mozilla to work. Part of
the GNOME Office suite. Galeon,
does however, support most of the
browsing features of Netscape and
Mozilla such as various localizations
for web pages, HTML, XHTML,
XML, CSS1, CSS2, CSS3, DOM0,
DOM1, DOM2, JavaScript, Netscape
plugins, Cookies, SSL, crash recovery,
and wheelmouse support. It can also
import Netscape and Mozilla
bookmarks.
Still under active development, and
currently at version 1.3.13a. It has
been a registered project at
SourceForge since June 2000. Chris
Flowerday appears to be the lead
developer.
235
Tableau A.1: General Purpose Computing (continued)
Product
Konquerer
License : GNU GPL.
Lynx
License : GNU GPL.
Description
It is the default web browser for KDE,
but it is also the KDE file manager.
Use it to manage files, modify them,
move them around and change
permissions. Konquerer is also the
KDE applications launcher that can be
used to create your own customized
icon-based application launcher.
Lynx is the primary open source
text-based Internet browser available
today for a variety of platforms. It
runs on just about every version of
UNIX and BSD, as well as Mac OS X
(presently beta code), and the
Windows 32-bit operating systems, as
well as DOS and OS/2.
The Buzz
As far as web browsers go, Konquerer
is a very versatile one. Not only is it
the default web browser for KDE, but
it is also the KDE file manager. Use it
to manage files, modify them, move
them around and change permissions.
Konquerer is also the KDE
applications launcher that can be used
to create your own customized
icon-based application launcher.
However, it is primarily used as a web
browser. Konquerer supports HTML
4.0 and supports cascading style
sheets. It has a sleek appearance and
offers very appealing eye-candy. It
supports JavaScript and Java applets.
It also supports DOM1, DOM2,
DOM3, and bidirectional scripts, as
well as SSL. The wheelmouse is also
supported. Cookies, IPv6, and
non-blocking I/O are also supported. It
also supports opening TAR, GZ,
RPM, and Z files.
It is considered as the de facto
standard for text-based web browsers.
It is great for using in scripts. It is
even possible to use Lynx to run shell
scripts that can install applications
remotely onto the local system.
Status
It is still under active development ;
although the actual release date of the
first version of Konquerer cannot be
determined, it comes bundled and
standard with KDE, and the first
version of KDE was released in 1997.
The developers of Konquerer appear
to be the same for that of the KDE
project. KDE and Konquerer are
always at the same version number.
KDE is now currently at stable release
3.2.
The project was started in at least 1994
(or possibly earlier). It is still under
active development, however, who the
developers are cannot be determined.
It is currently at version 2.8.3.
236
Tableau A.1: General Purpose Computing (continued)
Product
Mozilla
Listed in : GRAM, IDA
License : Mozilla Public
License.
Multivalent Browser
License : GNU GPL.
Description
Based on the source code of Netscape
Communicator 5.0, it today offers all
of the same features as Netscape, but
it also offers some new functionality.
It is found standard today with all
versions of Linux and the open source
BSD operating systems (except Mac
OS X). Netscape has taken the same
GUI look and feel as Mozilla.
The Multivalent Browser natively
views scanned paper, PDF, HTML,
UNIX manual pages, and TeX DVI. It
supports annotations such as
hyperlinks, highlights, notes, and
executable copy editor mark-up on
any of the above formats. It includes
advanced features such as lenses,
robust hyperlinks, note marks, and
data visualization.
The Buzz
It has a nice look and feel. Fast and
efficient, and includes some useful
features not found in Netscape. It is
the descendant of Netscape
Communicator 5.0, and we find today
that Netscape tries to emulate the
same look and feel of Mozilla. Rather
than use Netscape, try to use Mozilla
instead.
It should be considered as beta quality
code, even tough it has been rated at
SourceForge as alpha code.
Status
It is based on the source code from
Netscape Communicator 5.0 that was
released in 1998. Mozilla is still under
active development. However, it
cannot be determined who the
developers and contributors to the
project are. It is currently at stable
release version 1.6.
The main developer appears to be Tom
Phelps. It is under active development.
The first release was in 2003 but was
registered with the GNU FSF in July
2002. It is currently at Release 8.
237
Tableau A.1: General Purpose Computing (continued)
Product
Netscape
License : Netscape
proprietary license.
Description
Until the advent of Internet Explorer
5.0 and ActiveX, it was until 2000 the
most widely used web browser in the
world. It came standard with almost
all versions of UNIX and UNIX-like
operating systems, and it helped define
the Internet and the Web experience
today. Netscape was the only
commercial web browser to open up
its source code to the global
community. Netscape now only
continues to develop web browsers for
Windows and Mac.
The Buzz
While it has undergone many changes
over the years, it has been until
recently the de facto standard web
browser for UNIX and UNIX-like
operating systems. It now has the look
and feel of Mozilla. It is currently at
version 7.1. Netscape has now stopped
development for UNIX. Consider
using Mozilla instead of Netscape as
Mozilla will supersede Netscape,
especially in the UNIX world.
Netscape has abandoned most of their
own development efforts and are now
using the Mozilla web engine instead
of their own. There is no more source
code available for Netscape.
Status
Based on Mosaic (1993), it was
developed by Marc Andreessen in
1994. It is still under active
development. It is currently at version
7.1.
238
Tableau A.1: General Purpose Computing (continued)
Product
Opera
License : Opera
proprietary license.
Description
Bundled with its own Java Virtual
Machine, it is a lightweight and very
fast web browser designed for the
experienced web user interested in
maximizing the effect of surfing the
web and enhancing the Web
experience. It has been ported over to
PDA’s and cell phones for those
always wanting to stay in touch with
the Web.
The Buzz
Wow ! It is fast. It is faster than
anything else portrayed in this list for
web browsers. It offers just about all of
the same capabilities as Netscape and
Mozilla. However, it is not open source,
but it does run on a variety of platforms.
A new contender to the world of web
browsing, it has been hailed as the
fastest web browser currently available.
It has its own built-in Java engine that
gives it a high response time for Java
applets. It can display online photos as
a slideshow with the press of a key, or
log you in to a password-protected web
site by clicking a magic wand (of
course, you must be registered to the
web site and have a valid logon id and
password). It supports a variety of
keyboard combinations to simplify your
browsing experience. It supports mouse
gestures which enables certain mouse
clicks and movements to correspond to
other certain types of keyboard strokes,
saving you work and simplifying the
experience. It has a built-in mail client
search utility, and offers you window
management a session manager. It
supports SSL 2 and 3, as well as TSL
and it can disable popups altogether. It
is very space efficient and can work
with small displays.
Status
Cannot determine when the project
was started or who the main
developers are, however the project is
still under active development. It is
currently at version 7.23 for Windows.
239
A.3
Scientific Domain Applications
Tableau A.2: Scientific Domain Applications
Product
Description
The Buzz
Status
Nice graphics and worth while to any
astronomy enthusiast who wants to
check cool solar system flybys and
navigate freely in space.
Under active development ; program
inspired by Seattle programmer Mr.
Chris Laurel in 2001 which gave rise
to Celestia ; Mr. Laurel is still
currently maintaining and developing
the application. Current version is
1.3.1.
Worth the while if your system has
lots of extra CPU cycles to spare. Who
knows, you may even process data
containing the discovery of ET and
reach superstar status.
It is still under active development ;
the first version was released January
5, 2000. It was originally developed
by Mr. Gordon Machel who still
maintains it. Its current version is
2.6.1.
It offers nice graphics and is a simple
to use. Do not be fooled, it is powerful
enough to be considered commercial
grade software and boasts a large star
database. Supports GOTO telescopes
for driving and supports partial CCD
functionality.
Under active development ; originally
developed by Mr. Jason Harris.
Current version is 1.0. Seven
developers, including the original
author, are currently developing it. It
appears to have been started in 2001.
Astronomy Software :
Celestia
License : GNU GPL.
KSetiWatch
License : GNU GPL.
KStars
License : GNU GPL.
Celestia is a stunning program to
observe and explore the solar system.
Celestia developers are also
collaborating closely with NASA to
use Celestia on the NASA educational
website. Celestia is a free real-time
space simulation that lets you visually
experience our universe in three
dimensions.
Description : KSetiWatch is a
monitoring tool for the Seti@home
distributed computing project, which
searches for signals of extraterrestrial
life. It displays the state of the
Seti@home client(s) running on your
computer or in your local network,
and logs/manages completed work
units and interesting signals.
KStars is a graphical desktop
planetarium for KDE. It provides an
accurate simulation of the night sky, as
seen from any location on Earth, on
any date. The display includes 40,000
stars, 13,000 deep-sky objects, 2500
comets and asteroids, all 8 planets,
and the Sun and Moon.
240
Tableau A.2: Scientific Domain Applications (continued)
Product
Stellarium
License : GNU GPL.
Xephem
License : Free for
non-commercial use.
Description
Stellarium is free software available
for Windows, Linux/UNIX and Mac
OS X. It renders 3D photo-realistic
skies in real-time. With Stellarium,
you really see what you can see with
your eyes, binoculars or a small
telescope. It is more than just another
planetarium program.
It is more than just planetarium
software. It comes bundled (for a
small fee) with the same
multi-gigabyte databases the
professionals use, and it can even
connect via a Web connection to the
Digitized Sky Survey and present you
with the DSS version of the exact
piece of sky the program is currently
displaying. It can also drive your
GOTO telescope. To fully understand
what it can do for you, you must try it
out yourself.
The Buzz
Practical software for anyone who
wants to compare the view from a
specific type of binocular, eyepiece, or
telescope. Still considered beta
software, it nonetheless makes up for
this with its cool graphics.
Status
Under active development ; originally
developed by Mr. Fabien Chéreau.
The project started in 2000 and is now
at version 0.5.2.
Consider it commercial grade software
and offering a myriad of options that
many commercial programs do not.
It is still under active development ; it
is developed and maintained by Mr.
Elwood Charles Downey. It is
currently at version 3.5.2. It appears to
have been started in 1997 when the
author incorporated his company
ClearSkyInstitute.
241
Tableau A.2: Scientific Domain Applications (continued)
Product
Description
The Buzz
Status
CTSIM is a computer-based
simulation of CT scans (computer
tomography). This program simulates
this technique by sending X-rays
through “phantom” objects.
It is of interest to those in medicine,
radiology, and medical imaging. Use it
as simulation software to help give
you a better understanding of what
you are seeing.
E-Cell is a method for creating and
designing biological cells on
computers ; it uses an object-oriented
method for modelling and simulating
complex biological systems, although
it can be used for other purposes. It is
a real-time program allowing the user
to interact with it and visualize the
modelling and simulation in real-time
as well.
Open BEAGLE is a framework for
evolutionary computing. It is a C++
evolutionary-based software
environment. It provides a high-level
software environment, and supports
just about every evolutionary
algorithm that exists.
It is useful for those who want to
simulate the cell or perform whole cell
simulations.
It is still under active development ;
Kevin M. Rosenberg who is now
assisted by several others first
developed it. The current version is
now 4.3.1. The first version of CTSIM
appeared in 1983.
Kouichi Takahashi is the lead
programmer and architect for the
program. It is still in active
development. It is currently at version
3.1.100. The program originally
started as an initiative on molecular
biology in 1996.
Biological Software :
CTSIM
License : GNU GPL.
E-Cell
License : GNU GPL.
Open BEAGLE
License : GNU LGPL.
It allows developers to implement
evolutionary concepts into their
programming without having to worry
about any specific abstractions.
It was developed here in Québec City
at Laval University, written by then
undergraduate student Christian
Gagné. The project started in 1999 and
it is still under active development. It
is currently at version 2.1.1.
242
Tableau A.2: Scientific Domain Applications (continued)
Product
GAUL
License : GNU GPL.
XMEDCON
License : GNU LGPL.
PhyloGrapher
License : GNU LGPL.
Description
GAUL stands for the Genetic
Algorithm Utility Library. GAUL is a
flexible programming library that has
been designed to aid developers in
implementing code requiring either
genetic or evolutionary algorithms. It
is a program that is very similar to
Open BEAGLE.
XMEDCON is a conversion utility for
medical file formats.
PhyloGrapher is a program that has
been designed to allow the
visualization and study of
evolutionary relationships between
genes and proteins. It is a drawing tool
that can generate customized graphs
for a set of given elements.
The Buzz
Eventually, one of the goals is to make
it C compatible so that library
functions can be called. Using a
built-in interpreted language gives it
some distinct features and
functionality from Open BEAGLE.
Status
It is still under active development.
The main developer is Stewart
Adcock. The project began in 1999. It
is currently at version 0.1846.
This is a program for anyone in
medicine who wants to be able convert
between medical data file formats.
It is still under active development.
Currently, it is at version 1.0.7. The
project was conceived by Eric Nolf,
and as far as can be determined dates
back to at least 2003 (possibly earlier).
It is still under active development.
Alexander Kozik wrote it in 2001. The
current version is April 2003.
While designed to work with genes
and proteins, it does not have to be
restricted. Use it liberally to help
understand relationships between
different kinds of interrelated
elements.
243
Tableau A.2: Scientific Domain Applications (continued)
Product
Description
The Buzz
Status
The English is good in most places,
and what is lacking in English textual
explanations is made up for by its
visualization capabilities.
Under active development ; currently
being developed on a grant from the
Croatian government, it was started in
2002. Current version is 1.3. It was
developed by Damir Zucic.
This program would be of vital
interest to anyone working in
molecular dynamics.
Under active development ; first
developed at the Groningen University
(department of Biophysical
Chemistry) and it is maintained by
various developers. It is currently at
version 3.2. It cannot be determined
when the project was started.
Chemistry Software :
Garlic
License : GNU GPL.
Gromacs
License : GNU GPL.
Garlic is a free molecular viewer and
editor, as well as a free molecular
visualization program which can help
you to visualize protein structures,
DNA structures, PDB, and perform
molecular rendering and supports
biological macromolecules.
Description : GROMACS is a highly
portable and versatile software
package that can be used to analyse
molecular dynamics. It can simulate
the Newtonian equations of motion for
systems with many particles. The
author of the program claims it can
work from hundreds to even millions
of particles. Capable of being linked to
MPI and PVM libraries, it can be
scaled across clusters increasing its
performance almost n-fold.
244
Tableau A.2: Scientific Domain Applications (continued)
Product
RASMOL
License : GPL-like.
ChemTool
License : GNU GPL.
Description
The author(s) of the program designed
it as a molecular graphics program
intended for the visualization of
proteins, nucleic acids, and small
molecules. It is a program that was
designed foremost for the use of
display, teaching and generating
quality images.
The Buzz
This software is definitely for anyone
working in molecular chemistry and
biochemistry, and it supports stunning
graphics.
ChemTool is an easy to use, small
program designed for the UNIX
operating system for drawing
chemical structures. It requires the
GTK+ library, and therefore your
UNIX distribution must include
GNOME. Not to worry. GNOME has
been successfully compiled on more
than 20 different processor
architectures and operating systems. It
was also meant to work in conjunction
with XFIG.
The original version was plain looking
but the newer versions have been
spiced up to work with GTK+ giving
it a better overall appearance. Anyone
studying chemistry or chemical
engineering should consider using this
program to understand chemical
structures.
Status
No longer under active development ;
developed by various individuals over
the years at the University of
Edinburgh’s Biocomputing Research
Unit and the Biomolecular Structures
Group at Glaxo Research and
Development in Greenford, UK. It is
currently at version 2.7.2.1. The
original RasMol was developed by
Roger Sayle (1992-1999) and then by
Herbert J. Bernstein and company
continued its development
(1998-2001). It cannot be determined
who originally open sourced the work.
Originally written by Thomas Volk,
then a student of chemistry and
biology at the University of Ulm,
Germany. It is currently being
developed and maintained by Dr.
Martin Kroeker. It is currently at
version 1.6. It cannot be determined
when the project was started.
245
Tableau A.2: Scientific Domain Applications (continued)
Product
XDrawChem
License : GNU GPL.
mpiBLAST
License : GNU GPL.
Description
XDrawChem is a two-dimensional
molecular drawing program for UNIX
operating systems. It is similar in
functionality to other molecule
drawing programs such as ChemDraw
(TM, CambridgeSoft). It can read and
write MDL Molfiles, and read
ChemDraw text and binary files, to
allow sharing between XDrawChem
and other chemistry applications, and
it can create images in popular formats
like PNG and EPS.
mpiBLAST is a freely available open
source parallelization of the NCBI
BLAST. mpiBLAST segments the
BLAST database and distributes it
across cluster nodes, permitting
BLAST queries to be processed on
many nodes simultaneously.
mpiBLAST is based on MPI. It works
under Linux and Windows, and should
work under the majority of the UNIX
operating systems available.
The Buzz
Although it is similar to other
molecular structure visualization
programs, it is a simple one to use and
to understand, and the graphics that it
produces are simple and easy to
understand.
Status
It is still under active development ;
currently at version 1.7.8. It is being
developed by Brian Herger at the
Georgia Institute of Technology and it
appears to have been started in 2001.
BLAST stands for Basic Local
Alignment Search Tool is a similarity
search engine designed to explore all
of the available information from a set
of sequence databases, regardless to
whether the query is for a protein or
DNA. The BLAST algorithm has been
designed for speed with a slight
sacrifice of sensitivity. mpiBLAST
will work especially well on your
homemade Beowulf cluster. If you are
lucky enough to have many high
capacity systems with ample amounts
of memory, you will find yourself
making great progress in your work.
mpiBLAST works with either MPICH
or MPI LAM.
Still under active development, it is
currently at version 1.2.1. It was
developed by and is currently worked
on by Aaron E. Darling, Jason D.
Gans, and Lucas Carey. Although it
cannot be determined precisely when
the project started, it has been
registered with SourceForge since
2003.
246
Tableau A.2: Scientific Domain Applications (continued)
Product
Description
Electronics Software :
Spice
SPICE stands for “Simulation
License : Proprietary
Program with Integrated Circuit
license.
Emphasis.” It is an integrated circuit
simulation program that work by
defining the integrated circuit system
you want in an ASCII text file. The file
has a simple, easy to use format where
each circuit element is described by
both its associated parameters and
connections. Alternative address :
http://www.gigascale.org/pubs/
downloads/spice/index.htm
KLogic
KLogic is an application for building
License : GNU GPL.
and simulating digital circuits easily. It
provides an easy way for building
circuits containing standard
components like AND, OR, XOR and
flip-flops like RS and JK. Sub circuits
can be used to build circuits that are
more complex.
The Buzz
Status
A must for electronics enthusiasts. It
is considered by many as the de facto
standard for open source integrated
circuit simulations programs.
Development is no longer active. It
appears to have been developed
starting in 1991 and development
appears to have ceased since 1996. It
cannot be determined who the original
author(s) were. It was developed at the
University of Berkeley.
It is a nice and easy to use GUI circuit
builder and simulator.
It is still under active development ; it
appears to be maintained by its
original author, Andreas Rostin. It was
originally developed in 2001. The
program now is at version 1.6.
247
Tableau A.2: Scientific Domain Applications (continued)
Product
PCB
License : GNU GPL.
gEDA
License : GNU GPL.
Description
It is free software for designing
printed circuit board layouts. It has
many features and is capable of
professional-quality output.
The Buzz
Very simple, but its capabilities rival
commercial software.
The gEDA project is a suite of tools
that are used for electrical circuit
design, schematic capture, simulation,
prototyping, and production. The
gEDA project was started because of
the lack of free EDA tools for UNIX.
Its tool suite even contains an updated
version of SPICE, Ngspice, as well as
other useful tools.
This project is worth paying attention
to in the current and not too distant
future. For those who do circuit
design, perhaps one day it will be
ready to replace your older
commercial software.
Status
It appears to still be actively
developed ; originally written by
Thomas Nau of University of Ulm,
Germany, and is now maintained by
Harry Eaton of the Johns Hopkins
University Applied Physics
Laboratory, Laurel, Maryland. The
original version was developed in
1994 and taken over by Harry Eaton in
1998.
Under active development, the project
appears to have started in 2001.
Cannot determine original developer
but there are many contributors.
248
Tableau A.2: Scientific Domain Applications (continued)
Product
Emulators :
Cygwin
Listed in : GRAS
License : Most tools are
GNU GPL ; some are
X11 ; others are BSD ;
Cygwin API is GNU
GPL.
UWIN
License : AT&T
Nonexclusive Binary
Code License.
Description
The Buzz
Status
Cygwin should be considered as a
Linux-like command-line and GUI
environment for the Windows
operating system that uses a set of
DLL’s to implement the Linux API
under a Windows environment. Use
Cygwin if you wish to learn more
about Linux / UNIX from the comfort
of your Windows PC, or wish to
interact with other UNIX systems, or
wish to port your UNIX applications
to PC.
It has come a long way since 1998,
when it offered no GUI, and minimal
tools, utilities, and a half functional
compiler compared to today’s well
rounded Linux clone for Windows. It
includes most of the GNU
development tools you would expect
on a Linux system, as well as the
majority of the UNIX commands you
would normally work it. It even comes
with Apache and a fully functional X
Windows system, and you can
configure Cygwin to offer network
services such as Telnet, FTP, SSH,
HTTP, and others.
Well integrated and provides higher
performance than Cygwin because it
does not rely on emulation DLL’s, but
it has less tools and utilities and does
not come bundled with a GUI X
Windows environment. However,
outside contributors have compiled
XFree86 for UWIN, as well as many
other tools. UWIN is free to academic
and research institutions. If this is not
the case, a version is available from
WiPro Inc or Global Technologies Inc
is available for commercial licensing.
It is still under active development and
is sponsored by Red Hat. The first
release was in 1998, and it is
developed by the open source
community and is not controlled by
any one member. Red Hat offers
commercial-based solutions of
Cygwin. It is currently at version
1.57-1.
Development : The UWIN package
provides a mechanism for building
and running UNIX applications on
Windows 2000, Windows NT,
Windows XP, Windows ME, Windows
98, and Windows 95 with few, if any,
changes necessary. It is for all
purposes, similar to Cygwin but with
entirely different source code trees.
Undertaken by David Korn (the
developer of the Korn shell) to
reproduce a UNIX system under the
Windows operating system. It is still
under active development. It is a
research project funded by AT&T. It
cannot be determined when the project
actually began, but it does go back to
the late 1990’s. It is currently at
version 3.2.
249
Tableau A.2: Scientific Domain Applications (continued)
Product
QEMU
License : GNU LGPL,
GNU GPL, MIT, and
BSD.
Wine
License : GNU LGPL.
Description
It is a processor emulator. It is an x86
architecture compatible emulator. It
currently provides user emulation
under x86, ARM, SPARC, and
PowerPC, and provides system
emulation under x86 only. It will work
on the following CPU’s : x86,
PowerPC, Alpha, Sparc32, ARM, and
S390.
Wine is an emulation software that
allows you to run not only your Win16
applications but also your Win32
applications under other x86-based
operating systems, such as PC Linux,
PC Solaris, or PC FreeBSD.
The Buzz
While this is not a tool of interest to
many, it is a valuable tool for those
who need to work with emulators, or
do it for fun. It is a relatively new
project and much work has yet to be
done. Eventually, you should even be
able to run Win32 on multiple
architectures through the use of this
emulator.
It currently works only on the x86
architecture. It allows you to run most
of your favourite Windows
applications through a software
emulation. It is a complete
reimplementation of the Win32
libraries, written from scratch by
hundreds of volunteers, and it keeps
pace with the new developments from
Microsoft. It can even run DOS
programs, has support for DirectX,
sound, modems and serial devices, and
Winsock TCP/IP networking. You
should be able to get most of your
favourite programs working. However,
expect to suffer through it as this is not
an easy tool to use, work with, or
configure. For better support and
features, consider using WineX and
CrossOver that are commercial
programs.
Status
It is still under active development. It
is developed by Fabrice Bellard. The
project appears to have only just
started in 2003 and is currently at
version 0.5.3.
Still under active development, it is
currently at version 20040309.
Developed and worked on by
hundreds of developers around the
world, it is a global community open
source effort. The project was started
in 1993.
250
Tableau A.2: Scientific Domain Applications (continued)
Product
PalmOS Emulator
License : Palm End User
License Agreement.
Bochs
License : GNU LGPL.
Description
The PalmOS Emulator is software that
emulates the hardware of the various
models of Palm-powered handhelds.
This is an extremely valuable asset for
those who write, test, and debug Palm
applications. You can create your own
virtual Palm on different architectures
such as Windows, Mac OS X, or
UNIX.
Bochs is a complete Intel x86
emulator. It is capable of fully
emulating a 386, 486, Pentium, or
Pentium Pro system. It is capable of
interpreting instructions from
power-up to reboot, and can emulate
standard PC devices like keyboard,
monitor, mouse, disks, and timers,
network cards, and disks. In effect, it
allows your underlying system to be
capable of running your favourite
operating system inside of another.
Bochs can work on the x86, PowerPC,
Alpha, Sun, and MIPS.
The Buzz
The emulator software does not
include ROM images, although there
are several different ways to get it. To
emulate any specific device you will
need to obtain a ROM image that is
compatible with that device. There are
also two types of ROM images, those
with and without debug support.
Status
No longer under active development,
it is currently at version 3.5. The Palm
emulator appears to date back to 1999.
Cannot determine who the developers
and maintainers of the project are.
Written entirely in C++, it does not
depend on the native instructions of
the host machine. Unlike VMware, it
is not limited to the x86 architecture.
Because Bochs uses software
simulation for every single x86
instruction, it can simulate a Windows
application on an Alpha or Sun
workstation. The downside to Bochs is
its performance. It must run many
native instructions for every simulated
instruction, making it far slower than
the physical host machine. There are
other emulators available on the
market, and most notably QEMU is
similar to BOCHS. You can use it to
run Linux, Win32, DOS, BSD, and
other operating systems on your host
computer.
Still under active development, it is
currently at version 2.1.1. Kevin
Lawton wrote Bochs in 1994.
However, he is no longer developing
the project and it has fallen to others
where about 30 of them to carry on the
work.
251
Tableau A.2: Scientific Domain Applications (continued)
Product
Description
The Buzz
Status
It is a powerful tool for graphing and
visualizing geographical datasets to
yield new insight and understanding.
Written and developed by Thorsten W.
Becker and Alexander Braun, it was
started as a concept back in 1998.
They are currently at version 1.2.
Development does appear to be
ongoing ; however, there has been no
new release for some time.
The U.S. Army Corps of Engineers,
dating back to 1982, realized the core
components of GRASS. The U.S.
Army Construction Engineering
Research Laboratory then realized
more development work and its last
release was in 1992. In 1991, the
project was released to the Internet,
and in 1999 released under the GNU
GPL. It is now at version 5.3.x.
Geographical / Geological Software :
IGMT
License : GNU GPL.
GRASS
License : GNU GPL.
Standing for Interactive Generic
Mapping Tools, it is a series of
mapping tools with a variety of
data-processing capabilities for
interactively working with geospatial /
geoscientific datasets and can
interactively graph these datasets.
Standing for Geographic Resources
Analysis Support System (GRASS), it
is often referred to as GRASS GIS.
GRASS GIS can be used for purposes
such image processing, spatial
modeling, visualization of datasets,
and geographic data management. You
would be best to work on powerful
systems when working with large
datasets. It is the de facto standard
GIS manipulation / analysis program
for the open source world.
It is probably the best-known open
source GIS system in the world, and a
model example of proprietary
technology open sourced to the world.
Furthermore, it is a demonstration that
even proprietary technology from the
likes of DoD could be released to the
international community.
252
Tableau A.2: Scientific Domain Applications (continued)
Product
ROADMAP
License : GNU GPL.
THUBAN
License : GNU GPL.
PostGIS
License : GNU GPL.
Description
It is to be used as a roadmap, much
like Microsoft Map Point. It provides
a car navigation service for UNIX /
Linux devices and can work with
GPS. Roadmap is meant to be used
with portable devices such as PDA’s.
It is an interactive geographic data
viewer, capable of reading GIS images
and data. It offers some of the
capabilities that GRASS GIS currently
does not.
PostGIS is an add-on module for the
PostgreSQL database system. It adds
support for geographic objects to
PostgreSQL database system, which
allows storing and performing
SQL-based queries on these particular
types of objects.
The Buzz
Although limited to the data collected
by the U.S. Census Bureau and valid
only for the continental U.S., it is still
a viable option to Microsoft Map
Point. It currently works on the iPaq
and the Zaurus. While it does not have
all of the advanced options that Map
Point does, this program could
perhaps be ported to military
purposes. Obviously in order for
Roadmap to work, your PDA will
need to have a version of Linux or
some other UNIX-like operating
system running on it. It could also be
used on laptops and desktops,
although it then loses its portability.
This is a good program to use
alongside an installation of GRASS
GIS. You can also use it to visualize,
explore, and analyze geographic and
geospatial information.
While you can use other commercial
databases which supports
geographical datasets, using PostGIS
enables you to do so using all open
source products.
Status
The first release dates back to August
2002 ; it was primarily developed by
Martin Pascal, although he had helped
porting the program to wireless
devices. It is still under active
development and the current version is
1.0.5.
Currently still under active
development, it is at version 1.0.0. The
lead developer is Bernhard Herzog,
although there about 12 other active
developers. The first release dates
back to April 2002.
Still under active development, it is
currently at release version 1.0.0. The
principal developer is Dave Blasby. It
was first released in May 2001.
253
Tableau A.2: Scientific Domain Applications (continued)
Product
Hme
License : GNU GPL.
Demeter Terrain
Engine
License : GNU GPL.
DEM Tools
License : GNU GPL.
GMT
License : GNU GPL.
Description
Hme is a 2D program, used for
creating, manipulating, and viewing
height maps.
The Buzz
Sometimes 2D programs can make
things clearer where 3D programs fail
to do so.
Demeter Terrain Engine is a
cross-platform C++ library that
renders 3D terrains using OpenGL.
Demeter is designed for high
performance and high visual quality
that makes use of advanced techniques
to render vast landscapes in real-time,
without the need for high-end
hardware.
It is a program that is useful for
previewing DEM data sets and
wandering around in virtual
representations of various places on
the planet and provides stunning 3D
views.
It is an open source collection of about
60 tools for manipulating geographic
and Cartesian data sets and producing
EPS illustrations ranging from simple
x-y plots through contour maps to
artificially illuminated surfaces and
3D perspective views.
Consider using it in game
development, resource exploration, or
real-time simulations. This program
must be something on an SGI.
Status
Created by Radu Privantu, it is
currently at version 1.3.1. It cannot be
readily determined if it is still under
active development and it is unknown
when the project first started.
The project was developed by Clay
Fowler. It dates back to at least May
2001. It is currently at release 3.14 and
appears to be under active
development.
While still in beta development, it is
still very useful and allows you to
walk through a DEM dataset. Also
includes a DEM to VRML conversion
utility.
Developed by Eric Kasten and started
in 1998. The current version is 0.9.5.
The project started and stopped in
1998.
Seriously consider this tool if you are
an Earth or Ocean scientist.
Started in 1988 by Paul Wessel and
Walter H. F. Smith, it is still under
active development and currently at
version 4 Beta. It is being partly
funded by the National Science
Foundation.
254
Tableau A.2: Scientific Domain Applications (continued)
Product
GEOTRANS
License : Freeware.
Quantum GIS
License : GNU GPL.
Description
GEOTRANS (Geographic Translator)
is an application that allows you to
convert geographic coordinates among
a wide variety of coordinate systems,
map projections, and datum, and is
easy to use.
Quantum GIS is designed to be a
Geographic Information System built
for Linux and UNIX. It offers support
for vector and raster formats.
Currently it supports many common
vector and raster formats, Shapefiles,
and PostgreSQL/PostGIS layers.
The Buzz
A nice program to use when
converting between different
coordinate systems, but watch out for
the license agreement because if you
use it in your programs or modify the
code, you will need permission from
the NIMA.
It is a very new project that has only
recently been started. It offers support
for PostGIS layers, and supports the
following formats : GRASS, USGS
DEM, ArcInfo binary grid, ArcInfo
ASCII grid, ERDAS Imagine, SDTS,
GeoTiff, Tiff with world file, and
ESRI Shapefiles. This is still only beta
quality software and may or may not
work on your specific platform with
your given environment.
Status
The U.S. National
Geospatial-Intelligence Agency (part
of the U.S. military) funded the
project. As such, it cannot be
determined who the actual developer
was or when it started. It is currently
at version 2.2.3.
Still under active development, it is
currently at version 0.1 ; however, the
new version 0.2 is coming out shortly.
The project was started in 2002 and is
currently being worked on by more
than a dozen developers. Gary
Sherman appears to be the project
manager.
255
Tableau A.2: Scientific Domain Applications (continued)
Product
Description
Mathematics Software :
BC
BC is an arbitrary precision calculator
License : GNU GPL.
that supports an interactive execution
of command statements. It is similar
to DC, but rather it takes its input not
from the standard command line but
rather from a series of files with the
necessary command statements that
are to be calculated. You run the
command from the command line
including all files that are to be
executed. It is similar in its syntax to
the C programming language.
RPNCalc
RPNCalc is a GUI, KDE-based
License : GNU GPL.
replacement for DC. It also supports
RPN as well as the trigonometric and
hyperbolic functions, and it also
includes a memory list, which DC
does not have.
The ATLAS (Automatically Tuned
Atlas
License : BSD.
Linear Algebra Software) project is an
ongoing research effort focusing on
applying empirical techniques in order
to provide portable performance. At
present, it provides C and Fortran77
interfaces to a portably efficient BLAS
implementation, as well as a few
routines from LAPACK.
The Buzz
Status
It is a great tool for shell scripting
when you do not want to do any fancy
C / C++ programming.
Does not appear to be under active
development. It appears to have been
written by Philip A. Nelson. The
current version is 1.06.
If you like or need to use RPN, this is
a tool for you.
Still under active development, it
appears as though Debian is now
maintaining and developing the
software. The latest release is version
1.33.5. The current developer and
maintainer appears to be David Frey.
Under active development ; developed
and maintained by R. Clint Whaley
and Antoine Petitet and Jack J.
Dongarra. The project was started in
2001. It is currently at version 3.7.1.
If you like BLAS, you will like this
one.
256
Tableau A.2: Scientific Domain Applications (continued)
Product
Euler
License : GNU GPL.
GSL
Listed in : IDA
License : GNU GPL.
IT++
License : GNU GPL.
Description
Euler is a numerical laboratory with a
programming language. The system
can handle real, complex and interval
numbers, vectors and matrices. It can
produce 2D/3D plots. Included is a
programming language. Euler is not a
MatLab clone, but is similar to it and
provides many of the same
functionalities.
GSL stands for the GNU Scientific
Library, which is a set of numerical
algorithms and subroutines designed
for C and C++ programmers. The
library contains over 1000 different
functions, over a wide range of
mathematical routines.
IT++ is another mathematical library.
It is a fully functional C++ only
library. Its function classes consist of
mathematical, signal processing,
speech recognition, and
communication algorithms. It is based
on LAPACK and CBLAS.
The Buzz
It is an alternative to MatLab or
Octave.
Status
It is does not appear to be in active
development ; the original program
was written by Dr. Réné Grothmann
and then ported over to GTK+ by Eric
Boucharé. The latest version is 1.60.6.
The project itself was started in 1988
and developed on an Atari ST.
If you enjoy math or need an
algorithm, there is a good chance this
library has what you need. It is fast
and efficient.
It still appears to be under active
development. The latest version is 1.4.
The project was started in 1996. The
main developer is Marc Galassi.
It is a multi-platform application and
is useful for those doing more than
just linear algebra.
It is still under active development. It
was developed in 1995 and today it
continues to be developed by Tony
Ottosson, Thomas Eriksson, Pål
Frenger, Tobias Ringström, and Jonas
Samuelsson. It is currently at version
3.7.3.
257
Tableau A.2: Scientific Domain Applications (continued)
Product
LAPACK
Listed in : IDA
License : BSD.
KSEG
License : GNU GPL.
OCTAVE
Listed in :
GRAS, GRAM, IDA
License : GNU GPL.
Description
LAPACK is a highly portable Fortran
77 library, consisting of many
subroutines for solving the most
common types of problems in linear
algebra such as is found today. It is a
highly efficient library designed to run
on today’s modern high-performance
computers. LAPACK was designed to
be a replacement for LINPACK and
EISPACK. LAPACK is a thread-safe
library.
KSEG is an interactive program used
for exploring Euclidean geometry.
While a simple program to use and
work with, it is powerful enough to be
used as a teaching tool in high school
and college alike.
Octave is the open source alternative
to MatLab. Octave supports a
high-level language primarily intended
for performing numerical
computations. It can be used to solve
both linear and non-linear numerical
problems, and it can even be used in
batch, making it ideal for high-volume
scientific use, given the correct
number and configuration of useable
platforms.
The Buzz
If you have big machines and need
high-performance and multi-threaded
math libraries, this is one is the one for
you.
Status
It does not appear to be under active
development. The author of the library
is J. Wasniewski. The actual release
date of the first library code cannot be
determined, however, the concept of
this mathematical library dates back to
1987. It is currently at version 3.0.
Version 1.0 was released in 1992 and
version 3.0 in 1999 with updates into
2000.
Easy and fun program to use with cool
graphics for those who want to
explore Euclidean geometry.
It does not appear to be under active
development. It was developed by Ilya
Baran while an undergraduate student
at MIT. The latest release is 0.4.0. The
project was started in 1999 and it
appears to have ended in April 2003.
It is still under active development. It
was primarily developed by John
Eaton ; however, he had help from
many others. It was conceived in
1988. The first alpha version was
released January 4, 1993. The current
stable release is 2.0.17.
If you do not want to pay for
Mathematica or MatLab, then try this
program. You may actually enjoy
using it. However, it may take some
time getting used to it.
258
Tableau A.2: Scientific Domain Applications (continued)
Product
R
Listed in :
GRAS, GRAM, IDA
License : GNU GPL.
Maxima
Listed in : GRAS
License : GNU GPL.
Description
Very similar to a programming and
plotting language known as S ; R is a
both a programming language and an
environment for statistical computing
and graphics. R comes complete with
a wide variety of statistical and
graphical techniques and capabilities.
Through its programming language, it
becomes very extensible.
Maxima is a descendant of DOE
Macsyma, which had its origins in the
late 1960s at MIT. Macsyma was the
first of a new breed of computer
algebra systems, leading the way for
programs such as Maple and
Mathematica. It can perform symbolic
integration, 3D plotting, and has an
ODE solver.
The Buzz
If statistics is your thing, this is a
program you would find of great
interest, although it is not obvious to
use at first. It is capable of producing
high-quality graphs and images.
Status
It is still under active development.
The latest version is 1.8.1. R was
initially written by Robert Gentleman
and Ross Ihaka, and since 1997, a
large number of contributors have
joined on. It is uncertain when the
project started. The project started in
at least 1997 (or possibly earlier).
Worth trying out, but do not expect it
to be very high-performance.
It is still under active development and
is now landed at release 5.9.0. Its
origins date back to the Department of
Energy and MIT in the late 1960’s.
This open source version is based on
DOE Macsyma. It appears to be
developed by James Amundson and
Steve Horne. This particular variant of
Macsyma was maintained by William
Schelter from 1982 until he passed
away in 2001 and now others have
taken up the work.
259
Tableau A.2: Scientific Domain Applications (continued)
Product
Description
The Buzz
Status
It requires WindowMaker to run
correctly. Luckily, WindowMaker can
be compiled for most platforms.
It is still under active development.
The main developer is Brad Jorsch.
The project appears to date back to at
least 2002. It is currently at version
2.5.
To make it work you will need a
database, PHP, and a web server.
Originally developed by Jason L.
Buberel. It is still under active
development. Cannot determine when
the project started. It is now at version
2.1.2.
To make it work, you will need PHP, a
web server, and a database.
It is still under active development.
The project was started in at least to
2000, and by extrapolation of version
dates, it probably goes back to at least
1998. The developers are Martin
Geisler and Max Hammond. It is now
at version 2.1.1.
Meteorological Software :
Wmweather+
License : GNU GPL.
WeatherPlotter
License : GNU GPL.
PHP Weather
License : GNU GPL.
Wmweather+ will download the
National Weather Service METAR
bulletins, ANV and MRF forecasts,
and any weather map for display in a
WindowMaker DockApps. It includes
forecasts, a weather map, and a sky
condition display.
WeatherPlotter gathers, tracks, and
looks at historical weather data. It
gathers weather information from the
US National Weather Service Web site
on an hourly basis, and then lets you
view that data in several convenient
graphical charts within your Web
browser. Charts are generated in
real-time using the PNG format, and
can be easily customized.
PHP Weather retrieves the latest
METAR (weather) report and converts
this format into both imperial and
metric units, caches the data in a
MySQL, PostgreSQL, or DBA
database for fast retrieval, and makes
it easily available in PHP scripts.
260
Tableau A.2: Scientific Domain Applications (continued)
Product
WeatherGraph
License : GNU GPL.
Description
WeatherGraph is a Perl script used to
acquire METAR weather information
from the National Weather Service via
the Internet, put it into a database, and
generate graphs to present that
information in an easy-to-read form.
The Buzz
Of all the weather tools listed here,
this is by far the easiest to understand
because of its high quality graphs
generated by RRDTool (you’ll need
this to make it work).
Status
It is no longer actively developed. It is
now at version 1.61. The main
developer was Frank Pineau. The
project dates back to at least 2001.
261
Tableau A.2: Scientific Domain Applications (continued)
Product
Description
The Buzz
Status
This program is capable of converting
more than 700 different quantitative
units, from Metric to Imperial, as well
as several lesser-known systems.
It is both an engineer’s and physicist’s
dream for units conversion. Written in
Tcl/Tk, it is platform independent.
With the aid of this program, it is
possible to create and edit accurate
Feynman diagrams.
Nice tool to create those tricky
Feynman diagrams that advanced
physics students will appreciate.
Written in Tcl/Tk, it is platform
independent.
This program is designed to help
scientists calculate and visualize
steady-state fluids. It is a simple
program to work with, and although it
might not appeal every science student
and scientist or researcher, it certainly
does have its uses.
Could be of potential use to those
working on or studying steady-state
fluids.
Written by Costas Vlassis in 1995, it
is at version 1.3. It is no longer being
developed or maintained. To get the
software, go to
http://rpmfind.net. It is a SuSE
RPM package.
It was written in 1997 by Igor
Musatov when he was a professor at
the Old Dominion University in
Norfolk, VA. It is no longer
maintained. The web site no longer
appears to be valid or accessible. It is
at version 1.00. You can get the SuSE
rpm package from
http://rpmfind.net.
It is no longer under active
development. The project appears to
have both started and stopped in 2001.
The project appears to have been
started by Alexandru Csete. It is
currently at version 0.9.
Physics Software :
Convert
License : FSR, Other
license(s).
Feynman Graph
License : GNU GPL.
Gnome Flow
License : GNU GPL.
262
Tableau A.2: Scientific Domain Applications (continued)
Product
Colt
Listed in : GRAS
License : GNU GPL.
Description
The Colt Distribution provides an
infrastructure for scalable scientific
and technical computing in Java. It is
particularly useful in the domain of
High Energy Physics at CERN : It
contains, among others, efficient and
usable data structures and algorithms
for Off-line and On-line Data
Analysis, Linear Algebra,
Multi-dimensional arrays, Statistics,
Histogramming, Monte Carlo
Simulation, and Parallel & Concurrent
Programming.
The Buzz
It is useful for those in high-energy
physics or those who may require its
functionality in other large-scale
scientific simulations.
Status
Does not appear to be under active
development. Cannot determine who
started the project. The current version
is 1.0.3. The last update to the project
was November 28, 2002.
263
Tableau A.2: Scientific Domain Applications (continued)
Product
Description
Robotics Software :
Darwin2K
Darwin2K is a dynamic simulation
License : GNU GPL.
and automated design synthesis
package for robotics. Darwin2K’s
simulation capabilities are tailored to
support engineering design and
controller prototyping for robotic
application. Darwin2K is not just a
low-level dynamic simulation
package : it also includes a number of
controllers, robot modules, and other
components that are useful in a wide
range of robot design and
programming applications.
The Buzz
Status
This is a program recommended for
robotic enthusiasts or professionals.
Simulate your robots before you build
them. Check out some of the
simulations. This is pretty cool
software.
Under active development, the current
version is 0.91. It appears to be
maintained and developed by Mr.
Chris Leger.
264
Tableau A.2: Scientific Domain Applications (continued)
Product
Description
Simulator Software :
FlightGear
The project aims to create a
License : GNU GPL.
sophisticated flight simulator
framework for use in research or
academic environments, for the
development and pursuit of other
interesting flight simulation ideas, and
as an end-user application. It is an
open-source, multi-platform,
cooperative flight simulator
development project.
Virtual Terrain
Project
License : Freeware.
Open Scene Graph
License : GNU LGPL.
The goal of the project is to foster and
create a set of tools for use in
constructing realistic 3D models of the
world in which we live by bringing
together CAD, GIS, visual simulation,
surveying, and remote sensing into
one all-powerful application.
It is a high performance 3D graphics
toolkit, used by application developers
in fields such as visual simulation,
games, virtual reality, and scientific
visualization and modelling. It is
written entirely in Standard C++ and
OpenGL.
The Buzz
Status
This is by far the most advanced open
source flight simulator available
publicly, and it can rival some of the
commercial ones as well. It is very
impressive when put on an SGI
visualization server. Consider using
this program in your military
pre-flight operations or for training (it
will require some work to change the
necessary functionality, but it may be
worth considering).
Very powerful to those who want to
simulate and create 3D models.
However, in order to download the
software, you will have to send an
e-mail requesting authorization for
download.
Currently under active development,
the latest release is 0.9.3. The project
started in 1998. Jon S. Berndt is the
main chief architect ; however, there
are many contributors to the project
from all walks of life.
Use this library anywhere where you
need a high performance 3D
modelling library. It is very powerful,
but you will have to code your own
programs.
It is still under active development and
the lead developer is Ben Discoe. It
cannot be readily determined what
version is currently available but the
project appears to have started in at
least 1997.
Started in at 1998 by Don Burns, the
first beta was released in July 2002. It
is currently at version 0.9.6-2.
265
Tableau A.2: Scientific Domain Applications (continued)
Product
Description
Scientific Visualization Software :
OpenDX
Open Visualization Data Explorer is a
License : IBM Public
visualization framework that gives
License.
users the ability to apply advanced
visualization and analysis techniques
to their data. These techniques can be
applied to help users gain new insights
into data from applications in a wide
variety of fields including science,
engineering, medicine and business.
Data Explorer provides a full set of
tools for manipulating, transforming,
processing, realizing, rendering and
animating data and allow for
visualization and analysis methods
based on points, lines, areas, volumes,
images or geometric primitives in any
combination. Data Explorer is
discipline-independent and easily
adapts to new applications and data.
Alternative address :
http://www.research.ibm.com/dx
The Buzz
Status
A very powerful data exploration tool
it allows you to view and explore data
in new and unseen ways. It can be
applied to cartography, chemistry,
biology, astronomy, aeronautics,
environmental studies, finance,
medicine, meteorology, petroleum
exploration, and high-energy physics.
It was developed to work under UNIX
and X Windows environments. There
are precompiled binaries for IRIX,
HP-UX, Solaris, Windows, and Linux.
It is still under active development. It
is currently at version 4.3.2. IBM
Visualization Data Explorer was first
released in 1991. As of version
3.1.4B, it was released to the world as
an open source initiative. As of May
1999, it is now IBM Open
Visualization Data Explorer.
266
Tableau A.2: Scientific Domain Applications (continued)
Product
IVICS
License : GNU GPL.
Description
IVICS was developed as a
visualization tool to facilitate selection
of training samples from satellite
images. It has evolved into a
general-purpose visualization system
that supports several common satellite
and remote sensing data formats. The
Generalized Satellite Format (GSF)
library was developed to support
IVICS.
The Buzz
While it was originally developed to
help as an artificial intelligence
classification system for satellite
images, it has developed into a
general-purpose system capable of
analyzing satellite images. It also has
a collection of tools that can enable
you to analyze, extract, combine, and
compose images or their channels.
While this is not a tool that
intelligence analysts would use for
studying foreign terrains, it is a tool
that should be considered adding to
your arsenal if you work with weather
or geospatial data.
Status
Still under active development, it is
currently at version 1.2. Todd
Berendes developed it, a research
scientist at National Space Science
Technology Center. The tool began a
convoluted history dating back to
1991. Its original purpose was to
classify satellite images, but that
proved too difficult a task given the
computing power back in those years.
Effort was then made to develop and
turn into a visualization system for
satellite imagery.
267
Free and Open Source Software
Overview and Preliminary Guidelines for the Government of Canada
Robert Charpentier
Richard Carbone
The authors will gratefully accept feedback and comments at:
[email protected]
Unlimited Distribution
DRDC ECR 2004-232
Defence R & D Canada – Valcartier
December 2004
Executive Summary
During the past two decades, the software market has been dominated by Commercial Off-theShelf (COTS) products such as MS Windows and Oracle database management systems that offer a myriad of functionalities at a reasonable price.
However, the intrinsic limitations of COTS software (e.g. closed source code, lock-in effect, expensive upgrades, security weaknesses etc.) have
emerged over time. This led to the development of a parallel ‘economy’ based on Free and Open Source Software (FOSS). FOSS refers to programs
whose source code is made available for use and modification without the expensive license fees imposed by COTS software editors. FOSS is
developed either by volunteers or through development sponsored by large computer firms who want to include ‘commodity’ software to give a
competitive advantage to their hardware products. Over the past ten years, the FOSS phenomenon has been constantly growing in importance:
thousands of FOSS projects carried out via Internet collaboration; hundreds of high-quality applications available for use or modification at no (or
small) cost and tens of FOSS products now widely considered to be as mature and secure as their COTS equivalents.
Free and Open Source Software Evolution
The good reputation of free and open source software has attracted the attention of many governments around the world and they are now considering
the systematic migration of their servers and their workstations to FOSS. The leading countries, currently migrating to FOSS, are the United Kingdom,
Germany and France but it is estimated that more than 20 other countries are preparing policies and action plans to adopt FOSS systematically in
their government and industrial systems. The strategic rationale for migrating to FOSS is typically related to three main factors: 1) the expectation of
direct cost savings, 2) the reduction of economic loss at the national level caused by commercial software imports and 3) the hope to better develop
national IT expertise by means of access to source code (and development of original components) which is not really possible with COTS packages.
Canada appears to be behind the curve in FOSS adoption. The lack of clear business cases and the underestimation of the strategic value of FOSS
partly explain this situation. However the Government of Canada (GoC) has recently endorsed a pro-active position on FOSS to ensure that GoC
staff are aware of the options available and that no barriers to procurement remain. Some comprehensive open source initiatives can be found in the
education and health sectors and an increased awareness is now being expressed by the GoC, who see FOSS as a viable alternative to COTS software
and expensive custom code development.
FOSS is not a panacea, but it does offer a concrete and credible technological opportunity. GoC could benefit from
an improved diversity in software supplies (custom code vs. FOSS vs. COTS), augmented security by source code auditing (and enhancement) and
higher compliance with open standards and specifications that contribute to system interoperability.
Proposed Way-Ahead for GoC
Specific actions are proposed to increase awareness/use in GoC such as: to promote FOSS by means of publications, workshops and conferences;
to consider FOSS-based solutions in contractual work when they are technically competitive with other development strategies; to support GoC
departments in assessing this emerging technology. This report also includes various navigation aids to help identify suitable FOSS products, a
comparison spreadsheet that facilitates side-by-side comparisons of FOSS and COTS software and some practical guidelines to help project leaders
to determine the suitability of FOSS in their specific project contexts.
ii
Table of contents
Executive Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii
Table of contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iii
List of figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
v
List of tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
v
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
How to read and navigate this report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
3
Report Validation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Part I: Free Open Source Software (FOSS): Executive Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
4
Main Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
5
FOSS Legal Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6
Key Findings on FOSS Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
7
FOSS Risks and Drawbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
8
FOSS Adoption Around the World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
9
FOSS in the USA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
10
FOSS in Canada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
11
FOSS and Software Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
12
Authors’ Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Part II: Proposed Way-Ahead for GoC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
iii
13
Guiding Principles for a Way-Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
14
Proposed Way-Ahead for GoC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Part III: Catalogue of selected FOSS that could be considered in GoC Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
15
Overview of Available FOSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
16
FOSS Relevant to GoC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Part IV: GoC Guidelines to Assess FOSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
17
Guideline Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
18
Recommended Evaluation Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
19
Licenses in GoC Software Developments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
20
Migration to FOSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Part V: References / Acronyms / Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
List of Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Glossary of Relevant Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Annex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
A
FOSS applications for consideration within GoC (May 2004) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
A.1
License Agreement - Legal Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
A.2
General Purpose Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
A.3
Scientific Domain Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
iv
List of figures
1
A Software Taxonomy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2
The evolution schema of a FOSS user/developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
List of tables
A.1
General Purpose Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
A.2
Scientific Domain Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
v
1
Introduction
After a slow beginning in the late 1990s, Free and Open Source Software (FOSS) has been constantly growing in importance and expanding in many
software architectures all over the world. This impressive growth has been supported by the numerous successes, the high-quality reputation of
FOSS-based systems and, of course, by the expectation of cost savings.
In Fall-2003, Defence Research & Development Canada (DRDC) initiated a special study to determine the role of FOSS in the evolution of our
information system architectures and was later expanded to the whole Government of Canada (GoC). This report summarizes our findings in four
main chapters. In the first part of this report, we offer a general introduction to this technology followed by a preliminary way-ahead for GoC (Parts
I and II). We also tried to identify/categorize FOSS by technical application areas (Part III). Finally, some preliminary guidelines are offered to GoC
project leaders in assessing usefulness of FOSS in their specific project contexts (Part IV of this report).
2
How to read and navigate this report
It is recommended that the readers start their navigation by reading the overview report. If further information is required, hyperlinks may be followed
to the specific references in the bibliographies. In most cases, the complete reference can be found on the internet by pasting the title (and main author
name) into a search engine like Google.
Links are color-coded. A blue link points within the report. A magenta link points to a web page, indicating that access to the Internet is required.
A cyan links points to a file on the CD-ROM. To get back from a followed link, use the ’Go to previous view’ arrow or the ALT-Left arrow. The
left/right arrows can be used to go to the previous/next page. It is also possible to zoom in and out using the following keyboard shortcuts:
•
Fit in window: CTRL-0
•
Actual size: CTRL-1
•
Fit width: CTRL-2
•
Fit visible: CTRL-3
•
View in full-screen mode: CTRL-L
Using the navigational bookmarks provided by Portable Document Format (PDF), it is easy for the reader to obtain a quick overview of the report.
Use the F-5 function key on the keyboard to display/hide the bookmarks (F-6 on Acrobat 6).
1
3
Report Validation Process
Members of the FOSS advisory group
Cycle 1 – Valcartier Technical Evaluation
Cycle 1 – Valcartier
• Robert Charpentier (DRDC, lead scientist)
• Richard Carbone (DRDC, technical editor)
• Paul-André Côté (DRDC, secretary)
• Martin Salois (DRDC, report editor)
• David Demers (DRDC)
• 2Lt Stéphane Fortin (DRDC)
• Dr Denis Poussart (Université Laval)
• Max Blanchet (CGI)
• Bertrand Couture (DMR Consulting)
With helpful comments from:
• Micheline Bélanger (DRDC)
• Yves van Chestein (DRDC)
• Julie Couët (DRDC)
• Louis Bastarache (IEEE section - Québec)
To support the writing process, a group of Information Technology (IT) experts
was formed at DRDC Valcartier to review and validate the contents of this
report (January/February 2004). See list of names.
Cycle 2 – DRDC Corporate HQ Review
Cycle 3 – DND/CF and Other Government Department (OGD) review
•
•
•
•
•
•
•
•
•
•
•
•
•
During the months of June, July and August 2004, an advanced draft of this
report was circulated in DND/CF and in OGD. Comments and suggestions
were included in this updated version prepared in September 2004.
Gavin Hemphill (DRDC Atlantic)
Bruce Skinner (DRDC Atlantic)
Dave Hazen (DRDC Atlantic)
Bill Page (DRDC Corporate)
Lawrence Kemdirim (DRDC Corporate)
Ingar Moen (DRDC Corporate)
Eric Fresque (DRDC Corporate)
Delmar Permann (DRDC Corporate)
Philip Staal (DRDC Corporate)
Dr Robert Walker (DRDC Corporate)
Mark Daniels (DND DIMR 4-6)
Ken Heaton (DND J2 DSI)
Karine Pellerin (DND DDCEI 3-5-3)
Cycle 2 – DRDC Corporate review
After this first review, an advanced draft was circulated in DRDC Headquarters
(HQ) to allow a critical review of the report in a Corporate perspective. The
authors wish to thank specifically those who offered comments in this second
validation cycle and Mr. Brian Cheers for his patience in reviewing the English
of this report an Mrs Caroline Lemelin for the French translation.
You can contribute too!
Given the fast pace of information technology evolution and the diversity of
topics covered in this report, any contributions to the technical content for
future editions would be greatly appreciated. To bring to our attention relevant
references or general comments about the contents of this report, readers are
invited to submit citable references to: [email protected]
2
Part I
Free and Open Source Software (FOSS)
Executive Introduction
3
4
Main Definitions
Free Software (FS) refers more to the concept
of freedom (liberty) than to the concept of nocost (gratis)
According to the Richard Stallman’s Free Software Foundation (FSF) [1], ‘free’ should not be understood as “free-of-charge” but rather as the user’s freedom:
•
•
•
To run the program for any purpose.
To study how the program works and to adapt it to a specific need.
To redistribute copies of the original or of the modified program.
A glossary is available at the end of this report for a more formal definition of FOSS related terms and a
graphical taxonomy is available in Figure 1.
Open Source Software encompasses more than
just the access to source code
The Open Source Initiative (OSI) requires that Open Source Software (OSS) complies with the following
criteria [2]:
•
•
•
•
•
•
•
•
•
Free distribution of components or aggregate programs.
Source code must be included.
Derived works must be possible and distributable at least as a patch files.
Discrimination against persons or groups is not allowed.
Discrimination against field of endeavor is not allowed.
No additional license should be imposed in OSS redistribution.
The same rights should be granted as for the original software distribution.
The license must not restrict other software.
No provision of the license may be predicated on any individual technology or style of interface.
Some contributors to FOSS find these requirements (FSF & OSI) difficult to satisfy in the competitive
context of software production, but most of them try to adopt the OSI philosophy which is considered to
be more pragmatic than the “FSF Idealism”
Closed Source Software (or Proprietary code)
designates software for which the source code
is not available
Commercial firms tend to restrict access to their source code in order to protect their intellectual property.
They compile their proprietary source code and then distribute executable code (i.e. binary form of the
program) that can essentially be understood only by the computer Central Processing Unit (CPU). Most
COTS software is sold with this strategy (e.g. MS Windows, MS Word, Symantec or McAfee virus
scanner etc.)
4
Software
Free
Open
Source
Proprietary
Closed
Source
Corporate
Open
Source
Closed
Source
Collaborative
In
Development
Mature
RISK
Figure 1: A Software Taxonomy
5
5
FOSS Legal Background
Licenses attached to FOSS provide basic rights
to the licensee and the user but they vary a lot
depending on the originator’s preferences
Even if a lot of freedom is given to the users of FOSS, the programmers can impose some constraints
on the exploitation of the components that are being released. For example, a license can state that the
released component can only be integrated into a pure FOSS system (i.e. purist approach) or, alternatively, may be linked with some proprietary library (more practical approach). System architects must
pay attention to the terms of the license when selecting a product in order to avoid legal pitfalls. License
comparison can be found in many references [3, 4, 5].
The most common license is the GNU General
Public License (GPL) which is used with 65%
of the FOSS
The GNU’s Not Unix (GNU) General Public License (GPL) has been adopted by most programmers in
the past 15 years and has been the reference model for many other license agreements. This licensing
model demands that all complementary code development be integrated with open source software only
and published under GPL compatible license. It is expected however that less restrictive license models
(such as Mozilla and BSD) will be more popular in the future [4], since hybrid proprietary/FOSS systems
are more appropriate to most modern hybrid IT infrastructures.
The Free Software Foundation proposed the
term ‘Copyleft’ to describe the privilege of using FOSS freely
As opposed to the concept of a copyright, a ‘copyleft’ describes the case where the owner forfeits
intellectual property and private licensing. Not all FOSS are copylefted but most of the code under
the GPL and Lesser General Public License (LGPL) licenses is. Compatibility of the various license
models and with the “Copyleft Ideal” is discussed in [3].
Some complementary tactics were developed to
prevent appropriation of FOSS by commercial
firms
FOSS is intrinsically exposed to the risk of appropriation by commercial vendors. So, in addition to
licensing, developers may legally incorporate and/or transfer their property rights to a non-profit corporation and/or trademark the brand and logos of their software product etc. [6].
Patenting algorithms is intrinsically incompatible with FOSS development
According to Richard Stallman, the worst threat faced by FOSS comes from software patents, which can
put algorithms and features off-limits to free software for up to twenty years. The FSF has a petition in
circulation against software patents [7]. In [8], the author indicates that Microsoft increased its patent
rate by more than 30% in 2002, which may confirm that the threat is real. Steps to prevent patents from
interfering with software freedom are proposed in [9]
6
6
Key Findings on FOSS Evolution
Over the years, many very useful software products have been distributed in an open-source
paradigm
Some famous ones are:
LATEX Text editor (and typesetting) used for scientific publications.
Linux Popular Unix-like operating system.
Apache Very reliable and secure web server.
MySQL Fast, precise and full-functioned database.
When this report was published (May 2004), it was estimated that 115 FOSS applications [5] have
achieved maturity comparable or superior to their equivalent COTS products.
FOSS also evolved in a very efficient “development process”
The strength of FOSS development is the ability to recruit and motivate communities of competent
programmers to develop, debug, and optimize code on a volunteer basis. Coordination is assumed by a
delegate leader who is responsible for the assessment of the various solutions offered by the programmers
and for the integration of the best code into the next FOSS updates that are rapidly put on-line [10].
By its simplicity and efficiency, the FOSS development model has repeatedly demonstrated
many benefits
•
•
•
•
•
•
•
•
Huge diversity of software [11].
High flexibility and scalability of software solutions through source code editing.
High reliability and high security through source code review and validation [12].
One-order of magnitude faster release rate than equivalent COTS software.
Rapid development of custom solutions to meet specific requirements through code reuse and extension.
Lifetime extension of FOSS-based systems through source code upgrades [13].
High degree of compliance with open standards leading to more interoperability between information systems.
Leaner and meaner systems compared to COTS equivalents that often suffer from “marketing feature bloating”.
For more documentation on FOSS advantages, the following references are recommended [14, 8, 12].
7
7
FOSS Risks and Drawbacks
Some criticisms can be found in scientific literature
When this report was being prepared (i.e. winter 2004), the following criticisms were found in the
technical literature:
• Version control may be more complex with FOSS than COTS (evolving).
• System maintainability requires more local resources (debatable in the long-term).
• Higher technical skill needed from system administrators.
• May offer less integration within an application suite and less user-friendliness (evolving).
Microsoft is sponsoring many studies against
FOSS
Some other criticisms can be found in various reports but in many instances the perspective is clearly
biased. For example, the National Economic Research Associates (NERA) report claims that there is
nothing wrong with closed source software since it allowed “a very fast growth of the software industry
over the last few decades, providing ever more powerful, easy-to-use software to ever more users” [15].
Even if NERA’s impartiality can be questioned (since their study was sponsored by Microsoft), the
report offers quite complete counter-arguments against FOSS adoption in government. This report is not
unique! A recent article from Todd Bishop indicates that many studies on Linux performed by IDC, Giga
and Meta Group were in fact sponsored by Microsoft. Critics question how independent the analyses
were [16]. Some of these studies are listed below:
•
•
•
•
•
•
•
•
Veritest study on Windows 2003 vs. Red Hat Linux [17].
Meta Group study on Linux Benchmark [18].
Veritest study on Windows 2003 vs. Linux server performance [19].
Veritest study on Windows 2003 vs. Linux Web Server [20].
IDC study on Windows 2000 vs. Linux in Enterprise computing [21].
7-Eleven business case for MS Windows 2003 instead of Linux [22].
Total Economic Impact MS vs. Linux [23].
Counterpoint from Linux Insider about Windows vs. Linux [24].
Interestingly, the January/February 2004 edition of IEEE Software includes a series of very positive
articles on FOSS, which are preceded by a guest editor’s introduction signed by Szyperski (Microsoft
Research) and by Spinellis (Athens University of Economics and Business) [11].
8
8
FOSS Adoption Around the World
The European community is actively adopting
FOSS; mostly in the public service
The United Kingdom (UK), France, and Germany are the leading countries in the migration of the
public sector IT infrastructure to open standards and FOSS. The UK government has adopted a policy
to consider open-source solutions alongside proprietary ones in IT procurement [25]. At the end of
2003, a migration guide was issued by NetProject [26], which gave very detailed guidelines for the
migration to FOSS for desktops and servers in general, and principal applications (office suite, mail,
databases, Operating Systems etc.) in particular. KBSt (Germany) also has prepared an extremely
detailed technical guide, which facilitates an aggressive migration strategy to FOSS for servers and
workstations [27]. European countries share this knowledge through the Free/Libre and Open Source
Software (FLOSS) project that is financed by the European Commission under the Information Society
Technologies program. Their reports cover, among other subjects: policy for the European Union,
FOSS business models, survey of developers and source code [28, 29, 30, 31, 32, 33, 34, 35, 36]. The
Swedish Agency for Public Management (Statskontoret) has an excellent series of rigorous publications
on FOSS-adoption in Sweden including [37, 38]. At a conference held in Washington in June 2003, it
was estimated that twenty-four countries are currently reviewing policies, including Denmark [39], the
Netherlands, Italy, Norway and Sweden [40, 41]. The Open Source Observatory (OSO) maintains a very
informative Web site on FOSS evolution in Europe [42].
Latin American, African, Oceanian and Asian
countries are also moving toward FOSS to
varying degrees
The reasons for migrating to FOSS are typically related to three main factors:
•
•
•
The expectation of direct cost savings.
The reduction of national economic loss caused by commercial software imports.
The hope to better develop national IT expertise via access to source code (and development of
original components) that is not really possible with COTS packages.
A recent overview of FOSS policy in different countries is available at http://www.csis.org/tech/
OpenSource/0408_ospolicies.pdf. Steven Weber (University of California-Berkeley) offers an interesting analysis of the reasons for developing countries to migrate to FOSS [43]. Some strategic decision announcements were released during our study by different countries, such as Israel [44], Japan,
South Africa [45] and Australia [46, 47]. The AFUL Web site [48] also offers a periodically updated list
of countries adopting FOSS policies or legislation [49] and [50] is an interesting complementary web
site. Gartner analysts expect that developing countries will increasingly adopt FOSS through 2004. The
business case for emerging nations is also reviewed in [51].
9
9
FOSS in the USA
FOSS originated largely in the United States
of America (USA) and remains a very strong
movement
A plethora of reports discusses the growth of FOSS in various fields of the USA economy. A large portion of this information is incomplete and/or biased – written to support a specific perspective. Almost
unanimously however, it is recognized that FOSS is expanding rapidly in most IT infrastructures. The
well-known Linux Operating System and Apache (Web server) are the most often cited as fast growing
because of their recognized maturity and their technical qualities compared to their commercial equivalents [52, 53].
Many large American corporations contribute
to the FOSS networks
In addition to the software developed by groups of volunteers, a substantial contribution to FOSS is made
available by large firms who wish to experiment with a different business model based on collaborative
development. Netscape has had one of the most famous success stories in adopting an openness strategy
that is described in this very interesting article [54]. IBM, Hewlett-Packard, Sun Microsystems, Novell
and Silicon Graphics are just a few of the better known IT leaders who host/contribute/sponsor/support a
large number of open source projects [55]. IBM made a formal commitment to speed Linux deployment
in the banking industry [56] and in government [57]. Dell Computer is also turning to FOSS and expects
it to be widely adopted [58].
Some USA government initiatives contribute to
FOSS
Government sponsoring of FOSS is not common, although some examples are reported in [5] including
the famous Security Enhanced Linux (SELinux) which can be downloaded directly from the National Security Agency (NSA) Web page [59]. In geomatics, the National Technology Alliance (NTA) has sponsored the impressive Open Source Prototype Research project which had a significant impact on geospatial information organizations in the USA government [60] including the Department of Defense (DoD).
More recently, a mission-critical development with FOSS has been reported in IEEE Software [61] and
describes how FOSS has been used very efficiently in NASA JPL project.
Adopting a strong FOSS policy may be problematic for the American government since the
proprietary software industry strongly supports
the USA economy
The software business is estimated to $70B (US) [10] and so it is not surprising to see a vigorous reaction
from COTS editors against FOSS [62]. For example, the reference [15] is a Microsoft sponsored study
that is trying to counter the FOSS business case and a more formal article [63] gives the official Microsoft
perspective on FOSS. A well-balanced essay on the FOSS economy is proposed by David Adams in [64].
10
10
FOSS in Canada
Canada appears to be behind the curve in
adopting FOSS, especially in the public sector
The lack of clear business cases and the underestimation of the strategic value of FOSS partly explain
this situation [65]. An excellent assessment of open source software in Canada was conducted by eCology for Industry-Canada [40] in 2003. The report also presents the profile of 17 Canadian companies
involved in FOSS in varying degrees and offers an enlightening discussion of the revenue strategies that
these firms are utilizing to maximize the return on their investment.
A FOSS policy for the Government of Canada
has been recently endorsed
In June 2004, the Government of Canada announced a new position on FOSS. It is based on a balanced approach to ensure that governmental policies and guidelines do not bias one software business model over another (FOSS vs COTS vs custom development). Some government departments
will address a series of next steps to support the national policy on FOSS including: to review federal procurement practices to ensure a level playing field; to provide advices on software quality and
security best practices; to develop a strategy for property rights, patent protection and technology transfer; to provide advice on licensing and other legal issues; etc. [66]. More information is available at
http://www.cio-dpi.gc.ca/fap-paf/oss-ll/oss-ll_e.asp.
Software development tools, Apache and Linux
are the dominant FOSS products in use in
Canada
At the time that this report was being written, the use of FOSS in Canada was mostly in software
development and in the back-office environment (i.e. servers and network management). It is expected
that this trend will remain dominant for the next 1-3 years [65]. Analysts often describe this phenomenon
as the horizontal market penetration of FOSS (i.e. one layer of service offered by FOSS).
Some more comprehensive initiatives can be
found in the education and health sectors
In British Columbia and Québec, vigorous FOSS projects attempt to integrate a complete software suite
for school and other educational uses [40, 67]. McMaster University and the Department of Family
Medicine are collaborating to Electronic Health Record (EHR) for family physicians [40]. Most analysts
consider that such vertical penetration of FOSS (i.e. through the multiple layers in a specific application
domain) is required to support a more widespread penetration of FOSS technology.
11
11
FOSS and Software Security
Access to source code greatly eases security enforcement
When software is created, it has a level of quality that depends directly on the programmer’s competence, experience and professional methodology. To increase the reliability and security of code, it is
essential to use some complementary mechanisms such as peer review, testing, quality audits, alpha and
beta versioning etc. FOSS and proprietary software rely essentially on the same processes (probably at
similar levels) during the main development period. However, after the first public release, FOSS offers
the very significant advantage of keeping access to source code. This encourages more peer reviews,
testing, and quality audits by a much larger community of users/developers than what would be possible
with proprietary code. For closed source software, flaws and code defects are often discovered by some
subversive exploits which can lead to some destabilization in large corporations that rely on such COTS
packages (i.e. patch and repair). On the contrary, confidence in FOSS may be built faster and, potentially, to a higher degree than with a proprietary equivalent [68, 69]. A myriad of statistics on software
vulnerabilities are available in Chapter 6 of reference [8] and they seem to confirm the general perception that open source software is often superior to proprietary code. Reference [70] gives a comparison
of the vulnerabilities contained in Red Hat Linux (160) and Windows NT (1200) that appears to be more
scientific but great care should be taken to avoid extrapolating this study beyond its original scope. In
short, FOSS is not intrinsically more secure than COTS software but the openness of source code makes
security enforcement more ubiquitous and less disruptive.
The dilemma on security through obscurity vs. openness was the subject of a heated debate in the cryptographic community in the 80’s. The final decision was to make the cryptographic algorithms generally
available so as to provide for security assessment and validation by the widest scientific community
possible. Whitfield Diffie, the inventor of public key cryptography, and now chief security officer at
Sun Microsystems, has repeatedly said that “openness is essential for trust” in software as it was for
cryptographic protocols twenty years ago [71, 72]. “Sunshine kills bacteria” [68].
FOSS has three other key advantages
Other advantages for FOSS include:
1.
2.
3.
“Leaner and meaner” software systems than COTS equivalents that often suffer from feature bloating. Since they are smaller, open source systems are expected to provide fewer opportunities for
exploits.
Source code can be enriched with assertions, complementary safety checks etc.
Increased code diversity in the “software ecosystem” that could reduce the speed and the proliferation of cyber attacks.
12
And some increased risks to manage
FOSS is often perceived as a return to more reliance on internal resources for system development
and maintenance. For security enforcement, high-quality expertise is scarce and may often have to be
developed to adequately cope with the increased responsibilities that FOSS-based systems will require.
COTS software has a significant advantage over FOSS by virtue of the intrinsic imputability in the
commercial world (often greatly restricted by license agreements!). Access to source code can also be
an advantage to an attacker who can try to develop more elaborate attacks on the open source code [63].
Some authors are also concerned about potential infiltration into collaborative development projects
by malicious developers who could install backdoors or other undesirable functionalities [73]. At any
rate, neither COTS nor custom software are immune to malicious or programming defects that result
in information system vulnerabilities. FOSS proponents consider these threats to be exaggerated [74,
75, 76]. As noted later in this report, advantages and disadvantages can only be balanced in a specific
project context.
13
12
Authors’ Synthesis
FOSS should not be considered as a panacea,
nor ignored as a marginal irrelevant phenomenon
All major forecasting firms predict that FOSS-based systems will continue to expand to the detriment
of their COTS equivalents. It seems obvious that the advantages greatly outweigh the disadvantages in
many application contexts. Many FOSS programs have achieved a level of maturity and of recognition
that raises them to a position of superiority over their commercial equivalents. With the migration of
many governments around the world, it is expected that FOSS quality and diversity will continue to
improve.
The intrinsic limitations of closed source software may be too stringent for many GoC systems in the future
Even though the closed source strategy appears to be appropriate for the mass market (e.g. domestic/personal uses with no/little programming skills), for military systems and government computing in
general, the access to source code and the adoption of open standards are obvious advantages. The need
for higher reliability/security, more flexibility/scalability, more competition in software supplies and,
finally, direct cost savings will always tend to justify considering FOSS in the next decade.
The R&D communities should demonstrate
leadership in FOSS adoption
It seems that the R&D community has an important responsibility to activate projects that could demonstrate the strategic value of FOSS and that would help make clearer business cases for the GoC. One of
our prime responsibilities is to perform exploratory activities that could lead to a risk reduction in the
technological evolution of our respective department.
14
Part II
Proposed Way-Ahead for GoC
15
13
Guiding Principles for a Way-Ahead
FOSS offers a concrete and credible opportunity for R&D communities
The business case for FOSS in Research and Development (R&D) projects was recently studied by some
research laboratories, including the National Aeronautics and Space Administration (NASA) Ames Research Centre [77, 78], the National Nuclear Security Administration [79] and by a number of Universities [80]. These studies concluded that FOSS offers an attractive third option to the “build or buy”
dilemma, with clear advantages in terms of expertise development, creativity and productivity. In R&D
projects, the traditional disadvantages of FOSS (such as technical complexity of software development
and long-term maintenance) are less of an issue, since the technical expertise is typically available in
labs and many projects aim at building demonstration prototypes.
Diversity in supplies is preferable
(Custom Software vs. FOSS vs. COTS)
FOSS offers the flexibility of building a specialized system in an accelerated development process that
is at least as efficient as buying COTS components. For R&D projects, the use of FOSS can assure
a rapid development (i.e. code reuse and modification) of a high quality code (i.e. well debugged),
which will be very difficult to achieve through custom code developed from scratch. In some instances,
FOSS-based development is the only reasonable alternative when COTS products are not available (e.g.
High Performance Computing [79]) and when custom development is too expensive for the available
budget [61]. FOSS helps in avoiding lock-in to proprietary IT products and services and in reducing our
dependence on monopolistic technologies.
Open Standards and specifications contribute
directly to system interoperability
FOSS implements open standards and specifications that are shared among developers during the design, coding and testing processes. This is generally recognized as a strategic advantage in enforcing
interoperability policies between independently developed systems [81].
Evaluation of FOSS must be done on a caseby-case basis
While very attractive in general, FOSS must be evaluated in the context of each project on a case-by-case
basis in order to determine if the advantages outweigh the disadvantages in practice. In the case of GoC,
special attention must be paid to the protection of classified technologies, the protection of intellectual
property and the selection of a license suitable for the specific activity. Some preliminary guidelines are
available in this document (Parts III & IV).
16
14
Proposed Way-Ahead for GoC
Adopt FOSS progressively
Adoption of FOSS development methods can have fundamental and far-reaching consequences on engineering practices, especially if the objective is to contribute actively to an open source project. It is
recommended that experience be gained with FOSS as a passive user first, then to become progressively
more involved by reporting bugs, suggesting new features, and modifying existing code before engaging
in active development within a collaborative project. Figure 2 illustrates the evolution schema of a FOSS
user/developer.
Consider FOSS-based solutions in contractual
work when technically competitive with other
development strategies
GoC should consider FOSS solutions alongside proprietary ones in IT procurements especially in
large development contracts such as Technology Demonstration Project (TDP). According to IndustryCanada [82], contracts are awarded on a value-for-money basis and no Public Works Government Services Canada (PWGSC) rules restrict FOSS uses in federal government contracting and no Treasury
Board rules restrict FOSS use in our internal programs. The Canadian position on FOSS that has been
endorsed in June 2004 confirms that no barriers to procurement should be maintained.
17
FOSS
Users
Passive
Active
Non
Developers
Developers
CoDevelopers
Reporting
Bugs
Suggesting
new features
Reviewing
Code
Modifying
Code
Fixing
Code
Core
Developers
Making
Decisions
Implementing
new features
Figure 2: The evolution schema of a FOSS user/developer
18
Part III
Catalogue of Selected FOSS that could be considered
in
GoC Projects
19
15
Overview of Available FOSS
Of the tens of thousands FOSS projects, only
a few hundreds have achieved enough maturity
to be considered for inclusion within GoC systems
According to Spinellis and Szyperski [11], more than 115,000 open source projects were registered at
the main four open source forums (30,000 at http://www.freshmeat.net, 70,000 at http://www.
sourceforge.net, 5,400 at http://www.cpan.org and 10,000 ports distributed with FreeBSD). Note
that some projects are registered twice and many projects are inactive/dead. To select the best-of-breed
code, it is recommended that reference be made to credible lists of mature or secure FOSS such as
the ones that appear below. These lists provide navigation aids to help identify suitable FOSS for one
specific application, but should not be taken as an official government position, policy or decision about
the value of each specific software component.
MITRE has compiled a list of 115 FOSS applications that offer an excellent starting point for
identifying high-quality software
MITRE has focussed on “Generally Recognized As Safe” (GRAS) open source software. GRAS FOSS
requires that the software program be: (a) commercially supported, (b) widely used and accepted, (c)
have a proven track record for security and reliability. The complete list is available in [5] and is included
in our list proposed in Appendix A.
The “Generally Recognized As Mature”
(GRAM) is another interesting list of 39 FOSS
The GRAM list is maintained by David Wheeler, a professed computer security guru and is accessible
through [83].
The Software Development Magazine identifies
27 high-profile FOSS projects
Rosalyn Lum proposes a list of high-profile open source projects that she considers ready for primetime
in Software Development Magazine (March 2004) [84].
The
Interchange
of
Data
between
Administrations (IDA) migration guide
lists multiple FOSS of high quality
The Interchange of Data between Administrations (IDA) migration guidelines include a comparison of
many FOSS alternatives to COTS software including: operating systems, office suites, mail servers,
groupware, web services, document management and databases etc. [26]
20
16
FOSS Relevant to GoC
Contributions to FOSS from large IT companies are among the best quality software available
Many large IT companies contribute massively to open source software. In [85], some 137 high-quality
FOSS has been identified from the following manufacturers: Sun Microsystems (28), Silicon Graphics
(15), Hewlett-Packard (33), Red Hat (2), AT&T (24) and IBM (35).
DRDC has prepared a more comprehensive
FOSS list that includes general purpose and
scientific software FOSS (approximately 392
FOSS)
Based on the lists introduced above and on independent research, a more comprehensive list was constructed by the authors. It offers guidance on the selection of scientific software programs in addition to
general purpose computing. Our objective was to give a more comprehensive picture of the richness and
diversity of currently available software.
Appendix A provides navigation aids to help
identify suitable FOSS
In Appendix A, the reader will find a list of representative free and open source software at the time
this study was conducted (winter 2004). This list could facilitate the identification of candidate products
for evaluation within the GoC. Many of them have been used in the past in some DRDC projects but
no systematic testing or rigorous evaluation has been carried out on the FOSS listed below. Therefore
they should not be considered as “government approved” or officially recommended by the GoC. It
is strongly recommended that each software component be assessed before its integration. A rigorous
methodology is proposed in Part IV.
21
Part IV
GoC Guidelines to Assess FOSS
22
17
Guideline Principles
FOSS and COTS software should be evaluated
side by side
The process to evaluate FOSS or COTS software is essentially the same and a side-by-side comparison
remains the best approach to identify the pros/cons of each option [86, 87, 38]. The evaluation process
can vary a lot in duration and in technical depth depending on the application context and the project
requirements.
Advantages / disadvantages should be compared in each specific project context
It is to be noted that most COTS packages are designed for a very broad client spectrum and typically
include a huge diversity of functionalities and potential configurations. On the other hand, FOSS tends to
be more specialized since it is often designed to meet the requirements of a specific user community. A
direct comparison of both types of software against a well-defined application context is recommended
to determine the best option. In short, the main evaluation steps include:
1.
2.
3.
4.
5.
6.
7.
Special attention must be paid to the license
model
Understand the requirements and the application context.
Prioritize the selection criteria.
Identify COTS and FOSS candidates.
Compare the best candidate options.
Analyze the best products in depth (e.g. performance, security audit, cost), if needed.
Seek approval from local management and from the project client.
Document lessons learned.
At this time, it does not seem appropriate for GoC to select one license model and to impose it on all
projects. It seems preferable to identify the most suitable license model in the context of each project
including due consideration of:
1.
2.
3.
Intellectual Property (IP) protection,
National and international partnership constraints,
and client preferences.
23
18
Recommended Evaluation Steps
Step #1 - Define the application context
1.1. Clarify objectives and client expectations.
1.2. Document project constraints such as classification level, partners’ demands, compatibility with
development/execution environment, compatibility with legacy systems and existing information
formats, mandatory standards to comply to, etc.
1.3. Prioritize evaluation criteria to compare software including functionality, cost, required support/maintenance, reliability, security, performance, flexibility, scalability, user-friendliness, legal/license issues and other issues specific to the applications.
1.4. Estimate internal (and external) resources available to the project (including money, time and technical expertise which may be more demanding for FOSS development).
1.5. Seek support from an experienced colleague that would ‘mentor’ the evaluation process and help in
avoiding pitfalls.
Step #2 - Identify candidates
2.1. Look in Appendix A of this report for your application domain.
2.2. Perform complementary search on the Internet, including specialized sites: http://www.
sourceforge.net, http://www.gnu.org/directory, http://www.freshmeat.net, http://
www.debian.org, http://www.savannah.gnu.org, http://www.icewalkers.com, http://
www.cpan.org.
2.3. Gather technical reviews and product comparisons.
Step #3 - Compare the best 3-4 options side by
side
3.1. Consult existing lists of ‘reliable’ FOSS such as the Generally Recognized As Safe (GRAS), Generally Recognized As Mature (GRAM), and IDA.
3.2. Read/assess technical product reviews (COTS and FOSS). Remain vigilant concerning excessively
biased evaluations (encountered for both COTS and FOSS!)
3.3. Consider compatibility of the software with existing libraries and your development and execution
environments.
3.4. Assess maturity and technical risk through “download counts” (and other popularity measures),
product longevity (often revealing maturity) and market penetration.
3.5. Summarize your findings in a spreadsheet that includes your criteria as prioritized in Step 1.3 FOSS
evaluation spreadsheets.
24
Step #4 - If appropriate, perform an in-depth
code analysis
4.1. If time permits, download evaluation versions to confirm performance, compatibility, userfriendliness etc.
4.2. Clarify details with suppliers/developers.
4.3. Evaluate licenses and seek advice from your local Business Development Service (BDS) for IP
protection if needed.
4.4. If appropriate, perform detailed code analysis with software analysis tools to detect flaws and other
types of defects. See [88].
4.5. If appropriate, evaluate the feasibility of adding new functions.
Step #5 - Seek approval from client and local
management
5.1. Even if software packages are used unchanged (no code development), it is recommended to inform
your local management (and possibly the project client) of the use of FOSS.
5.2. If FOSS is used to build a research prototype involving substantial code development, seek approval
from your local management and project client (if any). See advice on “Licenses in GoC software
development” below.
5.3. If a GoC development is considered for distribution in one of the FOSS networks, estimate the
additional effort required to clean up the code, to improve the documentation and to support the
community in a timely fashion once released in one of the FOSS networks. Seek approval from
your local management and project client (if any). See advice on “Licenses in GoC software development” below.
5.4. If a GoC development project is to be carried out in a collaborative open source paradigm, it could
be necessary to build a comprehensive business case to justify this approach. Seek approval from
your from local management and project client (if any). See advice on “Licenses in GoC software development” below. Guidance can be found on the FSF web site and in this book by Jan
Sandred [89].
Step #6 - Document lessons learned
6.1. Summarize lessons learned from your evaluation in a brief tech note to share your experience with
GoC communities.
6.2. Keep track of FOSS usage and of the changes made to the original software by a rigorous software revision control throughout the development process. The revision control data must remain
available to the Crown after the development has finished. Without a complete history of the code
development in a software revision control system, the new code may fall under other license models
such as the GPL by default.
25
19
Licenses in GoC Software Developments
Licenses can be grouped into two main categories
A detailed analysis of FOSS licenses goes beyond the scope of this document. For the purposes of this
report, it is sufficient to say that the multiple licenses currently registered at the OSI (roughly 48) can be
classified into two main categories: (1) those inspired by the GPL, which demand that all complementary
code developments be integrated with open source code only and published under a GPL-compatible
license (e.g. LGPL, Zope etc.); (2) those which allow a combination of FOSS with proprietary code
(e.g. Berkeley Software Distribution (BSD), Mozilla etc.) [90].
The end-user usually prefers the GPL strategy
MITRE looked at the various licenses from the perspective of the end-user (the USA DoD in this instance) and they concluded that the GPL license is the best one by virtue of the diversity of source code
and the ‘total’ visibility of implementations. This guarantees faster and more autonomous responses to
cyber threats [5]. It is expected that the most end-users will also prefer the GPL model.
Research establishments typically prefer BSD
or Mozilla models
Alternatives to the “rather strict GPL licensing” were developed to accommodate organizations, which
need to integrate open source software with some proprietary components. This is the case of many
research organizations that want to protect their innovative IP while demonstrating it efficiently with
a FOSS-based prototype. NASA compared the various licenses and selected the Mozilla model in
2002 [77] and they are currently moving toward the development of their own license [78] inspired
by this licensing model. The Canadian National Research Council (NRC) analysis concludes that BSD
and Academic Free License (AFL) licenses are often the two most appropriate license models for them
[91]. Gartner believes that licenses inspired by BSD and Mozilla will increase in popularity since they
offer more flexibility [4]. Given the complexity of license selection and the multiple options available,
researchers should obtain assistance from their local BDS when in doubt concerning legal implications.
26
The legal background is currently challenged
It can be observed that companies whose business model of proprietary software is somewhat on a
collision course with FOSS are not fighting back solely on technical grounds but also use legal weapons
as well as Fear, Uncertainty, and Doubt (FUD). The developer of FOSS who is targeting substantial
deployment of his/her work should be well aware of the legal pitfalls and issues which might occur as a
result of events which are occurring in the software community, some of them viewed as clearly abusive
by various observers [92]. Examples include the current legal battles between Santa Cruz Operation
(SCO) and IBM. To keep track and be better aware of such undercurrents, see for instance http://
www.groklaw.net, http://www.osriskmanagement.com, and http://www.pubpat.org. The Open
Source Development Labs http://www.osdl.org, home to Linus Torvalds, the creator of Linux, is also
a good source of information on issues and current news related to intellectual property management
and FOSS. Monitoring of this “legal war” between the commercial world and FOSS communities is
recommended in GoC for the next 24 months at least.
Many good references on FOSS licenses can be
found on the internet
The reality of the various licenses is much more complex than the overview presented above. A complementary study is being initiated by the Departments of Justice and Industry to provide legal opinions
on licensing , property rights, technology transfers and other legal issues. Therefore, it is expected
that more precise guidelines on FOSS licensing will be available soon. For readers interested in more
comprehensive license comparison, we recommend the following references:
•
•
•
•
•
•
•
•
•
•
•
•
Free Software Foundation - GPL “school of thoughts” (rather idealistic) [84] .
Open Source Initiative - multiple license models (some more pragmatic) [1].
European guide to choosing free software licenses [93].
Detailed analysis of FOSS licenses [94].
Comparison of FOSS licenses from USA DoD perspective [5].
Comparison of FOSS licenses from a developer perspective (i.e. NASA) [77].
Good overview of FOSS licenses [95].
A practical look at FOSS integration into commercial products [96].
A rather theoretical look at licenses, giving interesting trends [97].
GPL copylefting vs. non-copylefting licenses [98].
Complementary norms and legal tactics to FOSS licensing (good!) [6].
A review of software patents issues [99, 9].
27
20
Migration to FOSS
In some projects, a complete migration to
FOSS may be envisaged
In some cases, it could be appropriate to consider the complete migration of a GoC project to open
source software. Even if many recent experiences have been very successful at NASA [61], in health
care [100], in industry [96, 101], and in some universities [102] , it must be understood that the FOSS
collaborative process is a new development paradigm that involves significant cultural changes. The
South African Government recommends in [45] the VCS model (i.e. demonstrating Value–building
Capacity–mobilizing Support) that appears to be a great conceptual framework for FOSS migration
studies. Hewlett-Packard has defined an innovative software engineering paradigm for large corporations, called Progressive Open Source, that appears to be very well done [103]. More about the cultural
changes can be found in the following references:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Performance of scientific applications on Linux clusters [104].
Back-office migration supports anti-terrorism (in OSO) [105].
Software requirement understanding with FOSS [106].
FOSS configuration management [107].
Linux in government - white paper [57].
Good summary article on Linux market penetration [108].
Desktop Linux technology and market overview [52].
IDC white paper on Linux Total Cost of Ownership (TCO) (IBM sponsored) [109].
IDC white paper on expanding Linux in enterprise (IBM sponsored) [110].
IDC white paper on accelerating Linux adoption (IBM sponsored) [111].
Bloor Research assessment of Linux maturity [112].
Impact of FOSS adoption in government [113].
Perceived benefits of FOSS in public sector [114].
The growing popularity of Linux on Wall Street [115].
Gartner recommendation to use FOSS in government [116].
Excellent migration guide from QinetiQ (UK) [117].
Very detailed migration guidelines from IDA [26].
Another very impressive migration guide from the German Ministry of the Interior [27].
Free/Libre and Open Source Software (FLOSS): Survey and Study [28].
FOSS in European firms and public institutions [29].
28
•
•
•
•
•
Multiple tools exist to perform cost analysis
Commercial motivations and policy implications [30].
Policy within the European Union [31].
FOSS markets and business methods [32].
Survey of developers of FOSS [33].
Software source code survey [35].
Many cost models have been developed for software systems. Some are rather simple and easy to use
and could be appropriate for small projects of partial migration to FOSS technology:
•
•
•
•
•
Notes on a cost comparison spreadsheet [118].
Cost Comparison Spreadsheet: A cost comparison model.
A basic introduction to FOSS with cost estimation [119].
TCO for Linux in the Enterprise [120].
A collection of statistics on TCO in chapter 7 [8].
Scientists leading a major project or considering a comprehensive migration to FOSS could prefer more
complex cost models such as:
•
•
•
•
•
A top view article from Gartner which leads to TCO analyses [121].
MITRE study on FOSS business case (see chapter 3) [122].
A Forrester report on total economic impact of Microsoft vs. Linux/Java 2 Enterprise Edition
(J2EE) [23].
Linux vs Windows TCO comparison [123].
Danish desktop evaluation model for FOSS migration [124].
29
References
1. Stallman, Richard (2003). Basic Idea Behind Open Source. Paper. Open Source Organization,. http://www.gnu.org.
2. OpenSource.org. Web Site. Open Source Organization,. http://www.opensource.org.
3. Wu, Ming-Wei and Lin, Ying-Dar (2001). Open Source Software Development: An Overview. (Technical Report IEEE 0018-9162/01). National
Chiao Tung University, Taiwan..
4. Driver, M. (2001). The Future of Open-Source Software. (Technical Report SPA-13-7536). Gartner..
5. Bollinger, Terry (2003). Use of Free and Open-Source Software (FOSS) in the U.S. Department of Defense. (Technical Report MP
02W0000101 v1.2.04). MITRE..
6. O’Mahony, Siobham (2003). Guarding the Commons: How Community Managed Software Projects Project Their Works. Paper. Harvard
University Graduate School of Business Administration..
7. Casamento, Gregory. Petition Against Software Patents. Web Page,. http://www.petitiononline.com/pasp01/petition.html.
8. Wheeler, David A. (2003). Why Open Source Software / Free Software (OSS/FS)? – Look at the Numbers!. Paper. Personal Web Page..
9. Rosen, Lawrence (2004). Patents in an Open Source World. newsforge.com..
10. United Nation Conference on Trade and Development Secretariat (2003). Free open-source software : Implications for ICT policy and
development, Ch. 4. United Nation..
11. Spinellis, Diomidis and Szyperski, Clemens (2004). How Is Open Source Affecting Software Development?. Paper. IEEE SOFTWARE..
12. James W. Paulson, Giancarlo Succi and Eberlein, Armin (2004). An Empirical Study of Open-Source and Close-Source Software Products.
(Technical Report IEEE 0096-5589/04). General Dynamics Canada, University of Bozen, University of Sharjah..
13. Dowling, Ted (2000). Software COTS Components – Problems, And Solutions?. In RTO SCI Symposium on “Strategies to Mitigate
Obsolescence in Defense Systems Using Commercial Component”, pp. 28–1—28–8..
14. Calvin, James B. and Rodgers, Steven L. (2003). The Case for Open Source Tools is Compelling. COTS Journal, pp. 25–29..
15. Evans, David S. and Reddy, Bernard (2003). Government Preferences for Promoting Open-Sources Software: A Solution in search for a
problem. (Technical Report 9 Mich. Telecomm. Tech. L. Rev. 313 (2003)). National Economics Research Associates..
16. Bishop, Todd (2004). Studies on Linux help their patron: Microsoft. Seattle Post-Intelligencer..
30
17. VeriTest (2003). Microsoft Windows Small Business Server 2003 vs. Red Hat Enterprise Linux ES 2.1 Deployment. Test Report. VeriTest..
18. Rubin, Howard (2003). Mainframe Linux Benchmark Project Audit Report. Audit Report. META Group, Inc..
19. VeriTest (2003). Microsoft Windows Server 2003 vs. Linux Competitive File Server Performance Comparison. Test Report. VeriTest..
20. VeriTest (2003). Microsoft Windows Server 2003 with Internet Information Services (IIS) 6.0 vs. Linux Competitive Web Server Performance
Comparison. Test Report. VeriTest..
21. Bozman, Jean, Gillen, Al, Kolodgyand, Charles, and al (2002). Windows 2000 Versus Linux in Enterprise Computing. Test Report. IDC..
22. Morrow, Keith (2004). 7-Eleven Upgrades Its Strategic Retail System, Lowers Costs, and Improves Customer Service. Case study. Microsoft
Corporation..
23. John R. Rymer and Bob Cormier (2003). The Total Economic Impact of Developing and Deploying Applications on Microsoft and J2EE/Linux
Platforms. Technical Report. Forrester Research..
24. Murphy, Paul (2004). Getting the Facts About Windows and Linux. LinuxInsider..
25. Office of the e-envoy. Leading the drive to get the UK online. UK online,. http://www.e-envoy.gov.uk/Home/Homepage/fs/en.
26. netproject (2003). The IDA Open Source Migration Guide. (Technical Report OSPL/EEC-01.10). Interchange of Data between Administrations..
27. KBSt (2003). Migration Guide – A guide to migrating the basic software components on server and workstation computers. (Technical Report
1.0). Bundesministerium des Innern, Germany..
28. Ghosh, Rishab Aiyer, Krieger, Bernard, Glott, Ruediger, and Robles, Gregorio (2002). Free/Libre and Open Source Software: Survey and Study
– Deliverable D18: FINAL REPORT. (Technical Report Part 0: Table of Contents and Executive Summary). International Institute of
Infonomics, University of Maastricht..
29. Wichmann, Thorsten (2002). Free/Libre and Open Source Software: Survey and Study – FINAL REPORT. (Technical Report Part 1: Use of
Open Source Software in Firms and Public Institutions – Evidence from Germany, Sweden and UK). Berlecon Reasearch..
30. Wichmann, Thorsten (2002). Free/Libre and Open Source Software: Survey and Study – FINAL REPORT. (Technical Report Part 2: Firms’
Open Source Activities: Motivation and Policy Implications). Berlecon Reasearch..
31. Ghosh, Rishab Aiyer, Krieger, Bernard, Glott, Ruediger, and Robles, Gregorio (2002). Free/Libre and Open Source Software: Survey and Study
– Deliverable D18: FINAL REPORT. (Technical Report Part 2B: Open Source Software in Public Sector: Policy within the European Union).
International Institute of Infonomics, University of Maastricht..
31
32. Spiller, Dorit and Wichmann, Thorsten (2002). Free/Libre and Open Source Software: Survey and Study – FINAL REPORT. (Technical Report
Part 3: Basics of Open Source Software Markets and Business Models). Berlecon Reasearch..
33. Ghosh, Rishab Aiyer, Robles, Gregorio, Krieger, Bernard, and Glott, Ruediger (2002). Free/Libre and Open Source Software: Survey and Study
– Deliverable D18: FINAL REPORT. (Technical Report Part 4: Survey of Developers). International Institute of Infonomics, University of
Maastricht..
34. Ghosh, Rishab Aiyer, Robles, Gregorio, Krieger, Bernard, and Glott, Ruediger (2002). Free/Libre and Open Source Software: Survey and Study
– Deliverable D18: FINAL REPORT. (Technical Report Part 4A: Survey of Developers – Annexure on validation and methodology).
International Institute of Infonomics, University of Maastricht..
35. Ghosh, Rishab Aiyer, Robles, Gregorio, and Glott, Ruediger (2002). Free/Libre and Open Source Software: Survey and Study – Deliverable
D18: FINAL REPORT. (Technical Report Part 5: Software Source Code Survey). International Institute of Infonomics, University of Maastricht..
36. Ghosh, Rishab Aiyer (2002). Free/Libre and Open Source Software: Survey and Study – Workshop on Advancing the Research Agenda on Free
/ Open Source Software. (Technical Report Workshop Report). International Institute of Infonomics, University of Maastricht..
37. The Swedish Agency for Public Management (2003). Free and Open Source Software..
38. The Swedish Agency for Public Management (2003). Free and Open Source Software – a feasibility study..
39. Ministry of Science (2003). The Danish Software Strategy. Software Strategy. Danish Ministry of Science, Technology and Innovation..
40. e-cology Corporation (2003). Open Source Software in Canada – A Collaborative Fact Finding Study. Technical Report. e-cology Corporation..
41. e-cology Corporation (2003). Open Source Software in Canada – Appendices. Technical Report. e-cology Corporation..
42. Open Source Observatory (OSO). Web Site. Open Source Observatory,.
http://europa.eu.int/ISPO/ida/jsps/index.jsp?fuseAction=showChapter&chapterID=452&preChapterID=0.
43. Weber, Stephen (2002). Open Source Software in Developing Economies. Technical Report. University California, Berkeley..
44. Enav, Peters (2003). Israel stops buying Microsoft software. The Associate Press..
45. South African Government (2003). Using Open Source Software in the South African Government – A Proposed strategy compiled by the
Governmen Information Technology Officers Council. (Technical Report Version 3.3). Government Information Technology Officers Council..
46. Riley, James (2004). Tax to Open Up Software Policy. Australian IT..
47. Varghese, Sam (2003). ACT set to adopt open source bill. IDG News Service, West Africa bureau..
32
48. AFUL’s Site. French speaking Linux and Libre Software Users’ Association. AFUL,. http://www.aful.org/index.html.
49. AFUL’s Site on Peru OSS. French speaking Linux and Libre Software Users’ Association. AFUL Web Page on Peru,.
http://www.aful.org/politique/perou/english/referencias.html.
50. proposicion.org.ar. Government’s documents about Free Software. Open Source Organization Web Page,.
http://proposicion.org.ar/doc/gob/.
51. Logan, D., Arevolo, W., and Bittinger, S. (2004). Open-Source Software Means Benefits for Emerging Nations. (Paper SPA-19-4429). Gartner..
52. Decrem, Bart (2003). Desktop Linux Technology & Market Overview. Technical Report. Open Source Application Foundation..
53. Horstmann, Jutta and Muehlig, Jan (2003). Linux Usability Study. (Paper Version 1.01). Relevantive..
54. Hecker, Frank (2000). Setting up Shop: The Business of Open-Source Software. Paper. Netscape..
55. Fricke, Pierre (2003). Linux Strategies and Solutions 2003: Linux Server Suppliers Contend for Leadership. Technical Report. D.H. Brown
Associates, Inc..
56. Jacob, Bart, Janson, David, Mark, Oliver, and Marras, Fabio L (2002). Linux and Branch Banking. (Technical Report SG24-6909-00).
ibm.com/redbooks..
57. Fisher, Mary Ann (2002). Linux in Government White Paper. Paper. IBM..
58. Lowery, J. Craig (2003). Dell’s Open Source Software Philosophy. In Open Standards/Open Source for National and Local eGovernment
Programs in the U.S. and EU: Conference, eGovOS..
59. National Security Agency (NSA). Security-Enhanced Linux. NSA Web Page,. http://www.nsa.gov/selinux/index.html.
60. TYBRIN (2002). Open Source Prototype Research – Open Source Process. Technical Report. NTA – NCAT..
61. Norris, Jeffrey S. (2004). Mission-Critical Development with Open Source Software: Lessons Learned. (Technical Report vol 21 no1). IEEE
Software..
62. Frye, Emily (2003). Open-Source Software, Proprietary Software: Implications for National and Economic Security. Technical Report. THE
CIP REPORT..
63. Mundie, Craig (2002). Security: Source Access and the Software Ecosystem. Technical Report. Microsoft Corporation..
64. David Adams (2004). Free Can Mean Big Money: The Open Source Economy. Technical Report. OSNews..
33
65. Patrick, Ryan B. (2003). Linux deepening its Canadian foothold. Computerworld..
66. Branch, Chief Information Officer (2004). GoC Proposed Position on Open Source Software and Next Steps. Presentation Power Point.
Treasury Board Secretariat of Canada..
67. Dumais, Michel (2004). Le logiciel libre en éducation : le projet MILLE. Accération du CRIM, 4, 26–27..
68. Hissam, S.A., Plakosh, D., and Weinstock, C. (2002). Trust and Vulnerability in Open Source Software. (Technical Report 20020208). IEE
Proceeding online..
69. ITsecurity (2002). The Strengths and Weaknesses of Open Source Software – And Its Role in the Security Model. Paper. ITsecurity.com:..
70. Jiwnani, K. and Zelkowitz, M. (2002). Maintaining Software with a Security Perspective. (Technical Report IEEE). International Conference on
Software Maintenance (ICSM’02)..
71. Judge, Peter (2002). Diffie defends open-source security. ZDNet, UK..
72. Diffie, Whitfield (2003). Perspective: Decrypting the Secret to Strong Security. news.com..
73. Jones, A. Russell (2004). Open Source Is Fertile Ground for Foul Play. DevX.com..
74. Stone, Mark (2004). Is Open Source Secure?. www.devx.com..
75. Anderson, Ross (2002). Security in Open versus Closed Systems – The Dance of Boltzmann, Coase and Moore. Paper. Cambridge University,
England..
76. Angelius, Ladd (2004). Who’s Guarding the Guards? We Are.. Technical Report. DevX.com..
77. Moran, Patrick J. (2003). Developing An Open Source Option for NASA Software. (Technical Report NAS-03-009). NASA Ames Research
Center..
78. Geurts, Bryan A. (2004). NASA’s Open Source Licensing. news.osdir.com, Vol. 1.1..
79. Advanced Simulation and Computing (ASCI) (2003). Request for Information: Open Source Software Development Acceleration (OSSODA).
(Technical Report UCRL-MI-153295). National Nuclear Security Administration (NNSA)..
80. Dongarra, Jack, Malony, Allen, Hollingsworth, Jeffrey, and al. (2003). Response to the Request for Information: Open Source Software
Development Acceleration. Technical Report. National Nuclear Security Administration (NNSA)..
81. Office of Government Commerce (2002). Open Source Software – Guidance on Implementing UK Government Policy. Technical Report.
Cabinet Office Minister of State..
34
82. Gagné, Claude (2003). Innovation in ICT Innovation in Canada. Presentation Power Point. Industry Canada..
83. Wheeler, David A. (2003). GRAM List. Paper. Personal Web Page. http://www.dwheeler.com/gram.html.
84. Ravella, John and Lum, Rosalyn (2004). Free as in Freedom. Software Development Magazine..
85. Carbone, Richard (2004). Contributions to FOSS from the Large IT Companies. Internal Document..
86. Wheeler, David A. (2003). How to Evaluate Open Source Software / Free Software (OSS/FS) Programs. Paper. Personal Web Page.
http://www.dwheeler.com/oss_fs_eval.html.
87. Surman, Mark and Diceman, Jason (2003). Multimedia Training Kit – Choosing Open Source Software Handout. Paper. The Commons Group,
for the Association for Progressive Communications (APC)..
88. Crispin Cowan (2003). Software Security for Open-Source Systems. Technical Report. IEEE Computer Society..
89. Sandred, Jan (2001). Managing Open Source Projects, Robert Ipsen..
90. GNU Project. Various Licenses and Comments about Them. GNU Project web server,.
http://www.fsf.org/licenses/license-list.html.
91. Désilets, Alain, Jenkins, Stephen, Kark, Anatol W., and al (2004). Open Source Software in NRC. Guidebook. National Research Council
Canada – Information Management Services Branch..
92. Moglen, Eben (2004). Now They Own It, Now They Don’t: SCO Sues Novell to Stay Afloat. LinuxDevices.com..
93. ATICA (2002). Guide to choosing and using free software licences for government and public sector entities. Technical Report. ATICA –
Agency for Information and Communications Technologies in the Civil Service..
94. ATICA (2002). Guide to choosing and using free software licences for government and public sector entities, Appendix: Detailed analysis of
licences. Technical Report. ATICA – Agency for Information and Communications Technologies in the Civil Service..
95. Webbink, Mark (2003). Understanding Open Source Software. GROKLAW..
96. Ruffin, Michel and Ebert, Christof (2004). Using Open Source Software in Product Development : A Primer. Study. IEEE Software..
97. Lerner, Josh and Tirole, Jean (2002). The Scope of Open Source Licensing. Paper. Harvard University and NBER; University of Toulouse and
MIT..
98. Aigrain, Philippe (2002). A Framework for Understanding the Impact of GPL Copylefting vs. non Copylefting Licenses. Paper. European
Commission..
35
99. McOrmond, Russel (2003). A Review of Software Patent Issues. Flora, Ca..
100.Fitzgerald, Brian and Kenny, Tony (2004). Developing an Information Systems Infrastructure with Open Source Software. Study. IEEE
Software..
101.Lussier, Stepane (2004). New Tricks: How Open Source Changed the Way My Team Works. Study. IEEE Software..
102.Serrano, Nicolas, Calzada, Sonia, Sarriegui, Jose Mari, and Ciordia, Ismael (2004). From Proprietary to Open Source Tools in Information
Systems Development. Study. IEEE Software..
103.Dinlelacker, Jamie, Garg, Pankaj K., Miller, Rob, and Nelson, Dean (2001). Progressive Open Source. Study. Hewlett-Packard Compagny..
104.Dressler, Jean-Marc and Kandadai, Swamy N. (2001). Performance of Scientific Applications on Linux Clusters. Performance Technical
Report. IBM..
105.Open Source Observatory (2003). Back-office migration supports anti-terrorism. Technical Report. Bundeskartellamt..
106.Scacchi, Walt (2001). Understanding the Requirements for Developing Open Source Software Systems. Paper. Institute for Software Research,
University of California..
107.Asklund, Ulf and Bendix, Lars (2001). Configuration Management for Open Source Software. Paper. Lund Institute of Technology and Aalborg
University..
108.Macvittie, Lori (2004). Inside Linux. Study. Network Computing..
109.Gillen, Al, Kusnetzky, Dan, McLarnon, Scott, and Perry, Randy (2003). Linux and Intel-Based Servers: A Powerful Combination to Reduce the
Cost of Enterprise Computing. WhitePaper. IDC..
110.Gillen, Al, Kusnetzky, Dan, Melenovsky, Mark, and North, Bill (2003). Expanding Linux System Configurations for Enterprise Deployment.
White Paper. IDC..
111.Gillen, Al, Kusnetzky, Dan, and Rosen, Michele (2003). Accelerating the Adoption of Enterprise Linux Through IBM Software Solutions.
White Paper. IDC..
112.Claybrook, Bill (2002). Linux Is Ready Scalability, Reliability, Security, Flexibility, and Total Cost of Ownership Considerations. Technical
Report. Bloor Research North America..
113.Schmidt, Klaus M. and Schnitzer, Monika (2002). Public Subsidies for Open Source? Some Economic Policy Issues of the Software Market.
Paper. University of Munich, CEPR and CESifo..
36
114.Taylor, Graham (2001). Open Source – Coming of Age. Paper. OpenForum Europe..
115.Shahrawat, Dushyant (2002). Wall Street Romances the Penguin: The Growing Popularity of Linux. Research Notes. TowerGroup..
116.Drakos, Nikos, Mai, Andrea Di, and Simpson, Robin (2003). Open-Source Software Running for Public Office. (Technical Report AV-19-5251).
Gartner..
117.Briggs, Julie and Peck, Dr Matthew (2003). QinetiQ Analysis of Open Source Solution Implementation Methodologies – QOSSIModo.
(Technical Report Version 1). QinetiQ..
118.netproject (2003). Notes on the use of the Cost Comparison Spreadsheet. (Technical Report version 1, see also Excell spreadsheet in
References). Interchange of Data between Administrations..
119.Meng, Tan Tze (2003). The Case for Open Source: OSS vs Proprietary Software. (Technical Report Version: 1.2). MNCC OSSIG Awareness
Sub-Group Paper..
120.Robert Frances Group (2002). Total Cost of Ownership for Linux in the Enterprise. Study. Robert Frances Group..
121.Smith, David Mitchell, Simpson, Robin, Silver, Michael A., and Fiering, Leslie (2003). Linux on the Desktop: The Whole Story. (Technical
Report AV-20-6574). Gartner..
122.Kenwood, Carolyn A. (2001). A Business Case Study of Open Source Software. (Technical Report MP 01B0000048). MITRE..
123.Cybersource (2002). Linux vs. Windows – Total Cost of Ownership Comparison. (Technical Report Version 1.0.1). Cybersource..
124.Offentlig Information Online (OIO) (2003). Desktop Evaluation Model. (Technical Report 0.8). Danish Government..
37
List of Acronyms
AFL
Academic Free License
DNS
Domain Name Server/Service
AFPL
Aladdin Free Public License
DoD
Department of Defense
AFUL
Association Francophone des Utilisateurs de Linux et des
Logiciels Libres
DRDC
Defence Research & Development Canada
EHR
Electronic Health Record
EJB
Enterprise JavaBeans
EPS
Encapsulated PostScript
AOL
America On Line
ANSI
American National Standards Institute
API
Application Programming Interface
ERP
Enterprise resource planning
ASCII
American Standard Code for Information Interchange
FAQ
Frequently-Asked Questions
BBS
Bulletin Board System
FLOSS
Free/Libre and Open Source Software
BDS
Business Development Service
FOSS
Free and Open Source Software
BSD
Berkeley Software Distribution
FS
Free Software
CAD
Computer Aided Design
FSF
Free Software Foundation
CF
Canadian Forces
FTP
File Transfer Protocol
CGI
Common gateway interface
FUD
Fear, Uncertainty, and Doubt
CORBA
Common Object Request Broker Architecture
GIS
Geographic Information System
COTS
Commercial Off-the-Shelf
GNU
GNU’s Not Unix
CPAN
Comprehensive Perl Archive Network
GoC
Government of Canada
CPU
Central Processing Unit
GPL
General Public License
CVS
Concurrent Versions System
GPS
Global Positioning System
DBMS
Database management system
GRAM
Generally Recognized As Mature
DLL
Dynamic Link Library
GRAS
Generally Recognized As Safe
DND
Department of National Defence
GRASS
Geographic Resources Analysis Support System
38
GSF
Generalized Satellite Format
GUI
Graphical User Interface
HQ
Headquarters
HTML
Hypertext Markup Language
HTTP
KBSt
Federal Government Co-ordination and Advisory Agency —
Germany
KDE
K Desktop Environment
LAN
Local Area Network
LGPL
Lesser General Public License
Hypertext Transfer Protocol
LPPL
LaTeX Project Public License
HTTPS
HTTP over SSL
MFC
Microsoft Foundation Classes
IDA
Interchange of Data between Administrations
MIT
Massachusetts Institute of Technology
IDE
Integrated Development Environment
MPI
Message Passing Interface
IDS
Intrusion Detection System
MPL
Mozilla Public License
IEEE
Institute of Electrical and Electronics Engineers
MS
Microsoft
NASA
National Aeronautics and Space Administration
IIS
Internet Information Server
NERA
National Economic Research Associates
IP
Intellectual Property
NIMA
National Imagery and Mapping Agency
IT
Information Technology
NIST
National Institute of Standards and Technologies
J2EE
Java 2 Enterprise Edition
NRC
National Research Council
J2ME
Java 2 Micro Edition
NSA
National Security Agency
J2SE
Java 2 Standard Edition
NTA
National Technology Alliance
JDK
Java Development Kit
ODBC
Open Database Connectivity
Just-in-time
OGD
JIT
Other Government Department
OGSI
Open Grid Services Infrastructure
JLS
Java Language Specification
ORB
Object Request Broker
JPL
Jet Propulsion Lab
JVM
Java Virtual Machine
OS
Operating System
JVMS
Java Virtual Machine Specification
OSI
Open Source Initiative
ORDBMS Object-Relational Database Management System
39
OSO
Open Source Observatory
SNMP
Simple Network Management Protocol
OSPR
Open Source Prototype Research
SSH
Secure Shell
OSS
Open Source Software
SSL
Secure Socket Layer
PDA
Personal Digital Assistant
SQL
Structured Query Language
PDF
Portable Document Format
TCO
Total Cost of Ownership
PGP
Pretty Good Privacy
TCP
Transmission Control Protocol
PHP
Hypertext Preprocessor
TCP/IP
Transmission Control Protocol/Internet Protocol
PIM
Personal Information Manager
TDP
Technology Demonstration Project
PKI
Public Key Infrastructure
UDP
User Datagram Protocol
PS
PostScript
UK
United Kingdom
PWGSC
Public Works Government Services Canada
PDF
Portable Document Format
UML
Unified Modelling Language
RBAC
Role-Based Access Control
URL
Uniform Resource Locator
R&D
Research and Development
USA
United States of America
RDBMS
Relational Database Management System
VCS
demonstrating Value–building Capacity–mobilizing Support
RFC
Request for Comments
VM
Virtual Machine
RPC
Remote Procedure Call
VPN
Virtual Private Network
RTF
Rich Text Format
VRML
Virtual Reality Markup Language
SCO
Santa Cruz Operation
WYSIWYG What-You-See-Is-What-You-Get
SELinux
Security Enhanced Linux
XML
Extensible Markup Language
40
Glossary of Relevant Terms
(Excerpt from[45])
Commercial software A software program is commercial if it is developed as a business activity. Commercial software can be free or non-free,
depending on its license. Likewise, a program developed by a school or an individual can be free or non-free, depending on its license. The
two questions, “what sort of entity developed the program?” and “what freedom do its users have?”, are independent. ‘Commercial’ and
‘proprietary’ are not synonymous — most commercial software is proprietary, but there is commercial free software, and there is also noncommercial non-free software.
Compatibility The term compatibility, in the software context, is closely related to interoperability. A product is compatible with a standard but
interoperable with other products that meet the same standard (or achieve interoperability through a broker).
Copylefted software Copyleft (as opposed to ‘copyright’) is the idea and the specific stipulation when distributing software, that the user will be able
to copy it freely, examine and modify the source code, and redistribute the software to others (free or priced) as long as the redistributed software
is also passed along with the copyleft stipulation. The term was originated by Richard Stallman and the Free Software Foundation (FSF).
Copylefted software is free software whose distribution terms do not allow re-distributors to add any additional restrictions when they redistribute
or modify the software. This means that every copy of the software, even if it has been modified, must be free software. Copyleft is a general
concept; to actually copyleft a program, you need to use a specific set of distribution terms (see reference below). Reference: The FSF definition
of Copyleft: http://www.gnu.org/copyleft/copyleft.html
Free Software (FS) Free Software (FS) is software that comes with permission for anyone to use, copy, and distribute, either verbatim or with
modifications, either gratis or for a fee. In particular, this means that the source code must be available. “Free software” is a matter of liberty,
not price. Within this context, ‘free’ should be understood as in “free speech”, not as in “free beer”. Free software deals with the users’ freedom
to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom for the users of the software:
•
•
•
•
Freedom 0 - The freedom to run the program, for any purpose.
Freedom 1 - The freedom to study how the program works, and adapt it to your needs - access to the source code is a precondition for this.
Freedom 2 - The freedom to redistribute copies so you can help your neighbour.
Freedom 3 - The freedom to improve the program, and release your improvements to the public, so that the whole community benefits access to the source code is a precondition for this.
Reference:
The FSF definition of Free Software: http://www.gnu.org/philosophy/free-sw.html
41
Free Software vs. Open Source There is significant disagreement in the software community about these two (largely synonymous) concepts - to
some extent, the Free Software movement and the Open Source movement are like two political camps within the free software community. The
official definition of “open source software”, as published by the Open Source Initiative, is very close to the definition of “free software” used
by the Free Software Foundation, though it is a little ‘looser’ in some respects. We won’t go further into this debate, except to acknowledge it
as a contentious issue. More information is available at: http://www.gnu.org/philosophy/free-software-forfreedom.html.
Freeware The term ‘freeware’ has no clear accepted definition, but it is commonly used for software packages that permit redistribution but not
modification (and their source code is not available). Freeware is offered at no cost, but it is typically copyrighted so that you can’t incorporate
its programming into anything you may be developing.
Interoperability Institute of Electrical and Electronics Engineers (IEEE) defines interoperability as the ability of two or more systems or components
to exchange information and to use the information that has been exchanged. Interoperability is the ability of a system or a product to work
with other systems or products without special effort on the part of the customer. The term is widely used in product marketing descriptions.
Products achieve interoperability with other products using either or both of two approaches:
•
•
By adhering to published interface standards
By making use of a ‘broker’ of services that can convert one product’s interface into another product’s interface “on the fly”
A good example of the first approach is the set of standards that have been developed for the World Wide Web. These standards include TCP/IP,
HTTP, and HTML. The second kind of interoperability approach is exemplified by the Common Object Request Broker Architecture (CORBA)
and its Object Request Broker (ORB).
Liteware Liteware is a term for software that is distributed freely in a version having less capability than the full for-sale version. It is usually
designed to provide a potential customer with a sample of the ‘look-and-feel’ of a product and a subset of its full capability. Liteware can
be considered a type of shareware (where shareware also includes products distributed freely, usually on a trial basis, that do not have full
capability).
Open Source Software (OSS) In general, Open Source Software (OSS) refers to any program whose source code is made available for use or
modification as users or other developers see fit. Open source software is usually developed as a public collaboration and made freely available.
In a stricter sense, OSS refers to software that complies with the “Open Source Definition”.
Open Standards Open Standards are characterized by the fact that the specifications on which they are based are owned by a vendor-neutral
organization rather than by the original developers. Anyone is free to build software according to the specifications without infringement of
intellectual property rights, though typically there are several freely available implementations (commercial or Open Source). Their real virtue
is that they have been adopted by the industry and are “future proof”. An open standard is more than just a specification. The principles behind
the standard, and the practice of offering and operating the standard, are what make the standard ‘open’:
Availability Open standards are available for all to read and implement.
42
Maximize End-User Choice Open standards create a fair, competitive market for implementations of the standard. They do not lock the
customer into a particular vendor or group.
No Royalty Open standards are free for all to implement, with no royalty or fee. Certification of compliance by the standards organization may
involve a fee.
No Discrimination Open standards and the organizations that administer them do not favour one implementer over another for any reason
other than the technical standards compliance of a vendor’s implementation. Certification organizations must provide a path for low and
zero-cost implementations to be validated, but may also provide enhanced certification services.
Extension or Subset Implementation of open standards may be extended, or offered in subset form. However, certification organizations may
decline to certify subset implementations, and may place requirements on extensions (see Predatory Practices).
Predatory Practices Open standards may employ license terms that protect against subversion of the standard by embrace-and-extend tactics.
The licenses attached to the standard may require the publication of reference information for extensions, and a license for all others to
create, distribute, and sell software that is compatible with the extensions. An open standard may not otherwise prohibit extensions.
An important aim of adhering to open standards is to achieve and promote interoperability.
A second set of open standards is typically created by a consortium of industry leaders (institutions or individuals) that determined that there
is a general requirement for a specific standard. It is also important to note the influence of general acceptance of open standards. If a
standard is not widely adopted, its development will probably stop and it will end up supporting only a very limited number of proprietary
products’ interaction.
Reference: Principles and Practice of Open Standards: http://perens.com/OpenStandards/Definition.html
OSI The Open Source Definition Open Source is a software certification mark owned by the Open Source Initiative (OSI). Developers of software
that is intended to be freely shared, possibly improved, and redistributed by others can use the Open Source trademark provided that their
distribution terms conform to the OSI’s Open Source Definition. To summarize, the Definition model of distribution terms require that:
•
•
•
The software being distributed must be redistributed to anyone else without any restriction
The source code must be made available (so that the receiving party will be able to improve or modify it)
The license can require improved versions of the software to carry a different name or version from the original software
Reference: The OSI definition of Open Source: http://www.opensource.org/docs/definition_plain.php
Postcardware Postcardware is freeware (no-charge software that is freely shared) that requires only that the user send the software provider a
postcard as a form of payment. The idea is to humanize the transaction, to remind the user that someone else shared something freely, and to
remind the provider that someone is actually using the creation.
Proprietary Software Proprietary software describes software that is owned exclusively by a single company that carefully guards knowledge about
the technology used and the software’s inner workings. Some proprietary products can only function properly, if at all, when used with other
43
products owned by the same company. Proprietary software is software that is not free or semi-free. Its use, redistribution or modification is
prohibited, or is restricted so much that you effectively cannot do it freely.
Public domain software Programs that are uncopyrighted, because their authors intended to share them with everyone else, are in the public domain.
The Unix community has developed a number of such programs over the years. Programs in the public domain can be used without restriction
as components of other programs. The simplest way to make a program free is to put it in the public domain, uncopyrighted. This allows people
to share the program and their improvements, if they are so minded. However, it also allows people to convert the program into proprietary
software. They can make changes, many or few, and distribute the result as a proprietary product, thus removing the freedom that the original
author provided. Public domain software is software that is not copyrighted. If the source code is in the public domain, it is a special case of
non-copylefted free software, which means that some copies or modified versions may not be free at all. In some cases, an executable program
can be in the public domain but the source code is not available. This is not free software, because free software requires accessibility of source
code.
Semi-free software Semi-free software is software that is not free, but comes with permission for individuals to use, copy, modify and distribute
(including distribution of modified versions) for non-profit purposes. Pretty Good Privacy (PGP) is an example of a semi-free program.
Shareware Shareware is software that is distributed free on a trial basis with the understanding that the user may need or want to pay for it later.
Some software developers offer a shareware version of their program with a built-in expiration date (e.g. after 30 days, the user can no longer
get access to the program). Other shareware (sometimes called liteware) is offered with certain capabilities disabled as an enticement to buy the
complete version of the program. Shareware comes with permission for people to redistribute copies, but no-one who continues to use a copy is
required to pay a license fee. Shareware is not free, or even semi-free software, for two reasons:
•
•
For most shareware, source code is not available; thus, you cannot modify the program in any way.
Shareware does not come with permission to make a copy and install it without paying a license fee, not even for individuals engaging in
non-profit activities. (In practice, people often disregard the distribution terms and do this anyway, but the terms do not permit it).
44
Annex A
FOSS applications for consideration within GoC (May 2004)
A.1
License Agreement - Legal Disclaimer
The Crown, the Minister of National Defence (Canada), and DRDC Valcartier GRANT you a non-exclusive license to this document. You may not
copy or disseminate this document openly to non-military or non-public servant members of the Department of National Defence, without the express
written authorization from the Crown, the Minister of National Defence, and DRDC Valcartier. You may read the document, but you may not include
it in your own work or cite it without the express authorization of the Crown, the Minister of National Defence and DRDC Valcartier. This document
is not open literature and must be treated as such. It cannot therefore be circulated outside the Department of National Defence without consent from
the Crown, the Minister of National Defence, and DRDC Valcartier. The Crown reserves all rights pertaining to this document and at any time it may
cancel any rights that you may assume that this License Agreement gives you, without notice and without prior consultation.
The Crown, the Minister of National Defence and DRDC Valcartier are not responsible for the manner in which you use this document or the
information contained therein. All reasonable efforts have been made to verify that the information is up-to-date, accurate, and timely. However,
nothing is guaranteed and any action you take on behalf of the information herein is solely your own responsibility. All reasonable efforts have been
made to ensure that all licensing information for the FOSS (Free and Open Source Software) programs included herein are accurate, up-to-date, and
timely. However, at your risk, you take at face value the licensing information put forward for each program in this document. Neither the Crown,
the Minister of National Defence, nor DRDC Valcartier state that any program listed herein is better than any other, open source or not. Opinions
expressed in this document do not reflect the opinions of the Crown, the Minister of National Defence, or DRDC Valcartier. Please consult legal
counsel if you are unsure about how to proceed concerning either your rights for this document and its License Agreement, or the licensing issues
surrounding FOSS programs, closed source programs, and commercial programs. As far as the closed source programs are concerned, again all
reasonable efforts have been made to ensure their accuracy. Every program you choose either to use or not to use is your own choice and neither the
Crown, the Minister of National Defence, nor the DRDC Valcartier can be held responsible for a choice which you willingly or unwillingly make.
There is no substitute for vigilance and in accepting this License Agreement, you accept the sole responsibility for verifying for yourself the rights and
entitlements to each and every software product listed in this document, including any expressed opinions. As the licensing for open source programs,
and sometimes for closed source and commercial programs, change rapidly, we can only make a best effort to include the licensing information for
the programs listed herein. Either way, you must verify for yourself whether the licensing for a given program applies within your corporate or
government structure.
Neither the Crown, the Minister of National Defence, nor DRDC Valcartier assume any responsibility for loss of data, damage to equipment, loss of
jobs, loss of limbs, dismemberment, disfigurement, or loss of life.
LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, OR OTHERWISE,
SHALL THE CROWN, THE MINISTER OF NATIONAL DEFENCE, OR DRDC VALCARTIER BE LIABLE TO YOU OR ANY OTHER PER-
45
SON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL
OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT SHALL THE CROWN, THE MINISTER OF NATIONAL DEFENCE, AND
DRDC VALCARTIER BE LIABLE FOR ANY DAMAGES, EVEN IF THE CROWN, THE MINISTER OF NATIONAL DEFENCE, AND DRDC
VALCARTIER SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER
PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT
APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU.
HIGH RISK ACTIVITIES. This document is not without faults and was not written or intended for use, sale, or resale as a decision-aid for you to
make decisions in replacing on-line control equipment in hazardous environments requiring fail-safe performance, such as in the operation of nuclear
facilities, aircraft navigation or communication systems, air traffic control, direct life- support machines, or weapons systems, in which the failure
of this document or the information herein could lead directly to death, personal injury, or severe physical or environmental damage (“High Risk
Activities”). The Crown, the Minister of National Defence, and DRDC Valcartier disclaim any express or implied warranty of fitness for High Risk
Activities.
TERMINATION. The license will terminate automatically if you fail to comply with the limitations described herein. Upon termination of this
license, you agree to destroy all copies of this document.
DISCLAIMER OF WARRANTY. This document is provided on an “AS IS” basis, without warranty of any kind, including, without limitation, the
warranties of merchantability, fitness for a particular purpose and non-infringement. The entire risk as to the quality and performance of this document
is borne by you. Should the document prove defective, you and not the Crown, the Minister of National Defence, or DRDC Valcartier assume the cost
of any service, repair, or restitution. This disclaimer of warranty constitutes an essential part of the License Agreement. SOME JURISDICTIONS
DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO YOU AND YOU MAY HAVE
OTHER LEGAL RIGHTS THAT VARY BY JURISDICTION.
MISCELLANEOUS. This License Agreement represents the complete agreement concerning this license and may be amended only by a written
agreement executed by the Crown, the Minister of National Defence, and DRDC Valcartier. If any provision of this License Agreement is held to be
unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License Agreement shall be governed by
applicable Canadian and Québec law.
If you feel like you may need to refer to legal counsel before starting to read this document after skimming the Legal Disclaimer, at least you have been
sensitized to the fact that important legal issues surround the use of FOSS within any information system. To summarize, this document is provided
as an introductory guide to available FOSS products for the exclusive use of DND personnel and their contractors. However, before including any
FOSS product in an operational system, a thorough and detailed analysis of several factors including legal/licensing, cost, and long-term maintenance
and migration of any FOSS component is required.
46
FOSS List
General Purpose Computing (A.2)
• Antivirus Software (4)
Scientific Domain Applications (A.3)
• Astronomy Software (5)
•
CAD Software (1)
•
Biological Software (6)
•
Command Lines and Remote Shells (8)
•
Chemistry Software (6)
•
Database, Data Mining, Search Engine Systems and Clients (17)
•
Electronics Software (4)
•
Desktop Managers (13)
•
Emulators (6)
•
Development / Programming / Toolkits / Libraries (39)
•
Geographical / Geological Software (11)
•
Distributed Computing Software (16)
•
Mathematics Software (11)
•
File Management Software (7)
•
Meteorological Software (4)
•
General Graphics Software (36)
•
Physics Software (4)
•
Graphing and Plotting Software (10)
•
Robotics Software (1)
•
Mail Clients and Servers (13)
•
Simulator Software (3)
•
Network Troubleshooting Tools (24)
•
Scientific Visualization Software (2)
•
Office Automation Software (35)
•
Operating Systems and Environments (11)
•
PDA Synchronization Tools (4)
•
PIM Software (5)
•
Portal Software (4)
•
PostScript Software (3)
•
Security / Network Security & Monitoring Software (43)
•
System Accessibility Software (11)
•
System Administration Software (31)
•
System Services Software (21)
•
Text Editors / IDE’s (10)
•
Web Browsers (7)
47
A.2
General Purpose Computing
Table A.1: General Purpose Computing
Product
Description
Antivirus Software:
F-PROT
It is an antivirus program that uses a
License: Closed source;
highly advanced set of heuristic
free for home users, but
algorithms that is available for
their is a cost if support
multiple platforms and architectures.
is needed.
Although it is ac closed-source
project, it is worth considering
because of its portability.
Clam AV
License: GNU GPL.
A GPL virus scanner, it features a
command-line and a fast
multithreaded daemon, it is a filter for
Sendmail, it also offers support for
compressed files, as well as a C library
for writing your own programs. It
currently scans for up to 20,000
viruses.
The Buzz
Status
While not as popular as Symantec
Antivirus, it is nonetheless a very
effective one and is available for
Windows, Linux, BSD, Solaris, and
DOS. The prices are inexpensive when
compared to many other similar
products. The products were freely
downloadable, and no source code was
provided with it. Currently scans for
more than 100,000 different viruses.
Designed for UNIX, it will compile on
most UNIX and UNIX-like operating
systems, including Mac OS X and
Cygwin. It features an up-to-date virus
database. It is difficult to determine
however if the virus database, through
heuristic algorithms, is equivalent to
other commercially available scanners.
Started in 1993, it was previously
available on BBS systems for
evaluation download, like McAfee
Antivirus. Little historical information
could be found on this antivirus, other
than the fact it was developed and
continues to be developed in Finland
by F-Prot Inc.
Still under active development, the
first release was April 2002. Thomas
Kojm started the project, although
various other developers supplied code
patching. It is currently at version
0.67.
48
Table A.1: General Purpose Computing (continued)
Product
OpenAntiVirus
License: GNU GPL.
MailScanner
License: GNU GPL.
Description
The OpenAntiVirus project is for
people seriously interested in
anti-virus research, network security
and computer security to communicate
with each other, to develop solutions
for various security problems, and to
develop new security technologies.
MailScanner is already a highly
respected open source e-mail security
system, with more users than AOL
and Hotmail combined, and this new
release increases its stability and
performance. MailScanner scans all
e-mail for viruses, spam and attacks
against security vulnerabilities. It is
not tied to any particular virus
scanner, but can be used with any
combination of 14 different virus
scanners, allowing sites to choose the
“best of breed” virus scanner. Because
it is open source, site administrators
can audit and verify the integrity of
the system.
The Buzz
As the name suggests, there are
antivirus products available. There is
one for the Squid proxy server
(Squid-Vscan), another for Samba
(Samba-Vscan), and of course a
command-line virus scanner
(VirusHammer). It is an interesting
initiative but it is poorly organized and
a Java-based virus scanner seems a
little like overkill.
Claiming to protect over 5 billion
e-mails a week with tens of millions of
users and more than 200,000
downloads, this product seems to be in
wide use and could be for you if you
want to have an open source virus
scanner and spam remover. While not
an antivirus itself, it allows you to
plug in a product you like or feel
comfortable with, and through the
MailScanner’s open architecture lets
you maintain greater control over your
systems.
Status
While still under active development,
it is not possible to determine what
version the products are at. The
project / foundation was started in
2000. It cannot be determined who the
developers of the project are.
Still under active development, it is
currently at version 4.28-6. Julian K.
Field developed it. He is a systems
administrator at the School of
Electronics and Computer Science in
Southampton, UK. It cannot be
readily determined when the project
was started.
49
Table A.1: General Purpose Computing (continued)
Product
CAD Software:
QCad
License: GNU GPL.
Description
The Buzz
Status
QCad is an application for
computer-aided drafting in two
dimensions. With QCad, you can
create technical drawings such as
plans for buildings, interiors or
mechanical parts. QCad works under
Linux, UNIX Systems, Mac OS X and
Windows.
QCad was designed with modularity,
extensibility and portability in mind.
However, what people notice most
often about QCad is its intuitive user
interface. QCad is a simple 2D CAD
system for everyone. You do not need
any CAD experience to get started
with QCad immediately. Although
open source, you must purchase a
license in order to be able to work
with it. The software has a 10-minute
time out function. However, the
software is inexpensive to purchase.
Still under active development, it is
currently at version 2.0.2.0-1. It
cannot be determined when the project
started, nor can it be determined who
the author(s) of the program are.
50
Table A.1: General Purpose Computing (continued)
Product
Description
Command Lines and Remote Shells:
Bash
Bash is the shell, or command
Listed in: GRAS, IDA
language interpreter, that will appear
License: GNU GPL.
in the GNU operating system. Bash is
a Sh-compatible shell that
incorporates useful features from the
Korn shell (Ksh) and C shell (Csh). It
is intended to conform to the IEEE
POSIX P1003.2/ISO 9945.2 Shell and
Tools Standard. It is available for just
about every platform under the sky.
The Buzz
Status
It offers many useful improvements
over the original Sh shell, and
generally, is much better than the
commercially available Sh that come
with commercial version of UNIX.
Bash combines many good features
from Sh, Csh, and Ksh, making it
more versatile than the other shells
you are likely to encounter, and is easy
to use and learn due to its wide use in
the GNU world. It is the default shell
in Linux systems and now comes
bundled with many commercial
versions of UNIX as well. It offers
features useful for interactive use
include command line editing,
command history, job control, aliases,
and prompt expansion. Programming
features include additional variable
expansions, shell arithmetic, and a
number of variables and options to
control shell behaviour.
Not currently under active
development itself, its patches are still
under active development. Currently
at version 2.05b, development stopped
on the shell in 2002. The main authors
of the project are Chet Ramey and
Brian Fox; however, there are several
other developers and contributors to
the project. Although it cannot be
determined exactly when the project
started, version 1.14 was released in
1994.
51
Table A.1: General Purpose Computing (continued)
Product
Zsh
Listed in: IDA
License: ZSH License.
Tcsh
Listed in: IDA
License: Not available.
Description
Zsh is a shell designed for interactive
use, although it also supports a
powerful scripting language. Many of
the useful features of Bash, Ksh, and
Tcsh were incorporated into Zsh.
Many new and original features were
added. This shell is also available for
just about every platform under the
sky.
The Buzz
You may want to consider working
with Zsh on systems that have all too
often few available system resources.
Zsh is light on resources. It supports
login and logout watching, periodic
command execution, and it supports
TTY sanity checking just to name a
few. Perhaps you are interested in
learning a new scripting language.
The Tcsh is the Csh with file name
completion and command line editing.
It also supports spelling correction, a
history mechanism, enhanced
directory parsing and directory stack
handling.
Little difference between the Csh and
Tcsh other than command line edit
and file name completion. However,
as the years move by, Csh no longer is
the default shell on many operating
systems that are moving back to either
Sh or Bash.
Status
Still under active development, it is
currently at version 4.2.0. The original
developers were Paul Falstad, Richard
Coleman, Zoltan Hidvégi, Andrew
Main, Peter Stephenson, Sven
Wischnowsky, et al. Peter Stephenson
still appears to be on the current
development team. The project dates
back to the 1980’s, however, this
cannot be accurately verified.
However, version 2.1 dates back to
1992.
No longer under active development,
the current version is 6.12.00. It
cannot be determined who actually
started the Tcsh project or when it was
started or who is currently developing
or maintaining the project. However,
the Tcsh itself dates back to the
1980’s, but the exact date remains
uncertain.
52
Table A.1: General Purpose Computing (continued)
Product
Vishnu Visual Shell
License: GNU GPL.
Description
The Vshnu Visual Shell is just that, a
visual shell. It is not a mouse driven
shell, and it is not a file manager nor is
it a command-line interface. Not a
new idea, visual shells can operate
within an entire terminal or console
screen. File listings are displayed for
your constant reference. Common
commands and operations can
typically be performed in fewer
keystrokes in a visual interface.
The Buzz
Some visual shells have promoted
themselves as simpler menu-oriented
interfaces suitable for novices, while
others emphasize more expert
functionality. Visual shells have never
really caught on, except some in
certain circles such as Emacs’ “dired”
mode and the Midnight Commander
program. Vshnu can operate as an
optional supplemental visual mode to
your command line shell. Common
commands and operations can
typically be performed in fewer
keystrokes in a visual interface. You
switch between command line and
visual mode easily as you wish. It
requires Perl 5.002 and the Perl
modules Term::Screen and
Term::ANSIColor (available at
CPAN). It also offers lots of other
options and features. See the web site
for more details.
Status
Still under active development, it is
currently at version 1.0115. Vshnu
was inspired by the Vsh that was
written sometime in the 1980’s. The
author of the program claims “The
‘nu’ in ‘Vshnu’ implies ‘new’, of
course, as well as invokes the Hindu
god Vishnu, the preserver of the
universe and restorer of dharma.” The
project was started in 1999 and the
author is Stephen B. Kinzler.
53
Table A.1: General Purpose Computing (continued)
Product
Wsh
License: GNU GPL.
Description
Wsh is a remote UNIX and Windows
shell that works through its use of
HTTP and HTTPS. In short, it is a
shell that works on the Internet
browser ports of 80 and 447. It also
offers SSL support and a command
line history.
The Buzz
Although this tool does not offer
options that other command shells do,
what sets it apart from the pack is that
it connects to remote machines via
HTTP and HTTPS. This means that it
is capable of bypassing firewall and
proxy server-based networks. If your
network does not allow SSH ports but
allows HTTP, then you can access
remote systems. However, you will
want to use HTTPS if you will access
systems at large on the Internet
otherwise your password will be sent
as cleartext over the Internet. Your
system or network administrators may
encourage or even discourage you
from using this shell.
Status
Still under active development, it is
currently at version 2.1.0. Alex
Dyatlov and Simon Castro developed
it. It dates back to at least 2002.
54
Table A.1: General Purpose Computing (continued)
Product
Sudoscript
License: Artistic
License, GNU GPL.
Rssh
License: BSD-like
license.
Description
It is a pair of Perl scripts, Sudoscriptd
and Sudoshell, which provide an
audited shell using the Sudo
command. For those who do not know
what Sudo is, it is a command that
allows users to execute a command as
the superuser user, or as another
altogether, as specified in the Sudoers
file.
Rssh is a restricted shell for use with
OpenSSH that allows only Scp and
Sftp connections.
The Buzz
Because of the obvious security risks
associated with allowing users to use
Sudo, let alone running commands as
the root user, you might ask yourself if
running a shell through Sudo defeats
its own purpose. The reason why you
want to do this is to limit what
commands could be run by users.
However, using Sudo, you can also
maintain an audit trail of the
commands issued by users with root
privilege. Scripts maintain that audit
trail by logging all terminal output to
log files. However, before using this
tool, consider how it will affect your
site’s security and if it makes sense for
you to use it. It should work under
most versions of UNIX.
It uses OpenSSH to establish the
secure Scp and Sftp connections, but it
does not allow for access to a user
shell. You can avoid most of the
potential security issues by using the
most recent version of OpenSSH. It
works on most SVR4 platforms,
including Linux, but not the
BSD-based operating nor Mac OS X.
Status
Still under active development, it is
currently at version 2.1.1. Its
developer and maintainer is Howard
Owen. It dates back to 2002.
It is still under active development.
Dr. Derek Martin wrote the program.
Currently at version 2.1.1, it cannot be
determined when the project actually
started.
55
Table A.1: General Purpose Computing (continued)
Product
OpenSSH
Listed in:
GRAS, GRAM, IDA
License: BSD.
Description
OpenSSH is a FREE version of the
SSH protocol suite of network
connectivity tools that increasing
numbers of people on the Internet are
coming to rely on. OpenSSH encrypts
all traffic (including passwords) to
effectively eliminate eavesdropping,
connection hijacking, and other
network-level attacks. It also provides
a myriad of secure tunnelling
capabilities, as well as a variety of
authentication methods. However, it is
important to note that once SSH is
started and has connected and
authenticated itself to a remote system,
it will then bring up the user’s default
command line shell, such as Bash.
The Buzz
The de facto open source standard for
encrypting network
telecommunications without the use of
sophisticated hardware or software
(including IPSec).
Status
Still under active development, it is
based on the original free SSH 1.2.12
release from Tatu Ylönen (1995). SSH
has been around for many years and is
available for a wide number of
platforms. Aaron Campbell, Bob
Beck, Markus Friedl, Niels Provos,
Theo de Raadt, and Dug Song are the
creators of OpenSSH, and many
collaborators around the world
develop it. It is currently at version
3.7.
56
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
It is truly difficult to determine
whether MySQL or PostgreSQL is the
best choice for your needs. Each
database system has its own quirks,
difficulties, and ways in which it
implements the SQL standard. It is
Y2K compliant and supports most of
the ANSI SQL-99 implementations.
However, PostgreSQL currently
supports more SQL-99 features than
MySQL.
Still under active development, there
is MySQL and MySQL AB. The
former is the open source version
distributed under the GPL, while the
latter is the commercial version
distributed under MySQL license
agreement. Originally, there was only
MySQL. Its founder founded his own
company MySQL AB. It is difficult to
say exactly when MySQL was first
started, but it has been copyrighted
since 1995. However, the original
code seems to stem back to 1980’s.
Developed by David Axmark, Allan
Larsson, and Michael “Monty”
Widenius.
Database, Data Mining, Search Engine Systems and Clients:
MySQL
Listed in:
GRAS, GRAM
License: If used as open
source, GNU GPL; if
used commercially then
under MySQL
Commercial License.
MySQL is an open source
implementation of a Relational
Database Management
System (RDBMS) that uses
SQL-Structured Query Language to
create, modify, and add tables,
indexes, and data, as well as manage
these items. MySQL also has its own
extensions, which are not covered in
the ANSI SQL convention.
57
Table A.1: General Purpose Computing (continued)
Product
PostgreSQL
Listed in: GRAM
License: BSD.
Description
PostgreSQL is an open source
implementation of an
Object-Relational Database
Management System (ORDBMS). It
is similar in functionality to MySQL
and fully appears to fully support the
ANSI SQL-99 extensions (except
when some things do not make sense
or supersede/removes previous
functionality causing backward
compatibility issues).
The Buzz
PostgreSQL does support slightly
more ANSI SQL features than
MySQL and supports multiple-stack
QUERY statements. Overall,
PostgreSQL is more feature rich and
has a more powerful SQL command
implementation. However, MySQL in
many benchmarks is faster.
Status
Still under active development, in its
original form it was started in 1977 as
a project named Ingres at the
University of California at Berkeley.
Relational Technologies/Ingres
Corporation later developed Ingres
itself commercially. In 1986, another
team led by Michael Stonebraker from
Berkeley continued the development
of the Ingres code to create an
object-relational database system
called Postgres. In 1996, due to a new
open source effort and the enhanced
functionality of the software, Postgres
was renamed to PostgreSQL, after a
brief stint as Postgres95. There does
not appear to be any main developer or
maintainer of the project but rather has
developers sharing the work and a
steering group which makes decisions.
58
Table A.1: General Purpose Computing (continued)
Product
SAP DB / MaxDB
License: For those
developing it is GNU
GPL, for commercial
purposes it is MySQL
Commercial License.
RRDTool
Listed in: GRAS
License: GNU GPL.
MC
License: GNU GPL.
Description
MaxDB by MySQL is a re-branded
and enhanced version of SAP DB,
SAP AG’s open source database.
MaxDB is a heavy-duty, SAP-certified
open source database that offers high
availability, scalability and a
comprehensive feature set. MaxDB
complements the MySQL database
server, targeted for large SAP and
ERP environments and other
applications that require maximum
enterprise-level database functionality.
RRD is the acronym for Round Robin
Database. RRD is a system to store
and display time-series data (i.e.
network bandwidth, machine-room
temperature, server load average). It
stores the data in a very compact way
that will not expand over time, and it
presents useful graphs by processing
the data to enforce a certain data
density.
MC is a C++ program that creates
vector-space models from text
documents that can be used for text
mining application. MC provides an
efficient multi-threaded
implementation that can process very
large document collection.
The Buzz
A product worth trying for those who
need SAP and/or ERP, or want to
develop these types of applications.
Still requires MySQL for its basic
database functionality.
Status
While still under active development,
it is currently at version 7.5.0.
However, it cannot be determined
when the project actually began or
who develops and maintains it.
Use it in your Perl / shell scripts. A
great tool for creating graphs of
system administration-based
information. If you are a system
administrator and need to graph your
system’s performance metrics, then
consider this program.
It is still under active development.
The author and main developer is Tobi
Oetiker. This tool is a spinoff of his
earlier project MRTG. It is currently at
version 1.0.46. The program dates
back to at least 1999.
Apparently, it is very fast, but it was
designed to run under Solaris.
However, there is no reason why it
would not compile and work under
Linux. Use this program if you need
to datamine from text files.
It is no longer under active
development; J. Fan developed it. It
cannot be determined when the project
was started, but it stopped in 2001. It
is currently at version 2.28.
59
Table A.1: General Purpose Computing (continued)
Product
Pybliographer
License: GNU GPL.
GNU SQL
License: GNU GPL.
Description
Pybliographer is a tool for managing
bibliographic databases. It can be used
for searching, editing, reformatting,
etc. In fact, it is a simple framework
which provides easy to use Python
classes and functions, and therefore
can be extended to many uses
(generating HTML pages according to
bibliographic searches, etc).
SQL Server is a free portable
multi-user relational database
management system. It supports the
full SQL89 dialect and has some
extensions from SQL92. It provides
multi-user access and transaction
isolation based on predicative locks. It
was meant to run under UNIX. It was
developed in the C programming
language. It also uses RPC’s, shared
memory and message queues.
The Buzz
In addition to the scripting
environment, a graphical Gnome
interface is available. It provides
powerful editing capabilities,
hierarchical search mechanism, and
direct insertion of references into LyX
and Kile, direct queries on Medline,
and more. It currently supports the
following file formats: BibTeX, ISI,
Medline, Ovid, and Refer.
Although it is no longer being
developed, you could use this software
as starting place to build your own
SQL compatible DBMS program, or
just read the source code to better
understand DBMS SQL-based
databases. It only supports, however,
SQL-89 with some SQL-92
extensions.
Status
It is still under active development.
Herve Dreau, Frederic Gobry, Travis
Oliphant, Darrell Rudmann, Peter
Schulte-Stracke, and John Vu
developed it. The project was started
in 1998 and is currently at version
1.2.3.
No longer actively developed,
development ceased in 1998. At the
time, the last release was 0.76b. The
first public release was in 1996. Its
main developer, Michael Kimelan
started working on the project in 1994.
60
Table A.1: General Purpose Computing (continued)
Product
Berkeley DB
Listed in: IDA
License: Berkeley
Database License.
Emdros
License: GNU GPL.
Description
The Berkeley Database is an
embedded database system. Its access
methods include B+ tree, Extended
Linear Hashing, fixed and
variable-length records, and Persistent
Queues. Berkeley DB provides full
transactional support, database
recovery, online backups, and separate
access to locking, logging and shared
memory caching subsystems. The
program supports C, C++, Java, Tcl,
Perl, and Python API’s.
The Buzz
It is an embedded database system,
and often finds itself being used by
other programs and systems for its
database library, whether to
implement a fully functional database
or an embedded one. The technologies
behind Berkeley DB are often found
in other commercial and open source
databases and RDBMS systems.
Emdros is an open source text
database engine for storage and
retrieval of analyzed or annotated text.
It has a powerful query-language for
asking relevant questions of the data.
Emdros has wide applicability in
fields that deal with analyzed or
annotated text. Application domains
include linguistics, publishing, text
processing, and any other fields that
deal with annotated text. Text-retrieval
applications such as
Bible-study-programs can also benefit
greatly. Emdros by itself is not very
useful. You need to write an
application on top of Emdros in order
to take advantage of the database
services offered by Emdros,
leveraging them in your particular
application domain.
Status
Still under active development, it is
now at version 4.2.52. It is currently
copyrighted by Sleepycat Software,
although they maintain its original
license. The University of California
at Berkeley sponsored the program up
until it was copyrighted by Sleepycat
software sponsored by the University
of California at Berkeley. However, it
cannot be determined when the project
was actually started and who was the
developer and who currently develops
and maintains it.
Still under active development, it is
currently at version 1.1.16. The author
of the program is Ulrik Peterson.
Version 1.04 can be traced back to
2001, but it certainly goes further back
than 2001.
61
Table A.1: General Purpose Computing (continued)
Product
MyDNS
License: GNU GPL.
PHP SQLVIEW
License: GNU GPL.
Description
MyDNS is a free DNS server for
UNIX implemented from scratch and
designed to serve records directly
from an SQL database (currently
either MySQL or PostgreSQL).
SQLView provides a user-friendly
interface for browsing an SQL
database and modifying SQL tables
using a web browser. This is strictly
an application to give users access to
view and modify their SQL tables.
SQLView allows one to walk through
a table, viewing all rows. If the tables
have a primary key and SQLView is so
enabled, the users may modify any
given column for a row, may add a
row or even delete a row.
The Buzz
Its primary objectives are stability,
security, interoperability, and speed,
though not necessarily in that order.
MyDNS does not include recursive
name service, or a resolver library. Its
primarily designed for organizations
with many zones and/or resource
records who desire the ability to
perform real-time dynamic updates on
their DNS data via MySQL. MyDNS
starts and is ready to answer questions
immediately, no matter how much
DNS data you have in the database. It
is very fast and memory-efficient.
It is not a tool to help database
administrators (other than perhaps
getting users to do manage their own
data). SQLView is a PHP application.
It makes use of PEAR::DB for its
database access and this means that
most common databases should work.
As of Dec 2003, MySQL, Postgres
and Sybase have been tested, but as
long as PEAR::DB has complete
support for your type of database,
SQLView should work without
modification.
Status
Still under active development, it
appears to be developed by Don
Moore. It is currently at version
0.10.3. The initial public release dates
back to 2002.
Still under active development,
Dmitriy Katsman, Terry Gliedt, and
Chris Van Ittersum develop it. It is
currently at version 2.0. The software
was originally written as part of the
FUSION project at the University of
Michigan. The project can be traced
back to 2002, but it probably extends
further back than this.
62
Table A.1: General Purpose Computing (continued)
Product
Xindice
License: Apache
License.
Druid
License: GNU GPL.
Description
Apache Xindice is a database
designed from the ground up to store
XML data. It is more commonly
referred to as a native XML database.
The Buzz
If you have a need for a XML
database, then you should try out this
program. If you do not need a XML
database or do not know what XML
is, then you stay with an RDBMS like
MySQL or PostgreSQL.
Druid lets users create databases
graphically. Users can
add/modify/delete database objects
(fields, tables, etc.) using a simple
GUI and can document each table and
field with HTML information. Druid
then generates an SQL script with all
table definitions that can be piped to
the DBMS; a data dictionary file
containing all the tables and field in
the database, and Java classes that
contain both the tables’ constants and
users’ code.
Use this tool to help design a
prototype DBMS before you actually
start hacking away at. This tool allows
you to give your DBMS some
forethought before you start
populating the database. The program
works with Java, C, and C++. There is
a plug-in architecture, so users can
write their own modules. The main
module is written in Java.
Status
Still under active development, the
Apache Foundation sponsors it.
Xindice is the continuation of the
project that used to be called the
dbXML Core. The dbXML source
code was donated to the Apache
Software Foundation in December of
2001. It is currently at version 1.0.
Norman Walsh appears to have written
much of the original code, and appears
to still be the lead developer of the
project.
Still under active development, the
main developer appears to be Andrea
Carboni, although there are other
developers as well. It is currently at
version 3.4. Although it cannot be
determined when the project itself
started, it has been registered with
SourceForge since 2000.
63
Table A.1: General Purpose Computing (continued)
Product
PgAdmin
License: Artistic
License.
FireBird
License: The InterBase
Public License.
Description
PgAdmin III is a powerful
administration and development
platform for the PostgreSQL database,
free for any use. The application is
running under GNU/Linux, FreeBSD
and Windows 2000/XP.
Firebird is a relational database
offering many ANSI SQL-92 features
that runs on Linux, Windows, and a
variety of UNIX platforms. Firebird
offers excellent concurrency, high
performance, and powerful language
support for stored procedures and
triggers.
The Buzz
PgAdmin III is designed to answer the
needs of all users, from writing simple
SQL queries to developing complex
databases. The graphical interface
supports all PostgreSQL features and
makes administration easy. The
application also includes a query
builder, an SQL editor, a server-side
code editor and much more. PgAdmin
III is released with an installer and
does not require any additional driver
to communicate with the database
server.
Based on the source code from Inprise
Corporation’s InterBase RDBMS,
with the help of many C and C++
developers, FireBird was born. Expect
this to be an enterprise capable
RDBMS.
Status
It is still under active development.
Although it cannot be determined
when the project actually started, it
can be traced back to at least 2003
when it was at version 0.9.2. It is
currently at version 3-1.0.2. The lead
developer is Dave Page, although there
are other contributors to the project.
Still under active development and
currently at version 1.5, it is based on
the source code released to the
Internet community by Borland
Corporation for its enterprise database
InterBase. The source code to
InterBase was released in August
2000, and has since been developed by
the FireBird Project. Although the
project tried to remerge several times
with Borland, the eventual divorce of
code bases was inevitable.
64
Table A.1: General Purpose Computing (continued)
Product
UNIX-ODBC
License: GNU GPL and
GNU LGPL.
DocSearcher
License: Apache
License.
Description
ODBC is an open specification for
providing application developers with
a predictable API with which to access
Data Sources. Data Sources include
SQL Servers and any Data Source
with an ODBC Driver. The
UNIXODBC Project goals are to
develop and promote UNIXODBC to
be the definitive standard for ODBC
on non-MS Windows platforms. This
is to include GUI support for both
KDE and GNOME.
The goal of DocSearcher is to
effectively serve as an easy to use
central management toolkit for search
related functions at both the user and
system-administration level.
DocSearcher uses the Open Source
Lucene and POI Apache API’s as well
as the Open Source PDF Box API to
provide searching capabilities for
HTML, MS Word, MS Excel, RTF,
PDF, Open Office and Star Office
Documents, and text documents.
Other file formats are currently not
supported. In short, it is capable of
searching through these document
types are creating an indexed list that
can be queried for key words to help
you find specific documents.
The Buzz
This now makes it possible to work
with multiple database types directly
from your UNIX system, and access
your different databases just as you do
for your Windows ODBC system. It
supports many databases, and of
course supports all of the major
commercial and open source ones.
Status
Still under active development, the
main developers appear to be Peter
Harvey and Nick Gorham, although
there are many other contributors to
the project. The project can be traced
back to at least 1999, although it
probably dates back further than this.
It is currently at version 2.2.8.
There is a server side component to
DocSearcher that enables its Lucene
indexes to be searched via web pages,
such as on an intranet. Deployment on
a standard J2EE or J2SE app server
such as TOMCAT or Jetty should be
easy. There is only one deployment
descriptor to set - which is the value
called USER_HOME, which should
point to the directory where the
index_list.htm file is located. The
future of DocSearcher will be an easy
to manage search engine for multi-site
searching with easy to manage
performance metrics. You will need
Java 1.4.0 or higher to run
DocSearcher.
Still under active development, it was
initiated as a project by the
Department of Homeland Security to
help the department in searching
through its own data warehouses for
critical information in files. The team
leader of the project is John Brown,
although there are currently four other
developers working on the project as
well. While it is difficult to determine
when the project was started, it has
been registered with SourceForge
since 2003.
65
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
The XFree86 project is a project that
aims to produce a platform
independent X Server / Client
architecture for both the local and
remote displaying of X-based
applications. It is a fully open source,
POSIX, X11R6 implementation of the
X standard.
The problem with XFree86 is not that
it is not a high performance X system.
On the contrary, it is so high
performance that SGI now includes it
as the default X server on their new
Onyx4 UltimateVision systems. The
problem is that PC’s all too often do
not have the necessary hardware to
take full advantage of X. The other
problem is that it is complex to setup
for multihead and multipipe use,
however it is possible. Finally, the
other problem is that all too often
video card manufacturers provide
cheap drivers for XFree86, and those
that are written by the XFree86 are all
too often not optimized enough
because the developers did not have
access to better source code directly
from the card manufacturer. It is fully
compatible and interoperable with
anything talking X. It has also has
been ported to many platforms, even
non-UNIX platforms.
It is based on the work of then
German student Thomas Roell (1989 /
1990) who ported over code from the
X11R4 distribution of X and called it
X386.1.1. In August 1991, with the
aid of others, Roell gave PC-based
UNIX its first X implementation.
Today, XFree86 is developed by
hundreds of international contributors
who are pushing the movement
forward. It is currently at version 4.4.0
RC3.
Desktop Managers:
XFree86
Listed in:
GRAS, GRAM, IDA
License: XFree86
License.
66
Table A.1: General Purpose Computing (continued)
Product
GNOME
Listed in: GRAM, IDA
License: GNU GPL.
KDE
Listed in: GRAM
License: GNU GPL.
XFCE
License: GNU GPL.
Description
The GNOME project provides two
things: The GNOME Linux desktop
environment, an intuitive and
attractive desktop for end-users, users,
and the GNOME development
platform, an extensive framework for
building applications that integrate
into the rest of the desktop.
KDE is a powerful Open Source
graphical desktop environment for
Linux and UNIX workstations. It
combines ease of use, contemporary
functionality, and outstanding
graphical design with the
technological superiority of the UNIX
operating system. It is however, a bit
heavy on your system’s resources. Use
GNOME if resources are scarce.
XFCE is a lightweight desktop
manager that runs on many platforms
and provides a very intuitive user
interface. It is a desktop manager for
UNIX, UNIX-clone, and BSD
operating systems. Its goals are to be
fast and very light-weight.
The Buzz
Until just a couple of years ago, it was
for many Linux and other UNIX-like
distributions the standard desktop. It is
a highly stable, intuitive desktop to
work with. In the last couple of
versions more emphasis was placed on
visual appearance and functionality.
Many useful user and system
applications come bundled with the
desktop. It should compile on most
major platforms.
It competes for room in the desktop
arena with GNOME, its greatest rival.
KDE can boast a more intuitive
environment than the other desktop
managers can. It is also a more
visually appealing environment. Many
useful user and system applications
come bundled with the desktop. It
should compile on most major
platforms. It is probably the most
popular desktop at this moment for the
open source operating systems.
It is very nice and fast. It is a good
alternative to those familiar with the
CDE desktop. It should compile on
most major platforms.
Status
Under active development, it is
currently at version 2.4. The first
release of GNOME was in 1997. It is
worked on by hundreds of
international contributors.
The KDE project was started in 1996.
It is still under active development.
Currently, it is at release 3.2.
It is currently at version 4.0.3.1 and is
under active development. It was
developed primarily by Olivier
Fourdan. However, it cannot be
determined when the project actually
started, but it has been around since at
least 2001.
67
Table A.1: General Purpose Computing (continued)
Product
Enlightenment
License: GNU GPL.
B4STEP
License: License Free of
fee.
BLACKBOX
License: GNU GPL.
Description
Enlightenment is a themeable, fast,
flexible, and powerful window
manager designed to be extremely
configurable in both look and feel.
The program also includes an applet
API that provides functionality
somewhere between the GNOME
applet system and DockApps from
AfterStep/WindowMaker. The current
aim is for Enlightenment to become a
desktop shell.
A very simple and easy to use
graphical interface, B4STEP makes
itself unique only in the way in which
it handles window banners. It, like
Enlightenment makes use of an
uncluttered windowing environment.
It is another lightweight desktop
manager, and is very fast. It uses an
uncluttered desktop approach
resembling that of Enlightenment. Its
main feature is that it has no virtually
no library dependencies, so it can be
compiled on just about any platform,
even on Cygwin.
The Buzz
Overall, a very nice and easy to work
with interface. It is very similar to
Solaris’ OpenWindows and HP-UX’s
Open Look desktop managers. It
interoperates well with GNOME. It
should compile on most major
platforms.
Status
Released in 2000, it is currently at
development release DR17. Originally
started by Carsten Haiztler and Geoff
Harrison, it is now being developed by
several dozen developers and
contributors. It is still under active
development.
It has slightly more emphasis on
visual features than Enlightenment,
but not enough to distract a user from
the work at hand. It is fully GNOME
compliant, and interacts with the
GNOME desktop with relative ease.
You can consider B4STEP a cross
between CDE and Enlightenment with
an enhanced GNOME support. It
should compile on most major
platforms.
Very simple GUI. By no accounts is it
a visually stunning desktop manager,
but its force is in the fact that it has
almost no library dependencies and it
can be compiled on almost anything
anywhere. It should compile on most
major platforms.
The project appears to have started in
at least 1999. It was developed by Eric
Boucher. It no longer is under active
development. The last release was in
2001 and was version 2.2.
It is no longer under active
development. The last version was
released in 2002 and it is currently at
version 0.65.0. The main developers
were Sean Perry and Ben Jansens.
68
Table A.1: General Purpose Computing (continued)
Product
FLWM
License: GNU GPL.
FVWM
License: GNU GPL.
Description
FLWM stands for the Fast Light
Window Manager. The entire desktop
manager, in terms of source code is
only 7,000 lines of code. The FLTK
library is designed to work directly on
top of Xlib, which is the driving
library for the X Windows UNIX
interface.
FVWM is an extremely powerful
ICCCM-compliant multiple virtual
desktop window manager for the X
Window system. FVWM is a multiple
large virtual desktop window manager
originally derived from TWM.
FVWM is intended to have a small
memory footprint and a rich feature
set, be extremely customizable and
extendable and have a high degree of
Motif MWM compatibility. FVWM is
highly extensible through its module
interface.
The Buzz
With only 7,000 lines of code, it sure
is fast. Consider using this desktop in
mission critical situations as a full
source code analysis can be
undertaken and completed within a
short amount of time. It should
compile on most major platforms.
Status
The main developer is Bill Spitzak,
and the project is no longer under
active development. It is currently at
release 1.00.
It sports nice graphics and a nice
virtual desktop manager. Let’s you
keep open many virtual desktops and
keep track of them easily and
efficiently. It should compile on most
major platforms.
It is still under active development and
is now at version 2.4.17 (stable). The
main developer appears to be Dominic
Vogt, although there are several dozen
current developers. The project itself
is a derived work from RXVT written
by Robert Nation in 1993.
69
Table A.1: General Purpose Computing (continued)
Product
IceWM
License: GNU GPL.
GWorkSpace
License: GNU GPL.
WindowMaker
License: GNU GPL.
Description
Similar to other lightweight desktop
managers, except that it was designed
to be used in conjunction with either
GNOME or KDE. Because of this,
you can run IceWM from inside of
KDE or GNOME. It was designed to
be a light, small, and fast desktop
manager, and emulates the look and
feel of Motif, OS/2, and Windows. It
should compile on most major
platforms.
It is a cloned desktop manager of the
NeXT desktop manager.
Another X11 window manager that
was designed to provide integration
for the GNUstep Desktop
Environment. In every way possible, it
reproduces the elegant look and feel of
the NEXTSTEP GUI. It is fast, feature
rich, easy to configure, easy to use,
and includes compatibility options
that allow it to work with GNOME
and KDE.
The Buzz
Its desktop is more configurable than
Enlightenment or FVWM, but is not
for those requiring desiring a visually
rich desktop environment.
Status
It is still under active development and
is currently at stable release 1.2.13.
Marko Macek is the main developer.
Version 1.0 was released in 1999.
If you like NeXT or want to work in a
similar environment, then should
consider this desktop. It should
compile on most major platforms.
It has the same look and feel as NeXT.
It should compile on most major
platforms.
Enrico Sersale is the developer of
GWorkSpace. It is still under active
development and is now at version
0.6.3. It was started in 2002.
It is still under active development.
The project was started in 1997. It is
developed by Alfredo Kojima. It is
currently at version 0.80.2.
70
Table A.1: General Purpose Computing (continued)
Product
Opie
License: GNU GPL.
Description
Opie is a fork of the Qtopia
environment developed by Trolltech.
It is a completely open source based
graphical user environment for PDA’s
and other devices running Linux.
The Buzz
For anyone using portable devices
such as PDA’s, this is a project really
worth looking into as it offers a free
alternative to products such as
PalmOS or Microsoft Windows
Mobile OS.
Status
The Opie project has just recently
gone beyond the version 1.x point and
its 1.x branch is now closed.
Improvements and bug fixes are still
being looked into and will be added in
future versions or patches. The current
version is 1.0.3. Development started
in 2003 with the release of version
1.0.0 and it cannot be determined who
is the author or maintainer of the
project.
71
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
De facto standard open source
compiler collection, which currently
works on just about every platform
currently in existence. It allows
developers to write their own
programs and code in a manner more
closely related to POSIX standards
than the majority of the other
compilers out there. It offers
compilation support for C, C++,
Fortran, Objective-C, Java, and Ada.
Rather than purchasing expensive
proprietary compilers, you should
seriously consider working with GCC.
Your code can generally be very easily
ported across multiple architectures
and platforms and will compile just as
well there. It also produces highly
optimized code and supports a
plethora of compilation options. Use it
as cross-platform development tool.
Still under active development, it is
currently at version 3.3.3. The
maintainer of the project is Mark
Mitchell, however, GCC receives
development and contribution support
from people all over the world. Its
main sponsor is Cygnus (a subsidiary
of RedHat) and CodeSourcery. The
first beta release, version 0.9, was
released in March 1987.
Development / Programming / Toolkits / Libraries:
GCC
Listed in:
GRAS, GRAM, IDA
License: GNU GPL.
GCC is the GNU Compiler Collection,
which currently contains front ends
for C, C++, Objective-C, Fortran,
Java, and Ada, as well as libraries for
these languages. GCC development is
a part of the GNU Project, aiming to
improve the compiler used in the
GNU system including the
GNU/Linux operating system. The
GCC development effort uses an open
development environment and
supports many other platforms in
order to foster an excellent optimizing
compiler, to attract a larger team of
developers, to ensure that GCC and
the GNU system work on multiple
architectures and diverse
environments, and to more thoroughly
test and extend the features of GCC.
72
Table A.1: General Purpose Computing (continued)
Product
GNAT
Listed in:
GRAS, GRAM
License: GNU GPL.
GDB
Listed in: GRAS
License: GNU GPL.
Description
GNAT is a free, complete compiler for
Ada95, integrated into the GCC
compiler system.
GDB, the GNU Project debugger,
allows you to see what is going on
inside another program while it
executes – or what another program
was doing at the moment it crashed.
The Buzz
Although Ada is not used anywhere as
much as it was years ago, it is
nonetheless a robust and stable
programming language which must
still be maintained today in sites all
around the world. Consider using
GNAT rather than paying thousands
for platform dependent versions of an
Ada compiler. GNAT now includes
GLIDE, an integrated development
environment that includes an editor
and debugger and supports multiple
graphical debuggers. You will also
find Ada used a lot in mission critical
systems and the military is a large user
of Ada code. GCC is required to
compile the Ada source code package.
You can also use it to debug core
dumps, as well as kernel dumps.
However, how well kernel dump
analysis works will depend on
whether or not you have access to the
kernel source code or not. It can
debug programs written in C, C++,
Pascal, Objective-C, Ada, and many
other languages. It will debug
programs not compiled with GCC;
however, it works better with
programs that were compiled with it.
Status
No longer under active development
and distributed as a part of GCC, its
maintainers are Robert Dewar and
Arnaud Charlett. For commercial or
mission critical use of Ada 95, contact
either Ada Core Technologies or
ACT-Europe. Currently at version
3.15, it has not received much
development since 2002.
Development appears to have started
on GNAT in 1992.
Still under active development, it is
currently at version 6.1. There are
currently eight maintainers for the
project, and seven developers working
on it. GDB has been around for many
years, at least since the mid-1990’s.
Version 4.18 dates back to 1999.
73
Table A.1: General Purpose Computing (continued)
Product
Perl
Listed in:
GRAS, GRAM, IDA
License: GNU GPL.
Description
Perl is a stable, cross platform
programming language. It is used for
mission critical projects in the public
and private sectors. It supports
multiple architectures and platform,
and is Y2K compliant. Perl supports
both procedural and object-oriented
programming.
The Buzz
It is an interpreted language, but is
almost as fast as a compiled language
like C. It can be considered a cross
between a shell scripting language and
C, but with object oriented
programming capabilities and
extensions. It is excellent for use with
database integration and text parsing.
It is probably the most commonly
used CGI programming language and
is Web ready from the start. Easy to
learn and easy to use, it is a great
programming language. Perl can also
be inlined into C and C++ programs,
and is great for writing your own
network-enabled programs.
Status
It is still under active development; it
was developed and is still maintained
by its author Larry Wall. Version 1.0
was released in 1987, and therefore it
is a stable programming language.
Highly extensible, there are more than
500 contributor modules for it on
CPAN. It is currently at stable release
5.8.3.
74
Table A.1: General Purpose Computing (continued)
Product
PHP
Listed in:
GRAS, GRAM
License: PHP License.
Description
PHP is a widely used general-purpose
scripting language that is especially
suited for Web development and can
be embedded into HTML. It is like
JavaScript, but more flexible and
object-oriented. It is often used in
portal systems and in web-based /
web-sharing applications.
The Buzz
PHP is a hypertext pre-processor. It is
often embedded directly into HTML
web pages where it can perform its
work directly within the web page,
rather than being called as an applet or
external CGI script. However, while
similar in certain regards to Perl and
Python, PHP is also dissimilar from
them because instead of writing code
that outputs HTML you write HTML
with embedded code to do something
useful. In order to work, you need
only have a PHP parser. PHP has
wider support for browsers and web
servers than Perl, and it supports just
about every major database system
available on the COTS or FOSS
market.
Status
Still under active development, it is
currently at stable release version
4.3.5. The first version of PHP to be
released publicly was version 4.0 that
was in 1999. PHP is a project of the
Apache Software Foundation. The
PHP Group consists of Thies C.
Arntzen, Stig Bakken, Shane Caraveo,
Andi Gutmans, Rasmus Lerdorf, Sam
Ruby, Sascha Schumann, Zeev
Suraski, Jim Winstead, and Andrei
Zmievski.
75
Table A.1: General Purpose Computing (continued)
Product
Python
Listed in: GRAM, IDA
License: Python Public
License.
Description
Python is an interpreted, interactive,
object-oriented programming
language. It is often compared to Tcl,
Perl, Scheme or Java. Python
combines remarkable power with very
clear syntax. It has modules, classes,
exceptions, very high-level dynamic
data types, and dynamic typing. There
are interfaces to many system calls
and libraries, as well as to various
windowing systems (X11, Motif, Tk,
Mac, MFC). New built-in modules are
easily written in C or C++. Python is
also usable as an extension language
for applications that need a
programmable interface.
The Buzz
Python is another high-level
programming language that can be
applied to many problems. Like Perl,
it is an interpreted language, and is
great for working on file I/O problems
such as parsing and sifting and sorting
data, to be used for networking and
CGI programming. Python, however,
unlike Perl, is better suited to GUI
programming as it can take advantage
of GTK+, QT, and OpenGL just to
name a few. Python is an
object-oriented language like Perl.
Python inline code can also be
compiled into C and C++ programs,
although this can also be done for Perl
as well.
Status
It is still under active development. It
is currently at version 2.3.3. Guido
van Rossum at Stichting
Mathematisch Centrum in the
Netherlands created Python in the
early 1990s. It was created as a
successor of a language called ABC.
Guido remains Python’s principal
author, although it includes many
contributions from others. In 1995,
Guido continued his work on Python
at the Corporation for National
Research Initiatives in Reston
Virginia, where he released several
versions of the software. In May 2000,
Guido and the Python core
development team moved to
BeOpen.com to form the BeOpen
PythonLabs team. In October of the
same year, the PythonLabs team
moved to Digital Creations (now Zope
Corporation). In 2001, the Python
Software Foundation was formed, a
non-profit organization created
specifically to own Python-related
Intellectual Property. Zope
Corporation is a sponsoring member
of the PSF.
76
Table A.1: General Purpose Computing (continued)
Product
DDD
Listed in: GRAS
License: GNU GPL.
Zlib
Listed in: GRAS, IDA
License: Distributed as
Public Domain.
Description
GNU DDD is a graphical front-end for
command-line debuggers such as
GDB, DBX, WDB, Ladebug, JDB,
XDB, the Perl debugger, or the Python
debugger.
Zlib is designed to be a free,
general-purpose, legally
unencumbered lossless
data-compression library for use on
virtually any computer hardware and
operating system. The Zlib data
format is itself portable across
platforms.
The Buzz
As a front-end for many different
command-line debuggers, it is a very
useful tool as it allows learning just
one interface rather than having to
learn multiple debuggers and their
command-line. One great feature of
DDD is it has become famous through
its interactive graphical data display,
where data structures are displayed as
graphs.
Unlike the LZW compression method
used in the UNIX compress command
and in the GIF image format, the
compression method currently used in
Zlib essentially never expands the
data. Zlib’s memory footprint is also
independent of the input data and can
be reduced, if necessary, at some cost
in compression. Therefore, consider
using Zlib as an alternative to the
LZW compression algorithm.
Status
Still under active development, it is
currently at version 3.3.8. The primary
authors are Dorothea Lutkehaus and
Andres Zeller. There are also 4 other
developers working on the project.
Cannot determine when the project
actually started, although it was
registered at SourceForge in 2000.
Still under active development, it is
currently at version 1.2.1. Its
developers are Jean-Loup Gailly et
Mark Adler. The project appears to
have started in 1995.
77
Table A.1: General Purpose Computing (continued)
Product
Tcl/Tk
Listed in: GRAS
License: BSD.
Description
Tcl/Tk is actually two products
originally developed at the University
of California Berkeley, the Tool
Command Language and the Tool Kit.
They are a versatile scripting language
and a graphical interface development
tool, respectively.
The Buzz
One of Tcl’s most useful features is its
extensibility. If an application requires
some functionality not offered by
standard Tcl, new Tcl commands can
be implemented using the C language,
and integrated easily. Since Tcl is so
easy to extend, many people have
written extension packages for some
common tasks, and made these freely
available on the Internet. Itcl is an
extension of Tcl/Tk that allows the
developer to make scripts more object
oriented using C++ style syntax. Tix
is a set of widgets that extend the base
set to Tk widgets. In most cases, Tcl is
used in combination with the Tk
library, a set of commands and
procedures that make it relatively easy
to program graphical user interfaces in
Tcl.
Status
Still under active development, Dr.
Ousterhout while on sabbatical leave
from DEC in 1987 started it. In 1988,
when he got to Berkeley, he began
writing Tcl, which was first was
released in 1989. The first release of
Tk was in 1991. He then joined Sun
Microsystems in 1994 where in 1997 a
spin-off company was created called
SunScript. Then a Tcl consortium was
formed in 1997, but by 1999 fell apart
due a lack of participation. In 1998, he
left Sun to form his company Scriptics
where a group of 14 developers
spearheaded its development.
Currently at release version 8.4.6.
78
Table A.1: General Purpose Computing (continued)
Product
Weka
Listed in: GRAS
License: GNU GPL.
m4
Listed in: GRAS, IDA
License: GNU GPL.
Description
Weka is a collection of machine
learning algorithms for data mining
tasks. The algorithms can either be
applied directly to a dataset or called
from your own Java code. Weka
contains tools for data pre-processing,
classification, regression, clustering,
association rules, and visualization. It
is also well suited for developing new
machine learning schemes.
GNU m4 is a macro processor, in the
sense that it copies its input to the
output, expanding macros as it goes.
Macros are either built-in or
user-defined, and can take any number
of arguments. Besides just doing
macro expansion, m4 has built-in
functions for including named files,
running UNIX commands, doing
integer arithmetic, manipulating text
in various ways, recursion, etc. It can
be used either as a front-end to a
compiler, or as a macro processor in
its own right. Alternative address:
http://www.seindal.dk/rene/gnu
The Buzz
For those of you doing research or
development in data mining, you
should consider looking at this project
and see what it can offer you. Weka is
a collection of an assortment of useful
algorithms that can be applied to your
own work and easily incorporated. It
could also be of interest to those in AI
(artifical intelligence). It is platform
independent because it is written in
Java. You will need a JVM in order
for it to work.
GNU m4 is an implementation of the
traditional UNIX macro processor. It
is mostly SVR4 compatible, although
it has some extensions. GNU m4 also
has built-in functions for including
files, running shell commands, doing
arithmetic, etc. Generally, you
probably will not want to work too
much with this program. However,
there will be times when a macro
pre-processor does come in handy.
Autoconf needs GNU m4 for
generating ‘configure’ scripts, but not
for running them.
Status
It is still under active development; it
was developed and is still maintained
by its original authors Eibe Frank and
Mark Hall. Currently at version 3.4.1,
it is difficult to determine exactly
when the project started, but it has
been registered with SourceForge
since 2000.
It is still under active development;
René Seindal developed it in 1990. It
appears as if Gary V. Vaughn is the
current developer and maintainer. It is
currently at version 1.4.
79
Table A.1: General Purpose Computing (continued)
Product
Make
Listed in: GRAS, IDA
License: GNU GPL.
Description
Make is a tool that controls the
generation of executables and other
non-source files of a program from the
program’s source files. In short, Make
is a tool that takes a file containing the
necessary rules (a Makefile) and then
compiles the source code according to
the rules set out. It is commonly found
in C and C++ programs, but is not
limited to these, and is a very powerful
development tool
The Buzz
Similar to other make commands, the
GNU version has the benefit of
understanding the other versions while
at the same implementing some new
and useful features. One such feature
is its ability to regenerate, use, and
then delete intermediate files that need
not be saved.
Status
Developed by Richard Stallman and
Roland McGrath, it has been
maintained by Paul Smith since
version 3.76 (1997). The pre-GNU
first version dates back to before 1991.
It is currently at version 3.80.
80
Table A.1: General Purpose Computing (continued)
Product
OpenJIT
License: BSD-like
license.
Description
The OpenJIT project is an ongoing
Java Just-in-time (JIT) compiler
project as a collaborative effort
between Tokyo Institute of
Technology and Fujitsu Laboratory,
partly sponsored by the Information
Promotion Agency of Japan. It is a
full-fledged Java JIT compiler, able to
execute real-life applications such as
HotJava. OpenJIT is a reflective
compiler, thus it can be extended and
modified. Such an extension is called
“compilets”, and this allows for a
framework where user added
compilets could easily be added to his
compiler customizations. OpenJIT
consists of two major portions. The
first, a front-end performs Bytecode
decompilation, high-level program
analysis and transformation. The
backend performs low-level program
analysis and transformation, code
generation and run-time support. Only
the backend can act as a standalone
JIT compiler. The front-end is meant
to be invoked only when heavy-duty
optimizations are required.
The Buzz
OpenJIT is a “reflective” JIT compiler.
It is almost entirely written in Java and
it also bootstraps and compiles itself
during execution of the user program,
and the compiler components coexist
as first-class objects in user heap
space. Given that it exists as a VM, its
performance is respectable. In 1999,
its SpecJVM score is about half of the
Sun Hotspot and IBM JDK 1.1.8
JIT’s. The user can tailor and
customize the compilation of classes
at runtime for a variety of purposes.
You may want to do this for
application-specific optimization and
partial evaluation, dynamic,
compiler-assisted environment
adaptation of programs, debugging,
language extension and
experimentation, and other types of
advanced compiler-based research and
applications. It is fully JDK
compliant, and plugs into standard
JVM.
Status
No longer under active development,
it appears to have first been developed
in 1999. It is currently at version
1.1.16 and development ceased in
2001. Developed as a collaborative
effort between the Tokyo Institute of
Technology and the Fujitsu
Laboratory, it was partly sponsored by
the Information Promotion Agency of
Japan.
81
Table A.1: General Purpose Computing (continued)
Product
JBoss
Listed in:
GRAS, GRAM
License: GNU LGPL.
Jikes
Listed in: GRAS
License: IBM Public
License.
Description
The JBoss Application Server is an
open source Java application server
that competes with commercial
software products such as BEA
WebLogic and IBM WebSphere.
Alternative address: http:
//sourceforge.net/project/
showfiles.php?group_id=22866
Jikes is a Java compiler that translates
Java source files as defined in the Java
Language Specification (JLS) into a
Bytecode instruction set and binary
format as defined in the Java Virtual
Machine Specification (JVMS).
The Buzz
It can be used anywhere from a simple
PC to a Sun E15K with more than a
hundred processors. It can be scaled to
as large a system as you have.
Apparently more secure than BEA
WebLogic, JBoss leads the way in
automation and enterprise readiness.
Sun Microsystems has certified JBoss
as J2EE compliant. JBoss is a
powerful application server and can
scale to anything you could throw at it.
It is written in 100% pure Java and is
fully J2EE standards-compliant.
Because there are already many Java
compilers, you may wonder why you
would want to look at Jikes. Some
reasons are that it is open source and
is OSI Certified Open Source
Software. It adheres strictly to the JLS
and JVMS and does not support any
variations on the language. It is a high
performance compiler that makes it
ideal for large projects. It offers a
Dependency Analysis that offers two
useful features: incremental builds and
Makefile generation. Finally, it offers
Constructive Assistance which helps
the to user to write better code and
point out common programming
mistakes. However, you should know
that it is only a compiler, not an IDE.
Status
Still under active development, it was
started in 1999 as an open source
Enterprise JavaBeans (EJB) container.
Currently at stable release 3.2.3, and
there are currently 96 developers
working on. There are four project
maintainers who are Juha Lindfors,
Marc Fleury, Bill Burke, and Scott M.
Stark. The project registered with
SourceForge in 2001.
Still under active development, it is
currently at version 1.19. Originally
developed by Philippe Charles and
Dave Shields of the IBM T. J. Watson
Research Center, the first binary
version was released in 1997 on the
IBM AlphaWorks website. Jikes for
Linux was released in 1998. While the
authors continue to devote some time
to the project, they have been officially
moved on to other projects within
IBM. Today contributors in the open
source community work on Jikes.
82
Table A.1: General Purpose Computing (continued)
Product
CVS
Listed in:
GRAS, GRAM
License: GNU GPL.
Description
CVS is the Concurrent Versions
System, the dominant open-source
network-transparent version control
system. CVS is useful for everyone
from individual developers to large,
distributed teams. Its client-server
access method lets developers access
the latest code from anywhere there is
an Internet connection. Its unreserved
checkout model to version control
avoids artificial conflicts common
with the exclusive checkout model. Its
client tools are available on most
platforms.
The Buzz
The natural evolution of SCCS/CSSC
and RSC, it is the de facto standard for
software development versioning
systems. After all, SourceSafe is just a
Microsoft implementation of it, but at
$500 a head. Client software can be
used on just about every major
platform, and it integrates nicely into
many different IDE’s, and especially
well with Eclipse.
Status
Still under active development, it is
currently at version 1.12.6. The
project was started in 1993. Ian
Taylor, Jim Kingdon, Noel Cragg
developed it, but there are many
additional developers and
contributors. However, it cannot be
accurately verified who was the
original developer of the project.
83
Table A.1: General Purpose Computing (continued)
Product
Autoconf
Listed in: GRAS
License: GNU GPL.
Description
Autoconf is an extensible package of
m4 macros that produce shell scripts
to automatically configure software
source code packages. These scripts
can adapt the packages to many kinds
of UNIX-like systems without manual
user intervention. Autoconf creates a
configuration script for a package
from a template file that lists the
operating system features that the
package can use, in the form of m4
macro calls.
The Buzz
Generally, well made software
packages use Autoconf to find all of
the necessary libraries and
executables, as well as setup
environment variables that will be
needed to have a clean compilation of
a given software product. Run as the
script “configure,” it can save large
amounts of time in compilation by
finding and fetching its prerequisites.
You will appreciate using this for large
software packages, and others will
appreciate you using this in your
packages that you will distribute.
Poorly designed packages do not use
Autoconf. Using it also helps to
compensate for some
platform-specific dependencies such
as library locations and versions.
Status
Still under active development, it is
currently at version 2.59. David
MacKenzie originally wrote it, with
the help of others. Ben Elliston has
since taken over the maintenance for
Autoconf. Today there are five
maintainers for the project. The
project first started in 1992.
84
Table A.1: General Purpose Computing (continued)
Product
Automake
Listed in: GRAS
License: GNU GPL.
Autogen
License: GNU GPL.
Description
Automake is a tool for automatically
generating Makefiles compliant with
the GNU Coding Standards.
Autogen is a tool designed for
generating program files that contain
repetitive text with varied
substitutions. Its goal is to simplify the
maintenance of programs that contain
large amounts of repetitious text. This
is especially valuable if there are
several blocks of such text that must
be kept synchronized in parallel tables.
The Buzz
Automake is a tool for automatically
generating Makefile.ins from files
called Makefile.am. Automake
requires Perl in order to generate the
Makefile.ins. The typical Automake
input file is simply a series of variable
definitions. Each such file is processed
to create a Makefile.in. There should
generally be one Makefile.am per
directory of a project. The GNU
Makefile Standards Document is long,
complicated, and subject to change.
The goal of Automake is to remove
the burden of Makefile maintenance
from the back of the individual GNU
maintainer.
Although this tool may not be suitable
for everyone, it is easy to learn. It is of
high value for those who have lots of
repetitive texts in multiple files and do
not wish to have to re-edit each file
every time a small change is made to
some of the text. Instead, use
Autogen. You will see that if this is
the case for your current development
project, then this is the tool for you.
Status
Still under active development, it is
currently at version 1.8.3. Originally
written by David MacKenzie, he is
joined by two other developers. The
project was first started in 1994.
Still under active development, the
original authors of the program are
Bruce Korb and Gary V. Vaughn.
There are however other developers
who work on the project. It is
currently at version 5.5.7. The project
appears to have started in 1999.
85
Table A.1: General Purpose Computing (continued)
Product
CLisp
License: GNU GPL.
Description
Common Lisp is a high-level,
all-purpose, object-oriented, dynamic,
functional programming language.
LISP is an acronym for LISt
Processing. Lisp is generally
considered a third Generation
Language (3GL), as it is a general
purpose, text-based language
comparable to Smalltalk, Ada, C/C++,
Fortran, etc.
The Buzz
Lisp has evolved into a family of
languages. The two major dialects in
use today are Common Lisp and
Scheme. Lisp has evolved with the
field of Computer Science, always
putting the best ideas from the field
into practical use. Common Lisp is the
result of a standardization effort,
which began in the early 1980s. This
is a highly portable, industrial strength
Lisp with a variety of implementations
and a wealth of tools and applications.
CLisp runs on most UNIX platforms
and on Win32 and needs only 2 MB of
RAM. CLisp includes an interpreter, a
compiler, almost all of CLOS, a
foreign language interface and a
socket interface. CLisp supports most
of the ANSI Common Lisp features.
Status
John McCarthy invented Lisp in the
late 1950’s as a formalism for
reasoning about the use of recursion
equations as a model for computation.
Of computer languages still in
widespread use today, only
FORTRAN is older. In 1994,
Common Lisp became the first ANSI
standard to incorporate object-oriented
programming. Still under active
development, it is currently at version
2.33. CLisp is a Common Lisp
implementation by Bruno Haible, then
of Karlsruhe University, and Michael
Stoll, then of Munich University, both
in Germany. The project was started in
1992.
86
Table A.1: General Purpose Computing (continued)
Product
GCL
License: GNU LGPL.
Description
GCL is a Common Lisp currently
compliant with the ANSI Common
Lisp standard. GCL compilation
produces native code through the
intermediary of the system’s C
compiler, from which GCL derives
efficient performance and high
portability. It currently uses Tcl/Tk for
its GUI. Alternative address: http:
//www.gnu.org/software/gcl
The Buzz
Perhaps you may want to use this
program because it is tightly
integrated with GCC, and thus you
will able to use GDB and be able to
fully exploit. In addition, it will allow
you to use GCC as a cross-platform
compiler.
Status
It is still under active development. It
is currently at version 2.5.3. Taiichi
Yuasa and Masami Hagiya wrote the
original system KCL in 1984. The
AKCL system was started in 1987 by
William Schelter and continued
through to 1994. A number of people
have contributed ports and pieces. In
1994, AKCL was released as GCL
under the GNU public library license.
Dr. Schelter was working at the
Department of Mathematics at the
University of Texas.
87
Table A.1: General Purpose Computing (continued)
Product
GNU Pascal
License: GNU GPL.
Description
GNU Pascal is an open source
implementation of the Pascal
programming language.
The Buzz
It is a 32 and 64-bit compiler, and it
does not have limits like the 64 KB or
640 KB limit known from certain
operating systems. It runs on all
operating systems supported by GNU
C, and can act as a native or as a cross
compiler between all supported
systems. It produces highly optimized
code and is compatible with other
GNU languages and tools such as
GNU C and the GNU debugger. It is
compatible with Borland Pascal 7.0
with objects. However, GDB does not
yet understand Pascal syntax and
types. You will have to use C syntax
when debugging Pascal programs with
GDB. In addition, with GPC you will
get longer compilation times than with
Borland Pascal.
Status
Still under active development,
although the latest stable release dates
back to 2002, it does appear as if the
GNU Pascal team is still busy at work.
It is currently at stable release version
2.1. Jukka Virtanen initiated the GNU
Pascal effort in 1988. Since then there
have been other developers and
maintainers of the project. However,
Frank Heckenbach appears to be the
current maintainer and lead developer.
88
Table A.1: General Purpose Computing (continued)
Product
GNU Prolog
License: GNU GPL.
Description
GNU Prolog is a free Prolog compiler
with constraint solving over finite
domains. It accepts a Prolog+
constraint program and produces a
native binary. Besides the native code
compilation, GNU Prolog offers a
classical interactive interpreter
(top-level). It also conforms to the
ISO standard for Prolog.
The Buzz
The obtained executable is now
stand-alone. This executable can be
quite small since GNU Prolog does
not need to link the code of most
unused built-in predicates. The
program also includes an efficient
constraint solver over Finite Domains
(FD). This opens constraint logic
programming to the user, combining
its power with the declarativity of
logic programming. It also has its own
debugger and powerful bidirectional
interface between Prolog and C. Its
executables are very small and very
fast. You can expect equal or better
performance from GNU Prolog than
you would from a commercial Prolog
compiler.
Status
GNU Prolog started in January 1996
under the project name Calypso. It is
currently at version 1.2.16. It was
developed and is still maintained by its
original author Daniel Diaz. However,
the source code has not undergone any
changes since 2002; it does appear to
still be under active development.
89
Table A.1: General Purpose Computing (continued)
Product
Ulm’s Modula-2
License: GNU GPL.
Checker
License: GNU GPL.
Description
Ulm’s Modula-2 System is an open
source software development
environment for Modula-2 that runs
on several UNIX systems.
Checker is a tool that finds memory
errors at runtime. Its primary function
is to emit a warning when the program
reads an un-initialized variable or
memory area, or when the program
accesses an unallocated memory area.
The Buzz
The SPARC-specific implementation
of the library module MathLib has
been partially derived from the GNU
C Library and includes software
developed by the University of
California, Berkeley and its
contributors. The software includes its
own make Makefile program,
compiler, debugger, and beautifier. It
also includes a program to convert
Pascal programs to Modula-2, and
sports a Modula/Prolog interpreter.
Source code is not available; only the
binary forms are available for
SPARC-Solaris or the Motorola 68020
processor.
The Malloc library of Checker is very
robust, though a bit slower than the
usual GNU Malloc. Checker’s Malloc
will refrain from reusing a freed block
immediately. This is to catch accesses
to the block shortly after it has been
freed. Checker implements a garbage
detector that can be called either from
your program, by a debugger such as
GDB, or on exit from the program.
The garbage detector displays all the
memory leaks along with the
functions that called Malloc.
Status
No longer under active development,
the project has ceased since 2000. It is
currently at version 3.0b8. The author
of the program is Andreas Borchert.
Ulm’s Modula-2 and the origins of the
compilers have been designed and
developed at the Department of
Computer Science, ETH Zurich in
Switzerland by Niklaus Wirth and his
team. In December 1981, the sources
of the M2M compiler were licensed
and new compilers were derived for
the m68k processor and the SPARCv8
architecture.
Currently at version 0.9.4, it does not
appear to be under active
development. The maintainer of the
project is Ben Pfaff, and the last
developer is Tristan Gingold. Cannot
determine when the project actually
started.
90
Table A.1: General Purpose Computing (continued)
Product
Dbg
License: GNU GPL.
Description
The DBG library is a set of C++
utilities to facilitate modern debugging
idioms. It provides various constraint
checking utilities together with an
integrated error logging facility. These
utilities are flexible and customizable.
They can be enabled and disabled at
runtime, and in release builds, Dbg
library use can be compiled away to
nothing.
The Buzz
DBG has been designed to support
defensive programming techniques in
modern C++ code. It integrates well
with standard library usage and has
been carefully designed to be easy to
write, easy to read and very easy to
use. Because rich debugging can only
be implemented in large code bases
from the outset, it is hard to retrofit
full defensive programming
techniques onto existent code. For this
reason, it is good practice to use a
library like Dbg when you start a new
project. By using Dbg extensively you
will find bugs quicker, and prevent
more insidious problems rearing their
head later in the project’s life. It works
with GCC, but it is uncertain if it will
work with other compilers.
Status
Still under active development, it is
currently at version 1.2. The author of
the project is Peter Goodliffe. The first
public release was in 2001.
91
Table A.1: General Purpose Computing (continued)
Product
ElectricFence
License: GNU GPL.
Kdbg
License: GNU GPL.
Description
Electric Fence stops your program on
the exact instruction that overruns (or
underruns) a malloc() memory buffer.
Electric Fence is a different kind of
malloc() debugger. It uses the virtual
memory hardware of your system to
detect when software overruns the
boundaries of a malloc() buffer.
Because it uses the VM hardware for
detection, GDB can then be used to
display the line of source-code that
caused the bug. Alternative address:
http://freshmeat.net/projects/
efence?topic_id=47 FTP site:
ftp://ftp.perens.com/debian/
pool/main/e/electric-fence
Kdbg is a graphical user interface to
GDB, the GNU debugger. It provides
an intuitive interface for setting
breakpoints, inspecting variables, and
stepping through code.
The Buzz
It works by using the virtual-memory
hardware to create a red-zone at the
border of each buffer - touch that, and
your program stops. Catch all of those
formerly impossible-to-catch overrun
bugs that have been bothering you for
years. It will also detect any access of
memory that has been released by
free().
Status
It is still under active development.
Bruce Perens developed it. It is
currently at version 2.1.13. Although
it cannot be accurately stated when the
project actually began, it can be traced
to 2.0.1 which dates back to before
1993.
This project adds little to your ability
to actually be able to debug with GDB
except that now you have a nice GUI
designed specifically to work in a
KDE environment. Tastes for
debugging vary, while some prefer to
debug from the command line, others
prefer using more user-friendly
alternatives such as a GUI. Also,
please note that Kdbg only handles C
and C++ code.
Developed by Johannes Sixt, it is still
under active development. It is
currently at version 1.2.9. It cannot be
determined precisely when the project
started, but that the Changelog
mentions that 0.2.5 support KDE 1.0
and Qt 1.33. Thus, it is very likely that
the project dates back to 1999 or 1998,
if not earlier.
92
Table A.1: General Purpose Computing (continued)
Product
Memwatch
License: GNU GPL.
Strace
License: GNU GPL.
Description
It is a memory-leak detection tool for
C. It works by you adding a header file
to your source code files, and then
compile with Memwatch. The header
file Memwatch.h contains detailed
instructions for finding memory leaks.
It is fault tolerant as it can repair its
own data structures and detects
overflow and underflow to memory
buffers. It can detect wild pointer
writes and detects un-freed memory.
Strace is a system call trace program.
In other words, it is a debugging tool
that prints out a trace of all the system
calls made by another
process/program. The program to be
traced does not need to be recompiled
for this. Therefore, you can use it on
binaries which are not executing or for
which you do not have any available
source code.
The Buzz
Memwatch cannot catch all wild
pointer writes. It can catch those it
could make itself due to your program
attempting to overwrite Memwatch’s
internal data structures. It works with
GCC and should work with other
compilers, but you will have to try it
first to be sure. It may also have some
difficulty with 64-bit compilers (see
the FAQ for workarounds). It should
work on most platforms, but you will
again have to compile and test it for
yourself. It should work on most
UNIX platforms at the very least. In
addition, it was designed for use with
the C programming language,
although it should work with C++.
System calls and signals are events
that happen at the user/kernel
interface. A close examination of this
boundary is very useful for bug
isolation, sanity checking and
attempting to capture race conditions.
It should work under Linux, SunOS,
Solaris, and FreeBSD.
Status
It is still under active development.
Johan Lindt wrote it. It is currently at
version 2.71. It cannot be determined
when the project actually started.
Still under active development, the
current version is 4.5.2. Its three
primary authors are Paul Kranenburg,
Branko Lankester, and Rick Sladkey.
The program’s initial public release
appears to be in 1994.
93
Table A.1: General Purpose Computing (continued)
Product
FlawFinder
Listed in: GRAM
License: GNU GPL.
Description
FlawFinder searches through C/C++
source code looking for potential
security flaws. FlawFinder will
produce a list of hits (potential
security flaws), sorted by risk; the
riskiest hits are shown first. The risk
level is shown inside square brackets
and varies from zero, very little risk,
to five, great risk. This risk level
depends not only on the function, but
also on the values of the parameters of
the function.
The Buzz
All you have to do is specify files or
directories and FlawFinder will
continue with no further intervention.
It can also produce HTML output
instead of displaying to your console
as simple text. You must still have the
judgement to determine when a hit is a
hit and when it is a miss. However,
using this tool frequently on your
constantly developing source code
should help enable you to develop
tighter, more secure code, with less
buffer overflows. You may encounter
some bugs while using FlawFinder
under Cygwin. The program actually
reading through your source code and
determining whether or not they
contain security holes in written in
Python.
Status
It is still under active development.
David A. Wheeler, who compiled the
GRAM list used throughout this
document, developed it. Currently at
version 1.24, the initial release dates
back to 2001.
94
Table A.1: General Purpose Computing (continued)
Product
Maketool
License: GNU GPL.
Description
Double-clicking on errors starts an
editor with that file and line. It offers
special handling for standard GNU
targets such as all, install, clean, etc. It
supports Make in series or in parallel,
(using Make’s -j and -l flags). It now
also supports Solaris make, IRIX
Smake, and BSD Pmake. It works on
most major UNIX operating systems.
Maketool is a simple GTK+ based
GUI front end for GNU make and
other make programs. It offers a wide
array of options and functionalities to
allow you to easily generate a
functional make file. Maketool can be
usefully used to compile large
multiple-directory projects like the
Linux kernel. You can configure the
colours Maketool uses to colour-code
errors and warnings to cater to your
preferences.
The Buzz
It works with any Makefile system
that uses GNU make. It can
automatically update your Makefiles if
projects use Automake, Autoconf or
Make. It figures out what targets are
available and presents them in a menu.
It can run make and detect compiler
errors and warnings in the output.
Status
Still under active development, it is
currently at version 0.8.4. It appears to
have been developed by Greg Banks
and it appears to have been started in
1999.
95
Table A.1: General Purpose Computing (continued)
Product
P2C
License: GNU GPL.
NCC
License: Not available.
Description
P2C is a tool for translating Pascal
programs into C. The input consists of
a set of source files and Output is a set
of .c and .h files that comprise an
equivalent program in any of several
dialects of C. Output code may be
kept machine and dialect-independent,
or it may be targeted to a specific
machine and compiler.
NCC is a tool designed to provide
program data analysis of C source
code. In other words, it provides
shows program flow and the usage of
variables. Some big programs which
you have to maintain may be difficult
to understand due to the size,
programming style, patches upon
patches, or other crazy things, etc. In
order to do program analysis correctly,
there has to be compilation of
expressions, and thus NCC is really a
compiler of expressions.
The Buzz
The following Pascal dialects are
supported: HP Pascal, Turbo/UCSD
Pascal, DEC VAX Pascal, Oregon
Software Pascal/2, Macintosh
Programmer’s Workshop Pascal,
Sun/Berkeley Pascal, Texas
Instruments Pascal, Apollo Domain
Pascal. Modula-2 syntax is also
supported. Most reasonable Pascal
programs are converted into fully
functional C that will compile and run
with no further modifications,
although P2C sometimes chooses to
generate readable code at the expense
of absolute generality.
A powerful program to use in order to
better understand how your source
code works, find its bugs, and
understand its internals in a revealing
light. It can also be used to help
explore pointers including their
initialization values and to what
different pointers reference them to or
from. However, this is not an easy
program to figure out. Once you
understand the NCC output for a given
program you will be able to
understand your source code, or better
yet, someone else’s which you are
trying to maintain to no avail suddenly
becomes more clear and manageable.
Status
The project is no longer under active
development. Although it is being
hosted by Debian, it is a part of the
GNU FSF. It was written and was
maintained by Dave Gillespie. It is
currently at version 1.21alpha2. The
project appears to have been started in
1989.
Still under active development, it is
currently at version 1.8. Cannot
determine either the developers or
maintainers of the program or when
the project was started.
96
Table A.1: General Purpose Computing (continued)
Product
HexCurse
License: GNU GPL.
Description
HexCurse is a versatile Ncurses-based
hex editor written in C that provides
the user with many features. It
currently supports hex and decimal
address output, jumping to specified
file locations, searching, ASCII and
EBCDIC output, bolded
modifications, an undo command,
quick keyboard shortcuts, and more.
The Buzz
Although it is another file viewer and
editor, it is included in this section
because it supports EBCDIC and it is
Ncurses-based and thus is of more
valuable use to programmers and
developers as a tool than as any editor
per se. Compiles and works on the
majority of UNIX platforms, and
should work under Cygwin.
Status
No longer under active development,
it has two authors who use only their
aliases, Jewfish and Armoth.
Currently at version 1.55, the initial
release was in 2001 and development
ceased in 2002.
97
Table A.1: General Purpose Computing (continued)
Product
Java
License: Binary Code
License for Java 2
Runtime Environment
(J2RE).
Description
The Java Platform is a new operating
environment different from many
other platforms like Microsoft
Windows, Macintosh, UNIX, etc. It is
designed to deliver and run
applications on networked computer
system. The Java Platform acts as a
layer on top of these operating
systems. Therefore, the same
application written in the Java
language can run securely on any
system, as long as that system
supports the Java Virtual Machine.
Sun Microsystems has packaged the
Java 2 Platform into three editions:
J2ME, J2SE and J2EE.
The Buzz
The Java technology allows
developers to bring the Web and Web
development further than before. The
Java platform brings the benefit of
“Write Once, Run Anywhere” to
applications, services and
technologies. The main idea with Java
technology is that the Internet and
private networks become your
computing environment.
Status
Still under active development, the
Java RE is currently at version
1.4.2_02. Java has undergone many
transformations over the years, and
now developers are no longer required
to use Java products from Sun. Many
companies like IBM and SGI now
bundle their own JVM’s with their
systems, as using Java compilers such
as Jikes, developers can move away
from Sun Java altogether. The choice
is yours. On May 23, 1995, John
Gage, director of the Science Office
for Sun Microsystems, and Marc
Andreessen, cofounder and executive
vice president at Netscape, stepped
onto a stage and announced to the
SunWorld audience that Java
technology was real, it was official,
and it was going to be incorporated
into Netscape Navigator, the world’s
portal to the Internet. Bill Joy is
widely believed to have been the
person to conceive of the idea of a
programming language that later
became Java. In the late 1970’s Joy
wanted to design a language that
combined the best features of MESA
and C. In an attempt to re-write the
UNIX operating system in 1980’s, Joy
decided that C++ was inadequate for
the job.
98
Table A.1: General Purpose Computing (continued)
Product
A+
License: GNU GPL.
Description
A+ is a powerful and efficient
programming language, which
embodies a rich set of functions and
operators, a modern graphical user
interface with many widgets and
automatic synchronization of widgets
and variables. It even supports
asynchronous execution of functions
associated with variables and events,
dynamic loading of user-compiled
subroutines, and many other features.
The Buzz
It is an interpreted language; however,
the interpreter is efficient and very
fast. Primarily, it was written to
support the large manipulation of
arrays and numbers required for the
computationally intensive financial
models at Morgan Stanley, where it
was developed. A+ has many
similarities to the APL programming
language. Using the Morgan Stanley
Tool Kit, it is possible to write GUI
programs that are powerful and fast, as
well as easy to write. It is available for
the majority of modern computer
operating systems found today on the
market.
Status
Still under active development, it is
currently at version 4.20. A+ is based
on the language A that was created by
Arthur Whitney at Morgan Stanley in
1988. Morgan Stanley was at the time
in search of a suitable form of APL to
run on SunOS because of they were in
process of migrating from
mainframes. However, no good
substitutes were found. Over the
course of the next few years, as the
business began to reap tangible value
from the efforts, the pieces were
shaped into a consistent whole and
became A+. The “+” referred to the
electric graphical user interface. An
A+ development group was formally
created in 1992. A+ soon became the
language of choice for development of
Fixed Income applications. Arthur
Whitney is still the lead developer and
maintainer of the project; the project is
still funded by Morgan Stanley.
99
Table A.1: General Purpose Computing (continued)
Product
Bugzilla
License: Not available.
Copyright The Mozilla
Organization.
Ruby
License: Ruby License
Agreement or GNU
GPL.
Description
Bugzilla is one example of a class of
programs known as bug-tracking
systems. Bug-tracking systems are
programs that allow developers to
keep track of their outstanding bugs
and help them to manage them more
efficiently. As most commercial
bug-tracking systems have enormous
costs associated to them, Bugzilla
could be a sensible choice for many
developers. Bugzilla offers many
advanced options and can be easily
compiled on many different platforms.
Ruby is an interpreted object-oriented
programming language. Similar in
functionality to Perl, it is very
scaleable and has excellent text
processing facilities. You can use
Ruby to write your own client/server
applications, as well as write tools for
system administrations tasks that Perl
is often used for, and for your
everyday programming tasks.
The Buzz
Originally written in Tcl, it is now
entirely written in Perl, and thus
should be portable to most modern
operating systems and development
environments. It can also integrate
with your CVS tree and supports
advanced reporting capabilities. It is
adaptable to many different situations
and to many different environments. It
can provide a documented workflow
and boasts high performance. You can
use Bugzilla to extrapolate milestones,
and by using Bugzilla’s e-mail
integration features be able to follow
the discussion trail that led to critical
decisions.
Ruby offers blocks, iterators, and
meta-classes. It offers a simple syntax,
operator overloading, exception
handling, closures, garbage
collections, and dynamic loading. It is
a highly portable programming
language. Therefore, it will work on
the majority of operating systems
currently available.
Status
Still under development, it was
originally written by Terry Weissman
to replace the bug-tracking system for
Netscape Communications. It is
currently at stable release 2.16.5. The
project dates back to at least 1998. It
is currently developed by many
developers by the international
community. It cannot readily be
determined who are the lead
developers and maintainers of the
project.
Still under active development, it is
currently at stable release version
1.8.1. It was written and is still
developed and maintained by its
creator, Yukihiro Matsumoto. The first
release of Ruby dates back to 1997.
100
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
PVM scales on just about every major
architecture there is. It is provides an
easy programming paradigm, and is
most commonly found on Beowulf
clusters. It used everywhere from
small in-house simulations up to the
largest laboratories found at Los
Alamos National Laboratory or even
at NASA. Through the use of a master
node and multiple slave nodes, the
master node pushes out the work to be
done by the slaves, and when it
receives the results, it then continues
sending out more work. Sometimes
the newly released work can be based
on previous calculations, or not. Most
developers of parallel-clustered
applications usually start with PVM,
and then some move on to more
advanced technologies such as MPI or
OpenMP. With PVM you can create
clusterable applications written in C,
C++, and Fortran.
No longer under active development,
it was written by J. J. Dongarra, G. E.
Fagg, G. A. Geist, J. A. Kohl, R. J.
Manchek, P. Mucci, P. M.
Papadopoulos, S. L. Scott, and V. S.
Sunderam. PVM 3 was partly funded
by the Department of Energy, the
National Science Foundation, and the
State of Tennessee. Development
ceased in 2001. The PVM project
began in the summer of 1989 at Oak
Ridge National Laboratory. V. S.
Sunderam and G. A. Geist constructed
the prototype system, PVM 1.0.
Distributed Computing Software:
PVM
License: PVM License.
PVM is a software library that is used
when you develop own code, or port
someone else’s code. PVM is a
collection of functions and routines
that simplify the programming process
for writing multi-threaded,
multi-processor, multi-platform
applications. Your programs can be
very simple in nature to highly
complex protein folding simulations.
In essence, what it does is create one
large homogenous parallel virtual
machine running on heterogeneous
hardware.
101
Table A.1: General Purpose Computing (continued)
Product
XPVM
License: XPVM
License.
Description
XPVM provides a graphical interface
to the PVM console commands and
information, along with several
animated views to monitor the
execution of PVM programs. These
views provide information about the
interactions among tasks in a parallel
PVM program, to assist in debugging
and performance tuning.
The Buzz
You should use this program if you
plan to work or develop with PVM.
However, the larger your cluster, the
more you will want to use this
program to help manage your nodes
and their PVM processes. It should be
noted, though that XPVM is buggy on
some installations. Its most stable
incarnation is on Linux. Use it to
show your PVM-networked view or a
Space-Time view of the PVM threads.
It is written in C and Tcl/Tk.
Status
No longer under active development,
the last release was in 1998. The
project appears to have been started in
1995 and is currently at version 1.2.5.
The author and maintainer of the
program was Dr. James Arthur Kohl
of the Oak Ridge National Laboratory.
102
Table A.1: General Purpose Computing (continued)
Product
MPICH
License: MPICH
License.
Description
Message Passing Interface (MPI) is a
specification for a standard library for
message passing that was defined by
the MPI Forum, a broadly based group
of parallel computer vendors, library
writers, and applications specialists.
Multiple implementations of MPI
have been developed over the years.
The goal of MPI is to create a
high-performance set of libraries and
routines that could be used on any
platform or architecture to solve the
most challenging computation
problems. MPICH goes beyond PVM.
It is an open source implementation of
the MPI standards that were put forth
by the MPI Forum. It is made
available to everyone in the global
community. There are many vendors
who charge exorbitant prices for their
own MPI implementations.
The Buzz
MPICH is both a research project and
a software development project. As a
research project, its goal is to explore
methods for narrowing the gap
between the programmer of a parallel
computer and the performance that
could be delivered by its hardware. As
a software project, the goal of MPICH
was to promote the adoption of the
MPI Standard by providing users with
a free, high-performance
implementation on a diversity of
platforms, while aiding vendors in
providing their own customized
implementations. MPICH, like PVM,
supports multiple architectures and
platforms that can work together in
unison to crunch away at your large
computational problems. Like PVM,
you can also write your programs in
C, C++, and Fortran.
Status
At the Supercomputing Conference in
1992, two individuals, Gropp and
Lusk volunteered to develop an
immediate implementation of MPI
that would track the Standard
definition as it evolved. The first
version of MPICH was released in
1992. The MPI Standard was released
in 1994, and has been evolving ever
since. MPICH is currently at version
1.2.5.2. It cannot be determined who
the current programmers and
maintainers of the project are. It no
longer appears to be under active
development.
103
Table A.1: General Purpose Computing (continued)
Product
MPI LAM
License: LAM/MPI
License.
Description
LAM/MPI is a high quality
implementation of the Message
Passing Interface (MPI) Standard.
LAM/MPI provides high performance
on a variety of platforms, from small
off-the-shelf single CPU clusters to
large SMP machines with high-speed
networks, even in heterogeneous
environments. In addition to high
performance, LAM provides a number
of usability features key to developing
large-scale MPI applications.
The Buzz
You will often find LAM/MPI in
Linux distributions. With TCP/IP,
LAM imposes virtually no
communication overhead, even at
gigabit Ethernet speeds. New
collective algorithms exploit
hierarchical parallelism in SMP
clusters. It has support for the Globus
Toolkit and can work with other
implementations of MPI.
Status
Still under active development, it was
started in 1994 at the Ohio State
University. From 1998 to 2001 it went
to Notre Dame University, and from
2001 to present is at the University of
Indiana. It is currently at version
7.0.4. The following individuals are
currently developing it: Brian Barrett,
Prashanth Charapalli, Amey
Sharachandra Dharurkar, Anju
Kambadur, Andrew Lumsdaine,
Vishal Sahay, Nihar Sanghvi, Sriram
Sankaran, Shashwat Srivastav, and
Jeff Squyres.
104
Table A.1: General Purpose Computing (continued)
Product
Globus Toolkit
License: GNU GPL.
Description
The Globus Toolkit is an open source
software toolkit used for building
grids. The core infrastructure of the
Globus Toolkit is based on the Open
Grid Services Infrastructure (OGSI)
primitives and protocols. The main
design goal has been to make the
OGSI technology easy to use, reuse,
and extend when developing new Grid
applications. The OGSI primitives
implemented offer support for
soft-state management, inspection,
notification, discovery and global
instance naming. The open source
Globus Toolkit is a fundamental
enabling technology for the “grid,”
letting people share computing power,
databases, and other tools securely
online across corporate, institutional,
and geographic boundaries without
sacrificing local autonomy.
The Buzz
In addition to an open source
implementation of all the OGSI
defined protocols, the Globus Toolkit
provides various hosting environments
built around a container abstraction.
The container enables portable OGSI
compliant Grid services to be
developed without any knowledge of
the underlying protocols and transport
bindings. The Globus Toolkit can be
seen as the set of building blocks we
consider essential for all Grid
applications. The OGSI primitives
implemented offer support for
soft-state management, inspection,
notification, discovery and global
instance naming. Additionally, it is
comprised of a security infrastructure,
and a number of system-level services,
such as logging, management, and
administrative Grid services. The
toolkit includes software services and
libraries for resource monitoring,
discovery, and management, plus
security and file management. For
anyone wishing to implement a Grid
infrastructure, this is an indispensable
tool.
Status
Still under active development, and is
currently at version 3.4. Version 1.0
was released in 1998 and version 2.0
was released in 2000. In 2002 the
project earned a prestigious R&D 100
award, given by R&D Magazine in a
ceremony where the Globus Toolkit
was named “Most Promising New
Technology” among the year’s top 100
innovations. Rick Stevens of Argonne
National Laboratory and Tom Defanti
at the University of Illinois at Chicago
attempted to create a national grid for
two weeks before and during the
Supercomputing ’95 conference. They
eventually received funding from
DARPA that led to the development of
the first release in 1998. The Globus
Alliance is currently developing it.
105
Table A.1: General Purpose Computing (continued)
Product
Ganglia
License: BSD.
Description
Ganglia is a scalable distributed
monitoring system for
high-performance computing systems
such as clusters and Grids. It is based
on a hierarchical design targeted at
federations of clusters. It leverages
technologies such as XML and XDR,
as well as RRDTool.
The Buzz
Running on a wide variety of
hardware, and designed specifically
for use within clustered heterogeneous
systems, it can be used for monitoring
your more critical systems. Its best
feature is its ability to get data from
remote systems and produce graphs
produced by using by RRDTool. It has
been used on hundreds of clusters
around the world, and can scale to
more than 2000 nodes per cluster.
Status
The project appears to have started in
2001, and is currently at version 2.5.6.
The main developer appears to be
Matt Massie, however, there are many
other developers involved.
106
Table A.1: General Purpose Computing (continued)
Product
IBM CSM
License: IBM
Proprietary Software.
Description
CSM is IBM’s response to cluster
management software for
homogenous systems and networks. It
is, in effect, a single point system
administration, configuration, and
error monitoring software that is
available for both Linux and AIX.
The Buzz
While the source code is not available,
it at least has been ported to Linux and
IBM’s own AIX operating system.
Designed to work even better with
IBM’s own Xseries PC workstations
and servers, it still does work with
other non-IBM manufactured PC’s,
although much of the error monitoring
functionality may not be available or
applicable. It works in a client/server
architecture, where the system from
which you will be performing the
administration is generally the server,
collecting data and controlling remote
machines via a client daemon. The
server system can also have a client
installed so as to manage itself. Use
CSM if you plan to deploy either
Linux and/or AIX-based clusters and
require resource monitoring,
automated monitoring and operation,
remote hardware control, remote
command execution, security,
configuration file management,
parallel network installation, and
diagnostics.
Status
Still under active development, this
tool was released towards the end of
2001 when IBM officially announced
that it would begin by selling and
marketing Linux-based products and
solutions. At the time, it was at
version 1.0 and it is currently at
version 1.3 and has evolved to keep
pace with the changes in Linux as well
as with own its AIX operating system.
107
Table A.1: General Purpose Computing (continued)
Product
OpenMosix
License: GNU GPL.
Description
OpenMosix is a Linux kernel
extension for single-system image
clustering which turns a network of
ordinary computers into a
supercomputer. In short, it takes
systems that are running only one
instance of the Linux operating
system, and through recompilation of
the Linux kernel using the OpenMosix
extensions enables the originally
independent operating system
instances to work together as if they
were the same. In effect, it extends the
kernel over multiple systems.
The Buzz
A powerful and easy to use tool, the
most complex issue you will face will
be recompiling your kernel.
Depending on the distribution and its
version, some are easier to recompile
than others are. Once it is installed,
the systems begin talking to each other
and behaving as if they were merely
extensions of one another. This
technology is of little benefit to those
running single threaded applications,
but for those who have large, number
intensive, multi-threaded applications,
you will see a tremendous gain in
performance, up until your network
becomes the bottleneck. Rather than
have to use intermediary libraries such
as PVM and MPI, it will be easier to
code your programs in your own
multi-threaded fashion. It supports
only the x86 architecture.
Status
Still under active development, it is
currently at version kernel-2.4.22.
OpenMosix is the GNU GPL version
2, open source project to extend the
work done by the Mosixproject
because new releases of Mosix
became proprietary software as of late
2001. The OpenMosix project began
as of February 10th 2002 by Moshe
Bar in order to progress the work
Mosix. Mosix used to be an open
source project until the licensing
scheme changed.
108
Table A.1: General Purpose Computing (continued)
Product
Mosix
License: Mosix System
Software License
Agreement.
CFEngine
License: GNU GPL.
Description
Mosix is the precursor to the
OpenMosix project. It does however,
support one important feature which
the OpenMosix project does not,
Massive Parallel I/O.
CFEngine or the configuration engine
is an autonomous agent and a middle
to high-level policy language for
building expert systems that
administrate and configure large
computer networks. CFEngine uses
the idea of classes and a primitive
intelligence to define and automate the
configuration and maintenance of a
system state, for small to huge
configurations.
The Buzz
Although not open source like
OpenMosix, it can still be used in
many different projects you may have.
You still have access to the source
code, and can recompile it into your
Linux kernel. The only setback is that
you have less flexibility with as to how
you can use the source code. However,
Mosix does support more recent
versions of the Linux kernel than does
OpenMosix. You will have to read the
license agreement and verify if it
works for you and your organization
or if instead it constrains you. It
supports only the x86 architecture.
CFEngine is designed to be a part of a
computer immune system, and can be
thought of as a gaming agent. It is
ideal for cluster management and has
been adopted for use all over the
world in small and huge organizations
alike. It consists of a client/server
architecture. However, it is long to
configure and may not be well suited
to your network or installation,
especially if you are using a
heterogeneous environment.
Status
Still under active development, it
currently supports kernel 2.4.25. The
project was started in 1999 by its
original author who still develops and
maintains the project, Prof. Amnon
Barak.
Still under active development, it is
currently at version 2.1.4. Designed
and developed by Mark Burgess, the
project has also several other
developers and contributors. It cannot
be determined exactly when the
project started, however, version 1.5
can be traced back to 2000.
109
Table A.1: General Purpose Computing (continued)
Product
OpenAFS
License: Distributed
under the IBM Public
License.
Pconsole
License: GNU GPL.
Description
OpenAFS is the open source
continuation of the AFS. AFS is a
distributed network file system that
enables files from any AFS machine
across the country to be accessed as
easily as files stored locally. AFS is
composed of cells, with each cell
representing an independently
administered portion of file space.
Cells connect to form one enormous
UNIX file system under the root /afs
directory.
The Buzz
This is probably a better solution for
many large sites. Rather than use
NFS, which does not scale well as the
architecture grows, OpenAFS is a
perfect solution. Consider it for your
large clusters, grids, or
campus/institution wide file sharing.
Using OpenAFS, it becomes possible
to use and share data across great
distances. In a grid environment, this
is a necessity.
Pconsole is an administrative tool for
working with clusters of machines. It
allows you to connect to each node of
your cluster simultaneously, and there
you can type in your administrative
commands in a specialized window
that cascades the input to each of the
connections you have opened. In
short, when you enter an
administrative command, it will be
cascaded and executed on every other
system that has an active and listening
connection window.
When using this tool, consider using
and implementing OpenSSH along
with it. It runs best from inside X
Windows, although it is possible to
use it from a text-only console. Install
it on one machine that you will use as
your administrative node. It also
supports an unlimited number of
simultaneous connections.
Status
Still under active development, it is
currently at version 1.2.11. AFS is a
distributed filesystem product,
pioneered at Carnegie Mellon
University and supported and
developed as a product by Transarc
Corporation (now IBM Pittsburgh
Labs). IBM branched the source of the
AFS product, and made a copy of the
source code available for community
development and maintenance. They
called the release OpenAFS. The
original release is OpenAFS 1.0.
Version 1.0 was released in October
2000.
No longer under active development,
it is currently at version 1.0.
Developed by Walter de Jong in 2001,
its development also ceased in 2001.
110
Table A.1: General Purpose Computing (continued)
Product
ClusterIt
License: Not available.
OpenMP
License:
Vendor-Compiler
specific.
Description
Modelled after IBM’s PSSP (Parallel
System Support Programs) for AIX, it
is a set of tools for running jobs in
patch, and some interactively across a
clustered system. In effect, it allows
you to treat a system of computers as
if they were just one computer for
batch jobs.
The OpenMP API is a specification
for a set of compiler directives, library
routines, and environment variables
that can be used to specify
shared-memory parallelism in Fortran
and C/C++ programs.
The Buzz
Relatively simple to install and
configure, you may want to consider
this tool if you have many systems, or
clusters, in which you run many batch
jobs.
Status
No longer under active development,
its development was ceased in 2001
and is currently at version 2.1. It
appears to have been written by Tim
Rightnour and although its exact date
of conception is unknown, version 1.0
was released in 1998.
Because it is standardized, it offers
ease of portability. It is jointly defined
by a group of major computer
hardware and software vendors led by
SGI. OpenMP is a portable, scalable
model that gives shared-memory
programmers a simple and flexible
interface for developing parallel
applications. For a list of vendors for
OpenMP compatible compilers, please
visit http://www.openmp.org/
index.cgi?resources.
In the early 1990’s vendors of
shared-memory systems wanted to
adopt a standard, a directive-based set
of Fortran programming extensions
for augmenting Fortran parallelization.
This attempt led to the ANSI standard
X3H5 in 1994. In 1997, SGI led the
movement, and with help from other
industry partners, it gained acceptance
and became an officially standardized
ANSI norm. In 1997, the Fortran
specification version 1 was released,
and version 2.0 was released in 2000.
For the C/C++ specification, version 1
was released in 2000 and version 2 in
2002.
111
Table A.1: General Purpose Computing (continued)
Product
OpenGFS
License: GNU GPL.
SystemImager
License: GNU GPL.
Description
OpenGFS is an enterprise-class
clustered filesystem for organizations
requiring low-cost shared data storage
and management. It is a continuation
of the GPL’ed version of the Global
File System as originally started by
Sistina, which switched to a non-free
license.
SystemImager is a tool that you can
use to automate the distribution and
installation of Linux across many
nodes. This is a tool which is best
suited to a clustered environment,
where all or most of the installation
parameters will be the same across the
cluster.
The Buzz
Currently works only Linux, but it
may be possible to port it to other
operating systems. You should
consider OpenGFS that is a journalled
networked file system, similar to NFS,
but it requires far less bandwidth. This
is because client computers have
direct access to disk rather than be
required to go through a NFS client
intermediary. OpenGFS should be
considered as beta quality software.
It can work with SSH and is designed
to work on Debian, RedHat, SuSE,
and Mandrake x86 versions of Linux.
Do not expect to be able to use
SystemImager on non-x86 platforms.
In addition, single source code files
are no longer available as of version
3.0 and you must now follow the
instructions listed on the web site for
installing it for your particular version
of Linux. You will also need Perl in
order to be able to install
SystemImager.
Status
Still under active development, it is
currently at version 0.2.1. The main
authors are Dominik Vogt, Brian
Jackson, and Ben Cahill. There are
several other developers and many
other contributors to the project. It is
difficult to determine exactly when the
project began, however, the Changelog
itself records dates as far back as 2002.
Still under active development, it is
currently at version 3.2.2. Originally
developed by Brian Elliott Finley, it
has been worked on by several other
developers. The project has been in
existence since at least 1999.
112
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
It is perhaps not as powerful as
Konquerer, but it certainly is far better
than Windows Explorer. It is an
integral part of the GNOME desktop
system. It is nonetheless a very useful
file manager and provides most of
functionality you will probably ever
need.
Still under active development, it is
being maintained by Alexander
Larsson, Dave Camp and Darin Adler.
It was first released in 2000, and is
currently at version 2.6.
File Management Software:
Nautilus
Listed in: IDA
License: GNU GPL.
Nautilus is the official file manager for
the GNOME desktop. It is designed to
be primarly a file manager, but there is
support for web and file viewing too.
113
Table A.1: General Purpose Computing (continued)
Product
Konquerer
License: GNU GPL.
Description
It is the default web browser for KDE,
but it is also the KDE file manager.
Use it to manage files, modify them,
move them around and change
permissions. Konquerer is also the
KDE applications launcher that can be
used to create your own customized
icon-based application launcher.
The Buzz
As far as web browsers go, Konquerer
is a very versatile one. Not only is it
the default web browser for KDE, but
it is also the KDE file manager. Use it
to manage files, modify them, move
them around and change permissions.
Konquerer is also the KDE
applications launcher that can be used
to create your own customized
icon-based application launcher.
However, it is primarily used as a web
browser. Konquerer supports HTML
4.0 and supports cascading style
sheets. It has a sleek appearance and
offers very appealing eye-candy. It
supports JavaScript and Java applets.
It also supports DOM1, DOM2,
DOM3, and bidirectional scripts, as
well as SSL. The wheelmouse is also
supported. Cookies, IPv6, and
non-blocking I/O are also supported.
It also supports opening TAR, GZ,
RPM, and Z files.
Status
It is still under active development;
although the actual release date of the
first version of Konquerer cannot be
determined, it comes bundled and
standard with KDE, and the first
version of KDE was released in 1997.
The developers of Konquerer appear
to be the same for that of the KDE
project. KDE and Konquerer are
always at the same version number.
KDE is now currently at stable release
3.2.
114
Table A.1: General Purpose Computing (continued)
Product
Midnight
Commander
Listed in: IDA
License: GNU GPL.
Tree
Listed in: IDA
License: Artistic
License.
YTree
License: GNU GPL.
Description
Midnight Commander is a console
driven file manager that runs on UNIX
and UNIX like systems. It is keyboard
driven through hotkeys and shortcuts.
Tree is a recursive directory-listing
program.
A curses-based file manager for
browsing filesystems and archives
such as RAR, SPM, RPM, TAR, ARC,
LHA, ZIP, and ZOO.
The Buzz
A powerful console driven file
manager, it has many options, such as
peeking into archives such as TAR,
RPM, GZ, and Z files. It can also
allow you to perform editing on text
files and not only navigate the file
system, but manage your files and
directories. It is also available for
Cygwin.
It enables the choice of displaying
only directories or directories with
files on your filesystem. It is a
powerful console tool to explore your
directories or file system. Used with
Grep, it can also help you to find
elusive files.
Even more powerful than Midnight
Commander because of its larger
archive file format support. It has the
look and feel of XTree and
XTreeGold.
Status
Still under active development, it is at
stable release version 4.6. There are
about a dozen developers currently
working on the project, however, it
cannot be determined which is the lead
developer or maintainer of the project.
The project dates back to 1998.
Still under active development, the
leader maintainer of the project
appears to be Steve Baker. It is
currently at version 1.4b. Cannot
determine when the project started.
The software was developed at the
Center for Biological Computing at
Indiana State University Department
for the Department of Life Sciences.
Still under active development, it is
currently at version 1.80. The original
author is Werner Bregulla, but is being
developed by about a dozen other
developers and contributors. It cannot
be determined when the project
actually started.
115
Table A.1: General Purpose Computing (continued)
Product
Wipe
License: GNU GPL.
KCommander
License: GNU GPL.
Description
Its purpose is to quickly wipe out
traces of your latest dissident
activities, based on the published
works of Peter Guttmann.
Described by that authors as “the
ultimate tool for every
ex-windows-users,” and “this project
ought to get the same functionality as
its Windows-clone sometime. For
UNIX fans the KCommander gives
the look and feel of the Midnight
Commander.”
The Buzz
Wipe is a short, nice tool for securely
wiping out files from magnetic media.
It works on Linux, AIX, SunOS, and
Solaris. It may or may not work under
other operating systems. When using
this tool, be aware of the limitations of
wiping out your media.
Overall, a nice GUI file manager with
a look and feel similar to Midnight
Commander. However, it does not
offer the same archive options as
YTree, so if you have many archives
to manage, then this is not the right
tool for you. Otherwise, it is worth
trying out. It does offer a hexadecimal
file viewer that many other file
managers do not. It was designed to
work in a KDE / QT environment.
Status
No longer under active development,
it was developed by Berke Durak
1999. His program is currently at
version 0.16.
No longer under active development,
Christian Fricke & René Märten
developed it. Development appears to
have started in 2000 and to have
stopped in 2002. It is currently at
version 3.0b.
116
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
A GUI tool used to morph from one
image to another. For example, take
the original image of a cat and then
morph it into a tiger or a lion.
Makes for some cool animations and
practical for those working in the
animation and computer art media.
SANE stands for Scanner Access Now
Easy and is an Application
Programming Interface (API) that
provides standardized access to any
raster image scanner hardware (flatbed
scanner, hand-held scanner, video- and
still-cameras, frame-grabbers, etc.).
SANE is a universal scanner interface.
While SANE is primarily targeted at a
UNIX environment, the standard has
been carefully designed to make it
possible to implement the API on
virtually any hardware or operating
system. By allowing you to write only
one driver per device rather one per
device and application, SANE saves
you development time and makes your
coding more accurate by using a
consistent framework to access your
scanner devices.
Michael J. Gourlay first invented the
concept of morphing at Industrial
Light & Magic. A. C. G. Mennucci
then wrote Xmorph and Gtkmorph
that are GUI’s to Libmorph, the
library that actually implements the
morphing. Michael Gourlay actually
wrote the Libmorph library, and
Mennucci wrote his own GUI’s for it.
Xmorph can be traced back to 2000,
and the Libmorph library can be
traced back to 1994.
Still under active development, the
authors of the SANE standard are
Andreas Beck and David Mosberger.
Many different developers have
worked on both the SANE front-end
and backend, as well as XSANE. The
backend component can be traced
back to 1996 and development
stopped in 2002 and is at version
1.0.13. The XSANE component was
written by Ulrich Drepper (from 1995
to 1998), and is currently at version
0.92. The front-end component
appears to still be under active
development and is at version 1.0.11.
General Graphics Software:
Xmorph
License: GNU GPL.
SANE
Listed in: IDA
License: GNU GPL.
117
Table A.1: General Purpose Computing (continued)
Product
Skencil / Sketch
License: GNU LGPL.
AutoTrace
License: GNU GPL.
Description
Sketch is an interactive, object
oriented drawing program. This
means that the drawing is composed
of objects like rectangles, lines or
pieces of text. Sketch allows you to
manipulate the objects by moving
them around, resizing them or
changing their color, etc. This type of
program is also called a
vector-drawing program because it
stores the objects internally as
coordinates.
It is a program for converting bitmap
to vector graphics. The aim of the
AutoTrace project is the development
of a freely available application with
functionality similar to Corel Trace or
Adobe Streamline.
The Buzz
Yields some very nice results.
Although not as powerful as some
commercial applications, you will still
enjoy working with it. You will find
that it can yield powerful results; you
only need imagination. It is a part of
the GNOME Office suite.
Status
Still under active development,
Bernhard Herzog developed it.
Currently at version 0.6.16, it can be
traced back to at least 2001.
Works very well and if you need a
tracing program, then you should
consider working with this one. It can
read in many different file formats,
however, you might be disappointed
with its output files, as most programs
do not readily read them in. You may
have to convert them with either
GhostScript or ImageMagick.
Although still under active
development, the source code has not
been modified since November 2002.
Martin Weber developed it with help
from Masatake Yamato. It can be
traced back to 1999, but probably
dates back further than this. It is
currently at version 0.31.1.
118
Table A.1: General Purpose Computing (continued)
Product
Xfig
License: Simple
Permissive License.
GIMP
Listed in: GRAM, IDA
License: GNU GPL.
Description
Xfig is an interactive drawing tool that
runs under X Window System Version
11 Release 4 (X11R4) or later, on
most UNIX-compatible platforms. In
Xfig, figures may be drawn using
objects such as circles, boxes, lines,
spline curves, text, etc. It is also
possible to import images in formats
such as GIF, JPEG, EPSF (PostScript),
etc.
The Buzz
Objects can be created, deleted,
moved or modified. Attributes such as
colors or line styles can be selected in
various ways. Thirty-five text fonts are
available. You will find this to be a
powerful vector-drawing tool, and you
can export to many different files as
well.
The GIMP is the GNU Image
Manipulation Program. It is a freely
distributed piece of software for such
tasks as photo retouching, image
composition and image authoring. It
works on many operating systems, in
many languages.
Users who have worked with long
enough compare its power and
usability to that of Adobe PhotoShop.
You can easily create your own
plugins, modules, and filters using a
simple scripting language. In addition,
the Gimp Toolkit Library also forms
the basis for the GNOME
environment. It is a part of the
GNOME Office project.
Status
Supoj Sutanthavibul at the University
of Texas at Austin originally wrote
Xfig in 1985. Later, Ken Yap, at
Rochester, New York, did the first port
of Xfig to X11. In 1989, Brian V.
Smith picked it up and added more
features. In 1991, Paul King at the
University of Queensland, Australia
added many more features. In 1992,
Brian Boyter added the ability to
import EPS files. Mr. Tom Sato from
Japan added Japanese text support and
spell checker in 1997. It is no longer
under active development and is now
at version 3.2.4.
Still under active development, the
long awaited release of version 2.0 has
arrived. It was started in 1995 by
Spencer Kimball and Peter Mattis but
has since become a widely worked
upon project by many developers and
contributors aiming for its success.
119
Table A.1: General Purpose Computing (continued)
Product
K-3D
License: GNU GPL.
Art of Illusion
License: GNU GPL.
Ayam
License: Distributed
under the Randolf
Schultz License.
Description
K-3D is a free 3D modeling,
animation, and rendering system for
GNU/Linux and Win32. K-3D
features a robust, object-oriented
plug-in architecture, designed to scale
to the needs of professional artists.
K-3D is designed from-the-ground-up
to generate motion-picture-quality
animation using
RenderMan-compliant render engines.
Art of Illusion is a free, open source
3D modelling and rendering studio. It
is written entirely in Java. It should be
usable on any Java Virtual Machine
that is compatible with JDK 1.1 or
later.
Ayam is a free 3D modelling
environment for the RenderMan
interface. It supports CSG-modeling,
BURBS-modeling, RIB-export and
import, Wavefront-Export, and Tcl
scripting language.
The Buzz
A powerful yet easy to use 3D
modeling program, which can then
render and animate objects. It works
best with the AQSIS rendering engine
(http://www.aqsis.com). Supports
OpenGL and uses Pixar RenderMan
Interface to render high quality
movies.
For once, a Java program that can
actually produce very high quality
graphics. It is capable of producing
stunningly beautiful images. Your
imagination will be your limiting
factor.
Another program that can produce
Pixar Renderman Interface movies.
This program supports the Tcl
scripting language so that you can
write your own modules or modify the
code to suit your own needs. Also
supports OpenGL. Currently runs on
Linux, UNIX, IRIX, Win32, and Mac
OS X.
Status
Still under active development, Tim
Shead originally developed it in 1994
on an Amiga. At the time, the
program was known as Equus-3D.
Effort was then made to port it to
Win32. In 1999, the author then
decided to release his work under the
GNU GPL license and then renamed
his program K-3D. It is currently at
version 0.3.0.97.
Still under active development, the
author and maintainer of the program
is Peter Eastman. First started in 1999,
the program is currently at version 1.7.
Still under active development,
Randolf Schultz developed it. It is
currently at version 1.7. The project
can be traced back to 2001, but it
probably dates back a couple of years
earlier.
120
Table A.1: General Purpose Computing (continued)
Product
Coin
License: Free version is
GNU GPL; commercial
version has its own
license.
FreeWRL
License: GNU GPL.
Description
Coin is a high-level 3D graphics
library with a C++ Application
Programming Interface. Coin uses
Scenegraph data structures to render
real-time graphics suitable for mostly
all kinds of scientific and engineering
visualization applications. Coin is
built on the industry-standard OpenGL
immediate mode-rendering library,
and adds abstractions for higher-level
primitives and provides 3D
interactivity. Coin implements the SGI
Open Inventor API.
FreeWRL is an open-source VRML
and X3D browser.
The Buzz
Use the free version of this library if
you do not plan to write your
applications of libraries using the
Coin3D libraries. If you do, then you
must purchase a commercial edition of
the software. It will work under
Linux, UNIX, Win32, and Mac OS X.
Status
Still under active development, it is
sponsored by Systems In Motion
(http://www.sim.no). It cannot be
determined who the author or
maintainer of the program. It is
currently at version 2.2. Cannot
determine when the project was
started.
FreeWRL meets or exceeds the
VRML Minimum Conformancy
requirements, but there is still some
work to be done. Supports OpenGL
and Mesa. Using your browser, you
can look at and examine VRML
scenes. Written mainly for Linux and
Mac OS X, the code could still be
ported to other platforms. The author
does refer to having used the program
on an SGI platform.
Still under active development, John
Stewart, an employee of
Communications Research Centre
Canada, wrote it. The program does
not actually appear to be sponsored or
endorsed by the CRC. Tuomas J.
Lukka originally started the project. It
appears to have started in 1998, and is
currently at version 1.06.
121
Table A.1: General Purpose Computing (continued)
Product
Gmsh
License: GNU GPL.
Description
Gmsh is an automatic 3D finite
element mesh generator (primarily
Delaunay) with build-in CAD and
post-processing facilities. Its design
goal is to provide a simple meshing
tool for academic test cases with
parametric input and up to date
visualization capabilities. Gmsh is
built around four modules: geometry,
mesh, solver and post-processing. The
specification of any input to these
modules is done either interactively
using the graphical user interface or in
ASCII text files using Gmsh’s own
scripting language.
The Buzz
Precompiled binaries are already
provided for Windows, Linux, and
Mac OS X. In order to compile it on
other UNIX platforms, you will need
the GNU Scientific Library
(http://sources.redhat.com/gsl)
and FLTK (http://www.fltk.org).
Non-graphical versions like under
Cygwin can be compiled without
FLTK.
Status
Still under active development,
Christophe Geuzaine and
Jean-François Remacle developed it.
It is currently at version 1.51. The
project appears to have started in
1997.
122
Table A.1: General Purpose Computing (continued)
Product
MAVERIK
License: GNU GPL.
OpenVRML
License: GNU GPL.
Description
It is a publicly available virtual reality
system. It enables rapid production of
complex virtual environments as well
as providing many functions that are
valuable to anyone developing
applications with 3D graphics or using
3D peripherals. MAVERIK is
designed to support high-performance
rendering, including large-model
processing, customized
representations of environments for
different applications, and
customisable techniques for
interaction and navigation. Although
it is a component of a larger system,
MAVERIK works equally well
stand-alone and forms an ideal
platform for the construction of VR
applications for individual users.
OpenVRML is a free cross-platform
runtime for VRML available under the
GNU Lesser General Public License.
The basic OpenVRML distribution
includes libraries you can use to add
VRML support to an application, and
look at, a simple stand-alone VRML
browser.
The Buzz
Use it for to build or prototype
complex virtual environments. Use it
to test out your new 3D hardware or
peripherals. Use it for large rendering
jobs or large model processing. In
short, use MAVERIK if what you
want is to develop VR (virtual reality)
software. Designed for UNIX
platforms, it can still be compiled
under Windows through Cygwin.
Status
It does not appear to be under active
development, its last release date was
March 2002. It is currently at version
6.2. The first public release was in
February 1999, although it was then at
the time at version 4.2. The program
easily would date back to 1995 or
earlier. Cannot determine the main
author(s) as there are too many
developers, contributors, and
researchers to the project.
The project aims to be VRML97
compliant. It currently supports many
of these features, but is still not yet
fully compliant. Designed to work
under UNIX and Linux, and Mac OS
X. However, it will work under
Windows, and precompiled
dependencies are included for
Windows as well.
Still under active development, it is
currently at version 0.14.3. The
authors of the program are Chris
Morley and Brian McDaniel. Version
0.7.9 dates back to 1999, therefore the
project date back to around mid-1990.
123
Table A.1: General Purpose Computing (continued)
Product
PARallel Ray Tracer
License: Not available.
Quat - A 3DFractal-Generator
License: GNU GPL.
Description
PARRT (the PARallel Ray Tracer) is a
multi-threaded Ray Tracer; if
instructed, it is capable to distribute
rendering among multiple threads in
order to accelerate it on
multi-processor machines. PARRT
works as a regular UNIX filter
accepting scene description in NFF
format of the SPD (Standard
Procedural Database) scenes on
standard input and emitting image in
PPM format to standard output.
Quat is a program for the calculation
of genuine three-dimensional fractals.
These fractals can be cut open to
explore their interiors. For this
purpose, you can define intersection
planes, whose positions can be
adjusted freely. The coloring of an
object is done very flexibly by a
formula, which attaches a color to
every point in space.
The Buzz
PARRT could be compiled to utilize
POSIX threads library or alternatively
OpenMP API for multi-threading
support. PARRT implements both
bounding volume hierarchy and boxed
grid schemes for speeding up
rendering calculations; scheme to be
used could be selected when
launching the renderer.
Status
Still under active development,
Aleksandar B. Samardzic who works
for Faculty of Mathematics at the
University of Belgrade developed it.
Cannot determine when the project
actually started.
Use this program to create fractals and
view their interiors. Using a
mathematical formula, every pixel of
the image has a colour attached to it.
The program calculates a fractal in
PNG format in 24-bit colour mode. It
works with both Windows and Linux.
For Linux, or any other UNIX system
you try to compile it on, you will need
FLTK (http://www.fltk.org) in
order for it to compile.
No longer under active development,
the author of the project appears to be
Dirk Meyer. The project dates from
2000 to 2002. It is currently at version
1.2.
124
Table A.1: General Purpose Computing (continued)
Product
Xaos
License: GNU GPL.
GPaint
License: GNU GPL.
Description
Xaos is a fast portable real-time
interactive fractal zoomer. It displays
the Mandelbrot set (among other
escape time fractals) and allows you to
zoom smoothly into the fractal.
Various coloring modes are provided
for both the points inside and outside
the selected set. In addition, switching
between Julia and Mandelbrot fractal
types and on-the-fly plane switching is
provided.
GNU Paint (GPaint) is a simple,
easy-to-use paint program for
GNOME, the GNU Desktop. Gpaint
starts as a port of XPaint and takes
advantages of features unique to the
GNOME environment.
The Buzz
Creates stunningly beautiful images.
Although they serve little more
purpose than to please the eyes, those
fascinated with fractals or their
structure will enjoy using this
program. The first version was a
minimal X Window Mandelbrot
viewer later modified to support high
frame-rate zooming.
Status
Still under active development,
Thomas Mars and Jan Hubicka
developed it. The program dates back
to 1996, and is currently at version 3.1.
While not as powerful as GIMP, it is
more powerful than XPaint, and
certainly more powerful than
Windows Paint (PaintBrush). It should
compile on just about every platform
out there.
No longer under active development,
Li-Cheng Tai and Michael A Meffie
III developed it. The program dates
back to 2000 and is currently at
version 0.2.3.
125
Table A.1: General Purpose Computing (continued)
Product
CinePaint
License: GNU GPL.
Description
CinePaint is a free open source
painting and image-retouching
program designed to work best with
35mm film and other high-resolution
high dynamic range images. CinePaint
is used for painting of background
mattes and for frame-by-frame
retouching of movies. It is being
extended to do film restoration.
The Buzz
The 32-bit per channel color capacity
of CinePaint appeals most to
cinematographers and professional
still photographers. The author of the
program claims that CinePaint is the
most popular open source tool
currently in use in the motion picture
industry. It was used in 2 Fast 2
Furious, Scooby-Doo, Harry Potter,
Stuart Little and other feature films. It
is a general-purpose tool useful for
working on images for motion
pictures, print, and the Web. CinePaint
supports many file formats,
conventional formats such as JPEG,
PNG, TIFF, and TGA images. It also
supports more exotic motion picture
digital intermediate formats such as
Cineon and OpenEXR. It is similar in
look and feel to the GIMP. It probably
requires the GIMP and GTK to work
and compile correctly.
Status
Still under active development, the
lead developer appears to be Robin
Rowe. It is currently at version 0.18-2.
Cannot determine when the project
actually started, however, it was
registered with SourceForge in 2003.
126
Table A.1: General Purpose Computing (continued)
Product
GraphicsMagick
License: Distributed
under GraphicsMagick
License and Copyright.
Description
GraphicsMagick is a robust collection
of tools and libraries that support
reading, writing, and manipulating an
image in over 88 major formats
including popular formats like TIFF,
JPEG, JPEG-2000, PNG, PDF,
PhotoCD, SVG, and GIF.
The Buzz
GraphicsMagick supports creating
new images on the fly, making it
suitable for building dynamic Web
applications. GraphicsMagick may be
used to resize, rotate, sharpen, color
reduce, or add special effects to an
image and save the result in the same
or differing image format. Image
processing operations are available
from the command line, as well as
through C, C++, Perl, Java, or
Windows COM programming
interfaces. It runs on most major
platforms.
Status
Still under active development, the
project dates back to 2002. It is
derived from the work of
ImageMagick. More specifically, it is
derived from the ImageMagick 5.5.2
and can be used freely. Corbis and
PDF Sages sponsor it. The current
maintainer of the project appears to
Bob Friesenhahn. It is currently at
version 1.1.
127
Table A.1: General Purpose Computing (continued)
Product
ImageMagick
Listed in: GRAS
License: Distributed
under the ImageMagick
License and Copyright.
IVTools
License: Copyright
Vectaport Inc.;
proprietary license;
source code is available
under license terms.
Description
ImageMagick is a robust collection of
tools and libraries offered under a
usage license to read, write, and
manipulate an image in many image
formats (over 89 major formats)
including popular formats like TIFF,
JPEG, PNG, PDF, PhotoCD, and GIF.
IVTools is a suite of free X Windows
drawing editors for PostScript, TeX,
and web graphics production, as well
as an embeddable and extendable
vector graphic shell. It is made up of
layered collection of free C++
frameworks that vertically augment
the mechanisms of Unidraw.
The Buzz
ImageMagick supports creating new
images on the fly, making it suitable
for building dynamic Web
applications. ImageMagick may be
used to resize, rotate, sharpen, color
reduce, or add special effects to an
image and save the result in the same
or differing image format. Image
processing operations are available
from the command line, as well as
through C, C++, Perl, Java, PHP,
Python, or Ruby programming
languages. A high-quality 2D renderer
is included, which provides a subset of
SVG capabilities. ImageMagick’s
focus is on performance, minimizing
bugs, and providing stable API’s and
ABI’s. It runs on most major
platforms.
Use this tool if you are working with
TeTeX or LaTeX and need some
simple editors and drawing tools for
graphics production to include with
you Tex files.
Status
Currently at version 6.0.0, it is still
under active development. It cannot be
determined who is (are) the
developer(s) for this project. It cannot
be readily determined when this
project actually started, however,
references can be found stating that it
dates back to perhaps 1995, and
maybe even before this.
Still under active development, it is
based on the works John Vlissides’
Unidraw. According to the
Changelogs, the project started some
time in 1994. It cannot be determined
who the currently developer is.
128
Table A.1: General Purpose Computing (continued)
Product
NetPBM
Listed in: IDA
License: Artistic
License, GNU GPL, and
MIT License.
VIPS
License: GNU GPL and
LGPL.
Description
NetPBM is a toolkit for manipulation
of graphic images, including
conversion of images between a
variety of different formats. There are
over 220 separate tools in the package
including converters for about 100
graphics formats.
It is a free image processing system
that aims to be about half way
between Excel and Photoshop. It is
much smaller than either of these two
programs, but it is of professional
calibre. VIPS stands for VASARI
Image Processing Software that is a
heavy-duty image-processing library.
Its true use is for dealing with images
that are too large to be used by other
programs. It can easily handle
graphics file of 4 GB RAM or larger.
VIPS is the image-processing library
and NIPS is the GUI front-end to
VIPS that enables you to work
interactively with your graphics files.
The Buzz
It can do many things such as enlarge,
shrink, rotate, sharpen and reduce
images. However, not all graphics
formats qualify as PBM. It compiles
and works on just about every major
platform.
Status
Still under active development, Brian
Henderson is developing it. It is
currently at version 10.21. The project
dates back to at least 2000.
Use it on for large graphic files. Even
Photoshop has a practical upper limit.
It works very well on files 10 GB or
larger on a Sun Enterprise 6500 with
30 GB RAM. Use this program to
create and/or modify mosaics.
However, do not use it for photo
touch-up. Use other programs like the
GIMP instead. It is multi-threaded and
can take advantage of multiple
processors and huge amounts of
physical memory.
Still under active development, both
VIPS and NIPS are currently at stable
release version 7.8.14. It is developed
and maintained by Kirk Martinez,
John Cupitt, and Joe Padfield. The
project dates back to 1999.
129
Table A.1: General Purpose Computing (continued)
Product
XPaint
License: Not available.
Anti-Lamenessing
Engine (ALE)
License: GNU GPL.
Dia
License: GNU GPL.
Description
XPaint is a color image-editing tool
that features most standard paint
program options. It allows for the
editing of multiple images
simultaneously and supports various
formats, including PPM, XBM, TIFF,
etc.
The Buzz
A simple X Windows drawing and
touch-up tool every UNIX or
UNIX-like system should have.
ALE is a free software program that
renders high-fidelity images of real
scenes by aligning and combining
many similar images from a camera or
scanner. The correct similarity
between images is roughly that
achieved by a somewhat unsteady
hand holding a camera.
Dia is designed to be much like the
commercial Windows program Visio.
It can be used to draw many different
kinds of diagrams. It currently has
special objects to help draw entity
relationship diagrams, UML diagrams,
flowcharts, network diagrams, and
simple circuits. It is also possible to
add support for new shapes by writing
simple XML files, using a subset of
SVG to draw the shape.
Through use of sophisticated
algorithms, ALE is capable of
reducing the noise in an image, but it
can also be used to re-sharpened
images, and add weight to images as
well.
Very similar to Microsoft Visio, you
should consider using it if you are
looking for a change. While it does
not support all of the features of Visio,
it is nonetheless a powerful tool to
have around. It saves its files in a
XML gzipped format, thus making it
very easy to interchange data with
other applications. Part of the
GNOME Office suite.
Status
David Koblas originally developed
XPaint. The last version he released
was 2.1.1. It is now currently at
version 2.7.0. The main developer is
Torsten Martinsen, although there are
several who are also working together
on the project. According to the
Changelog, it appears as if Torsten
Martinsen took over the project in
1995.
Still under active development, it is
currently at version 0.6.0. It dates
back to 2002. The author of the
program is David Hilbert.
Still under active development,
Alexander Larsson wrote the original
program. Cyrille Chépélov and Lars
Clausen are currently maintaining it.
However, there are many contributors
working on the project. The project
appears to date back to at least 1998.
It is currently at version 0.92.
130
Table A.1: General Purpose Computing (continued)
Product
Flounder
License: GNU GPL.
Gmandel
License: GNU GPL.
Gnofract 4D
License: GNU GPL.
Description
Flounder is a quick way to visualize
regularly spaced 4D data, i.e., a data
set that is a function of x, y, z, and
time.
The Buzz
Generally, you will want to use this
tool to show your data using contour
plots or isosurfaces. It can even create
movies of your data as it changes over
time. It supports the GIF, PNG, and
EPS file formats when saving. You
will need FLTK in order to compile
the software.
Gmandel is a program for exploring
intricate and beautiful details of the
Mandelbrot set, the classic fractal
image. It begins with the common
graphic of the Mandelbrot set, from
which you can select portions with
click-and-drag for enhancement. You
can set the number of colors per
iteration, and the iteration limit.
Gnofract 4D is a GNOME-based
program designed to draw fractals.
What sets it apart from other fractal
programs (and makes it “4D”) is the
way that it treats the Mandelbrot and
Julia sets as different views of the
same four-dimensional fractal object.
This allows you to generate images
that are a cross between the two sets
and explore their inter-relationships.
Supporting threads, you can set the
number of threads you want the
program to use. This will dramatically
increase speed on multi-processor
systems. In addition, if you have MPI
or PVM, you can compile this support
into the program and increase the
program’s speed if you have a cluster.
While similar to other fractal viewing
programs, Gnofract is able to recreate
into four dimensions, allowing you to
explore deeper and more in-depth than
with other similar fractal viewers.
Status
Originally developed by André Bleau
at the University of Montreal, the
project was known then as Affiche.
Originally, it worked only on SGI
because it was written using GL. The
author of Flounder, Edward Vigmond
then took on himself to rewrite the
code for Linux. Flounder appears to
date back to 2000. It is currently at
version 0.40.
No longer under active development,
it is currently at version 1.2.0. The
author of the program is Edscott
Wilson Garcia. The project appears to
have started and stopped and in 2002.
Still under active development, it is
currently at version 1.9. Aurélien
Alleaume, originally developed
Gnofract however, Gnofract 4D was
written by Edwin Young. Gnofract 4D
appears to date back to 1999.
131
Table A.1: General Purpose Computing (continued)
Product
Latex2slides
License: GNU GPL.
Potrace
License: GNU GPL.
Terraform
License: GNU GPL.
Description
Latex2slides is a simple graphical
program that produces a set of
HTML/JPEG slides from a TeX or
LaTeX source. Alternatively, the
source can be a multi-page postscript,
DVI or PDF FILE, and the image
format for the slides can be set to
PNG.
Potrace is a utility for tracing a
bitmap, which means, transforming a
bitmap into a smooth, scalable image.
The input is a bitmap (PBM, PGM,
PPM, or BMP format), and the default
output is an EPS file.
Terraform is an open source
interactive height field generation and
manipulation program, giving you the
ability to generate random terrain and
transform it. Terraform runs under
Linux and other UNIX systems under
the X11 Windowing system. It uses
the GNOME desktop platform and
thus has a consistent graphical user
interface that does not require use of
the command line.
The Buzz
User this program to convert your Tex
files to HTML or JPEG-based slides,
or go from PS, DVI, or PDF files to
PNG-based slides. Should run on just
about every major UNIX platform,
and probably will work under Cygwin
and Mac OS X.
Status
Still under active development, the
author of the program is Leo Milano.
Currently at version 1.0, the project
dates back to 2001.
Use this program to take jaggy images
such as those that are scanned in to
turn them into nice, smooth images.
Works well on signatures. You can
save the output images into EPS,
PostScript, SVG, and PGM.
Terraform allows you to generate
random terrain using a number of
algorithms and then selectively change
the terrain using a variety of
transformations. Where possible, the
transformations provide a real-time
preview, giving you instant feedback
on the effect of any parameter
changes. You can even incorporate
your terrains into POV RAY to create
photo-realistic landscapes. You can
also create movies and animations
with Terraform.
Still under active development, the
author of the program is Peter
Selinger. The project dates back to
2001. It is currently at version 1.4.
No longer under active development,
it was first started in 1997 and
development ceased in 2002. It is
currently at version 0.9.0. The author
of the program is Robert Gasch.
132
Table A.1: General Purpose Computing (continued)
Product
MESA
Listed in: IDA
License: Some portions
are copyright to their
respective authors; core
component of Mesa
copyright under
XFree86-style license.
Description
Mesa is a 3D graphics library with an
API that is very similar to that of
OpenGL. To the extent that Mesa
utilizes the OpenGL command syntax
or state machine, it is being used with
authorization from Silicon Graphics,
Inc. However, the author does not
possess an OpenGL license from SGI,
and makes no claim that Mesa is in
any way a compatible replacement for
OpenGL or associated with SGI.
The Buzz
While it is not OpenGL, it is generally
used in place of OpenGL for many
open source projects. Older versions
of OpenGL are available for use in
open source software without
requiring the purchase of an expensive
commercial license. More often than
not, you can use Mesa in place of
OpenGL with a minimum amount of
recoding required. It is, for all intents
and purposes, an open source
compatible OpenGL library. It is
supported on most major platforms. If
you own an SGI, you are probably
better off with the version of OpenGL
supported by your version of IRIX.
Status
Still under active development, its
author Brian Paul founded it. The
project was started in 1993, and is
currently at version 6.0. SGI is
generally rather receptive to the idea
of Mesa, and has helped them to
further foster OpenGL.
133
Table A.1: General Purpose Computing (continued)
Product
PovRay
License: Distributed
under POV RAY
General License
Agreement.
VTK
Listed in: GRAS
License: Open source
through the Kitware
Visualization Toolkit
Copyright License
Agreement.
Description
The Persistence of Vision Ray-Tracer
creates three-dimensional,
photo-realistic images using a
rendering technique called ray tracing.
It reads in a text file containing
information describing the objects and
lighting in a scene and generates an
image of that scene from the
viewpoint of a camera also described
in the text file. Ray tracing is not a fast
process by any means, but it produces
very high quality images with realistic
reflections, shading, perspective and
other effects.
The Visualization ToolKit (VTK) is an
open source, freely available software
system for 3D computer graphics,
image processing, and visualization.
The design and implementation of the
library has been strongly influenced
by object-oriented principles. The
graphics model in VTK is at a higher
level of abstraction than rendering
libraries like OpenGL or PEX. This
means it is much easier to create
useful graphics and visualization
applications. In VTK, applications can
be written directly in C++, Tcl, Java,
or Python.
The Buzz
A very powerful open source ray
tracer. You can create just about
anything you want with this particular
program. Only your imagination will
hold you back. For an idea of what
you could achieve, have a look at the
Art Gallery. However, the power
behind POV RAY is its Scene
Description Language, which is not
too difficult to learn. It appears similar
to a scripting language. Also, look at
MegaPOV
(http://megapov.inetart.net)
and the Internet Movie Project
(http://www.imp.org). Apparently,
it can also be compiled with PVM.
The software is a true visualization
system; it does not just let you
visualize geometry. VTK supports a
wide variety of visualization
algorithms including scalar, vector,
tensor, texture, and volumetric
methods; and advanced modelling
techniques like implicit modelling,
polygon reduction, mesh smoothing,
cutting, contouring, and Delaunay
triangulation. You can mix 2D
imaging / 3D graphics algorithms and
data. The goal is to make the software
easy enough for any computer literate
person to use.
Status
Still under active development, it is
currently at stable release 3.5. It
cannot be determined who the
author(s) of the program are, or when
the project was started.
Still under active development, it is
currently at version 4.2. It appears to
have been developed by Ken Martin,
Will Schroeder, and Bill Lorensen.
They appear to continue the project’s
development. However, the project is
open to advancement through the
contribution effort of outside
developers. Developers can make their
own contributions so long as they
follow a few simple rules that the
authors have listed on their web site.
The software is currently by Kitware
Inc.
134
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
If you like graphs and points, or want
to learn more about graph theory, then
you will like this program.
It is being actively developed and is
now at version 0.9.5. The project
appears to have been started in 2001
and is still developed by the main
author David Symonds, and others as
well.
It is similar to Graph Thing but with
better exporting and its own language.
It is not being actively developed. The
author is Christian Obrecht. The
project was started in 2000 and it
appears to have stopped in 2002.
It is still under active development.
The author is Steve Grubb and the
latest version of the program is 2.20. It
appears to have started in 2003.
Graphing and Plotting Software:
Graph Thing
License: GNU GPL.
Eukleides
License: GNU GPL.
Ploticus
License: GNU GPL.
This is a tool which enables you not
only to create and manipulate
“graphs,” but to study graphs them as
well. These are not traditional
statistical graphs, but rather they are
used to understand the position of a
point in relation to other points. This
is plotting tool for whoever interested
in learning and working more with
graph theory.
Eukleides is a Euclidean geometry
drawing language. It can convert its
graphics to EPS format or other
various graphic formats.
Ploticus is a non-interactive graphical
plotting and charting tool. It is a very
powerful tool and can easily help you
to create and get you on your way to
analyzing many different kinds of data
sets, such as scientific, medical, social
sciences, statistics, and time-series.
While not well suited to all your
graphing needs, it can and should be
used in place of Microsoft Grapher for
some specific types of graphs and
plots. This program is definitely of
commercial quality.
135
Table A.1: General Purpose Computing (continued)
Product
R
Listed in:
GRAS, GRAM, IDA
License: GNU GPL.
GNUplot
Listed in: GRAS
License: Freeware, but
one is not allowed to
distribute a modified
version.
KPL
License: GNU GPL.
Description
Very similar to a programming and
plotting language known as S; R is a
both a programming language and an
environment for statistical computing
and graphics. R comes complete with
a wide variety of statistical and
graphical techniques and capabilities.
Through its programming language, it
becomes very extensible.
GNUplot is a command-driven
interactive function-plotting program.
It can be used to plot functions and
data points in both two- and
three-dimensional plots in many
different formats, and will
accommodate many of the needs of
today’s scientists for graphic data
representation.
KPL is a part of the KDE desktop
manager effort and is always under
development, like the rest of KDE. It
was designed for 2D and 3D scientific
plots and graphing. Simple and easy
to use, it is elegant to work with, and
more pleasant to the eyes than
GNUplot.
The Buzz
If statistics is your thing, this is a
program you would find of great
interest, although it is not obvious to
use at first. It is capable of producing
high-quality graphs and images.
Status
It is still under active development.
The latest version is 1.8.1. R was
initially written by Robert Gentleman
and Ross Ihaka, and since 1997, a
large number of contributors have
joined on. It is uncertain when the
project started but it was at least in
1997 (or possibly earlier).
Considered by many as the de facto
open source graphing tool; use it in
your scripts, and for scientific
graphing and system administration.
Many other plotting tools copied it,
but this is the real thing.
No longer part of the GNU
community; it is still under active
development. The latest version is
3.8k.1. The authors are Thomas
Williams, Colin Kelley, Russell Lang,
Dave Kotz, John Campbell, Gershon
Elber, Alexander Woo and many
others. The project started in 1998.
If you like GNUplot but are not too
nuts about the terse interface of
GNUplot, then you will really enjoy
this program’s intuitive GUI.
It is still under active development and
its author is Werner Stille. The
program is currently at version 3.2.
The program appears to date back to
April 1999.
136
Table A.1: General Purpose Computing (continued)
Product
PlotMTV
License: Freeware, no
fee.
Tulip
License: GNU GPL.
GRACE
License: GNU GPL.
Description
It is an X11 multipurpose plotting
program which specializes in doing
contour plots, but and it also supports
2D and 3D plots.
The Buzz
It is a bit rough around the edges but
nice nonetheless. It is a bit difficult to
find the source code files, although
they are out there.
Tulip software is a system dedicated to
the visualization of huge graphs. It is
scaleable across clusters and the more
memory you have the larger your
graphs can be. It supports OpenGL /
MESA.
Ever wonder how they manage all the
routers on the Internet? Well, this is
just the kind of software you could use
to do this with. It supports huge
graphs, larger than anything I have
seen in any other program. Cool
graphics.
If there were a rival to Microsoft
Grapher, this is the one. Consider
using this program for all your basic
and many of your advanced graphing
needs. Its images are very high
quality.
Grace is a WYSIWYG 2D plotting
tool for the X Window System and
Motif. Offers true publication quality
and capable of performing different
mathematical analysis on your data
(curve fitting). Also comes with its
own built-in programming language.
Status
It is no longer under active
development. The U.S. Department of
Energy sponsored it. The project
appears to have started in 1991 and to
have ended in 1995. The author
appears to be Kenny Toh. The main
web page only lists the manual and
some examples. Download the source
code from http://rpmfind.net.
The original author is David Auber
and it is still under active
development. It is currently at version
1.2.5. The project dates back to at
least 2001.
It is still under active development.
GRACE started as Xmgr (which was
under a closed license) and originally
written by Paul Turner. GRACE is the
open source version of Xmgr. The
current release is 5.1.14. The project
dates back to at least 2001.
137
Table A.1: General Purpose Computing (continued)
Product
RRDTool
Listed in: GRAS
License: GNU GPL.
Description
RRD is the acronym for Round Robin
Database. RRD is a system to store
and display time-series data (i.e.
network bandwidth, machine-room
temperature, server load average). It
stores the data in a very compact way
that will not expand over time, and it
presents useful graphs by processing
the data to enforce a certain data
density.
The Buzz
Use it in your Perl / shell scripts. A
great tool for creating graphs of
system administration-based
information. If you are a system
administrator and need to graph your
system’s performance metrics, then
consider this program.
Status
It is still under active development.
The author and main developer is Tobi
Oetiker. This tool is a spinoff of his
earlier project MRTG. It is currently at
version 1.0.46. The program dates
back to at least 1999.
138
Table A.1: General Purpose Computing (continued)
Product
Description
Mail Clients and Servers:
Mozilla
Based on the source code of Netscape
Listed in: GRAM, IDA
Communicator 5.0, it today offers all
License: Mozilla Public
of the same features as Netscape, but
License.
it also offers some new functionality.
It is found standard today with all
versions of Linux and the open source
BSD operating systems (except Mac
OS X). Netscape has taken the same
GUI look and feel as Mozilla.
Sendmail
Sendmail is a mail daemon that is
Listed in:
used by just about every UNIX and
GRAS, GRAM
UNIX-like operating system whose
License: Freeware.
task is to both receive and deliver
electronic mail. It can handle mail
delivery from your system to itself as
well as to all Internet hosts. Electronic
mail involves hosts contacting and
exchanging information from
potentially any site on the Internet.
Thus mail is generally sent using
SMTP and is generally received using
IMAP or POP.
The Buzz
Status
It has a nice look and feel. Fast and
efficient, and includes some useful
features not found in Netscape. It is
the descendant of Netscape
Communicator 5.0, and we find today
that Netscape tries to emulate the
same look and feel of Mozilla. Rather
than use Netscape, try to use Mozilla
instead.
There are commercial versions of
Sendmail available from Sendmail
Inc, as well as an open source one
available that is also available from
http://www.sendmail.org. The
commercial versions offer advanced
features not found in the open source
Sendmail. Sendmail is the de facto
standard for UNIX mail daemons.
It is based on the source code from
Netscape Communicator 5.0 that was
released in 1998. Mozilla is still under
active development. However, it
cannot be determined who the
developers and contributors to the
project are. It is currently at stable
release version 1.6.
Still under active development, the
original author of Sendmail was Eric
Allman. It was started in 1980 at the
University of California at Berkeley
and was first released with UCB BSD.
In 1987, Swede Lennart Lovestrand
developed the first non-Allman
version of Sendmail. Paul Vixie who
in 1990 worked for DEC started the
King James Sendmail that was based
on Lennart’s Sendmail and focused on
code improvement. Vendors like HP
and Sun have made their own updates
to Sendmail.
139
Table A.1: General Purpose Computing (continued)
Product
Postfix
Listed in: GRAM
License: IBM Public
License.
Mailman
Listed in: GRAM, IDA
License: GNU GPL.
Majordomo
Listed in: GRAS
License: Free to use but
restricted.
Description
It is Wietse Venema’s mailer that
started life as an alternative to the
widely used Sendmail program.
Postfix attempts to be fast, easy to
administer, and secure, while at the
same time being Sendmail compatible
enough to not upset existing users.
Thus, the outside layers have a
Sendmail-like flavour, but the inside is
completely different.
Mailman is free software for
managing electronic mail discussion
and e-newsletter lists. Mailman is
integrated with the Web, making it
easy for users to manage their
accounts and for list owners to
administer their lists. Mailman
supports built-in archiving, automatic
bounce processing, content filtering,
digest delivery, spam filters, and more.
Majordomo is a program that
automates the management of Internet
mailing lists. Commands are sent to
Majordomo via electronic mail to
handle all aspects of list maintenance.
Once a list is set up, virtually all
operations can be performed remotely
by email, requiring no intervention
upon the postmaster of the list site.
The Buzz
A nice and easy to use replacement for
Sendmail. Your users should not
notice the difference between Postfix
and Sendmail.
Status
Still under active development, it is
has been developed by Wietse Zweitze
Venema who work and developed
Postfix at the IBM Thomas J. Watson
Research Center. It is currently at
version 2.0 patchlevel 18. The project
appears to have started in 1998.
The program is written almost entirely
in Python with a few snippets of C.
You will need a message transfer
agent (like Sendmail) and a web server
(like Apache) in order for it to work.
Although it is not a mail daemon
itself, the program makes it possible
for users to manage their mail and lists
from a web interface, as well as add
rules like filtering and spam blocking.
Use this tool to help you automate the
management of your mailing lists.
Mailman’s lead developer is Barry
Warsaw and it is still under active
development. The project was started
in 1998 and the current release is
2.1.4.
It is a groupware project that evolved
from the original code base of Brent
Chapman, with further work done it
by John Rouillard. The current
maintainer is Chan Wilson. The
current version is 1.94.5. The project
started in 1997, and is no longer under
active development.
140
Table A.1: General Purpose Computing (continued)
Product
Qmail
Listed in: GRAS
License: Free to use but
restricted.
Evolution
Listed in: GRAM, IDA
License: GNU GPL.
Description
Compatible with Sendmail, it aims to
be a complete modern SMTP mail
daemon replacement for Sendmail.
It is the award-winning personal and
workgroup information management
solution for Linux and UNIX-based
systems. It seamlessly integrates
email, calendaring, meeting
scheduling, contact management, and
task lists, in one powerful, fast, and
easy-to-use application. Ximian
Evolution is also a powerful
collaboration software package that
connects to popular corporate
communications architectures like
Microsoft Exchange, Lotus Notes, and
other messaging systems. Ximian
Evolution supports a broad range of
leading Linux distributions and UNIX
variants.
The Buzz
Faster and more reliable than
Sendmail, it is also compatible with
Sendmail. Many ports are available
and it compiles on the majority of
UNIX and UNIX-like platforms. If
you have a large Sendmail site and do
not want to pay for expensive
commercial versions of Sendmail,
perhaps this program is for you.
It runs on various versions of Linux
and on the SPARC version of Solaris
8. Although there are free versions
available, it lacks much of the
functionality of the commercial
version. Part of the GNOME Office
suite. It also uses J-Pilot as the
backend program for Evolution’s PDA
synchronization capabilities.
Status
Developed by D. J. Bernstein, the
program is no longer under active
development. The latest release
version 1.0.3 dates to 1998, and the
first released version dates back to
1996.
Ximian was bought in 2003 by SuSE
Linux and then later bought by Novell
in early 2004. The program has been
around since at least 2001, but its
actual history cannot be determined,
nor can the main developer(s) be
determined.
141
Table A.1: General Purpose Computing (continued)
Product
Kmail
License: GNU GPL.
Pine
License: Free to use but
restricted.
Procmail
Listed in: GRAS, IDA
License: GNU GPL,
Artistic License.
Description
Kmail is a fully featured email client
that fits nicely into the K Desktop
Environment, KDE. It has features
such as support for IMAP, POP3,
multiple accounts, powerful filters,
PGP/GnuPG privacy, inline
attachments, and much more.
The Buzz
A very nice and easy-to-use mail
client with a powerful yet appealing
interface.
Standing for Program for Internet
News & Email, it is a tool for reading,
sending, and managing electronic
messages from the command-line. It
is available for both UNIX and
UNIX-like operating systems, as well
as for Microsoft Windows platforms.
Use this program if you prefer using
command-line driven mail clients.
Though originally designed for
inexperienced email users, Pine has
evolved to support many advanced
features, and an ever-growing number
of configuration and
personal-preference options.
Use it as full replacement for
Sendmail. It is compatible with
Sendmail.
Procmail can be used to create
mail-servers, mailing lists, sort your
incoming mail into separate
folders/files, pre-process your mail,
start any programs upon mail arrival or
selectively forward certain incoming
mail automatically to another address.
Status
Still under active development under
the KDE project, it is currently at
version 1.6 under KDE 3.2. It has
been around since before 2000,
although when Kmail first appeared in
KDE cannot be readily determined,
nor can its developer(s) be determined
either.
Currently at version 4.58, it is still
under active development. Developed
by Computing & Communications at
the University of Washington, it has
been around since 1990.
Started in 1990, the latest version 3.22
was released in 2001. There has been
no development since then.
Development was started in 1990 by
S.R. van den Berg and then Philip
Guenther came onboard the project.
142
Table A.1: General Purpose Computing (continued)
Product
Exim
Listed in: IDA
License: GNU GPL.
Horde IMP
License: Proprietary
license.
Cyrus
Listed in: IDA
License: Freeware.
Description
Exim is a message transfer agent
(MTA) developed at the University of
Cambridge for use on UNIX systems
connected to the Internet. It is similar
to Smail 3, but its facilities are more
general. There is a great deal of
flexibility in the way mail can be
routed, and there are extensive
facilities for checking incoming mail.
Exim can be installed in place of
Sendmail, although the configuration
of Exim is quite different to that of
Sendmail.
IMP stands for the Internet Messaging
Program. It is a GUI-based mail client
that was written in PHP and provides
web-mail access to IMAP and POP3
accounts.
The Cyrus Electronic Mail Project
aims to build a highly scalable
enterprise mail system designed for
use in a small to large enterprise
environments using standards based
technologies. The Cyrus technologies
will scale from independent use in
small departments to a system
centrally managed in a large
enterprise.
The Buzz
Use it in place of Sendmail, but
learning how to configure it is quite
different from what you would expect
from most Sendmail replacements, so
be patient.
Status
The current version is 4.30, and it is
still under active development. It was
started in 1995 at the University of
Cambridge. It appears to have been
developed by Philip Hazel, however, it
cannot be readily determined who is
currently maintaining the project.
Use it as a graphical mail client. You
will need a web server like Apache to
run the PHP side of it. It is a part of
the Horde PHP Framework project.
Currently at version 3.2.3, it is under
active development. Chuck
Hagenbuch, Jon Parise, Jan Schneider,
Brent J. Nordquist, Anil
Madhavapeddy, Ivan E. Moore II, and
Mike Hardy developed it. It cannot be
determined when the project started,
but it easily dates back to at least 2000.
Started in 1994 at the University of
Carnegie Mellon, it is under active
development and is now at stable
release version 2.2.3. It cannot be
readily determined who developed
Cyrus, or who is currently maintaining
the project.
It is a powerful MTA, but it does not
set itself apart from other MTA’s
currently available, either as open
source projects, or commercially.
143
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
Use Fping in your scripts. It now
supports both IPv4 and IPv6.
It is no longer under active
development. The original author and
maintainer of the program was Rolan
Schemers and the current maintainer
is Thomas Bzubin. The latest version
is 2.4b2 from January 2002. The
initial release was in June 1992.
It works on the popular UNIX and
UNIX-like platforms. Use it to test
site security. This is a powerful tool
that you must have in your toolbox.
The main developer is Salvatore
Sanfilippo and it is still under current
development. There many other
involved developers and contributors.
It is currently at version 2.0.0rc2. The
program dates back to at least 1998.
Just like your standard Traceroute
program (Tracert for Windows) and
plots on a globe. Supports OpenGL
and Mesa. It compiles on joust every
UNIX and UNIX-like operating
system.
No longer under active development,
it is currently at version 0.9.1. The
main author of the program is Björn
Augustsson. It cannot be determined
when the project started, but the latest
release dates back to April 2003.
Network Troubleshooting Tools:
Fping
License: GNU GPL.
Hping
License: GNU GPL.
Xtraceroute
License: BSD.
Fping is different from Ping in that
you can specify any number of hosts
on the command line, or specify a file
containing the lists of hosts to Ping.
Instead of trying one host until it times
outs or replies, Fping will send out a
ping packet and move on to the next
host in a round-robin fashion. If a host
replies, it is noted and removed from
the list of hosts to check. If a host
does not respond within a certain time
limit and/or retry limit it will be
considered unreachable.
Hping is a command-line oriented
TCP/IP packet assembler/analyzer. It
supports TCP, UDP, ICMP and
RAW-IP protocols, has a Traceroute
mode, the ability to send files between
a covert channel, and many other
features. It is mainly used as a security
tool.
Xtraceroute is a graphical version of
the Traceroute program, which traces
the route your IP packets travel to
their destination. It will all depend on
your personal preferences, whether
you provide command-line tools or
GUI tools.
144
Table A.1: General Purpose Computing (continued)
Product
MTR
Listed in: GRAS, IDA
License: GNU GPL.
Etherape
License: GNU GPL.
Description
Mtr combines the functionality of the
’Traceroute’ and ’Ping’ programs in a
single network diagnostic tool. It
investigates the network connection
between the host Mtr runs on and a
user-specified destination host. After
it determines the address of each
network hop between the machines, it
sends a sequence ICMP ECHO
requests to each one to determine the
quality of the link to each machine. As
it does this, it prints running statistics
about each machine.
Etherape is a graphical network
monitor for UNIX modeled after
Etherman. Featuring link layer, IP and
TCP modes, it displays network
activity graphically. Hosts and links
change in size with traffic. It has
colour coded protocol displays. It
supports Ethernet, FDDI, Token Ring,
ISDN, PPP and SLIP devices. It can
filter traffic to, and can read traffic
from a file as well as live from the
network.
The Buzz
Better than both Traceroute and ping
combined, it is a graphical tool that
can be compiled on most UNIX and
UNIX-like platforms. There is also a
console driven version. Consider it for
use in your scripts. Unlike
Xtraceroute, it supports OpenGL or
MESA extensions.
Status
Written by Matt Kimball, its
development effort was taken over in
1998 by Roger Wolff. The current
version is 0.54. It does not appear to
be actively developed with the last
version released in May 2003. It
cannot be determined when the project
actually started.
Do not try to compile this program on
non-Linux platforms (it is too buggy).
It requires GTK+ and the “Libglade”
library to compile correctly. You
should probably use this tool only a
Linux box. However, it is a very useful
tool to see the traffic from/to your
machine and around on the network.
No longer under active development,
and designed primarily for use on
Linux systems, the current version is
0.8.2-1. There is however, an already
compiled version 0.90 for Mandrake
Linux 9.0. Juan Toledo is the original
author, and the project has had many
other developers and contributors
working on it over the years. The
actual start date for the project cannot
be readily determined. The project
was written for the author’s degree
project in order to obtain his
engineering degree.
145
Table A.1: General Purpose Computing (continued)
Product
Cheops (no longer
supported or
developed)
License: GNU GPL.
Cheops-NG
(Cheops Next
Generation)
License: GNU GPL.
Description
Written using GTK+, you will need
GNOME to have it work correctly. It
should compile on most UNIX and
UNIX-like platforms that support
GNOME assuming you have all of the
necessary dependencies. Restrict use
to network, system, and security
administrators. Cheops is an Open
Source Network User Interface. It is
designed to be the network equivalent
of a Swiss-army knife, unifying your
network utilities. Cheops does for the
network what a file manager does for
your filesystem.
Based on the original work of Mark
Spencer’s Cheops, this is the next
generation of the tool. The main
difference is that Cheops-NG has a
background service called the
“Cheops-agent” which monitors a
given system and its data can be
reported back to a system running the
“Cheops-ng” program.
The Buzz
A very powerful tool not to be taken
lightly. It can help you understand the
layout of your network as well as gain
vital information in the devices
attached to your network. Be careful
who you let use this tool.
Status
No longer supported or developed.
Development has not progressed since
September 2001. It is currently at
version 0.61. Developed by Mark
Spencer, the initial release was 0.50
that dates back to at least 1998, if not
several years before this.
This is still only alpha code. If you
find it does not work or is too buggy
for your tastes, then go back to using
Cheops. Again, like Cheops, you do
not leave this powerful network
analysis tool in the hands of just any
user. Restrict use to network, system,
and security administrators. The new
tool also has more library
dependencies than the original tool,
and its client/server architecture leave
it open to more possibilities than the
original Cheops does.
It appears to still be under active
development, although at the time of
this writing it has been 10 months
since the last release. It is currently at
version 0.1.12. Brent Priddy and Mark
Spencer are currently developing it. It
cannot be determined when this
project began.
146
Table A.1: General Purpose Computing (continued)
Product
Tcpdump
License: BSD.
Netcat
License: Freeware,
Public Domain.
Description
Although every different UNIX or
UNIX-like platform has its own
built-in network sniffer, Tcpdump is
the standard tool that comes with just
about all major distributions of Linux,
and can be found for many non-Linux
distributions.
The Buzz
A far superior product to the majority
of command-line network packet
sniffers available on the market. Use
this tool to troubleshoot your network.
For it to work, you will also need the
“Libpcap” library. Note, there are
versions of the Tcpdump (Windump)
and Libpcap for Windows.
Using the TCP or UDP protocol, it is a
simple UNIX utility that reads and
writes data across network
connections. It is designed to be a
reliable “back-end” tool that can be
used directly or easily driven by other
programs and scripts. At the same
time, it is a feature-rich network
debugging and exploration tool; it can
create almost any kind of connection
one would need and has several
interesting built-in capabilities.
Use this program to test out not only
your network connectivity, but also to
test out certain network applications
and/or services. . Use it to test the
availability of network services, as
well as to send and get remote data on
these services.
Status
Still under active development, it is
currently at version 3.81 for Tcpdump
and 0.8.1 for Libpcap. Version 2.0 of
Tcpdump, an internal only version
dates back to 1992. Therefore, the
program has been around since 1980’s.
The original author(s) of the program
and library cannot be determined.
Libpcap dates back to at least 1994.
No longer in active development, this
tool has not seen active development
since 1996. However, note that this is
a very complete and stable tool to
work with. It is currently at version
1.10. The program can only be traced
back to 1995. The author(s) of the
program cannot be determined. There
is also a version available for
Windows.
147
Table A.1: General Purpose Computing (continued)
Product
MRTG
Listed in: GRAS
License: GNU GPL.
Ethereal
License: GNU GPL.
Description
The Multi Router Traffic Grapher
(MRTG) is a tool to monitor the traffic
load on network-links. MRTG
generates HTML pages containing
graphical images that provide a LIVE
visual representation of this traffic.
You specify the time interval you
want.
Used by network professionals around
the world for troubleshooting,
analysis, software and protocol
development, and education. It has all
of the standard features you would
expect in a protocol analyzer, and
several features not seen in any other
product. It runs on all popular
computing platforms, including
UNIX, Linux, and Windows.
The Buzz
Use this tool to monitor network
traffic. Note: this tool only works for
SNMP enabled devices, such as
printers, switches, and routers.
However, if you enable SNMP on
your workstations too, it will allow
you to see non-switched monitored
information. It is a very useful and
powerful diagnostic tool. Easy to use
and images are automatically
generated every preset time interval. It
is written in C and Perl so it can be
ported to just about any platform.
Configuration can be a bit tricky, but it
is doable.
Currently capable of analyzing 472
protocols, it is by far the most
powerful network analysis program in
the open source community, and easily
rivals anything in the commercial
community. The only thing it cannot
currently do is perform statistical
analysis on the packets it receives. If
you have a need to monitor your
network, use this software without
hesitation. There is a GUI and
command-line tool for gathering and
analyzing the captured data.
Status
Still under active development, it is
currently at version 2.10.13.
Developed by Tobias Oetiker in 1994,
it has gone through several major
overhauls.
Still under active development, the
original developer is Gerlad Combs,
and has perhaps more than 100
contributors to the program. It is
currently at version 0.10.2. The
program has been around since before
2000, but its date of inception cannot
be readily determined.
148
Table A.1: General Purpose Computing (continued)
Product
Pingscan
Listed in: GRAS
License: GNU GPL.
SniffIt
License: Freely
distributable.
Net SNMP
Listed in: IDA
License: BSD. BSD-like
for the portions from
Carnegie Mellon
University, BSD for
portions from Network
Associates Inc., BSD for
parts from Cambridge
Broadband Ltd., BSD
for parts from Sun
Microsystems Inc., BSD
parts from Sparta Inc.
Description
Pingscan is a little Perl script to scan a
network for reachable or unreachable
hosts by pinging them. It now also
checks DNS entries.
Sniffit is a packet sniffer, developed on
LINUX, ported to SunOS/Solaris,
IRIX and FreeBSD. it is a quick and
dirty tool and can be used for most of
your sniffing needs.
A platform independent
implementation of the SNMP RFC.
The Buzz
It is a nice program to use in your
scripts. Because it is in Perl, you can
use it on any system where Perl is
installed.
A worthwhile packet sniffer to learn to
use. Portable to multiple platforms,
with a nice selection of command line
options.
Platform independent implementation
of SNMP version 1 and 2. It works on
many different platforms, and is
highly extensible and flexible. It is
currently found on most major
distributions of Linux, and can easily
be compiled and installed on just
about any other platform.
Status
It is currently at version 1.2; Matthias
Cramer developed it in 1999.
Development appears to have stopped
in 2000.
Developed by Brecht Claerhout, the
last version was released in 1998. It
cannot be determined when the project
started or why it has stopped, but it is
no longer under active development.
It is originally based on the Carnegie
Mellon University and University of
California at Davis (UCD-SNMP)
SNMP implementations, but has been
so heavily changed and modified that
it no longer resembles the original. As
of release 5.0 Net-SNMP no longer
bore any resemblance to UCD-SNMP.
The Net-SNMP initiative appears to
have started in 2000. It cannot be
determined who the developers are,
but there are many collaborating
together to move the project forward.
149
Table A.1: General Purpose Computing (continued)
Product
RRDTool
Listed in: GRAS
License: GNU GPL.
Gnomba
License: GNU GPL.
IPAudit
License: GNU GPL.
Description
RRD is the acronym for Round Robin
Database. RRD is a system to store
and display time-series data (i.e.
network bandwidth, machine-room
temperature, server load average). It
stores the data in a very compact way
that will not expand over time, and it
presents useful graphs by processing
the data to enforce a certain data
density.
Gnomba is a GNOME version of
Smbclient, a UNIX client for
Microsoft’s SMB “Network
Neighbourhood.”
IPAudit is an IP traffic monitor. It
listens to a network interface in
promiscuous mode (or reads data
previously dumped to a file) and
tallies the total traffic for every
“connection”. A connection is a
combination of IP address pairs,
protocol and for TCP/UDP protocols,
the ports numbers. Use this tool for
determining network load.
The Buzz
Use it in your Perl / shell scripts. A
great tool for creating graphs of
system administration-based
information. If you are a system
administrator and need to graph your
system’s performance metrics, then
consider this program.
Status
It is still under active development.
The author and main developer is Tobi
Oetiker. This tool is a spinoff of his
earlier project MRTG. It is currently at
version 1.0.46. The program dates
back to at least 1999.
A nice alternative to Microsoft
Windows’ implementation. It requires
GNOME and Samba. It can be made
to run on multiple platforms and
architectures.
With a little bit of work and using the
standard UNIX text parsing tools, you
could use it in your scripts to collect
network statistics. It should compile
on most platforms.
Developed by Chris Rogers and Brian
Nigito, the program was first
developed in 1999 and development
ceased in 2000.
Currently under active development,
IPAudit 1.0Beta9 is now available.
The initial public release was in 1999.
It was originally developed and
founded by Jon Rifkin, but he now has
the help of three other developers.
150
Table A.1: General Purpose Computing (continued)
Product
Komba
License: GNU GPL.
NGrep
License: BSD.
Description
Another Windows-like Network
Neighbourhood browser that also lets
not only browse your Windows
networks, but also send messages
(similar to the Net send command).
NGrep strives to provide most of GNU
Grep’s common features, applying
them to the network layer. NGrep is a
Pcap-aware tool that will allow you to
specify extended regular or
hexadecimal expressions to match
against data payloads of packets. It
currently recognizes TCP, UDP and
ICMP across Ethernet, PPP, SLIP,
FDDI, Token Ring and null interfaces,
and understands BPF filter logic in the
same fashion as more common packet
sniffing tools, such as Tcpdump and
Snoop.
The Buzz
It is similar to Komba in functionality,
but designed to work under KDE
instead. Some parts of the program
may not be correctly translated. It was
originally developed in German and
therefore there may be portions with
comments and variable naming still in
German.
If your can use Grep and Tcpdump,
then you will have no problem using
this neat little tool in no time. Do not
let its simplicity fool you. It is a
powerful tool and can help you to
troubleshoot your network. So long as
you have a Pcap library, you will be
able to compile it for your platform
(there are also precompiled binaries
for Windows).
Status
Developed by Frank Schwanz, it is no
longer under active development. Its
first release was for KDE 2.x, but the
actual date of its initial release and its
version cannot be determined.
Development stopped in 2002.
Developed by Jordan Ritter, it is still
under active development. It is
currently at version 1.41. The project
appears to have started in 2001.
151
Table A.1: General Purpose Computing (continued)
Product
Tcpflow
License: GNU GPL.
Tcptraceroute
License: GNU GPL.
Tcpreplay
License: GNU GPL.
Description
Tcpflow is a program that captures
data transmitted as part of TCP
connections (flows), and stores the
data in a way that is convenient for
protocol analysis or debugging. A
program like Tcpdump shows a
summary of packets seen on the wire,
but usually does not store the data that
is actually being transmitted. In
contrast, Tcpflow reconstructs the
actual data streams and stores each
flow in a separate file for later
analysis.
Tcptraceroute is a Traceroute
implementation using TCP packets. In
many cases, firewalls will permit
inbound TCP packets to external
addresses and ports. Therefore, this
enables you to perform trace routing
using when your firewall generally
will not permit you.
Tcpreplay is a BSD-style licensed tool
to replay saved Tcpdump files at
arbitrary speeds. It provides a variety
of features for replaying traffic for
both passive sniffer devices as well as
inline devices such as routers,
firewalls, and the new class of inline
Intrusion Detection System (IDS).
The Buzz
Different in use from your standard
network packet sniffer, it is no less
useful or powerful.
Status
Still under active development, its
initial release was in 1999, and its
current version is 0.21. Jeremy Elson
developed it.
Use this tool to be able to send TCP
packets beyond firewalls. It should
work on most UNIX platforms.
Still under active development, its first
initial release was in 2001. It is
currently at version 1.5beta5. Michael
C. Toren developed the program.
Allows you to replay or recreate
stored network traffic in your
Tcpdump packet log. It should work
on most UNIX platforms.
Initial release dates back to 2002, and
it is still under active development and
is currently at version 2.0.2. The main
developer is Aaron Turner.
152
Table A.1: General Purpose Computing (continued)
Product
Iptraf
Listed in: IDA
License: GNU GPL.
BandwidthD
License: GNU GPL.
Description
Iptraf is a console-based network
statistics utility for Linux. It gathers a
variety of figures such as TCP
connection packet, byte counts,
interface statistics and activity
indicators, TCP/UDP traffic
breakdowns, and LAN station packet
and byte counts.
BandwidthD tracks usage of TCP/IP
network subnets and builds HTML
files with graphs to display utilization.
Charts are built by individual IP’s, and
display utilization over 2-day, 8-day,
40-day, and 400-day periods.
Furthermore, each IP address’s
utilization can be logged out at
intervals of 2.5 minutes, 10 minutes, 1
hour or 12 hours in CDF format.
HTTP, TCP, UDP, ICMP, VPN, and
P2P traffic are colour-coded.
BandwidthD runs on most platforms.
The Buzz
This is an impressive tool and you will
like the way it collects its working
statistics of network traffic and how it
breaks them down. It works on Linux
only.
Status
While no longer under active
development, this tool was developed
by Gerald Paul Java. The project
started in 1999 and the last release was
in 2002. It is currently at version 2.7.0.
Get useful network statistics and
generates well made and easy to
understand graphs. The statistics are
listed in an easy-to-understand format.
It should work on most UNIX
platforms.
Funded and provided by DerbyTech
wireless networking and Linux
consulting services, David Hinkle and
other volunteers. The project appears
to have started in 2003 and is still
under active development. The current
version is 1.2.0b.
153
Table A.1: General Purpose Computing (continued)
Product
Description
Office Automation Software:
OpenOffice
The goal of the project is to “To
Listed in:
create, as a community, the leading
GRAS, GRAM, IDA
international office suite that will run
License: GNU GPL and
on all major platforms and provide
Sun Industry Standards
access to all functionality and data
Source License.
through open-component based API’s
and an XML-based file format.”
The Buzz
Status
Originally based on the code donated
by Sun Microsystems for its
StarOffice suite, it has developed into
its own fully-fledged office suite, with
many options and features advanced
MS Office users would appreciate and
expect to find. It can also export files
to PDF. It can be compiled for most
major platforms. The only thing
missing is its own mail client. It is by
far the most advanced office suite thus
developed for non-Windows specific
architectures.
It is based on the source code of
StarOffice 5.2, which was released
commercially in June 2000.
StarDivision, the original author of
StarOffice was started sometime in the
mid-1980’s and later acquired by Sun
Microsystems. The source code was
then subsequently released. Future
versions of StarOffice software,
beginning with 6.0, have been built
using the OpenOffice.org source,
API’s, file formats, and reference
implementation. It is currently at
version 1.1.1. You can expect to see
newer versions of OpenOffice for
many years to come.
154
Table A.1: General Purpose Computing (continued)
Product
StarOffice
License: Proprietary
technology and license.
KOffice
License: GNU GPL
compatible License.
Description
StarOffice 7 software adds
functionality to enable export to PDF,
and to the Macromedia Flash format.
It also introduces the new StarOffice
Configuration Manager, the StarOffice
Software Development Kit, a macro
recorder, and support for assistive
technologies, as well as for complex
text layouts. It also shares technology
with OpenOffice, which was based on
StarOffice 5.2 source code. StarOffice
7 Office Suite is the world’s leading
office productivity suite on Linux and
the Solaris OS, and the leading
alternative office suite on Windows.
KOffice is a free, integrated office
suite for KDE, the K Desktop
Environment.
The Buzz
StarOffice software is affordable, easy
to use, and based on open standards. It
offers word processing, spreadsheet,
presentation, drawing, and database
capabilities. Its familiar interface
enables quick productivity and results
for the business user and elegant
output for the consumer. It is by far
the most advanced office suite thus
developed for non-Windows specific
architectures.
Status
StarDivision, the original author of
StarOffice was started sometime in the
mid-1980’s and later acquired by Sun
Microsystems. It is currently at
version 7.0. You can expect to see
newer versions of StarOffice for many
years to come.
While not as powerful as either
StarOffice or OpenOffice, it
nonetheless is a contender. It provides
all the tools and programs you would
expect in an office suite. You should
definitely try it out. It has nice visual
appearance. In addition, you will need
KDE to make it work.
Still under active development, it is
currently at version 1.3. Developed
and released with KDE, it is
considered an integral part of the KDE
desktop environment. The founder of
the KOffice effort was Torben Weis,
however, today many different
developers work on different portions
of the office suite. It is difficult to
determine exactly when KOffice first
began, but it is safe bet to say it was in
1999 or earlier.
155
Table A.1: General Purpose Computing (continued)
Product
Gnome Office
License: GNU GPL.
GNU Cash
License: GNU GPL.
Description
GNOME Office is a meta-project,
with the mission to coordinate
productivity applications for the
GNOME Desktop. It is intended to
produce a productivity suite composed
of entirely free software. The
GNOME Office suite is not defined by
an arbitrary, fixed number of
applications. However, it does include
all of the applications you would
normally expect in an office suite.
The Buzz
Again, it is not as powerful as either
StarOffice or OpenOffice, but
nonetheless a useful contender. Its
truly useful programs as are the GIMP,
GnuCash, and Gfax. However, its
other components are always good to
have around nonetheless.
GnuCash is a tool to manage your
personal finances using Free Software.
GnuCash allows you to track bank
accounts, stocks, income and
expenses.
Part of the GNOME Office suite. As
quick and intuitive to use as a
checkbook register, it is based on
professional accounting principles to
ensure balanced books and accurate
reports. GnuCash is backed up by an
active development community that is
blossoming into a full-fledged
accounting system.
Status
All the tools and programs within the
GNOME Office suite are still under
active development. It cannot be
determined who the lead maintainer of
the project is. Each program or tool is
developed and maintained by its own
set of developers and contributors, and
you may find some of them within this
text. Needless to say, the GNOME
Office suite has been distributed with
GNOME for many years now, at least
5. However, each tool and program is
at its own release version and is not
necessarily dependent on the other
portions of the office suite. For more
information, you would be well
advised to consult each tool or
applications’ web site independently
of the others.
Still under active development, it
appears that the original author of the
project was Robin Clark for a school
project. Today there are more than a
dozen developers on the project, and
more than 60 contributors to the
project. The school project was
originally done in 1997, and as has
come full circle since then. It is
currently at version 1.8.8.
156
Table A.1: General Purpose Computing (continued)
Product
PHPGroupWare
License: GNU GPL.
Horde
License: GNU GPL.
Description
PHPGroupWare (formerly known as
Webdistro) is a multi-user groupware
suite written in PHP. It provides a
Web-based calendar, todo-list,
addressbook, email, news headlines,
and a file manager. The calendar
supports repeating events. The email
system supports inline graphics and
file attachments. The system as a
whole supports user preferences,
themes, user permissions,
multi-language support, an advanced
API, and user groups.
We will not look at the individual
projects, instead, we will consider
only the framework that makes it all
possible. The Horde is a PHP-based
application framework from which to
build and use applications. There are
currently seventeen different
applications that comprise the
project’s totality, which vary from
CVS viewer to mail client to time
tracking applications to a portal to a
multi-user tasks list manager.
The Buzz
An interesting product. It is for those
looking for something different and
something that is web-based and can
therefore, in theory, be accessed from
anywhere. You will need a web server,
PHP, and a database. By no means
should this be considered stable or
production ready code. But since it is
GPL software, you can always reuse
portions of the code for your own
work. Expect to spend a few extra
minutes setting up and installing the
software.
The Horde framework is the glue that
all Horde applications have in
common. It is many things, including
some coding standards, common code,
and inter-application communication.
The shared code provides common
ways of handling things like
preferences, permissions, browser
detection, user help, and more. Horde
2.2.5 also makes heavy use of PEAR,
the PHP Extension and Application
Repository. PEAR is a set of reusable
PHP components providing things
such as Logging, Database
abstraction, and much more. You may
need a version of PEAR that is more
recent than your version of PHP.
Status
Still under active development, there
are four permanent project
coordinators. The person who started
the project is Joseph Engo. Currently
at version 0.9.16.000-1 and it cannot
be determined when the project
actually started.
It is still under active development.
The framework is currently at version
2.2.5. It cannot be readily determined
when the project actually started.
Furthermore, it cannot be determined
who the founder, lead developer or
maintainer of the Horde initiative is.
157
Table A.1: General Purpose Computing (continued)
Product
GIMP
Listed in: GRAM, IDA
License: GNU GPL.
KFax
License: GNU GPL.
Xpdf
Listed in: IDA
License: GNU GPL.
Description
The GIMP is the GNU Image
Manipulation Program. It is a freely
distributed piece of software for such
tasks as photo retouching, image
composition and image authoring. It
works on many operating systems, in
many languages.
A fax file viewer which can open and
read files in FAX file format.
Xpdf is an open source viewer for
PDF files. The Xpdf project also
includes a PDF text extractor,
PDF-to-PostScript converter, and
various other utilities.
The Buzz
Users who have worked with long
enough compare its power and
usability to that of Adobe PhotoShop.
You can easily create your own
plugins, modules, and filters using a
simple scripting language. In addition,
the Gimp Toolkit Library also forms
the basis for the GNOME
environment. It is a part of the
GNOME Office project.
A nice and simple tool to use to read
your fax files.
Xpdf is designed to be small and
efficient. It can use Type 1, TrueType,
or standard X fonts. Xpdf should work
on just about any system that runs X11
and has UNIX-like POSIX libraries.
Xpdf runs under the X Window
System on UNIX, VMS, and OS/2.
The non-X components (Pdftops,
Pdftotext, etc.) also run on Win32
systems. Since version 2.0, Xpdf uses
its own native LZW decoder.
Status
Still under active development, the
long awaited release of version 2.0 has
arrived. It was started in 1995 by
Spencer Kimball and Peter Mattis but
has since become a widely worked
upon project by many developers and
contributors aiming for its success.
It is still under active development; it
was started by Bernd Johannes
Wuebben in 1997. New versions are
distributed with new major releases of
KDE. With version 3.0.0 of KDE
Kfax was at version 1.2.2. KDE is
currently at release 3.2.1.
Still under active development, Xpdf
is copyright of Glyph & Cog, LLC. It
is currently at version 3.0.0. The
initial public release of Xpdf was in
1995. The developers and maintainers
of the project cannot be readily
determined.
158
Table A.1: General Purpose Computing (continued)
Product
Gnofin
License: GNU GPL.
AxPoint
License: Not available.
It might be licensed
under the Perl / CPAN
License.
Description
It is a personal finance application that
runs under GNOME. It is designed to
be fast, efficient, and easy-to-use. The
scope of the project has been kept at a
minimum to preserve an interface that
is both intuitive and straightforward to
learn.
AxPoint is a presentation-making tool
from the makers of Apache AxKit. It
allows you to build beautiful
presentations using a simple XML
description format. AxPoint is a Perl
module that uses the PDFLib module
and the PDFlib library to generate
PDF based presentations from XML
data sources.
The Buzz
This program is nowhere near as
advanced as GnuCash. However, for
those looking just to balance their cash
flow, bank accounts, owed and due,
then this program might just be for
you.
Status
No longer under active development,
it is currently at version 0.8.4. Darren
Fisher developed it. The Changelog
indicates that the project started in
1999 and was stopped in 2000.
Creating your XML data sources will
allow you to better fine-tune the layout
of your presentation. The problem
with most other normal presentation
editors is that the editing is never quite
the way it should be. This program
requires you to have a good
knowledge of XML. The program is
actually a Perl module that does the
actual conversion. Now supports SVG
and table support.
It does not appear to be under active
development. It cannot be determined
when the project started, nor can it be
determined who started it or
developed the Perl module. The
project was stopped in 2002 and is at
version 1.3.0.
159
Table A.1: General Purpose Computing (continued)
Product
Hipergate
License: Hipergate
Public License
(combination of GNU
GPL, MPL and Apache).
Product documentation
is distributed under
Creative Commons
Attribution-NoDerivsNonCommercial
License.
AMS
License: GNU GPL.
Description
Hipergate is an open source web-based
application suite. Its mission is to
cover a full range of technical
requirements in any organization. All
applications are addresses from
Internet Explorer, without needing any
other additional software in the client
computer. This suite is multi-company
capable, and can be used in a single
company, a corporate group or
working as an ASP solution capable of
serving an unlimited quantity of single
customers.
AMS is a web-based Address
Management System. The AMS
consists of a SQL database and a Perl
script that enables granted users to
access it via Internet browsers.
The Buzz
It offers the following modules:
Collaborative tools and Groupware
Module, Contact Management
Module, Project Management and
Support Issues Tracking Module,
eShop Module, Content Management
Module, Massive Email Module,
Corporate Library, Roles based
security, Hierarchical data
management, Queries and Reports,
and Job Scheduler. All modules are
written in 100% pure Java. It has been
tested with and works with Tomcat
3.1.1a to 4.1.27. It should run on any
platform. You may require other
modules and open source software for
it to work correctly. For more details,
see http://www.hipergate.org/
about/arch.jsp. You will need a
database as well.
A simple to work with address
management system. Supported
downloaded file formats are CVS,
text, and TeX. It is a useful program to
have on an intranet, extranet, or a
portal. It was developed in Perl so it
should run on just about any Perl
supported platform.
Status
Still under active development, it is
currently at version 1.1.3 and is
available as both source code and
compiled Java Bytecode. Hipergate is
a copyright of KnowGate. The project
was registered with SourceForge in
2003, but it cannot be precisely
determined when it was actually
started. The developers and
maintainers of the project are The
Hipergate working group, Ivan
Montoro, KnowGate, and Ivan
Montoro Ten.
While it is no longer under active
development, Schwaerzler Hermann
and Wilhelm Theo developed it in
2000. Development stopped in 2002.
It is currently at version 1.1.
160
Table A.1: General Purpose Computing (continued)
Product
Rubrica
License: GNU GPL.
AWOL
License: GNU GPL.
Chronos
License: GNU GPL.
Description
Rubrica is an address book for the
GNOME environment and it offers
many interesting features.
AWOL is an in-out board, similar to
something you’d see on the wall of a
lobby, or desk of a switchboard
operator, to keep track of who’s in the
building, when they’ll be back, etc.
Chronos is a Web agenda/calendar for
intranets (although it could be used
from anywhere). It can send reminders
by email. You can schedule multi-user
events. It is fast and light on resources.
The Buzz
Unlike many other address books
systems, it allows you to place attach
pictures to your contacts to help you
remember who it is you are looking
for, offers interesting import and
export file formats to use with
different address book applications, a
dictionary, as well as localizations. It
is designed for GNOME and will
therefore require that you have a
working copy of GNOME on your
system.
In short, it is a program where
employees can list their whereabouts
so that others can track them down if
need be. It is useful for receptionists,
secretaries, HR, and dispatchers.
Users cannot edit the locations of
other users. It is a PHP applications
and it will need MySQL to work
correctly.
Written in Perl, it is a simple agenda
and calendar program that can send
reminder emails to you. You may
consider this program in place of other
similar tools because it is very light on
your systems’ resources. It will not
work with Netscape browsers of
version 4.x or earlier.
Status
While still under active development,
it was developed by Italian
engineering student Nicola Fragale.
The project was started in 2000 and
was born as a programming exercise
from the author’s learning of GTK+
and GNOME. It is currently at version
1.0.12.
It is no longer under active
development, work stopped in 2002. It
is currently at version 3.0.3. The
developers are Josh, Topher, Nathan,
and Rick. The project appears to have
started in 2001.
No longer under active development, it
is currently at version 1.1.6. The main
developer is Simon Perreault, although
Mark Fowler and Richard Chen also
helped in the development of the
program. It is copyrighted to Linux
Québec Technologies. Development
stopped in 2002 but it cannot be
determined when the project started.
161
Table A.1: General Purpose Computing (continued)
Product
Goats
License: GNU GPL.
Plans
License: GNU GPL.
CheckUPS
License: BSD.
Description
Goats is a yellow Post-It note applet
for the GNOME desktop, originally
modelled after KNotes for KDE.
Goats features alarms, autosaving and
more...
Plans is a powerful and flexible Web
calendar. Its features include recurring
events, merged calendars, event icons,
custom themes and templates, MS
Outlook export, SQL or flat-file data
storage, and browser-based
management.
CheckUPS actively checks United
Parcel Service Inc’s website on the
status of a shipped package. When the
package status has changed, the
software sends a brief notice to any
email addresses the user may have
supplied (email, ICQ, pager, phone,
etc).
The Buzz
Designed to work for the GNOME
desktop, it is a great little program to
use to remind yourself of things. You
cannot miss the little yellow post-its
on your display under GNOME. It
requires Perl and C compiler.
What makes this calendar program
different from the competition is it can
store data in an SQL database or flat
file, it offers browser-based
management, uses HTML templates
for a customizable look and feel, it
allows for recurring events, supports
multiple languages and weeks do not
have to start with Sunday. It also
allows users to have multiple
dependent or independent calendars. It
will run on UNIX and Windows.
Wow! Now you will have an easier
time keeping track of your UPS
shipments and arrivals without always
having to go to the UPS web site and
enter in a bunch of ticket ids. It uses
Perl.
Status
It still appears to be under active
development. M. Craig and Tomokazu
Matsumaru developed it. It is
currently at version 2.2. The first
release was in 2000.
Developed by Lloyd Dalton, it is still
under active development and is
currently at version 5.6.5. It cannot be
determined when the project started.
Developed by Robert A. Casinghino
and David Davis, it is no longer under
active development. It was registered
at SourceForge in 2002, and the initial
public release was made available in
2002. It is currently sat version 1.2.
162
Table A.1: General Purpose Computing (continued)
Product
HylaFax
License: Distributed in
source code format
under the HylaFax
License and is free.
Econometrics
License: GNU GPL.
Description
HylaFax is an enterprise-class system
for sending and receiving facsimiles as
well as for sending alphanumeric
pages. The software is designed
around a client-server architecture.
Fax modems may reside on a single
machine on a network and clients can
submit an outbound job from any
other machine on the network. Client
software is designed to be lightweight
and easy to port.
It is a GNU regression, econometrics
and time-series library. It is a
cross-platform software package for
econometric analysis, written in the C
programming language.
The Buzz
Designed to work under SGI IRIX, it
will also work under GNU Linux
systems. However, you will have to
try to see if it works under other
UNIX and UNIX-like systems. It is an
enterprise-class fax system for UNIX.
Status
Still under active development, it is
currently at version 4.1.8. According
to the license information file, it was
developed and maintained originally
from 1990 to 1996 by Sam Leffler,
and then taken over by SGI. It is
currently copyrighted by SGI since
1991. However, who the current
developers and contributors are cannot
be determined.
Consider using this library for
developing your own economic trend
analysis application. The library is
linked to R so that you can potentially
tap into a more diverse set of
algorithms if need be. It has a GUI for
the fine-tuning of GNUplot graphs.
However, it is also more than just a
library. Using its GUI, you can import
data and perform your analyses on
them. It also interfaces to LAPACK if
you have installed on your system.
You will need GTK+ 2.0 or greater to
compile the GUI.
Still under active development, it is
currently at version 1.2.4. The initial
public release was in 2000. Allin
Cottrell, Department of Economics,
and Wake Forest University developed
it.
163
Table A.1: General Purpose Computing (continued)
Product
MinDia
License: GNU GPL.
Photoshelf
License: Artistic
License.
Description
The program MinDia can be used to
create, modify and run multimedia
slide shows on a computer. You can
show sequences of images, show text
as description, dissolve images and
play sound files in different formats
(WAV or MP3). The program can also
control real slide projectors (from
Rollei) via a serial interface.
Photoshelf is a web base digital image
management, archive and display
system. It is used to catalogue and
arrange into albums photos from a
digital camera or any other source. It
aims to be very featureful and a
complete solution for the only place
where your photos need to be stored.
The Buzz
The program is written in C++ and it
uses Qt for the GUI and runs on Linux
and other UNIX versions and
Microsoft Windows. It has a plug-in
interface, which is applied to
implement the script/macro support.
Python is used as its scripting
language.
Status
Still under active development, it is
currently at version 0.97.3. Michael
Neuroth developed it. The first public
release was in 2002.
Although there are many of
commercial image management and
digital archive software (electronic
photo album), this one worth trying
out because it is stable, and has many
useful and interesting features.
Although currently at version 1.11,
which has been out since 2002, the
web site claims version 2 is in the
works. Therefore, it appears as if it is
still under active development. No
release date was given for version 2.
Written by Ben Buxton, development
appears to have started in 2000.
164
Table A.1: General Purpose Computing (continued)
Product
TaskJuggler
License: GNU GPL.
MrProject
License: GNU GPL.
Description
TaskJuggler is a project management
tool for Linux and UNIX
system-based operating systems.
Whether you want to plan your
college’s shifts for the next month or
want to build a skyscraper TaskJuggler is the tool for you.
TaskJuggler not only honours the task
interdependencies but also considers
resource constraints. Using Task
juggler’s powerful filtering and
reporting algorithms you can create
task lists, resource usage tables, status
reports, project calendars and project
accounting statements.
MrProject is a project planning,
scheduling and tracking tool for the
GNOME Desktop aiming to act as a
better replacement than available
proprietary tools.
The Buzz
Instead of clicking yourself painfully
through hundreds of dialog boxes you
specify your TaskJuggler project in a
simple text format. You simply list all
your tasks and their dependencies.
The information is sent through
TaskJuggler and you will get all sorts
of reports in HTML or XML format.
It is a very powerful planner, and earns
its name because it really does juggle
between tasks. It is probably much
better than any other commercial
software you will find on the market.
Status
still under active development, Chris
Schläger and Klaas Freitag wrote it. It
is currently at version 2.0.1. The
project appears to have started in
2001.
MrProject is part of GNOME Office
suite. While it is not as powerful as
TaskJuggler, it certainly does have a
better GUI representation of the tasks
at hand. Perhaps you would consider
using TaskJuggler to actually create
your plan of action and use MrProject
to visualize what it is you have to do.
It comes integrated with RedHat
Linux and Debian Linux. The source
is only available via CVS.
Still under active development, the
project is copyrighted to CodeFactory
AB, who has two full time developers
working on it, Mikael Hallendal and
Richard Hult. It is currently at version
0.9.1. Cannot determine when the
project was started, however, version
0.3 dates back to 2001.
165
Table A.1: General Purpose Computing (continued)
Product
OpenSched
License: GNU GPL.
MimerDesk
License: Not available.
IssueTracker
License: GNU GPL.
Description
OpenSched is a tool for project
management. It takes as input a file
describing the project and generates
textural descriptions of the generated
project plan, Gantt charts, and
Network diagrams.
Dicole MimerDesk is a web-based
collaborative learning and groupwork
environment with emphasis on the
word groupwork. It was designed for a
wide variety of uses such as personnel
management, computer-supported
collaborative learning, carrying out
projects, and setting up communities.
IssueTracker is a support issue
tracking system written in PHP, with
option of either a PostgreSQL of
MySQL backend. The system is
designed to be user friendly, and uses a
simple modular API to make addition
of new modules or features very easy.
The Buzz
In short, you write up your textural
description in text, HTML, or TeX,
and then the program will generate an
EPS drawing. This can then be
converted to GIF or PNG by the
program. It is a nice program to work
with because it takes your ideas and
converts them to images. It is not too
difficult to understand how it works.
Its main strengths include a very
customizable group system that allows
many groups to work simultaneously
on a shared database with tools like
Projects, Calendar, Tasks, Forums,
Links, Chat, Reviews, Voting, Files,
Instant Messages, Profiles, and many
more. It was designed to ease the
problems with group-based working,
and makes it easy to work in groups,
inside and outside the organization.
Use this program for your own
development purposes. Rather than
having to buy a commercial issue
tracking or bug tracking software, this
product offers many features which
you will appreciate, and it has a simple
to program API, making adding your
own modules a simple operation. You
will need PHP to make it work.
Status
Still under active development, it is
currently at version 0.4.4. The original
developer of the program was Idan
Shoham; however, the new maintainer
of the project is Alan McIvor. They
are joined by three other developers.
The first public release was in 1999.
Although certified as open source
software by the OSI, it is being sold
commercially. The project was started
in 1999 and is copyrighted to Dicole.
There are currently three developers
Teemu Arina, Tony Riikonen, Antti
Vähäkotamäki that are paid to work
on this project, although development
is not their only task for this project.
Development is also being done by the
Dicole community as well. It could
not be determined what version the
project is currently at.
Still under active development, it is
currently at version 4.0.3. The project
manager is Jeremy Hogan, and there
are six other developers working on
the project. It cannot be determined
when the project started.
166
Table A.1: General Purpose Computing (continued)
Product
GForge
License: GNU GPL.
BeanCounter
License: GNU GPL.
Description
GForge is an open source
collaborative software development
tool, which allows you to organize and
manage any number of software
development projects. GForge is a
web-based Collaborative Development
Environment offering easy access to
CVS, mailing lists, bug tracking,
message boards/forums, task
management, permanent file archival,
and total web-based administration.
BeanCounter is a program that
watches your stocks and other
equities. It helps you to evaluate your
VAR as well as your portfolio return.
It also helps you to determine the
marginal risk of your equities, or your
unrealized gains and losses. It can also
store all of it information into a
database for future analysis.
The Buzz
It is perfect for managing large teams
of software engineers and/or engineers
scattered among multiple locations.
This is a project management program
designed for software developers
rather than for project managers. To
make it work, look at the web site’s
list of dependencies. You will need
PHP. However, the GForge project is
based on the original SourceForge.net
system, which was closed by VA
Linux in 2001.
It works well with North American
equities and mutual funds, as well
those from Europe and Asia. Use this
tool to help better understand your
investment and your potential gains
and losses, as well as to get a better
feel and understanding of the
diversification of your portfolio. It
uses Yahoo! to update its exchange
rates. If you are an investor or are just
interested in equities or money, then
you should try out this program. It
requires Perl.
Status
Still under active development, it is
currently at version 3.3. There are
many developers in this project;
however, it cannot be determined who
the project founder was and who is the
current maintainer.
Still under active development, it is
currently at version 0.7.2. Developed
by Dirk Eddelbuttel, the project was
started in 1998.
167
Table A.1: General Purpose Computing (continued)
Product
EFax
License: GNU GPL.
GFax
License: GNU GPL
Twiki
License: GNU GPL.
Description
EFax is a small ANSI C/POSIX
program that sends and receives faxes
using any fax modem (Class 1, 2 or
2.0).
The GFax project aims to provide a
free front end to the various facsimile
programs available for Linux and
other operating systems that use the
GNOME project.
Twiki is a content management
system. It is a flexible, powerful, and
easy to use Web-based collaboration
platform. Twiki can be used to run a
project development space, a
document management system, a
knowledge base, or any other
groupware tool, on an intranet or on
the Internet.
The Buzz
It is much smaller than HylaFax, and
is easier to use. However, it also has
far fewer options. Nonetheless, it is a
good product to use for those using
standalone workstations who do not
need all of the options of an
enterprise-class fax system. Faxes can
be sent to a “fax” printer and e-mailed
as a MIME extension. It should work
on most versions of UNIX, and you
may need GhostScript to fax
PostScript files.
Part of the GNOME Office suite.
GFax provides the familiar “pop up”
window and phone book support when
one “prints” to a “fax” printer.
Use Twiki to create your own web
content. Content can be created
collaboratively by using just a
browser. Because of its simple API
plug-in architecture, developers can
easily create new applications. It looks
and feels like a normal intranet or
Internet web site; but content can be
easily changed. Based on Perl and
CGI, it is easy to create or make new
modules for Twiki. There are already
many contributor modules that you
may find useful.
Status
No longer under active development,
it is currently at version 0.9. Cannot
determine when the project was
started or who the maintainer or
developer of the project is.
Development ceased in 1999.
Still under active development, it is
currently at version 0.6.0 for GNOME
2.x. Developed by George Farris, the
project appears to have started in
2003.
Still under active development, the
production ready release dates back to
2003, whereas the beta version is from
early 2004. The production release is
currently at version 20030201. Twiki
is a registered trademark of Peter
Thoeney, its main developer. Twiki is
a Wiki system based on JosWiki that
was used for the Free JavaOS project
(http://cjos.sourceforge.net/
archive).
168
Table A.1: General Purpose Computing (continued)
Product
CVW
Listed in: GRAS
License: Distributed as
Public Domain.
Description
CVW is a collaboration software
environment that provides a “virtual
building” where teams can
communicate, collaborate, and share
information, regardless of their
geographic location. CVW takes
virtual meetings one step further and
enables virtual co-location through
persistent virtual rooms, each
incorporating people, information, and
tools appropriate to a task, operation,
or service.
The Buzz
Consider CVW as follows: it is a
building that is divided into floors and
rooms, where each room provides a
context for communication and
document sharing. It allows people to
get together in rooms to chat or use
audio/video conferencing and share
text and URLs with one another with
their chat. Using rooms as the base for
communication means users are not
required know other user locations.
Rooms are also the basis for document
sharing. Users can place documents
allowing anyone else in that room to
read the document or view information
about the document. Document types
include whiteboards, URLs, notes and
other documents edited through the
user’s local applications.
Status
The original author of the work is the
MITRE Corporation. Development of
the project stopped in 2001 and is
currently at version 4.0.2. Originally
started as proprietary, as of version
3.1.0 it was released as open source.
However, it cannot be readily
determined when the project started or
who the authors of the project were.
169
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
Generally considered the most stable
and most secure of the open source
BSD operating systems, due in large
part to the ongoing source code
analysis of the system.
Actively developed by contributors all
over the world. Bill Joy put the
original BSD kernel together in 1977.
Bill Jolitz then undertook putting
together 386/BSD in 1992. It is
currently at version 3.4.
The most widely ported of all the open
source BSD-like operating systems
and ideal for research institutions. It
offers the most advanced system
scheduler of all the open source
operating systems.
Actively developed by contributors all
over the world. Bill Joy put the
original BSD kernel together in 1977.
Bill Jolitz then undertook putting
together 386/BSD in 1992. It is
currently at version 1.6.1.
It is the closest port to Bill Jolitz’s
386/BSD. Probably the easiest of the
BSD’s to use; it is the most technically
simple of the BSD open source
operating systems, and offers more
cutting edge software than any of the
other BSD-based operating systems.
Actively developed by contributors all
over the world. Bill Joy put the
original BSD kernel together in 1977.
Bill Jolitz then undertook putting
together 386/BSD in 1992. It is
currently at release 5.2.1.
Operating Systems and Environments:
OpenBSD
Listed in:
GRAS, GRAM, IDA
License: BSD
NetBSD
Listed in:
GRAS, GRAM, IDA
License: BSD.
FreeBSD
Listed in:
GRAS, GRAM, IDA
License: BSD.
A multi-platform 4.4BSD-based
UNIX-like operating system
emphasizing portability,
standardization, correctness, proactive
security and integrated cryptography.
OpenBSD supports binary emulation
of most programs from SVR4
(Solaris), FreeBSD, Linux, BSD/OS,
SunOS and HP-UX.
NetBSD is a free, secure, and highly
portable UNIX-like operating system
available for many platforms. Its clean
design and advanced features make it
excellent in both production and
research environments, and it is
user-supported with complete source
code.
FreeBSD is an advanced operating
system derived from BSD. Currently
developed and maintained by a large
team of individuals consisting of the
global community. FreeBSD offers
advanced networking, performance,
security and compatibility features.
170
Table A.1: General Purpose Computing (continued)
Product
Mac OS X
License: Apple
Proprietary technology
and license.
Darwin
License: Apple Open
Source License.
Description
Mac OS X is Apple’s new flagship
operating system based on the BSD
Mach kernel, and Darwin is the open
source version of Apple’s proprietary
Mac OS X. While they do not share
the same code base, both share the
same underlying kernel
subcomponents. The graphical
interface Aqua/Quartz of Apple
remains to this day proprietary
technology.
Darwin is the open source version of
Apple’s proprietary Mac OS X, and
although it does not have all of the
tools and programs and GUI
interfaces, they share the same
underlying operating system code
base. The base system of Mac OS X
and Darwin are the same. The
differences are found in the user
applications and programs and the
lack of a GUI. Darwin can use
XFree86 for its GUI. Alternative
address:
http://www.opendarwin.org
The Buzz
Mac OS X caused a large buzz when it
was first released and is hailed by
many as not only the most intuitive
operating system in the world, but also
among one of the most secure.
Status
Mac OS X is being actively developed
by Apple and their latest release was
in October 2003, Panther, Mac OS X
version 10.3. Mac OS X was started in
1999.
Not only can it work on your
PowerPC, but even on your x86
hardware. You will need to use
XFree86 in order to have a GUI
system. Aqua and Quartz source code
are not included and are proprietary to
Apple. Most of the Mac OS X tools
and programs are also not included.
Mac OS X was started in 1999.
Darwin was started near or around the
same time, and is maintained by
developers around the world. It is
currently at version 7.0.1.
171
Table A.1: General Purpose Computing (continued)
Product
GNU/Linux
Listed in:
GRAS, GRAM, IDA
License: GNU GPL and
LGPL, Copyleft,
XFree86, BSD, and
others.
SELinux
Listed in: GRAS
License: GNU GPL.
Description
Linux is a clone of the operating
system UNIX, written from scratch by
Linus Torvalds with assistance from a
loosely knit team of hackers across the
Net. It aims towards POSIX and
Single UNIX Specification
compliance. It has all the features you
would expect in a modern
fully-fledged UNIX, including true
multitasking, virtual memory, shared
libraries, demand loading, shared
copy-on-write executables, proper
memory management, and TCP/IP
networking. Alternative address:
http://www.kernel.org
The NSA was given a mandate to find
an operating system which could be
both secure and used across different
architectures, and thus a system that
would become a part of the Linux
community, adding some
contributions to help secure the Linux
kernel. It is not a working Linux
distribution but rather a series of
patches to be applied against a
functional source code tree of the
kernel.
The Buzz
The defining standard in open source
software and the potential of
developers to work together on an
international scale to produce the
fastest growing operating system in
the world. There are many choices and
distributions to choose from to run a
variety of platforms.
Status
The original Linux kernel was written
by Linus Torvalds in 1991 due to his
dissatisfaction with the Minix
operating system, and today is
developed on an international scale;
Linus Torvalds remains a defining
authority on the development of the
kernel, even today. It is currently at
Linux kernel version 2.6.3.
With some tinkering, you can get it to
work, it is more secure than the other
standard Linux distributions because it
supports role based access control,
mandatory access control, and
multi-level security.
Based on previous work to the Mach
kernel by the NSA, it has changed its
mandate to working on a more
portable operating system kernel,
specifically the Linux kernel, and
Linux-based work was started in at
least 1999 (possibly earlier), although
publication was made available in the
open literature in 2000. It is based on
the standard Linux kernel and
augmented by the NSA’s own team of
developers. It is still under active
development. Currently works with
the 2.6 Linux kernel.
172
Table A.1: General Purpose Computing (continued)
Product
Cygwin
Listed in: GRAS
License: Most tools are
GNU GPL; some are
X11; others are BSD;
Cygwin API is GNU
GPL.
RTLinuxFree
Listed in: GRAS
License: GNU GPL,
FSMLabs Open Patent
License.
Description
Cygwin should be considered as a
Linux-like command-line and GUI
environment for the Windows
operating system that uses a set of
DLL’s to implement the Linux API
under a Windows environment. Use
Cygwin if you wish to learn more
about Linux / UNIX from the comfort
of your Windows PC, or wish to
interact with other UNIX systems, or
wish to port your UNIX applications
to PC.
The open source implementation of
RTLinux is a modified, real-time
implementation of both the Linux
kernel and its surrounding tools and
utilities.
The Buzz
It has come a long way since 1998,
when it offered no GUI, and minimal
tools, utilities, and a half functional
compiler compared to today’s well
rounded Linux clone for Windows. It
includes most of the GNU
development tools you would expect
on a Linux system, as well as the
majority of the UNIX commands you
would normally work it. It even comes
with Apache and a fully functional X
Windows system, and you can
configure Cygwin to offer network
services such as Telnet, FTP, SSH,
HTTP, and others.
Worth looking at for those interested
in real-time systems.
Status
It is still under active development and
is sponsored by Red Hat. The first
release was in 1998, and it is
developed by the open source
community and is not controlled by
any one member. Red Hat offers
commercial-based solutions of
Cygwin. It is currently at version
1.57-1.
It is not possible to determine if
RTLinuxFree is still under
development. RTLinux is still under
development - it was started in 1999.
The current version cannot be
determined.
173
Table A.1: General Purpose Computing (continued)
Product
UWIN
License: AT&T
Nonexclusive Binary
Code License.
Description
Development: The UWIN package
provides a mechanism for building
and running UNIX applications on
Windows 2000, Windows NT,
Windows XP, Windows ME, Windows
98, and Windows 95 with few, if any,
changes necessary. It is for all
purposes, similar to Cygwin but with
entirely different source code trees.
The Buzz
Well integrated and provides higher
performance than Cygwin because it
does not rely on emulation DLL’s, but
it has less tools and utilities and does
not come bundled with a GUI X
Windows environment. However,
outside contributors have compiled
XFree86 for UWIN, as well as many
other tools. UWIN is free to academic
and research institutions. If this is not
the case, a version is available from
WiPro Inc or Global Technologies Inc
is available for commercial licensing.
Status
Undertaken by David Korn (the
developer of the Korn shell) to
reproduce a UNIX system under the
Windows operating system. It is still
under active development. It is a
research project funded by AT&T. It
cannot be determined when the project
actually began, but it does go back to
the late 1990’s. It is currently at
version 3.2.
174
Table A.1: General Purpose Computing (continued)
Product
Sun Java Desktop
System
License: Sun Proprietary
License; not licensed as
GNU or other open
source license.
Description
Sun has delivered the first viable
Microsoft Windows alternative. The
Java Desktop System is a more
affordable, secure desktop that is
designed to thrive in a
Windows-centric world. It is also the
only environment with fully integrated
Java technology, making this
“out-of-the-box” desktop ready to run
thousands of Java technology-based
applications with a consistent look and
feel.
The Buzz
Based on SuSE Linux 8.1, it comes
bundled with all of the Sun Java
technology and receives the Sun seal
of approval. This is quite possibly the
only open source-based desktop
operating system that is able to
successfully challenge Microsoft’s
position. It costs less than 25% the
cost for purchasing new Windows
operating system licenses. Please note
that JDS is based on open source
technology but that it has been
packaged and stamped with Sun’s seal
of approval and will cost you money.
There are no free versions of the
software available. For demos, call
your local Sun representative. All Sun
components do not come with source
code as they are proprietary Sun
technology. You have the option of
renewing JDS via renewable yearly
licenses which include 1-year software
support.
Status
The project was started in 2003, based
on SuSE Linux 8.1, with Sun
technological additions and
modifications. It is unknown if Sun or
SuSE is maintaining the Linux source
code base of the operating system. It
is currently at release 1.
175
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
It runs on various versions of Linux
and on the SPARC version of Solaris
8. Although there are free versions
available, it lacks much of the
functionality of the commercial
version. Part of the GNOME Office
suite. It also uses J-Pilot as the
backend program for Evolution’s PDA
synchronization capabilities.
Ximian was bought in 2003 by SuSE
Linux and then later bought by Novell
in early 2004. The program has been
around since at least 2001, but its
actual history cannot be determined,
nor can the main developer(s) be
determined.
PDA Synchronization Tools:
Evolution
Listed in: GRAM, IDA
License: GNU GPL.
It is the award-winning personal and
workgroup information management
solution for Linux and UNIX-based
systems. It seamlessly integrates
email, calendaring, meeting
scheduling, contact management, and
task lists, in one powerful, fast, and
easy-to-use application. Ximian
Evolution is also a powerful
collaboration software package that
connects to popular corporate
communications architectures like
Microsoft Exchange, Lotus Notes, and
other messaging systems. Ximian
Evolution supports a broad range of
leading Linux distributions and UNIX
variants.
176
Table A.1: General Purpose Computing (continued)
Product
KPilot
License: GNU GPL.
J-Pilot
License: GNU GPL.
MultiSync
License: GNU GPL.
Description
KPilot is a replacement for the Palm
Desktop software from Palm Inc,
which makes your Palm/Palm
Pilot/Visor computer capable of
exchanging information with your
KDE powered computer. KPilot does
not replace the Palm Desktop all by
itself. It connects and integrates a
number of fine KDE 3.x applications
into a package that can do everything
the Palm Desktop can, and more.
J-Pilot is a desktop organizer
application for PalmOS devices. It is
meant to be an alternative to the Palm
Desktop for those who want to run
Linux or UNIX.
MultiSync is a free modular program
to synchronize calendars, address
books and other PIM data between
programs on your computer and other
computers, mobile devices, PDA’s or
cell phones. MultiSync works on any
GNOME platform.
The Buzz
Although it only works for KDE, this
is a very useful solution and keeps you
away from having to synchronize and
work with your Palm from a
Windows-based system. KPilot has
plugins that can exchange information
between your Palm and other
applications like KOrganizer or
POP3/SMTP mail servers. In KPilot
you can display and edit your contacts,
write notes or install new programs on
your Palm. It appears to support many
non-Palm devices as well.
J-Pilot is meant to be used as a
complete desktop replacement for
PlamOS and has been reported to
work under Linux, IRIX, Solaris, and
FreeBSD.
With plugins for Ximian Evolution,
IrMC, Windows CE / Pocket PC, Opie
and Zaurus, Palm synchronization,
LDAP synchronization, and backup
your PIM data backup.
Status
Still under active development and
part of the KDE PIM suite, it is
currently at version 4.4.0. The project
was started by Dan Pilone, and is
currently maintained by Adriaan de
Groot. Version 3.2.1 dates back to
August 2000. Extrapolating this
version number from the date of its
release, we can assume that it predates
this by at least several more years.
Still currently under active
development, it is now at version
0.99.7. The program was developed
and is still maintained by its author
Judd Montgomery. The program was
started in 1999.
Still under active development, it is
currently at version 0.81. The program
is written by Bo Lincoln, Tom Foottit,
Armin Bauer, and has several other
contributors. The project was started
in 2002 and was originally developed
by Bo Lincoln.
177
Table A.1: General Purpose Computing (continued)
Product
PIM Software:
Evolution
Listed in: GRAM, IDA
License: GNU GPL.
Kronolith
License: GNU GPL.
Description
The Buzz
Status
It is the award-winning personal and
workgroup information management
solution for Linux and UNIX-based
systems. It seamlessly integrates
email, calendaring, meeting
scheduling, contact management, and
task lists, in one powerful, fast, and
easy-to-use application. Ximian
Evolution is also a powerful
collaboration software package that
connects to popular corporate
communications architectures like
Microsoft Exchange, Lotus Notes, and
other messaging systems. Ximian
Evolution supports a broad range of
leading Linux distributions and UNIX
variants.
Kronolith is the Horde calendar
application. It provides a stable and
feature-rich individual calendar
system for every Horde user, and
collaboration/scheduling features are
starting to take shape. It makes
extensive use of the Horde Framework
to provide integration with other
applications.
It runs on various versions of Linux
and on the SPARC version of Solaris
8. Although there are free versions
available, it lacks much of the
functionality of the commercial
version. Part of the GNOME Office
suite. It also uses J-Pilot as the
backend program for Evolution’s PDA
synchronization capabilities.
Ximian was bought in 2003 by SuSE
Linux and then later bought by Novell
in early 2004. The program has been
around since at least 2001, but its
actual history cannot be determined,
nor can the main developer(s) be
determined.
Plans include support for shared
calendars and merging multiple
calendars into a single view. It is a
powerful web-based calendar. It
supports iCalendar. Part of the Horde
PHP Framework project.
Still under active development, it is
currently at version 1.1.1. The first
release, version 0.0.1 dates back to
September 2000. It cannot be
determined who is the main
author/maintainer of Kronolith.
178
Table A.1: General Purpose Computing (continued)
Product
Tutos
License: GNU GPL.
Twiggi
License: GNU GPL.
KAlarm /
KOrganizer
License: GNU GPL.
Description
Tutos is a tool to manage the
organizational needs of small groups,
teams, and departments by providing
some of the following web-based
tools: user and group calendars,
address manager, bug tracking system,
product/project repository, mailboxes,
project time tracking, change history,
invoices, and watch lists.
Twiggi is a web-based email client and
contact manager solution for Linux. It
includes the ability to securely share
information with co-workers either
individually or via assigned groups.
KOrganizer is the calendar and
scheduling application of the popular
K Desktop Environment. KOrganizer
provides management of events and
tasks, alarm notification, web export,
network transparent handling of data,
group scheduling, import and export
of calendar files and more. It is an
integral part of your KDE PIM suite.
Alternative address:
http://korganizer.kde.org
The Buzz
It is a very nice program and supports
many different languages. Use it to
help organize your organization if you
need internal Quality Management
(ISO9600). To make it work you will
need a web server, a database, and
PHP.
Status
It cannot be determined if the project
is still under active development at
this time (spring 2004) since 9 months
have passed since the last release. The
project was started in July 2000, and is
currently at version 1.1. It cannot be
determined who the main developer
was.
Meant to be used as a web-based
groupware, this suite provides you
with an agenda, a calendar, an e-mail
client. The program’s power is found
in its advanced calendar and agenda
system.
Still under active development, the
main developers are Alan Knowles,
Aaron Stone, Craig Foster,
Christopher Heschong, Greg Ross,
Jaime Kikpole, and M. Allan Noah,
although there many other secondary
developers and contributors. The first
public release was in November 2001,
and it is currently at version 1.10.16.
Still under active development under
the KDE project umbrella, its current
version is 3.2. The project was started
at in 1998. The current maintainer of
the project is Cornelius Schumacher.
KOrganizer supports the two dominant
standards for storing and exchanging
calendar data; vCalendar and
iCalendar and are fully customizable
to your needs. Very nice and easy to
use and work with, and you do not
need to compile or find many different
programs and libraries because it
comes with KDE. If you can compile
KDE for your platform, then you will
be able to get it to work.
179
Table A.1: General Purpose Computing (continued)
Product
Portal Software:
Zope
Listed in:
GRAS, GRAM
License: Zope Public
License.
JBoss Application
Server
Listed in:
GRAS, GRAM
License: GNU LGPL.
Description
The Buzz
Status
Zope is an open source web
application server primarily written in
the Python programming language. It
features a transactional object
database which can store not only
content and custom data, but also a
dynamic HTML templates, scripts, a
search engine, and RDBMS
connections and code. It features a
strong through-the-Web development
model, allowing you to update your
web site from anywhere in the world.
To allow for this, Zope also features a
tightly integrated security model.
The JBoss Application Server is an
open source Java application server
that competes with commercial
software products such as BEA
WebLogic and IBM WebSphere.
Alternative address: http:
//sourceforge.net/project/
showfiles.php?group_id=22866
Zope includes its own HTTP, FTP,
WebDAV, and XML-RPC serving
capabilities, but can also be used with
Apache or other web servers.
Consider using Zope for building your
own intranets and web portals.
Still under active development, it is
currently at version 2.7.0.
Copyrighted by the Zope Corporation,
it cannot be determined who is/are the
developers and maintainers of the
program, nor can it be determined
when the first initial public release
was available publicly.
It can be used anywhere from a simple
PC to a Sun E15K with more than a
hundred processors. It can be scaled to
as large a system as you have.
Apparently more secure than BEA
WebLogic, JBoss leads the way in
automation and enterprise readiness.
Sun Microsystems has certified JBoss
as J2EE compliant. JBoss is a
powerful application server and can
scale to anything you could throw at it.
It is written in 100% pure Java and is
fully J2EE standards-compliant.
Still under active development, it was
started in 1999 as an open source EJB
container. Currently at stable release
3.2.3, and there are currently 96
developers working on. There are four
project maintainers who are Juha
Lindfors, Marc Fleury, Bill Burke, and
Scott M. Stark. The project registered
with SourceForge in 2001.
180
Table A.1: General Purpose Computing (continued)
Product
Apache
Listed in:
GRAS, GRAM, IDA
License: Apache
License.
PHP
Listed in:
GRAS, GRAM
License: PHP License.
Description
Apache is very popular and provides
access to most web sites on the
Internet. A recent Netcraft survey of
Web Servers around the world placed
Apache Powered sites at over 50
percent of the total. Apache is free
because it is written and maintained
by enthusiasts and volunteers, much in
the spirit of many UNIX users.
Apache runs on just about every
platform that is out there, and is a high
performance web-based platform.
PHP is a widely used general-purpose
scripting language that is especially
suited for Web development and can
be embedded into HTML. It is like
JavaScript, but more flexible and
object-oriented. It is often used in
portal systems and in web-based /
web-sharing applications.
The Buzz
The world’s most popular web server,
and quite possibly one of the fastest.
However, to determine which is faster,
Apache or IIS, look at the many
different benchmarks already
performed and be the judge for
yourself. Avoid being overly
convinced by those who overly
pro-open source or pro-Microsoft.
Perform your benchmarks if you can.
Status
Still under current development, it is
funded by the non-profit organization
Apache Software Foundation that was
founded in 1999. The ASF is a natural
outgrowth of The Apache Group, a
group of individuals that was initially
formed in 1995 to develop the Apache
HTTP Server.
PHP is a hypertext pre-processor. It is
often embedded directly into HTML
web pages where it can perform its
work directly within the web page,
rather than being called as an applet or
external CGI script. However, while
similar in certain regards to Perl and
Python, PHP is also dissimilar from
them because instead of writing code
that outputs HTML you write HTML
with embedded code to do something
useful. In order to work, you need
only have a PHP parser. PHP has
wider support for browsers and web
servers than Perl, and it supports just
about every major database system
available on the COTS or FOSS
market.
Still under active development, it is
currently at stable release version
4.3.5. The first version of PHP to be
released publicly was version 4.0 that
was in 1999. PHP is a project of the
Apache Software Foundation. The
PHP Group consists of Thies C.
Arntzen, Stig Bakken, Shane Caraveo,
Andi Gutmans, Rasmus Lerdorf, Sam
Ruby, Sascha Schumann, Zeev
Suraski, Jim Winstead, and Andrei
Zmievski.
181
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
Provided you have the necessary tools
on your system, it will convert any file
to PostScript.
With the right set of tools, such as
GhostScript, you can use this program
to convert almost any file directly to
PostScript.
Ghostview is an X11 user interface for
GhostScript, allowing you to view and
navigate PostScript files. Versions are
available for UNIX, Windows and
Mac.
In wide use around the world, use this
tool to view and navigate around PS
and PDF files alike.
GhostScript is a set of software tools
that acts as an interpreter for
PostScript language and the Adobe
PDF format and a set of C procedures
that implement the graphics and
filtering capabilities for PostScript and
PDF formats.
You will need GhostScript to convert
to or from PostScript or PDF to other
non-Adobe formats, and it is often
used in the LPD and CUPS printing
systems as printer filters. It is
currently is ported to most major
platforms, including Windows.
The initial shell tool was written Evan
Kirshenbaum. Miguel Santana then
wrote a C version up to version 4.3,
and then Akim Demaille carried it on.
No longer under active development,
the latest version is 4.13b and dates
back to June 2000. It cannot be
determined when the project actually
started.
Ghostview was written by Tim
Theisen and is currently at version 1.5.
It is no longer under active
development. Version 1.5 dates back
to 1993, but it cannot be determined
when the project actually started.
GhostScript itself dates back to 1988,
however, there have been many
different developers on it over the
years and it is under active
development. There are two versions
of GhostScript, the GNU version and
the Aladdin Enterprises. It is currently
at version 8.14.
PostScript Software:
A2PS
Listed in: IDA
License: GNU GPL.
Ghostview
License: AFPL.
GhostScript
Listed in: GRAS, IDA
License: GNUGPL.
182
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
Use it because it is the only known
open source product to fully support
the OpenSSL PKI. It is different from
but serves the same goal as OpenSSH;
however, they use different
mechanisms for encrypting their data.
It is supported on most versions of
UNIX and UNIX-like systems, as well
Windows and Mac OS X.
In short, it is a program that
reconfigures certain settings and
parameters on your given UNIX box
to help make it more difficult to attack
or hack. Currently only Linux, Mac
OS X and HP-UX are supported.
The initial public release was in 2001
and it is currently at version 1.6-rc3.
Developed by James Yonan, it is still
under active development.
Security / Network Security & Monitoring Software:
OpenVPN
License: GNU GPL.
Bastille
Listed in: GRAS
License: GNU GPL.
Tripwire
Listed in: GRAS
License: GNU GPL.
OpenVPN is an easy-to-use, robust,
and highly configurable VPN daemon
that can be used to securely link two
or more private networks using an
encrypted tunnel over the Internet.
The Bastille Hardening System
attempts to harden or tighten UNIX
operating systems. It attempts to
provide the most secure, yet usable,
system possible.
Tripwire software is a tool that checks
to see what has changed on your
system. The program monitors key
attributes of files that should not
change, including binary signature,
size, expected change of size, etc...
Tripwire is originally known as an
intrusion detection tool (IDS tool), but
it can be used for many other purposes
such as integrity assurance, change
management, policy compliance and
more. There are obviously differences
in the public version and the
commercial version, however, see
their commercial web site to learn
more at http://www.tripwire.com.
Still under active development, it is
now at version 2.1.1 for Linux (and
slightly older versions for Mac OS X
and HP-UX). Jay Beagle originally
developed it. It cannot be determined
when the program was first released,
but it can be traced back to at least
2000.
Developed since the 1990’s, only in
2000 did Tripwire Inc. release its
proprietary source code to the public
in the Linux version of Tripwire 2.2.1.
Cannot determine when it actually
started and who first developed it.
183
Table A.1: General Purpose Computing (continued)
Product
Radmind
License: BSD.
TCP Wrappers
Listed in: GRAS, IDA
License: Freeware.
Xinetd
Listed in: IDA
License: Copyright 1992
by Panagiotis Tsirigotis,
proprietary license but
open sourced. BSD-like
license.
Description
It is a suite of UNIX command-line
tools and a server designed to
remotely administrate the file systems
of multiple UNIX machines. At its
core, Radmind operates like a
tripwire. It is able to detect changes to
any managed filesystem object, e.g.
files, directories, links, etc., and then
notifies and optionally reverses the
changes.
Allows monitoring and control over
who connects to a hosts’ TFTP,
EXEC, FTP, RSH, TELNET,
RLOGIN, FINGER, and SYSTAT
ports. It also includes a library so that
other programs can be controlled and
monitored in the same fashion.
Xinetd is a replacement for Inetd, the
Internet services daemon. It supports
access control based on the address of
the remote host and the time of access.
It also provides extensive logging
capabilities, including server start
time, remote host address, remote
username, server run time, and actions
requested.
The Buzz
Use it as a replacement or complement
to Tripwire. It supports multiple
platforms, including Mac OS X. There
is also a Radmind Assistant to help
you in configuring Radmind.
Status
The Research Systems UNIX Group
developed it at the University of
Michigan. Johanna Bromberg Craig,
Wes Craig, Patrick McNeal, and
Andrew Mortensen are developing it.
It is still under active development.
The current release of Radmind is
1.2.1. It cannot be determined when
the project actually started.
Found on most modern UNIX and
UNIX-like systems, this is a great
program to use because not only does
it permit or deny remote systems from
accessing certain or all specified ports
and services, but it can also be used to
log data to files detailing the use of
these services and ports.
Use this instead of Inetd. It can be
found on many modern UNIX and
UNIX-like operating systems. It can
be made to work on the majority of
systems that do not come with it. Inetd
was the standard, but it has its
limitations. Source code is available.
Dating back to 1991 for its first initial
release, it is now currently at version
7.6 since 1997. It is no longer under
active development. Wietse Venema
developed it.
Still under active development, it is
currently at version 2.3.13. Cannot
determine when it was initially
released, but it can be traced back in
older version of Linux to before 2000.
It cannot be determined who
developed the program either.
184
Table A.1: General Purpose Computing (continued)
Product
John the Ripper
License: GNU GPL.
Logdaemon
License: Copyright 1995
by Wietse Venema, but
modification of source
allowed as long as
copyright original
copyright notice is
included. Freeware.
Rpcbind
License: Not available.
Description
Use this tool to enforce your system
password or company password
policies. It works on UNIX, DOS,
Win32, BeOS, and OpenVMS.
Logdaemon provides modified
versions of Rshd, Rlogind, Ftpd,
Rexecd, Login, and Telnetd that log
significantly more information than
the standard vendor versions, enabling
better auditing of problems via the
logfiles. Also includes support for the
S/Key one-time password package.
It is a replacement for the Sun SunOS
Rpcbind program. It offers access
control and copious logging. Allows
host access control based on network
addresses.
The Buzz
Use this tool to make sure your users
are using the passwords you created
for them or that they are following
company policies on password
selection and creation.
While not necessarily more secure
than any other version of the network
services it provides, it does log to
syslog far more useful information
than the standard UNIX services
provided.
Status
The latest version dates back to 2003
and is at version 1.6.37. The program
is no longer under active development.
It is not possible to determine the
author of the program.
It is no longer under active
development. Wietse Venema
developed it while he was working at
the IBM Thomas J. Watson Research
facility. The latest version is 5.11. The
project was started in 1990.
If you are using older versions of Sun
Solaris and would like to replace your
version of RPCbind, then use this
package. However, if your version of
Solaris is more recent, then you should
use the version you already have.
It is no longer under active
development; Wietse Venema
developed it while he was working at
the IBM Thomas J. Watson Research
facility. The last version dates to 1998
and is at version 2.1. It cannot be
determined when this actual project
started; however, it is old enough to be
able to work on Sun Solaris 2.4 and
2.6, which dates back to at least 1996
if not even earlier.
185
Table A.1: General Purpose Computing (continued)
Product
Portmap
Listed in: IDA
License: BSD.
Rwhois
Listed in: GRAS
License: GNU LGPL.
Nload
Listed in: GRAS
License: GNU GPL.
Description
It is a replacement for the standard
UNIX Portmap program. It attempts
to close all known holes in Portmap.
This includes prevention of NIS
password file theft, prevention of
unauthorized Ypset commands, and
prevention of NFS file handle theft.
The Buzz
Use this only for older version of
SunOS, Ultrix, HP-UX, AIX, and
OSF.
Rwhois (Referral Whois) is a
Directory Services protocol that
extends and enhances the Whois
concept in a hierarchical and scalable
fashion. It focuses on the distribution
of network objects - the data
representing Internet resources or
people – and uses the inherently
hierarchical nature of these network
objects to more accurately discover
the requested information.
Nload is a console application that
monitors network traffic and
bandwidth usage in real-time. It
visualizes the in and outgoing traffic
using two graphs and provides
additional info like total amount of
transferred data and min/max network
usage.
Use this tool to be able to get
information about remote hosts on the
Internet. The information comes from
a central WHOIS database available
on the Internet. Works under various
UNIX and UNIX-like systems, and it
might be possible to get it to work
under Cygwin.
A nice tool to use to see in near
real-time the utilization of your
network interface. It is highly portable
and is a command-line based tool.
Status
It is no longer under active
development; Wietse Venema
developed it while he was working at
the IBM Thomas J. Watson Research
facility. The latest release dates back
to July 1996 and is no longer under
active development. Cannot determine
when this project was started.
Still under active development, this
project was officially started in 1994
through a proposal in RFC 1714.
However, components of the project
date back to at least 1991. It cannot be
determined who started the project
and who is currently developing and
maintaining it.
It is still under active development.
Roland Riegel and Helder Correia
developed the project. The first public
release was in 2001. The project is
currently at version 0.6.0.
186
Table A.1: General Purpose Computing (continued)
Product
Nessus
Listed in:
GRAS, GRAM
License: GNU GPL.
Nmap
Listed in:
GRAS, GRAM, IDA
License: GNU GPL.
Description
Nessus is a security scanner for UNIX
and Windows.
The Buzz
It is a powerful security scanner and is
much better than most commercial
alternatives. You can write your own
scripts in a C-like language. It is
available for most UNIX and
Windows.
Nmap is an open source utility for
network exploration. It is network
services tool.
If you ever wanted to know what
services were running on a remote
host but did not what tool to use, this
is it.
Status
Still under active development, it is
currently at version 2.0.10. Renaud
Deraison founded the project, but
there are many developers and
contributors to the project. Many
non-affiliated individuals provide new
plugins and scripts to the project.
While it cannot be determined when
the project was first started,
information suggests it may have been
in 1999 or earlier.
Still under active development, it is
currently at version 3.50. The original
author is Philip Hazel and he
developed it while he was working at
the University of Cambridge in 1997.
187
Table A.1: General Purpose Computing (continued)
Product
OpenSSH
Listed in:
GRAS, GRAM, IDA
License: BSD.
OpenSSL
Listed in:
GRAS, GRAM, IDA
License: Apache-style
license.
Description
OpenSSH is a FREE version of the
SSH protocol suite of network
connectivity tools that increasing
numbers of people on the Internet are
coming to rely on. OpenSSH encrypts
all traffic (including passwords) to
effectively eliminate eavesdropping,
connection hijacking, and other
network-level attacks. It also provides
a myriad of secure tunnelling
capabilities, as well as a variety of
authentication methods. However, it is
important to note that once SSH is
started and has connected and
authenticated itself to a remote system,
it will then bring up the user’s default
command line shell, such as Bash.
The OpenSSL Project is a
collaborative effort to develop a
robust, commercial-grade,
full-featured, and Open Source toolkit
implementing the Secure Sockets
Layer (SSL v2/v3) and Transport
Layer Security (TLS v1) protocols as
well as a full-strength general-purpose
cryptography library. The project is
managed by a worldwide community
of volunteers that use the Internet to
communicate, plan, and develop the
OpenSSL toolkit and its related
documentation.
The Buzz
The de facto open source standard for
encrypting network
telecommunications without the use of
sophisticated hardware or software
(including IPSec).
Status
Still under active development, it is
based on the original free SSH 1.2.12
release from Tatu Ylönen (1995). SSH
has been around for many years and is
available for a wide number of
platforms. Aaron Campbell, Bob
Beck, Markus Friedl, Niels Provos,
Theo de Raadt, and Dug Song are the
creators of OpenSSH, and many
collaborators around the world
develop it. It is currently at version
3.7.
SSL is finding itself more and more
accepted in the commercial
marketplace for secure purchases and
transfers when online. Many banks
and institutions are moving to SSL
rather than other proprietary secure
purchasing systems.
It is under active development and
currently at version 0.96l. OpenSSL is
based on the excellent SSLeay library
developed by Eric A. Young and Tim
J. Hudson. The core development
team consists of Mark J. Cox, Ralf S.
Engelschall, Dr. Stephen Henson, and
Ben Laurie; however, there are many
other developers as well. The project
dates back to at least 1998 (possibly
earlier) when the first initial version of
SSLeay was released.
188
Table A.1: General Purpose Computing (continued)
Product
Snort
Listed in:
GRAS, GRAM
License: GNU GPL.
Crack
Listed in: GRAS
License: Artistic
License.
GnuPG
Listed in: GRAS, IDA
License: GNU GPL.
Description
Snort is an open source network
intrusion detection system, capable of
performing real-time traffic analysis
and packet logging on IP networks. It
can perform protocol analysis, content
searching and matching. It can also be
used to detect a variety of attacks and
probes.
It is a tool designed to test and check
your users passwords to be certain that
they conform to your organization’s
policies on password use.
GnuPG is a complete and free
replacement for PGP. Because it does
not use the patented IDEA algorithm,
it can be used without any restrictions.
GnuPG is a RFC2440 (OpenPGP)
compliant application.
The Buzz
A very powerful open source IDS, it is
every bit as capable as any
commercial IDS product. However, it
is not configured out of the box and
must be setup for your site’s specific
needs; do not expect this to be an easy
job. However, there is lots of good
documentation available to help you
through setting it up. The first
configuration is always the hardest.
Use this tool to enforce your
organization’s password policies.
Use this program to encrypt your files
and directories. It is a powerful, open
source file encryption tool. It is
similar to those who have used Phil
Zimmerman’s PGP or OpenPGP.
GnuPG aims to be a completely open
source PGP implementation, with all
of the same advantages and
disadvantages you would expect from
a PGP encryption tool. It works and
interoperates well with files encrypted
with PGP and OpenPGP (you need the
keys however).
Status
Still under active development, it is
currently at version 2.1.1. Written by
Martin Roesch, the project dates back
to 1998.
It is no longer under active
development. Alec Muffett wrote it. It
cannot be determined the project
started or where the author was
working when it was started, but the
latest version is 5.0.
Still under active development, the
initial public release was in 1999, and
it is currently at version 1.2.4. It
cannot be determined who actually
was the original developer of the
program. Many current developers
and contributors are advancing the
work of PGP encryption in general as
well as the project itself.
189
Table A.1: General Purpose Computing (continued)
Product
SATAN
Listed in: GRAS
License: Distributed
under the author’s own
terms; not affiliated to
any known license
model.
SARA
Listed in: GRAS
License: Distributed
under the author’s own
terms; not affiliated to
any known license
model.
Ntop
Listed in: GRAS
License: GNU GPL.
Description
SATAN is actually the prototype of a
much larger and more comprehensive
vision of a security tool. Then using
an expert system it generates the final
security analysis.
The Buzz
While not as powerful as Nessus, it is
nonetheless a powerful tool to have in
your bag of security tricks. It is easy
to write your own addins for the
program and you can write them in
either C or in Perl. It works on most
UNIX, but it may not work at all
under the various flavours of Linux.
SARA is a comprehensive network
scanner. It is actively used by over
15,000 security professional
worldwide. It is built to support the
large-scale enterprise model that
contains over 25,000 nodes. It is
approved for operation in the SANS
Top 10 and Top 20 environments.
You could consider it the second
generation of SATAN, with newer and
more advanced plugins and heuristics,
and it does work on Linux, unlike
SATAN. You should consider this tool
rather than SATAN.
Ntop is a tool that shows the network
usage, similar to what the popular top
UNIX command does. Ntop is based
on Pcapture and it has been written in
a portable way in order to virtually run
on every UNIX platform. Ntop can be
used in both interactive or web mode.
You will need Libpcap before you try
to use Ntop.
You can integrate it to work with
RRDTool so that your can get new
graphs displaying the usage of
network. Ntop can be used as a IDS, a
packet sniffer, or it can be used to
browse a list of all systems connected
to the local network as well as detail
the types of traffic these systems are
emitting on to the network.
Status
It is no longer under active
development, it was written by Wietse
Venema and Dan Farmer. It is
currently at version 1.1.1. The last
version was released in 1995. The
project appears to have started in 1993
when the authors of the program
published an article about it in
USENET.
Still under active development, and
based on the original work of the
authors of SATAN, it is now at version
5.0.2. Bob Todd is the developer and
maintainer of SARA. The project was
started in 1999 when Bob Todd joined
Advanced Research Corporation.
Although open sourced, it is the
property of Advanced Research
Corporation.
It is still under active development.
Developed and still maintained by its
original author, Luca Deri. Currently
at version 3.0, it was first started in
1998. However, note that there are
many additional developers and
contributors to the project.
190
Table A.1: General Purpose Computing (continued)
Product
ScanSSH
License: BSD.
Arpwatch
License: Uses the
license model of “The
Regents of the
University of
California.”
Airsnort
License: GNU GPL.
Arping
License: GNU GPL.
Description
ScanSSH protocol scanner scans a list
of addresses and networks for running
SSH protocol servers and their version
numbers. ScanSSH protocol scanner
supports random selection of IP
addresses from large network ranges
and is useful for gathering statistics on
the deployment of SSH protocol
servers in a company.
Arpwatch is a tool that monitors
Ethernet activity and keeps a database
of Ethernet/IP address pairings. It also
reports certain changes via email.
Arpwatch uses Libpcap, a
system-independent interface for
user-level packet capture.
Airsnort is a wireless LAN tool that
recovers encryption keys.
Broadcasts a WHO-HAS ARP packet
on the network and prints the answers.
It is very useful when you are trying to
pick up any unused IP’s for a network
that you do not yet have access to.
The Buzz
Use this tool to check and see if other
machines on your local network are
running SSH servers and then verify
what versions they are running. An
invaluable tool to make sure everyone
using SSH is using the most
up-to-date version possible.
Status
Written by Niels Provos, it is no
longer under active development.
Currently it is at version 1.6 and it was
released in 2001. However, it cannot
be determined exactly when the
project was started, but judging from
the available information it would be
in 2000 or 1999.
You can use tool to find out what
MAC address goes with each IP on
your local network. You can also use
this tool to tell you when new
machines are added to the network, or
when IP addresses change to a
different MAC, or vice versa. You can
also consider using it as an IDS.
Use this tool to be able to recover
encryption keys.
No longer under active development,
it was first started in 1992 and
development stopped in 1998. It is
currently at version 2.1. Developed at
Lawrence Berkeley National
Laboratory by Craig Leres of the
Network Research Group.
You can use this tool help find
machines even if you do not have
access to them via the standard IP
tools.
Developed by Jeremy Bruestle, Blake
Hegerle, and Snax, it is still being
actively developed and is at version
0.2.4. The initial public release was in
2001.
It is still under active development.
Thomas Habets developed it. It is
currently at version 2.03. It cannot be
determined when the project actually
started.
191
Table A.1: General Purpose Computing (continued)
Product
AIDE
License: GNU GPL.
Dsniff
License: Distributable
according to the Dug
Song License.
Nikto
License: GNU GPL.
Description
AIDE (Advanced Intrusion Detection
Environment) is a free replacement for
Tripwire. It does the same things as
the semi-free Tripwire and more. It
creates a database from the regular
expression rules that it finds from the
configuration file. Once this database
is initialized, it can be used to verify
the integrity of the files. It has several
message digest algorithms (MD5,
SHA1, RMD160, TIGER, HAVAl,
etc.) that are used to check the
integrity of the file.
Dsniff is a collection of tools for
network auditing.
Nikto is an open source web server
scanner that performs comprehensive
tests on web servers.
The Buzz
Consider using this tool if you want an
alternative to Tripwire or want to have
access to more features than the free
version of Tripwire provides.
Status
Rami Lehti and Pablo Virolainen
developed it. It is still under
development. The project is currently
at version 0.10, so it is a very young
project. The project appears to have
started in 2003.
Use this tool for network auditing.
No longer under active development,
Dug Song in developed this tool and
its first initial release was in 1999. It is
currently at version 2.3 but it is no
longer under active development since
2000.
Still under active development, the
first initial release was in 2001. It is
currently at version 1.32. It cannot be
determined who the author or
maintainer of the program is.
It is another kind of scanner that can
be used as an alternative to the ones
already listed here.
192
Table A.1: General Purpose Computing (continued)
Product
Kismet
License: GNU GPL.
NBTScan
License: GNU GPL.
Xprobe2
License: GNU GPL.
Description
Kismet is an 802.11 layer2 wireless
network detector, sniffer, and intrusion
detection system. Kismet will work
with any wireless card that supports
raw monitoring (RFMON) mode, and
can sniff 802.11b, 802.11a, and
802.11g traffic. Kismet identifies
networks by passively collecting
packets.
NBTScan is a program for scanning IP
networks for NetBIOS name
information. It sends a NetBIOS status
query to each address in a supplied
range and lists received information in
human readable form. For each
responding host it lists IP address,
NetBIOS computer name, logged-in
user name and MAC address.
Xprobe2 is an active network scanner
based on Ofir Arkin’s ICMP Usage in
Scanning Research project. Xprobe is
an alternative to some tools that are
heavily dependent upon the usage of
the TCP protocol. Xprobe2 differs
from Xprobe in that it uses fuzzy
pattern matching within a signature
database to identify remote operating
systems.
The Buzz
A nice tool to use to sniff on wireless
networks, as well as to implement a
wireless IDS system.
Status
Still under active development, the
initial public release was made public
at the end of 2001. It is currently at
version 4.01. It cannot be determined
who the author or maintainer of the
program is.
The UNIX equivalent to the Windows
Nbtstat command. However, note that
this program has more options and is
generally a more powerful tool than
Nbtstat.
Still under active development, the
first initial version was released in
1999. The program was written and is
still maintained by Alla Bezroutchko,
its original author.
Consider this is an alternative to
Nmap. It is hard to determine which
tool is better, faster, and more
efficient.
Written and maintained by Fyodor
Yarochkin and Ofir Arkin, Xprobe2 is
based on Ofir Arkin’s original project
Xprobe. It still appears to be under
active development, and the first initial
release of Xprobe2 was in 2002.
193
Table A.1: General Purpose Computing (continued)
Product
Nemesis
License: Distributable
according to the Mark
Grimes / Jeff Nathan
License.
Lsof
Listed in: GRAS
License: Free to use but
restricted.
Stunnel
License: GNU GPL.
Fragroute
License: Distributable
according to the Dug
Song License.
Description
Nemesis is a command-line network
packet injection utility for UNIX-like
and Windows systems. You might
think of it as an EZ-bake packet oven
or a manually controlled IP stack.
With Nemesis, it is possible to
generate and transmit packets from the
command line or from within a shell
script.
Lsof is a UNIX-specific diagnostic
tool. Its name stands for LiSt Open
Files, and it does just that. It lists
information about any files that are
open by processes currently running
on the system. It can also list the
communications open by each
process.
Stunnel is a program that allows you
to encrypt arbitrary TCP connections
inside SSL (Secure Sockets Layer)
available on both UNIX and Windows.
Stunnel can allow you to secure
non-SSL aware daemons and
protocols (like POP, IMAP, LDAP,
etc) by having Stunnel provide the
encryption, requiring no changes to
the daemon’s code.
Fragroute intercepts, modifies, and
rewrites egress traffic destined for a
specified host. It features a simple
rule-set language to modify packets
The Buzz
Use this tool to create your own raw
packets for network testing.
Status
It is still under active development;
Mark Grimes first developed it from
1999 to 2001. The work was then
given over to Jeff Nathan in 2001 until
the present. It is currently at version
1.4beta3.
No UNIX system would be complete
with administration and diagnostic
tools without this one. This tool lets
you know about all of the open files on
your system, including sockets and
pipes.
It was developed by Ray Shaw. The
first initial release dates back to 1998.
It is still under active development and
is now at version 4.70.
While a very good tunnelling product,
it is not quite a complete stand-alone
product as it does require a SSL
library such as OpenSSL in order to
correctly compile the code. Use it to
secure insecure protocols and
daemons.
It is still under active development.
Michal Trojnara developed it. The first
initial release dates back to 1998. It is
currently at version 4.05.
Fragroute intercepts, modifies, and
rewrites egress traffic destined for a
specified host.
The program no longer appears to be
under active development. Dug Song
developed it from 2001 to 2002. It is
currently at version 1.2.
194
Table A.1: General Purpose Computing (continued)
Product
Pidentd
License: It is
distributable according
to the Peter Eriksson
License.
Logwatch
Listed in: IDA
License: Distributable
according to the Kirk
Bauer License.
SentryTools
License: GNU GPL and
Common Public
License.
Description
This is a program that implements the
RFC1413 identification server. It was
very much inspired by Dan
Bernstein’s original ’Authd’ (but
unlike that program does not use
’Netstat’ to get some of the
information). It uses the kernel
information directly.
Logwatch is a customizable log
analysis system. Logwatch parses
through your system’s logs for a given
period of time and creates a report
analyzing areas that you specify, in as
much detail as you require. Logwatch
is easy to use and will work right out
of the package on most systems.
The Sentry tools provide host-level
security services for the UNIX
platform. Portsentry,
Logcheck/LogSentry, and Hostsentry
protect against port scans, automate
log file auditing, and detect suspicious
login activity on a continuous basis,
respectively.
The Buzz
Use this tool to help identify the user
of a particular TCP connection.
Status
No longer under active development,
the project was started in 1997 and
ended in 2002. It is currently at
version 3.0.16. Originally developed
by Peter Eriksson
Use this program to help pull out
information from your syslogs. It is
customizable so you can write your
own parsing filters easily enough.
Still under active development, the
author of the program is Kirk Bauer. It
is currently at version 5.1, but it
cannot be determined when the project
actually started.
Use Portsentry to block remote
systems from performing port scans
on your system (such as a Nmap scan),
Logcheck and Hostsentry to audit your
syslogs, and Hostsentry to help detect
suspicious logins on your system.
It is uncertain if the project is still
under active development. It appears
to have been written by Craig H.
Rowland, but it cannot be determined
when the different components were
actually written. The latest versions
are Portsentry 1.2, Logcheck 1.1.1,
and Hostsentry 0.02.
195
Table A.1: General Purpose Computing (continued)
Product
Cage
License: GNU GPL.
RSBAC
License: GNU GPL.
Description
Cage is a creator of unbreakable
“padded cells” for untrusted
applications. Use it when you would
like to Chroot a program that wants to
run as root (e.g. Sendmail, Sshd, etc.).
RSBAC stands for Rule Set Based
Access Control. It is a flexible,
powerful, and fast open source access
control framework for current Linux
kernels, which has been in stable
production use since January 2000
(version 1.0.9a). All development is
independent of governments and big
companies, and no existing access
control code has been reused. The
standard package includes a range of
access control models like MAC, RC,
ACL, and others.
The Buzz
Use this tool to create a Chroot
environment for your untrusted
applications. For those how have
never used Chroot, it is a tool which
changes the environment for a given
program, in effect fooling the
application into thinking that it is
currently at the root directory and
therefore can not access the rest of the
filesystem.
While offering many different sets of
configurable access control, it aims to
make Linux a trusted operating
system. Even though the web site does
not specifically say this, these are
components found in commercial
trusted operating systems. However,
note that this project applies only to
Linux.
Status
It cannot be determined when the
project started or stopped, or if it is
even under active development. It is
currently at version 0.80. It also
cannot be determined who the author
or maintainer of the program is.
Still under active development, it was
developed by Amon Ott in 1999 and is
currently at version 1.22.
196
Table A.1: General Purpose Computing (continued)
Product
SNARE
Listed in: GRAS
License: GNU GPL.
RBAC
License: Not Available.
Description
SNARE stands for System Intrusion
Analysis and Reporting Environment,
which is a series of log collection
agents that facilitate centralized
analysis of audit log info. The
following are the agents that exist or
are currently under development:
Linux, Windows, Solaris, IIS, Lotus
Notes, and CheckPointFW1.
Alternative address:
http://www.intersectalliance.
com/projects/Snare
Role-Based Access Control (RBAC)
has become the predominant model
for advanced access control because it
reduces the complexity and cost of
security administration in large
networked applications. Most
information technology vendors have
incorporated RBAC into their product
line, and the technology is finding
applications in areas ranging from
health care to defence, in addition to
the mainstream commerce systems for
which it was designed.
The Buzz
Another IDS, but it is no longer just
limited to UNIX and UNIX-like
systems. Consider it in place of the
other ones already mentioned if you
need support for IIS, Lotus Notes, or
CheckPointFW1.
Status
There are both a commercial and an
open source version. It is still under
active development, but it cannot be
determined when the first public
versions were released. The
developers appear to be Leigh Purdie
and George Cora.
RBAC is a powerful administration
tool. It allows you to create roles and
profiles, and then assign specific users
to the roles and profiles. Each role and
profile generally runs inside a
privileged shell that the administrator
has given the necessary rights and
permissions so that the role or profile
can perform the tasks which the users
need to perform. Use this tool to give
certain administrative privileges to
users that would otherwise not have
them. It can be used on UNIX, Linux,
Windows, and other POSIX operating
systems.
No longer under active development,
the majority of commercial UNIX
operating systems now provide the
functions provided by RBAC. David
Ferraiolo, Rick Kuhn, Ramaswamy
Chandramouli, and John Barkley
developed it. Each of the developers
works at the NIST. The project was
funded by NIST. Although RBAC is
now accepted as a national standard, it
has not been developed on since 1998.
It cannot be determined when the
project actually started.
197
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
No doubt that using LDAP, like the
other X.500 implementations
simplifies the administration of your
IT organization’s users, printers, files,
data directories, and allows you to
assign implicit rights and inherited
rights. While very powerful, it is also
very complex and is not for the
uninitiated. How well it integrates
with Novell NDS and Microsoft
Active Directory is uncertain.
Still under active development, it is
currently at release 2.2.7. It cannot be
determined who is the author and
maintainer of the project. The
OpenLDAP Foundation is a non-profit
organization that promotes open
source LDAP. It also owns the
copyright to LDAP. The project was
started in 1998 and is funded by many
generous sponsors. Versions before
2.2.4 were not released to the general
public.
Consider using this as a low-cost
replacement for Citrix MetaFrame,
Norton PC Anywhere or any other
multi-platform telecommunications
program. You can also tunnel your
connections via OpenSSH so that
communications remain secure.
The RealVNC (2002-2003) project
picks up where the AT&T VNC team
left off. Originally started at AT&T
and funded by Olivetti Research
Ltd./AT&T Laboratories Cambridge
(1994-2000), it is now again under
active development. It is staffed and
developed by the original AT&T VNC
team. It is currently at stable release
version 3.3.7. It is now no longer
under AT&T and appears to find its
own funding.
System Accessibility Software:
OpenLDAP
Listed in: IDA
License: OpenLDAP
Public License.
VNC
Listed in: IDA
License: GNU GPL.
LDAP, which stands for Lightweight
Directory Access Protocol is an
implementation of the X.500 protocol.
It is similar to both Novell NDS and
Microsoft Active Directory. Rather
than using flat files to maintain users,
passwords, and given rights and
implicit rights, LDAP, like other
X.500 implementations go from flat
files to tree-like structures with leaves
and branches, where branches are
divisions, groups, and departments,
and leaves are the end user, or other
objects like printers, files, directories,
etc.
VNC stands for Virtual Network
Computing. It is a remote control
software that allows you to view and
interact with one computer using a
simple viewer program on another
computer anywhere on the Internet.
The two computers do not even have
to be the same type of platforms. VNC
is freely and publicly available and is
in widespread active use by millions
throughout industry, academia and
privately.
198
Table A.1: General Purpose Computing (continued)
Product
OpenSSH
Listed in:
GRAS, GRAM, IDA
License: BSD.
OpenSSL
Listed in:
GRAS, GRAM, IDA
License: Apache-style
license.
Description
OpenSSH is a FREE version of the
SSH protocol suite of network
connectivity tools that increasing
numbers of people on the Internet are
coming to rely on. OpenSSH encrypts
all traffic (including passwords) to
effectively eliminate eavesdropping,
connection hijacking, and other
network-level attacks. It also provides
a myriad of secure tunnelling
capabilities, as well as a variety of
authentication methods. However, it is
important to note that once SSH is
started and has connected and
authenticated itself to a remote system,
it will then bring up the user’s default
command line shell, such as Bash.
The OpenSSL Project is a
collaborative effort to develop a
robust, commercial-grade,
full-featured, and Open Source toolkit
implementing the Secure Sockets
Layer (SSL v2/v3) and Transport
Layer Security (TLS v1) protocols as
well as a full-strength general-purpose
cryptography library. The project is
managed by a worldwide community
of volunteers that use the Internet to
communicate, plan, and develop the
OpenSSL toolkit and its related
documentation.
The Buzz
The de facto open source standard for
encrypting network
telecommunications without the use of
sophisticated hardware or software
(including IPSec).
Status
Still under active development, it is
based on the original free SSH 1.2.12
release from Tatu Ylönen (1995). SSH
has been around for many years and is
available for a wide number of
platforms. Aaron Campbell, Bob
Beck, Markus Friedl, Niels Provos,
Theo de Raadt, and Dug Song are the
creators of OpenSSH, and many
collaborators around the world
develop it. It is currently at version
3.7.
SSL is finding itself more and more
accepted in the commercial
marketplace for secure purchases and
transfers when online. Many banks
and institutions are moving to SSL
rather than other proprietary secure
purchasing systems.
It is under active development and
currently at version 0.96l. OpenSSL is
based on the excellent SSLeay library
developed by Eric A. Young and Tim
J. Hudson. The core development
team consists of Mark J. Cox, Ralf S.
Engelschall, Dr. Stephen Henson, and
Ben Laurie; however, there are many
other developers as well. The project
dates back to at least 1998 (possibly
earlier) when the first initial version of
SSLeay was released.
199
Table A.1: General Purpose Computing (continued)
Product
Wu-Ftpd
Listed in: GRAS
License: It is distributed
under the Wu-Ftpd
software license.
Vsftpd
License: GNU GPL.
Description
Wuarchive-ftpd, more affectionately
known as WU-FTPD, is a replacement
FTP daemon for UNIX systems
developed at Washington University
(*.wustl.edu) by Chris Myers and later
by Bryan D. O’Connor (who are no
longer working on it or supporting it!).
WU-FTPD is the most popular FTP
daemon on the Internet, used on many
anonymous FTP sites all around the
world.
Secure and fast, the SAC team at
SANS consider it as the preferred
secure FTP server. Although not as
configurable as other FTP servers such
as Wu-Ftpd, it supports PAM, Xinetd,
and Tcp_wrappers. It also supports
Ipv6 and bandwidth throttling. In
addition, it can even be used with
Chroot to keep users where they
belong.
The Buzz
Probably the most common Ftpd
daemon you are likely to encounter on
the Internet.
Status
No longer under active development,
except for some security patch fixes,
the first public release is believed to
have been released in 1991. It is
currently at version 2.6.2, but it cannot
be determined who actually started the
project because Wu-Ftpd was started
from different initiatives.
Although not as configurable as many
other feature-rich (some might say
“bloated”) FTP servers, Vsftpd can
support hundreds, and even thousands
of simultaneous connections, as well
being more secure than any of the
other commercial and open source
FTP servers on the market. Only FTP
servers included with trusted operating
systems would be more secure.
Currently still under active
development, it was developed by
Chris Evans. It is currently at version
1.2.1. It cannot be determined when
the project started or if there are other
developers and contributors to the
project.
200
Table A.1: General Purpose Computing (continued)
Product
Webmin
Listed in: GRAS
License: BSD.
Usermin
License: BSD.
Description
Webmin is a web-based interface for
system administration for UNIX.
Using any browser that supports tables
and forms you can perform many of
your system administrations
configurations through it. Because
Webmin has its own web-enabled
daemon, you can configure your
systems locally or remotely, even on
the Internet. Just be sure to use SSL if
you want to administrate and
configure your boxes via the Internet.
Usermin is a web interface that can be
used by any user on a UNIX system to
easily perform tasks like reading mail,
setting up SSH or configuring mail
forwarding. It can be thought of as a
simplified version of Webmin
designed for use by normal users
rather than system administrators.
The Buzz
By far, you will find this the best open
source, multi-platform, system
administration tool. It rivals many
commercial tools. It supports a wide
array of operating systems. You will
be happily surprised to know that it
will support your version of UNIX.
Hats off to Jamie Cameron on a truly
useful system administration tool.
Because everything is written entirely
in Perl, you will be able to write your
modules and share them with the
Webmin community.
It is essentially the same concept as
Webmin, except that it is designed for
users rather system administrators.
With it, you can configure your
preferences, read mail, and setting up
your local databases and configuring
your SSH connections.
Status
Started in 2000 by Jamie Cameron
with funding from Caldera, it is now
funded by Jamie Cameron. It is under
active development and is now at
version 1.140.
John Smith of MSC Software
suggested the idea and helped to fund
its development; however Jamie
Cameron actually wrote and
developed the project. It was started in
2003. It is currently at version 1.070.
201
Table A.1: General Purpose Computing (continued)
Product
X Client / X Server
(XFree86)
Listed in:
GRAS, GRAM, IDA
License: XFree86
License.
Description
The XFree86 project is a project that
aims to produce a platform
independent X Server / Client
architecture for both the local and
remote displaying of X-based
applications. It is a fully open source,
POSIX, X11R6 implementation of the
X standard.
The Buzz
The problem with XFree86 is not that
it is not a high performance X system.
On the contrary, it is so high
performance that SGI now includes it
as the default X server on their new
Onyx4 UltimateVision systems. The
problem is that PC’s all too often do
not have the necessary hardware to
take full advantage of X. The other
problem is that it is complex to setup
for multihead and multipipe use,
however it is possible. Finally, the
other problem is that all too often
video card manufacturers provide
cheap drivers for XFree86, and those
that are written by the XFree86 are
often not optimized enough because
the developers did not have access to
better source code directly from the
card manufacturer. It is fully
compatible and interoperable with
anything talking X. It has also has
been ported to many platforms, even
non-UNIX platforms.
Status
It is based on the work of then
German student Thomas Roell (1989 /
1990) who ported over code from the
X11R4 distribution of X and called it
X386.1.1. In August 1991, with the
aid of others, Roell gave PC-based
UNIX its first X implementation.
Today, XFree86 is developed by
hundreds of international contributors
who are pushing the movement
forward. It is currently at version 4.4.0
RC3.
202
Table A.1: General Purpose Computing (continued)
Product
OpenVPN
License: GNU GPL.
Samba
Listed in:
GRAS, GRAM, IDA
License: GNU GPL.
Description
OpenVPN is an easy-to-use, robust,
and highly configurable VPN daemon
that can be used to securely link two
or more private networks using an
encrypted tunnel over the Internet.
Samba is an Open Source/Free
Software suite that provides seamless
file and print services to SMB/CIFS
clients. This enables you to connect to
either your Windows workstations or
domains, share data and files, and even
print. It also enables the Windows the
world to access your UNIX box as if it
were another Windows box.
The Buzz
Use it because it is the only known
open source product to fully support
the OpenSSL PKI. It is different from
but serves the same goal as OpenSSH;
however, they use different
mechanisms for encrypting their data.
It is supported on most versions of
UNIX and UNIX-like systems, as well
Windows and Mac OS X.
For most UNIX systems, this is the
way to go if you want to connect to or
interchange data with Windows
systems. It is very stable, but it can be
difficult to configure for the novice,
although there are lots of good
documentation available on the
Internet.
Status
The initial public release was in 2001
and it is currently at version 1.6-rc3.
Developed by James Yonan, it is still
under active development.
Still under active development, it is
currently at version 3.0.2. It cannot be
determined who is the lead developer
or maintainer of the project, however,
the core development team consists of
20 developers, with many other
developers and contributors. It can be
traced back to at least 1993, and it
dates back to several years before that.
203
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
It is a high-end web server-reporting
tool. It is light on resources and it is
very portable.
Developed by David Mosberger and
Tai Jin at Hewlett-Packard Research
Labs, it started as a concept in 1998
through a paper they published. It is
currently at version 0.8.
IOzone is useful for performing a
broad filesystem analysis of a vendor’s
computer platform. It is portable and
can be compiled for most UNIX and
UNIX-like operating systems. This is
a tool your definitely want to have
around when you want to evaluate the
performance of your disks and
filesystems. You may be surprised at
the results.
The original author is William D.
Norcott and he is aided by Don Capps
for adding the necessary extensions. It
cannot be readily determined when the
project was started. The current
version is 3.217 and is still under
active development.
System Administration Software:
Httperf
License: GNU GPL.
IOZone
License: Freely
distributable.
It is a tool for measuring web server
performance. It provides a flexible
facility for generating various HTTP
workloads and for measuring server
performance. It generates easy to
understand graphs of the system web
loads.
IOzone is a filesystem benchmark
tool. The benchmark generates and
measures a variety of file operations.
Although the program does not
generate its own graphs, the data can
be easily imported into Excel or other
program for data analysis.
Alternatively, you can use GNUplot in
its place. IOzone will analyze just
about every kind of read/write
possible on your disk and filesystem,
as well as analyze the performance
due to cache and system memory.
204
Table A.1: General Purpose Computing (continued)
Product
Webmin
Listed in: GRAS
License: BSD.
Usermin
License: BSD.
Description
Webmin is a web-based interface for
system administration for UNIX.
Using any browser that supports tables
and forms you can perform many of
your system administrations
configurations through it. Because
Webmin has its own web-enabled
daemon, you can configure your
systems locally or remotely, even on
the Internet. Just be sure to use SSL if
you want to administrate and
configure your boxes via the Internet.
Usermin is a web interface that can be
used by any user on a UNIX system to
easily perform tasks like reading mail,
setting up SSH or configuring mail
forwarding. It can be thought of as a
simplified version of Webmin
designed for use by normal users
rather than system administrators.
The Buzz
By far, you will find this the best open
source, multi-platform, system
administration tool. It rivals many
commercial tools. It supports a wide
array of operating systems. You will
be happily surprised to know that it
will support your version of UNIX.
Hats off to Jamie Cameron on a truly
useful system administration tool.
Because everything is written entirely
in Perl, you will be able to write your
modules and share them with the
Webmin community.
It is essentially the same concept as
Webmin, except that it is designed for
users rather system administrators.
With it, you can configure your
preferences, read mail, and setting up
your local databases and configuring
your SSH connections.
Status
Started in 2000 by Jamie Cameron
with funding from Caldera, it is now
funded by Jamie Cameron. It is under
active development and is now at
version 1.140.
John Smith of MSC Software
suggested the idea and helped to fund
its development; however Jamie
Cameron actually wrote and
developed the project. It was started in
2003. It is currently at version 1.070.
205
Table A.1: General Purpose Computing (continued)
Product
Virtualmin
License: GNU GPL.
SysInfo
License: MagniComp
proprietary license.
Swatch
License: GNU GPL.
Description
Virtualmin is a virtual hosting
management system that integrates
cleanly into the Webmin system
administration tool. Virtualmin is a
two-tiered virtual hosting
administration system. Usermin
provides a third tier for individual
users. It has good support for disk
quotas, user-based POP3/IMAP email
setup, Apache virtual host entries,
BIND domain setup, Postfix and
Sendmail email address and alias
management, and MySQL database
creation.
It provides extremely detailed,
platform independent hardware,
software, and OS configuration data
for most major UNIX, Linux, and
Apple Macintosh platforms. SysInfo
enables system administrators to
quickly see a high-level view of a
system’s configuration or dive deep
into very low-level configuration data.
Swatch started out as the “simple
watchdog” for actively monitoring log
files produced by UNIX’s syslog
facility. It has since been evolving into
a utility that can monitor just about
any type of log file.
The Buzz
This is a good tool to try out if you are
doing or planning to do virtual
hosting. It is a two-tiered virtual
hosting administration system, used
by the domain administrator. It allows
for creation of email accounts and
aliases within the domain, as well as
Apache virtual host details, BIND
domain details, and access to the
domains’ MySQL database.
Status
It was written under contract with
Swell Technology, but it was written,
and developed by Jamie Cameron. It
is a relatively new project and was
started in 2003 and is currently at
version 1.81.
It is a very nice administration and
troubleshooting tool to have around.
Consider it a worthwhile tool because
of the number of platforms it supports
and the amount of meaningful
information it is capable of providing
about your systems.
Granting you a 60-day evaluation
period, it can be purchased for a
minimal fee. Developed by
MagniComp, it has been around since
1992. Although not free, it is
worthwhile trying out the evaluation
copy. It cannot be determined who
actually developed or maintains the
program.
Developed by Todd Atkins, it
continues to be under active
development. It cannot be determined
when the project actually started.
However, it goes back to at least 2001
(version 3.0) because this is as far
back as the files posted on
SourceForge.
Use this program to actively monitor
system messages as they are written to
a log file via the UNIX syslog utility.
Use the tool to make sure there has
been no unauthorized tampering with
the system or its logs.
206
Table A.1: General Purpose Computing (continued)
Product
Procwatch
License: Artistic
License.
OpenNMS
License: GNU GPL.
Ganglia
License: BSD.
Description
Procwatch watches a /proc filesystem
for new processes. When a process is
created, Procwatch reports the time,
the username, the PID, and the binary
that was run. Its output is suitable for
logging to log files and is geared for
system administrators who are testing
a new but yet untrusted UNIX system.
OpenNMS is an enterprise-grade
network management system built
using the open source development
model. It is a system that monitors a
computer network in an attempt to
prevent and quickly identify problems
that affect how well the computer
network runs. OpenNMS was
designed to manage a very large
number of devices, and currently it
can monitor over 15,000 services and
collect data on over 8000 devices.
Ganglia is a scalable distributed
monitoring system for
high-performance computing systems
such as clusters and Grids. It is based
on a hierarchical design targeted at
federations of clusters. It leverages
technologies such as XML and XDR,
as well as RRDTool.
The Buzz
Designed for Linux, it should be
possible to port it to other platforms.
Currently works with Linux and BSD,
but other POSIX systems should work
too.
Status
It is not currently under active
development. It was developed in
2001 by Adam Guyot. It consists only
of a Perl script that does all the work.
It cannot be determined when the
project actually started, but indications
point to its creation in 2001.
For those of you who like using Tivoli
Management Console, HP OpenView,
or CA UniCenter, consider this open
source program. Its scope and breadth
is quite amazing. This program may
one day change the face of system
management for UNIX-based
operating systems. This program is
the ultimate open source systems
management tool.
Started in 1999, this project is still
under active development. It is a
registered trademark of Blast Internet
Services Inc, but it is fully open
source. It is currently at version 1.0.2.
Running on a wide variety of
hardware, and designed specifically
for use within clustered heterogeneous
systems, it can be used for monitoring
your more critical systems. Its best
feature is its ability to get data from
remote systems and produce graphs
produced by using by RRDTool. It has
been used on hundreds of clusters
around the world, and can scale to
more than 2000 nodes per cluster.
The project appears to have started in
2001, and is currently at version 2.5.6.
The main developer appears to be
Matt Massie, however, there are many
other developers involved.
207
Table A.1: General Purpose Computing (continued)
Product
Spong
License: GNU GPL.
PIKT
License: GNU GPL.
Description
Spong is a simple systems and
network-monitoring package. It does
not compete with Tivoli, OpenView,
UniCenter, OpenNMS, or any other
commercial packages. It is not SNMP
based, so it communicates via simple
TCP-based messages. It is written in
Perl so you can easily write your own
modules. It can currently run on every
major UNIX and UNIX-like operating
systems.
It is a cross-categorical toolkit to
monitor and configure computer
systems, organize system security,
format documents, assist
command-line work, and perform
other common systems administration
tasks. Its primary purpose is to report
problems, and fix those problems
whenever possible, but its flexibility
and extensibility evoke many other
uses limited only by one’s
imagination.
The Buzz
Use it to monitor the status of
processes, network programs, disk
space, CPU usage, etc, on your remote
systems. Use it if you need a
lightweight monitoring program.
Status
Developed by Stephen L. Johnson, the
project was started in 2003. It is
currently at version 2.7.7 and it no
longer appears to be actively
developed.
It supports a large of number of
different platforms and due to its
internal scripting language and
preprocessors, it is highly flexible and
extensible. You will be surprised at
the amount of work PIKT can
accomplish for you.
A registered trademark of the
University of Chicago and
copyrighted, and developed by Robert
Osterlund. Started in 1998, it is still in
under active development. It is
currently at version 1.16.
208
Table A.1: General Purpose Computing (continued)
Product
OpenPKG
License: MIT-style
license.
Nocol/Snips
License: Copyrighted
but freely available as
Shareware.
Description
It is a portable package management
system designed to ease the job of the
administration of multiple UNIX
systems. It uses the RPM package
format to achieve its high level of
system packaging independence.
OpenPKG provides a way to manage
systems, largely independent of the
UNIX type, and of the particular
distribution within diverse systems
such as Linux. In short, it will update
and install software packages on all of
your supported systems.
Nocol/Snips is a popular network
monitoring shareware package that
monitors for system network faults
running on UNIX boxes. SNIPS uses
a very simple centralized architecture,
capable of monitoring DNS, NTP,
TCP ports, Web ports, host
performance, syslogs, radius servers,
BGP peers, etc. However, it does not
offer trend analysis, device
dependencies to avoid alarm floods,
multi-user model, etc.
The Buzz
Use it if you have multiple UNIX
platforms for which you must update
and upgrade multiple software
packages. Using a large precompiled
software repository for each of the
supported platforms, OpenPKG eases
your system administration load
significantly.
Status
Developed by Ralf S. Engelschall and
sponsored by the European ISP Cable
and Wireless (C&W). It is currently at
version 2.0 and development appears
to have started in 2000.
Consider Snips rather Nocol. It
supports Linux, Solaris, and Windows.
Helix is the commercial version that
supports enterprise-type services as
well as trend analysis. Helix is
available for trial and will work for
about a month, but after that, you must
purchase it. Nocol/Snips is free, and
so is the source code.
Vikas Aggarwal who went on to
become Founder & CTO of Fidelia
Technology initially developed it. It
was developed in the early 1990’s.
Snips is the continuation of Nocol
where development stopped in
December 2003. Snips is still under
active development and is at version
1.1.
209
Table A.1: General Purpose Computing (continued)
Product
Nagios / NetSaint
Listed in: GRAS
License: GNU GPL.
Big Brother
License: Proprietary
license; free for
individual; fee for
commercial use.
Description
Nagios is a host and service monitor
designed to inform you of network
problems before your clients,
end-users or managers do. It has been
designed to run under the Linux
operating system, but works fine under
most UNIX variants as well. The
monitoring daemon runs intermittent
checks on hosts and services you
specify using external plugins that
return status information to Nagios,
where you, the system administrator
can take action, or have it take the
necessary actions for you.
Big Brother monitors system and
network-delivered services for
availability. Your current network
status is displayed on a color-coded
web page in near-real-time. When
problems are detected, you are
immediately notified by e-mail, pager,
or text messaging.
The Buzz
Use this to monitor your system
services and statuses, and consider it a
lightweight version of OpenNMS; but
it is still powerful and has many uses.
Status
Nagios is the continuation of NetSaint.
It is under active development and is
being developed and maintained by
Ethan Galstad. The first release of
Nagios was in May 2002, and is
currently at stable release version 1.2.
NetSaint was started in 1999 and
development stopped in 2002.
The main difference between BB and
BBPro (not including license) is that
BB has a manual setup and BBPro has
an automatic setup. Different from
other similar packages, it is worth
trying out and is light on your
resources. It too supports multiple
platforms.
You must read the license agreement
to determine if you qualify for the free
(BB) or paid version of Big Brother
(BBPro). Started in 1996 by Sean
MacGuire and Robert-André Cocteau,
it was purchase by Quest Software in
2000. Development is still on going
and is currently at version 1.9e.
210
Table A.1: General Purpose Computing (continued)
Product
Net SNMP
Listed in: IDA
License: BSD. BSD-like
for the portions from
Carnegie Mellon
University, BSD for
portions from Network
Associates Inc., BSD for
parts from Cambridge
Broadband Ltd., BSD
for parts from Sun
Microsystems Inc., BSD
parts from Sparta Inc.
Lsof
Listed in: GRAS
License: Free to use but
restricted.
Description
A platform independent
implementation of the SNMP RFC.
The Buzz
Platform independent implementation
of SNMP version 1 and 2. It works on
many different platforms, and is
highly extensible and flexible. It is
currently found on most major
distributions of Linux, and can easily
be compiled and installed on just
about any other platform.
Lsof is a UNIX-specific diagnostic
tool. Its name stands for LiSt Open
Files, and it does just that. It lists
information about any files that are
open by processes currently running
on the system. It can also list the
communications open by each
process.
No UNIX system would be complete
with administration and diagnostic
tools without this one. This tool lets
you know about all of the open files on
your system, including sockets and
pipes.
Status
It is originally based on the Carnegie
Mellon University and University of
California at Davis (UCD-SNMP)
SNMP implementations, but has been
so heavily changed and modified that
it no longer resembles the original. As
of release 5.0 Net-SNMP no longer
bore any resemblance to UCD-SNMP.
The Net-SNMP initiative appears to
have started in 2000. It cannot be
determined who the developers are,
but there are many collaborating
together to move the project forward.
It was developed by Ray Shaw. The
first initial release dates back to 1998.
It is still under active development and
is now at version 4.70.
211
Table A.1: General Purpose Computing (continued)
Product
Queue
License: GNU GPL.
VNC
Listed in: IDA
License: GNU GPL.
Description
It is a load-balancing system that lets
users control their remote jobs in an
intuitive, transparent and nearly
seamless way. Queue can be used as a
local replacement for RSH to hosts
within a homogeneous cluster under
single administrative control. Queue
also supports the more traditional
email-based load-balancing and
distributed batch-processing facilities
using a number of criteria to decide
where to send jobs.
VNC stands for Virtual Network
Computing. It is a remote control
software that allows you to view and
interact with one computer using a
simple viewer program on another
computer anywhere on the Internet.
The two computers do not even have
to be the same type of platforms. VNC
is freely and publicly available and is
in widespread active use by millions
throughout industry, academia and
privately.
The Buzz
Use it for load-balancing and
dispatching jobs on clusters. It
supports multiple platforms.
Status
It is no longer under active
development; the main developer was
W. G. Krebs, although there were
several other contributors as well. It
was started as an in-house initiative on
a cluster of HP-UX hosts for
load-balancing. The last version was
released in May 2001. It is currently at
version 1.40.1 beta.
Consider using this as a low-cost
replacement for Citrix MetaFrame,
Norton PC Anywhere or any other
multi-platform telecommunications
program. You can also tunnel your
connections via OpenSSH so that
communications remain secure.
The RealVNC (2002-2003) project
picks up where the AT&T VNC team
left off. Originally started at AT&T
and funded by Olivetti Research
Ltd./AT&T Laboratories Cambridge
(1994-2000), it is now again under
active development. It is staffed and
developed by the original AT&T VNC
team. It is currently at stable release
version 3.3.7. It is now no longer
under AT&T and appears to find its
own funding.
212
Table A.1: General Purpose Computing (continued)
Product
OpenSSH
Listed in:
GRAS, GRAM, IDA
License: BSD.
OpenSSL
Listed in:
GRAS, GRAM, IDA
License: Apache-style
license.
Description
OpenSSH is a FREE version of the
SSH protocol suite of network
connectivity tools that increasing
numbers of people on the Internet are
coming to rely on. OpenSSH encrypts
all traffic (including passwords) to
effectively eliminate eavesdropping,
connection hijacking, and other
network-level attacks. It also provides
a myriad of secure tunnelling
capabilities, as well as a variety of
authentication methods. However, it is
important to note that once SSH is
started and has connected and
authenticated itself to a remote system,
it will then bring up the user’s default
command line shell, such as Bash.
The OpenSSL Project is a
collaborative effort to develop a
robust, commercial-grade,
full-featured, and Open Source toolkit
implementing the Secure Sockets
Layer (SSL v2/v3) and Transport
Layer Security (TLS v1) protocols as
well as a full-strength general-purpose
cryptography library. The project is
managed by a worldwide community
of volunteers that use the Internet to
communicate, plan, and develop the
OpenSSL toolkit and its related
documentation.
The Buzz
The de facto open source standard for
encrypting network
telecommunications without the use of
sophisticated hardware or software
(including IPSec).
Status
Still under active development, it is
based on the original free SSH 1.2.12
release from Tatu Ylönen (1995). SSH
has been around for many years and is
available for a wide number of
platforms. Aaron Campbell, Bob
Beck, Markus Friedl, Niels Provos,
Theo de Raadt, and Dug Song are the
creators of OpenSSH, and many
collaborators around the world
develop it. It is currently at version
3.7.
SSL is finding itself more and more
accepted in the commercial
marketplace for secure purchases and
transfers when online. Many banks
and institutions are moving to SSL
rather than other proprietary secure
purchasing systems.
It is under active development and
currently at version 0.96l. OpenSSL is
based on the excellent SSLeay library
developed by Eric A. Young and Tim
J. Hudson. The core development
team consists of Mark J. Cox, Ralf S.
Engelschall, Dr. Stephen Henson, and
Ben Laurie; however, there are many
other developers as well. The project
dates back to at least 1998 (possibly
earlier) when the first initial version of
SSLeay was released.
213
Table A.1: General Purpose Computing (continued)
Product
Calamaris
License: GNU GPL.
Awstats
License: GNU GPL.
Webalizer
Listed in: IDA
License: GNU GPL.
Description
It parses log files from Squid,
NetCache, Inktomi Traffic Server,
Oops! Proxy Server, Novell Internet
Caching System, Compaq TaskSmart
or Netscape/Iplanet Web Proxy Server
and generates statistical reports about
their performance and use. It is
written entirely in Perl.
Short for Advanced Web Statistics, it
is a tool that generates advanced web,
FTP, and mail server statistics,
graphically. It shows you all the
possible information your log
contains, in few graphical web pages.
It can process large log files. It can
analyze log files from IIS, Apache,
WebStar, and most other proxy, WAP,
and streaming servers.
It is a fast, free web server log file
analysis program. It produces highly
detailed, easily configurable usage
reports in HTML format, for viewing
inside a standard web browser. It is
written entirely in C and thus can be
ported to just about any platform. It
works for Apache and WU-FTP logs.
The Buzz
Use this if you need a tool to help you
parse your various log files so that you
can get abundant statistical
information about usage and
performance of your web server and
proxy logs.
Status
It is uncertain if it is still under active
development or not since there have
been no changes since May 2003. The
current version is 2.58. Developed by
Cord Beermann, its first initial release
was in December 1997.
While it does not give quite as much
information as Calamaris, it supports a
wider variety of applications.
It is still under active development and
its initial release was in May 2000.
Laurent Destailleur develops it and it
is currently at stable release version
6.0.
It is very fast. The author claims that a
200 MHz Pentium it can process a 40
MB 10,000 line file in 15 seconds.
Consider this if you use only Apache
or WU-FTP and have very large log
files to analyze.
Still under active development, the
author is Bradford L. Barrett. It is
currently at stable release 2.01-10, and
the project was started in 1997.
214
Table A.1: General Purpose Computing (continued)
Product
H2N
Listed in: GRAS
License: GNU GPL.
Expect
Listed in: GRAS
License: Public Domain.
Condor
Listed in: GRAS
License: BSD.
Description
H2N is a Perl script that can translate
a host table (ex. /etc/hosts) into DNS
zone files and check zone files for
RFC violations or other potential
problems.
Expect is a tool for automating
interactive (non-automatic)
applications such as Telnet, FTP,
Passwd, Fsck, Rlogin, Tip, etc. Expect
is also useful for testing these same
applications. Moreover, by adding Tk,
you can wrap interactive applications
in X11 GUIs.
Condor is a specialized workload
management system for
compute-intensive jobs. Condor
provides a job queuing mechanism,
scheduling policy, priority scheme,
resource monitoring, and resource
management. Users submit their jobs
to Condor and Condor places them
into a queue and chooses when and
where to run the jobs based upon a
policy; and it carefully monitors their
progress, and ultimately informs the
user upon completion.
The Buzz
Use it if you want to move from
/etc/hosts to DNS and your hosts file
is large enough to make it worth the
while of using DNS. Remember that
DNS uses significantly more resources
than/etc/hosts do.
Consider this program if you need to
automate some of the standard UNIX
interactive programs. It requires
Tcl/Tk to work.
Ideal for batch and serial jobs, it
works particularly well in clustered
environments, such as on Beowulf
clusters.
Status
It does not appear to be currently
under development. Its author is
Brandon Hutchinson. The current
version is 2.55 and it was released in
September 2003.
Still under active development, its
current version is 5.40.0 and
developed by Don Libes. The program
was conceived in 1987 and the first
prototype was in September 1987.
Under active development, it is
currently at version 6.6.1. The project
was started in 1988 based on the
results of the Remote-UNIX project
and as a continuation in the work the
Distribute Resource Manager (DRM).
It is currently being maintained and
developed at the University of
Wisconsin-Madison.
215
Table A.1: General Purpose Computing (continued)
Product
Amanda
Listed in: GRAS, IDA
License: BSD.
txt2man
License: GNU GPL.
Description
Standing for the Advanced Maryland
Automatic Network Disk Archiver, it
is a backup system that allows the
administrator of a LAN to set up a
single master backup server to back up
multiple hosts to a single large
capacity tape drive. It uses native
dump and/or GNU tar facilities and
can back up a large number of
workstations running multiple
versions of UNIX. Recent versions
can also use SAMBA to back up
Microsoft Windows hosts.
Txt2man converts flat ASCII text to
man page format. It is a shell script
using GNU Awk that should run on
any UNIX like system.
The Buzz
A bit difficult to configure and not for
the uninitiated in UNIX, but if you
think you know what you are doing,
then this is a great tool to perform
backups and restore a variety of
platforms and architectures.
Status
Currently under active development, it
is at stable version 2.4.4p2. The
program dates back to at least 1998,
and there are many developers who
have contributed to the project, both
past and presently, and are too
numerous to mention.
This tool will let you make your own
man files easily. A very nice tool for
those who do not want to learn Groff.
It is still under active development; it
was developed by Marc Vertes. The
program started before December
2002, but its history cannot be traced
back further than this. In December
2002, the release was at version 1.4.6,
and the current release is 1.4.8.
216
Table A.1: General Purpose Computing (continued)
Product
MyDNS
License: GNU GPL.
Description
MyDNS is a free DNS server for
UNIX implemented from scratch and
designed to serve records directly
from an SQL database (currently
either MySQL or PostgreSQL).
The Buzz
Its primary objectives are stability,
security, interoperability, and speed,
though not necessarily in that order.
MyDNS does not include recursive
name service, or a resolver library. Its
primarily designed for organizations
with many zones and/or resource
records who desire the ability to
perform real-time dynamic updates on
their DNS data via MySQL. MyDNS
starts and is ready to answer questions
immediately, no matter how much
DNS data you have in the database. It
is very fast and memory-efficient.
Status
Still under active development, it
appears to be developed by Don
Moore. It is currently at version
0.10.3. The initial public release dates
back to 2002.
217
Table A.1: General Purpose Computing (continued)
Product
Description
The Buzz
Status
For most UNIX systems, this is the
way to go if you want to connect to or
interchange data with Windows
systems. It is very stable, but it can be
difficult to configure for the novice,
although there are lots of good
documentation available on the
Internet.
Still under active development, it is
currently at version 3.0.2. It cannot be
determined who is the lead developer
or maintainer of the project, however,
the core development team consists of
20 developers, with many other
developers and contributors. It can be
traced back to at least 1993, and it
dates back to several years before that.
Still under active development, it is
currently at version 9.2.3. The initial
release was in 1994. The program is
copyright of the Internet Software
Consortium. It cannot be determined
who are the current developers and
maintainers of the project.
System Services Software:
SAMBA
Listed in:
GRAS, GRAM, IDA
License: GNU GPL.
BIND
Listed in:
GRAS, GRAM, IDA
License: Distributable
according to the Internet
Consortium License.
Samba is an Open Source/Free
Software suite that provides seamless
file and print services to SMB/CIFS
clients. This enables you to connect to
either your Windows workstations or
domains, share data and files, and even
print. It also enables the Windows the
world to access your UNIX box as if it
were another Windows box.
BIND (Berkeley Internet Name
Domain) is an implementation of the
Domain Name Server/Service (DNS)
protocols and provides an openly
redistributable reference
implementation of the major
components of the Domain Name
System. The resolver library included
in the BIND distribution provides the
standard API’s for translation between
domain names and Internet addresses
and is intended to be linked with
applications requiring name service.
The BIND DNS Server is used on the
vast majority of name serving
machines on the Internet, providing a
robust and stable architecture on top
of which an organization’s naming
architecture can be built. Although
most systems have their DNS server,
this one is particularly worth looking
at.
218
Table A.1: General Purpose Computing (continued)
Product
Apache
Listed in:
GRAS, GRAM, IDA
License: Apache
License.
Zebra
License: GNU GPL.
Description
Apache is very popular and provides
access to most web sites on the
Internet. A recent Netcraft survey of
Web Servers around the world placed
Apache Powered sites at over 50
percent of the total. Apache is free
because it is written and maintained
by enthusiasts and volunteers, much in
the spirit of many UNIX users.
Apache runs on just about every
platform that is out there, and is a high
performance web-based platform.
GNU Zebra is free software that
manages TCP/IP based routing
protocols. It supports BGP-4 protocol
as described in RFC1771 (A Border
Gateway Protocol 4) as well as RIPv1,
RIPv2 and OSPFv2. Unlike
traditional, monolithic architectures
and even the so-called “new modular
architectures” that remove the burden
of processing routing functions from
the CPU and utilize special ASIC
chips instead, Zebra software offers
true modularity. Zebra is unique in its
design in that it has a process for each
protocol.
The Buzz
The world’s most popular web server,
and quite possibly one of the fastest.
However, to determine which is faster,
Apache or IIS, look at the many
different benchmarks already
performed and be the judge for
yourself. Avoid being overly
convinced by those who are pro-open
source or pro-Microsoft. Perform your
benchmarks if you can.
Status
Still under current development, it is
funded by the non-profit organization
Apache Software Foundation that was
founded in 1999. The ASF is a natural
outgrowth of The Apache Group, a
group of individuals that was initially
formed in 1995 to develop the Apache
HTTP Server.
If you need advanced routing
software, rather than go out and pay a
fortune for a commercially available
product, try Zebra. Open source, fast,
and easy to configure, it is worth
thinking about. It was designed to
work on Linux-based systems.
Still under active development, it was
started in 1996 and it is currently at
release 1.0. Mr. Kunihiro Ishiguro
who at the time needed a new type of
routing software started it.
219
Table A.1: General Purpose Computing (continued)
Product
Squid
Listed in: GRAS
License: GNU GPL.
Wu-Ftpd
Listed in: GRAS
License: It is distributed
under the Wu-Ftpd
software license.
Description
Squid is a high-performance
proxy-caching server for web clients,
supporting FTP, gopher, and HTTP
data objects. Unlike traditional
caching software, Squid handles all
requests in a single, non-blocking,
I/O-driven process. Squid keeps meta
data and especially hot objects cached
in RAM, caches DNS lookups,
supports non-blocking DNS lookups,
and implements negative caching of
failed requests. Squid supports SSL,
extensive access controls, and full
request logging.
Wuarchive-ftpd, more affectionately
known as WU-FTPD, is a replacement
FTP daemon for UNIX systems
developed at Washington University
(*.wustl.edu) by Chris Myers and later
by Bryan D. O’Connor (who are no
longer working on it or supporting it!).
WU-FTPD is the most popular FTP
daemon on the Internet, used on many
anonymous FTP sites all around the
world.
The Buzz
An excellent for a proxy-caching
server and can easily be configured
and compiled for many different
platforms, including Windows and
Mac OS X.
Status
Still under active development, the
current developmental version is 3.0,
and the current stable version is 2.5.
Robert Collins appears to be the lead
developer and maintainer of the
program, although there other
developers and contributors. The first
initial release appears to have been in
1997.
Probably the most common Ftpd
daemon you are likely to encounter on
the Internet.
No longer under active development,
except for some security patch fixes,
the first public release is believed to
have been released in 1991. It is
currently at version 2.6.2, but it cannot
be determined who actually started the
project because Wu-Ftpd was started
from different initiatives.
220
Table A.1: General Purpose Computing (continued)
Product
CUPS
Listed in: IDA
License: GNU GPL and
GNU LGPL.
LPRng
Listed in: IDA
License: Copyright and
distributable under
Patrick Powell License
Agreement.
Description
The Common UNIX Printing System
is a cross-platform printing solution
for all UNIX environments. It is based
on the Internet Printing Protocol (IPP).
It provides complete printing services
to most PostScript and raster printers.
The LPRng software is an enhanced,
extended, and portable
implementation of the Berkeley LPR
print spooler functionality. While
providing the same interface and
meeting RFC1179 requirements, the
implementation is completely new and
provides support for the following
features: lightweight (no databases
needed) Lpr, Lpc, and Lprm programs;
dynamic redirection of print queues;
automatic job holding; highly verbose
diagnostics; multiple printers serving
a single queue; client programs do not
need to run SUID root; greatly
enhanced security checks; and a
greatly improved permission and
authorization mechanism.
The Buzz
While the LPR/LPD printer daemons
may still come standard on most
UNIX systems, watch out because this
is very likely to replace them. CUPS
works on most UNIX platforms,
including Windows and Mac OS X.
Of course, CUPS still supports the
standard printing commands Lp and
Lpr for compatibility.
While CUPS may the way of the
future for UNIX printing, do not
discount LPRng. This project will
probably continue to give long life to
an already long existing printing
system. While the current LPR/LPD
daemons are already tried, tested, and
true, they lack some many of the
options that LPRng provides to them.
Status
Still under active development, it is
owned and copyrighted by Easy
Software Products, and was
copyrighted in 1993. However, it
cannot be determined who the main
developers and contributors are. It is
currently at version 1.2.
It is still under active development. It
was developed and is still maintained
by its author Patrick Powell. The
project was started in 1995 and is
currently at version 3.8.9.
221
Table A.1: General Purpose Computing (continued)
Product
NTP
Listed in: GRAS, IDA
License: Copyright and
distributable under
David L. Mills License
Agreement.
OpenLDAP
Listed in: IDA
License: OpenLDAP
Public License.
Description
NTP is a protocol designed to
synchronize the clocks of computers
over a network. NTP version 3 is an
Internet draft standard, formalized in
RFC 1305. NTP version 4 is a
significant revision of the NTP
standard, and is the current
development version, but has not been
formalized in an RFC. Simple NTP
(SNTP) version 4 is described in RFC
2030.
LDAP, which stands for Lightweight
Directory Access Protocol is an
implementation of the X.500 protocol.
It is similar to both Novell NDS and
Microsoft Active Directory. Rather
than using flat files to maintain users,
passwords, and given rights and
implicit rights, LDAP, like other
X.500 implementations go from flat
files to tree-like structures with leaves
and branches, where branches are
divisions, groups, and departments,
and leaves are the end user, or other
objects like printers, files, directories,
etc.
The Buzz
Although you may not realize that
time synchronization is important, it is
critical when performing database
synchronizations or generating and
synchronizing system certificates.
NTP is not an obvious program to
configure, and can be difficult for
those who have never worked with
timeservers and time synchronization.
Status
It is still under active development.
David L. Mills originally developed it.
There are, however, over 50 other
contributors and developers to the
project. Mr. Mills copyrighted it in
1992, and it may have started before
that. It is currently at version 4.2.0.
No doubt that using LDAP, like the
other X.500 implementations
simplifies the administration of your
IT organization’s users, printers, files,
data directories, and allows you to
assign implicit rights and inherited
rights. While very powerful, it is also
very complex and is not for the
uninitiated. How well it integrates
with Novell NDS and Microsoft
Active Directory is uncertain.
Still under active development, it is
currently at release 2.2.7. It cannot be
determined who is the author and
maintainer of the project. The
OpenLDAP Foundation is a non-profit
organization that promote open source
LDAP. It also owns the copyright to
LDAP. The project was started in 1998
and is funded by many generous
sponsors. Versions before 2.2.4 were
not released to the general public.
222
Table A.1: General Purpose Computing (continued)
Product
X Client / X Server
(XFree86)
Listed in:
GRAS, GRAM, IDA
License: XFree86
License.
Description
The XFree86 project is a project that
aims to produce a platform
independent X Server / Client
architecture for both the local and
remote displaying of X-based
applications. It is a fully open source,
POSIX, X11R6 implementation of the
X standard.
The Buzz
The problem with XFree86 is not that
it is not a high performance X system.
On the contrary, it is so high
performance that SGI now includes it
as the default X server on their new
Onyx4 UltimateVision systems. The
problem is that PC’s all too often do
not have the necessary hardware to
take full advantage of X. The other
problem is that it is complex to setup
for multihead and multipipe use,
however it is possible. Finally, the
other problem is that all too often
video card manufacturers provide
cheap drivers for XFree86, and those
that are written by the XFree86 are
often not optimized enough because
the developers did not have access to
better source code directly from the
card manufacturer. It is fully
compatible and interoperable with
anything talking X. It has also has
been ported to many platforms, even
non-UNIX platforms.
Status
It is based on the work of then
German student Thomas Roell (1989 /
1990) who ported over code from the
X11R4 distribution of X and called it
X386.1.1. In August 1991, with the
aid of others, Roell gave PC-based
UNIX its first X implementation.
Today, XFree86 is developed by
hundreds of international contributors
who are pushing the movement
forward. It is currently at version 4.4.0
RC3.
223
Table A.1: General Purpose Computing (continued)
Product
VNC
Listed in: IDA
License: GNU GPL.
CVS
Listed in:
GRAS, GRAM
License: GNU GPL.
Description
VNC stands for Virtual Network
Computing. It is a remote control
software that allows you to view and
interact with one computer using a
simple viewer program on another
computer anywhere on the Internet.
The two computers do not even have
to be the same type of platforms. VNC
is freely and publicly available and is
in widespread active use by millions
throughout industry, academia and
privately.
CVS is the Concurrent Versions
System, the dominant open-source
network-transparent version control
system. CVS is useful for everyone
from individual developers to large,
distributed teams. Its client-server
access method lets developers access
the latest code from anywhere there is
an Internet connection. Its unreserved
checkout model to version control
avoids artificial conflicts common
with the exclusive checkout model. Its
client tools are available on most
platforms.
The Buzz
Consider using this as a low-cost
replacement for Citrix MetaFrame,
Norton PC Anywhere or any other
multi-platform telecommunications
program. You can also tunnel your
connections via OpenSSH so that
communications remain secure.
The natural evolution of SCCS/CSSC
and RSC, it is the de facto standard for
software development versioning
systems. After all, SourceSafe is just a
Microsoft implementation of it, but at
$500 a head. Client software can be
used on just about every major
platform, and it integrates nicely into
many different IDE’s, and especially
well with Eclipse.
Status
The RealVNC (2002-2003) project
picks up where the AT&T VNC team
left off. Originally started at AT&T
and funded by Olivetti Research
Ltd./AT&T Laboratories Cambridge
(1994-2000), it is now again under
active development. It is staffed and
developed by the original AT&T VNC
team. It is currently at stable release
version 3.3.7. It is now no longer
under AT&T and appears to find its
own funding.
Still under active development, it is
currently at version 1.12.6. The
project was started in 1993. Ian
Taylor, Jim Kingdon, Noel Cragg
developed it, but there are many
additional developers and
contributors. However, it cannot be
accurately verified who was the
original developer of the project.
224
Table A.1: General Purpose Computing (continued)
Product
Xinetd
Listed in: IDA
License: Copyright 1992
by Panagiotis Tsirigotis,
proprietary license but
open sourced. BSD-like
license.
OpenSSH
Listed in:
GRAS, GRAM, IDA
License: BSD.
Description
Xinetd is a replacement for Inetd, the
Internet services daemon. It supports
access control based on the address of
the remote host and the time of access.
It also provides extensive logging
capabilities, including server start
time, remote host address, remote
username, server run time, and actions
requested.
OpenSSH is a FREE version of the
SSH protocol suite of network
connectivity tools that increasing
numbers of people on the Internet are
coming to rely on. OpenSSH encrypts
all traffic (including passwords) to
effectively eliminate eavesdropping,
connection hijacking, and other
network-level attacks. It also provides
a myriad of secure tunnelling
capabilities, as well as a variety of
authentication methods. However, it is
important to note that once SSH is
started and has connected and
authenticated itself to a remote system,
it will then bring up the user’s default
command line shell, such as Bash.
The Buzz
Use this instead of Inetd. It can be
found on many modern UNIX and
UNIX-like operating systems. It can
be made to work on the majority of
systems that do not come with it. Inetd
was the standard, but it has its
limitations. Source code is available.
Status
Still under active development, it is
currently at version 2.3.13. Cannot
determine when it was initially
released, but it can be traced back in
older version of Linux to before 2000.
It cannot be determined who
developed the program either.
The de facto open source standard for
encrypting network
telecommunications without the use of
sophisticated hardware or software
(including IPSec).
Still under active development, it is
based on the original free SSH 1.2.12
release from Tatu Ylönen (1995). SSH
has been around for many years and is
available for a wide number of
platforms. Aaron Campbell, Bob
Beck, Markus Friedl, Niels Provos,
Theo de Raadt, and Dug Song are the
creators of OpenSSH, and many
collaborators around the world
develop it. It is currently at version
3.7.
225
Table A.1: General Purpose Computing (continued)
Product
Arpwatch
License: Uses the
license model of “The
Regents of the
University of
California.”
Net SNMP
Listed in: IDA
License: BSD. BSD-like
for the portions from
Carnegie Mellon
University, BSD for
portions from Network
Associates Inc., BSD for
parts from Cambridge
Broadband Ltd., BSD
for parts from Sun
Microsystems Inc., BSD
parts from Sparta Inc.
Portmap
Listed in: IDA
License: Not available.
Description
Arpwatch is a tool that monitors
Ethernet activity and keeps a database
of Ethernet/IP address pairings. It also
reports certain changes via email.
Arpwatch uses Libpcap, a
system-independent interface for
user-level packet capture.
A platform independent
implementation of the SNMP RFC.
It is a replacement for the standard
UNIX Portmap program. It attempts
to close all known holes in Portmap.
This includes prevention of NIS
password file theft, prevention of
unauthorized Ypset commands, and
prevention of NFS file handle theft.
The Buzz
You can use tool to find out what
MAC address goes with each IP on
your local network. You can also use
this tool to tell you when new
machines are added to the network, or
when IP addresses change to a
different MAC, or vice versa. You can
also consider using it as an IDS.
Platform independent implementation
of SNMP version 1 and 2. It works on
many different platforms, and is
highly extensible and flexible. It is
currently found on most major
distributions of Linux, and can easily
be compiled and installed on just
about any other platform.
Use this only for older version of
SunOS, Ultrix, HP-UX, AIX, and
OSF.
Status
No longer under active development,
it was first started in 1992 and
development stopped in 1998. It is
currently at version 2.1. Developed at
Lawrence Berkeley National
Laboratory by Craig Leres of the
Network Research Group.
It is originally based on the Carnegie
Mellon University and University of
California at Davis (UCD-SNMP)
SNMP implementations, but has been
so heavily changed and modified that
it no longer resembles the original. As
of release 5.0 Net-SNMP no longer
bore any resemblance to UCD-SNMP.
The Net-SNMP initiative appears to
have started in 2000. It cannot be
determined who the developers are,
but there are many collaborating
together to move the project forward.
It is no longer under active
development; Wietse Venema
developed it while he was working at
the IBM Thomas J. Watson Research
facility. The latest release dates back
to July 1996. Cannot determine when
this project was started.
226
Table A.1: General Purpose Computing (continued)
Product
Vsftpd
License: GNU GPL.
Webmin
Listed in: GRAS
License: BSD.
Usermin
License: BSD.
Description
Secure and fast, the SAC team at
SANS consider it as the preferred
secure FTP server. Although not as
configurable as other FTP servers such
as Wu-Ftpd, it supports PAM, Xinetd,
and Tcp_wrappers. It also supports
Ipv6 and bandwidth throttling. In
addition, it can even be used with
Chroot to keep users where they
belong.
Webmin is a web-based interface for
system administration for UNIX.
Using any browser that supports tables
and forms you can perform many of
your system administrations
configurations through it. Because
Webmin has its own web-enabled
daemon, you can configure your
systems locally or remotely, even on
the Internet. Just be sure to use SSL if
you want to administrate and
configure your boxes via the Internet.
Usermin is a web interface that can be
used by any user on a UNIX system to
easily perform tasks like reading mail,
setting up SSH or configuring mail
forwarding. It can be thought of as a
simplified version of Webmin
designed for use by normal users
rather than system administrators.
The Buzz
Although not as configurable as many
other feature-rich (some might say
“bloated”) FTP servers, Vsftpd can
support hundreds, and even thousands
of simultaneous connections, as well
being more secure than any of the
other commercial and open source
FTP servers on the market. Only FTP
servers included with trusted operating
systems would be more secure.
By far, you will find this the best open
source, multi-platform, system
administration tool. It rivals many
commercial tools. It supports a wide
array of operating systems. You will
be happily surprised to know that it
will support your version of UNIX.
Hats off to Jamie Cameron on a truly
useful system administration tool.
Because everything is written entirely
in Perl, you will be able to write your
modules and share them with the
Webmin community.
It is essentially the same concept as
Webmin, except that it is designed for
users rather system administrators.
With it, you can configure your
preferences, read mail, and setting up
your local databases and configuring
your SSH connections.
Status
Currently still under active
development, it was developed by
Chris Evans. It is currently at version
1.2.1. It cannot be determined when
the project started or if there are other
developers and contributors to the
project.
Started in 2000 by Jamie Cameron
with funding from Caldera, it is now
funded by Jamie Cameron. It is under
active development and is now at
version 1.140.
John Smith of MSC Software
suggested the idea and helped to fund
its development; however Jamie
Cameron actually wrote and
developed the project. It was started in
2003. It is currently at version 1.070.
227
Table A.1: General Purpose Computing (continued)
Product
Description
Text Editors / IDE’s:
Eclipse
Eclipse is an open source software
License: Common
development project dedicated to
Public License.
providing a robust, full-featured,
commercial-quality, industry platform
for the development of highly
integrated tools. It is composed of
three projects, the Eclipse Project, the
Eclipse Tools Project and the Eclipse
Technology Project, each of which is
overseen by a Project Management
Committee (PMC) and governed by its
Project Charter.
The Buzz
Status
A very nice IDE to work with. Use it
in place of your other IDE’s. It
integrates well with your existing
projects and has built-in support for
CVS.
It is still under active development.
Industry leaders Borland, IBM,
MERANT, QNX Software Systems,
Rational Software3, Red Hat, SuSE,
TogetherSoft3 and Webgain2 formed
the initial eclipse.org Board of
Stewards in November 2001. Other
vendors joined as well since 2001. On
February 2, 2004, the Eclipse Board of
Stewards announced Eclipse’s
reorganization into a not-for-profit
corporation. Originally, a consortium
that formed when IBM released the
Eclipse Platform into Open Source,
Eclipse became an independent body
that will drive the platform’s evolution
to benefit the providers of software
development offerings and end-users.
All technology and source code
provided to this fast-growing
ecosystem will remain openly
available and royalty-free. It cannot be
determined who the developers are. It
is currently at version 2.1.
228
Table A.1: General Purpose Computing (continued)
Product
Emacs
Listed in:
GRAS, GRAM, IDA
License: GNU GPL.
JEdit
License: GNU GPL.
Description
Emacs is the extensible, customizable,
self-documenting real-time display
editor. An easier explanation is Emacs
is a text editor and more. At its core is
an interpreter for Emacs Lisp (“elisp”,
for short), a dialect of the Lisp
programming language with
extensions to support text editing.
A Java-based GUI text editor with a
built-in macro language and contains
many useful features for developers.
The Buzz
Many modern UNIX developers use
Emacs as their standard editor for
programming. However, it can be used
as a replacement for everything you
would normally do in Vi. It is a
powerful text editor, complete with its
own simple to learn scripting
language. It has been ported to just
about every platform imaginable.
There is also an X Windows version
available. It should be considered
highly stable code.
Built mostly for developers, it has
many of the functions and features
developers like to use. Because it is
written in Java, it works on most
platforms that support the necessary
version of the required JVM.
Status
Still under active development, it is
currently at version 21.3. It appears to
have started in 1974 under Joseph
Brian Wells and Richard Stallman, and
then from 1992 to 1993, under Steven
Byrnes, and it is currently under
development by Reuven M. Lerner.
Still under active development, the
bulk of the work was written by Slava
Pestov; however many modules have
been written by other developers and
contributors to the project. Current
stable release version is at version 4.1.
It appears to have started in 1999.
229
Table A.1: General Purpose Computing (continued)
Product
LaTeX
Listed in: GRAS
License: LPPL.
NEdit
License: GNU GPL.
SharpDevelop
License: GNU GPL.
Description
LaTeX is a document preparation
system for high-quality typesetting. It
is most often used for
medium-to-large technical or scientific
documents, but it can be used for
almost any form of publishing. LaTeX
is not a word processor! Instead,
LaTeX encourages authors not to
worry too much about the appearance
of their documents, but to concentrate
on getting the right content. LaTeX is
based on the idea that it is better to
leave document design to document
designers, and to let authors get on
with writing documents.
NEdit is a multi-purpose text editor
for the X Window System, which
combines a standard, easy to use,
graphical user interface with the
thorough functionality and stability
required by users who edit text for
much of the day.
#develop (short for SharpDevelop) is a
free IDE for C# and VB.NET projects
on Microsoft’s .NET platform.
The Buzz
LaTeX is a high-quality typesetting
system, with features designed for the
production of technical and scientific
documentation. LaTeX is the de facto
standard for the communication and
publication of scientific documents. It
is quite possibly the most popular TeX
distribution around.
Status
Still under active development, it is
can be traced back to at least 1994. It
cannot be determined who the original
author(s) are. The project version
cannot be determined due to the lack
of versioning file names on the FTP
web site.
It provides intensive support for
development in a wide variety of
languages, text processors, and other
tools, but at the same time can be used
productively by just about anyone who
needs to edit text. If you work a lot
with text files, then should really enjoy
working with this program.
Use it in place of your other IDE’s like
VisualStudio. However, preferences
will vary. Bear in mind that this
product is under constant
development. You will also need to
have the .NET architecture present
and installed on your system.
Still under active development, it is
currently at version 5.4. As a
volunteer-based project, it is difficult
to determine who actually started the
project. It appears to have been started
in 1999.
Still under active development, the
project was started in 2000. It is
currently at version 0.99b. It cannot be
determined who the authors or
maintainers of the project are.
230
Table A.1: General Purpose Computing (continued)
Product
TeTeX
License: Not available.
TeXmacs
License: GNU GPL.
VI Improved
Listed in: GRAM, IDA
License: Charityware,
compatible with GNU
GPL.
Description
TeTeX is a complete TeX distribution
for UNIX compatible systems.
The Buzz
Similar in most regards to LaTeX.
GNU TeXmacs is a free scientific text
editor, which was both inspired by
TeX and GNU Emacs. The editor
allows you to write structured
documents via a WYSIWYG and
user-friendly interface. The user may
create new styles. The program
implements high-quality typesetting
algorithms and TeX fonts, which help
you to produce professionally looking
documents.
The high typesetting quality still goes
through for automatically generated
formulas, which makes TeXmacs
suitable as an interface for computer
algebra systems. TeXmacs also
supports the Guile/Scheme extension
language, so that you may customize
the interface and write your own
extensions to the editor. Converters
exist for TeX/LaTeX and they are
under development for
HTML/MathML/XML. Consider
using this tool when writing out
mathematical formulae and equations
for use in your scientific reports.
Still looks like Vi, but with many
added enhancements. If you like Vi
then you will definitely like vim.
Vim is a highly configurable text
editor built to enable efficient text
editing. It is an improved version of
the Vi editor distributed with most
UNIX systems. Vim is distributed free
as charityware.
Status
Still under active development, it is
currently at version 2.0.2. It was
developed and maintained by Thomas
Esser. Cannot determine when this
project actually started.
Still under active development, Joris
van Hoevan developed it. Currently at
version 1.0.3.5, it can be traced back
to 1999.
Still under active development, the
main author is Bram Moolenaar.
Cannot determine when the project
actually started, however, vim has
been around for a few years, probably
since 1998 or before.
231
Table A.1: General Purpose Computing (continued)
Product
XEmacs
License: GNU GPL.
Description
It is essentially the same as Emacs, but
designed for the X Windows desktop
system. It will work under every
major vendor release of the X
Windows System Release 5.x or 6.x.
The Buzz
If you do not like working with
console driven text editors, then
perhaps you should try XEmacs.
Works just as well as Emacs, with all
of the same commands and
functionality, but now can be mouse
driven for those who do not like
remembering hotkeys. The
maintainers of XEmacs actively track
changes to GNU Emacs while also
working to add new features.
Status
Still under active development, it can
be traced back to 1999 when it was at
version 21.1.6. It is currently at
version 21.4.12. However, since
XEmacs is based on the work of
Emacs version 19, the Changelog
indicates it goes back to at least 1996.
There have been many developers
over the years and it is difficult to
determine who deserves credit for
starting XEmacs.
232
Table A.1: General Purpose Computing (continued)
Product
Web Browsers:
Galeon
Listed in: IDA
License: GNU GPL.
Description
The Buzz
Status
Galeon is a GNOME Web
browser-based on Gecko (the Mozilla
rendering engine). It is fast, it has a
light interface, and it is fully
standards-compliant.
It is fast, lightweight, easy to use, with
just enough options to make simple
and fun to use. It requires both
GNOME and Mozilla to work. Part of
the GNOME Office suite. Galeon,
does however, support most of the
browsing features of Netscape and
Mozilla such as various localizations
for web pages, HTML, XHTML,
XML, CSS1, CSS2, CSS3, DOM0,
DOM1, DOM2, JavaScript, Netscape
plugins, Cookies, SSL, crash recovery,
and wheelmouse support. It can also
import Netscape and Mozilla
bookmarks.
Still under active development, and
currently at version 1.3.13a. It has
been a registered project at
SourceForge since June 2000. Chris
Flowerday appears to be the lead
developer.
233
Table A.1: General Purpose Computing (continued)
Product
Konquerer
License: GNU GPL.
Lynx
License: GNU GPL.
Description
It is the default web browser for KDE,
but it is also the KDE file manager.
Use it to manage files, modify them,
move them around and change
permissions. Konquerer is also the
KDE applications launcher that can be
used to create your own customized
icon-based application launcher.
Lynx is the primary open source
text-based Internet browser available
today for a variety of platforms. It
runs on just about every version of
UNIX and BSD, as well as Mac OS X
(presently beta code), and the
Windows 32-bit operating systems, as
well as DOS and OS/2.
The Buzz
As far as web browsers go, Konquerer
is a very versatile one. Not only is it
the default web browser for KDE, but
it is also the KDE file manager. Use it
to manage files, modify them, move
them around and change permissions.
Konquerer is also the KDE
applications launcher that can be used
to create your own customized
icon-based application launcher.
However, it is primarily used as a web
browser. Konquerer supports HTML
4.0 and supports cascading style
sheets. It has a sleek appearance and
offers very appealing eye-candy. It
supports JavaScript and Java applets.
It also supports DOM1, DOM2,
DOM3, and bidirectional scripts, as
well as SSL. The wheelmouse is also
supported. Cookies, IPv6, and
non-blocking I/O are also supported.
It also supports opening TAR, GZ,
RPM, and Z files.
It is considered as the de facto
standard for text-based web browsers.
It is great for using in scripts. It is
even possible to use Lynx to run shell
scripts that can install applications
remotely onto the local system.
Status
It is still under active development;
although the actual release date of the
first version of Konquerer cannot be
determined, it comes bundled and
standard with KDE, and the first
version of KDE was released in 1997.
The developers of Konquerer appear
to be the same for that of the KDE
project. KDE and Konquerer are
always at the same version number.
KDE is now currently at stable release
3.2.
The project was started in at least 1994
(or possibly earlier). It is still under
active development, however, who the
developers are cannot be determined.
It is currently at version 2.8.3.
234
Table A.1: General Purpose Computing (continued)
Product
Mozilla
Listed in: GRAM, IDA
License: Mozilla Public
License.
Multivalent Browser
License: GNU GPL.
Description
Based on the source code of Netscape
Communicator 5.0, it today offers all
of the same features as Netscape, but
it also offers some new functionality.
It is found standard today with all
versions of Linux and the open source
BSD operating systems (except Mac
OS X). Netscape has taken the same
GUI look and feel as Mozilla.
The Multivalent Browser natively
views scanned paper, PDF, HTML,
UNIX manual pages, and TeX DVI. It
supports annotations such as
hyperlinks, highlights, notes, and
executable copy editor mark-up on
any of the above formats. It includes
advanced features such as lenses,
robust hyperlinks, note marks, and
data visualization.
The Buzz
It has a nice look and feel. Fast and
efficient, and includes some useful
features not found in Netscape. It is
the descendant of Netscape
Communicator 5.0, and we find today
that Netscape tries to emulate the
same look and feel of Mozilla. Rather
than use Netscape, try to use Mozilla
instead.
It should be considered as beta quality
code, even tough it has been rated at
SourceForge as alpha code.
Status
It is based on the source code from
Netscape Communicator 5.0 that was
released in 1998. Mozilla is still under
active development. However, it
cannot be determined who the
developers and contributors to the
project are. It is currently at stable
release version 1.6.
The main developer appears to be Tom
Phelps. It is under active development.
The first release was in 2003 but was
registered with the GNU FSF in July
2002. It is currently at Release 8.
235
Table A.1: General Purpose Computing (continued)
Product
Netscape
License: Netscape
proprietary license.
Description
Until the advent of Internet Explorer
5.0 and ActiveX, it was until 2000 the
most widely used web browser in the
world. It came standard with almost
all versions of UNIX and UNIX-like
operating systems, and it helped define
the Internet and the Web experience
today. Netscape was the only
commercial web browser to open up
its source code to the global
community. Netscape now only
continues to develop web browsers for
Windows and Mac.
The Buzz
While it has undergone many changes
over the years, it has been until
recently the de facto standard web
browser for UNIX and UNIX-like
operating systems. It now has the look
and feel of Mozilla. It is currently at
version 7.1. Netscape has now stopped
development for UNIX. Consider
using Mozilla instead of Netscape as
Mozilla will supersede Netscape,
especially in the UNIX world.
Netscape has abandoned most of their
own development efforts and are now
using the Mozilla web engine instead
of their own. There is no more source
code available for Netscape.
Status
Based on Mosaic (1993), it was
developed by Marc Andreessen in
1994. It is still under active
development. It is currently at version
7.1.
236
Table A.1: General Purpose Computing (continued)
Product
Opera
License: Opera
proprietary license.
Description
Bundled with its own Java Virtual
Machine, it is a lightweight and very
fast web browser designed for the
experienced web user interested in
maximizing the effect of surfing the
web and enhancing the Web
experience. It has been ported over to
PDA’s and cell phones for those
always wanting to stay in touch with
the Web.
The Buzz
Wow! It is fast. It is faster than
anything else portrayed in this list for
web browsers. It offers just about all of
the same capabilities as Netscape and
Mozilla. However, it is not open source,
but it does run on a variety of platforms.
A new contender to the world of web
browsing, it has been hailed as the
fastest web browser currently available.
It has its own built-in Java engine that
gives it a high response time for Java
applets. It can display online photos as
a slideshow with the press of a key, or
log you in to a password-protected web
site by clicking a magic wand (of
course, you must be registered to the
web site and have a valid logon id and
password). It supports a variety of
keyboard combinations to simplify your
browsing experience. It supports mouse
gestures which enables certain mouse
clicks and movements to correspond to
other certain types of keyboard strokes,
saving you work and simplifying the
experience. It has a built-in mail client
search utility, and offers you window
management a session manager. It
supports SSL 2 and 3, as well as TSL
and it can disable popups altogether. It
is very space efficient and can work
with small displays.
Status
Cannot determine when the project
was started or who the main
developers are, however the project is
still under active development. It is
currently at version 7.23 for Windows.
237
A.3
Scientific Domain Applications
Table A.2: Scientific Domain Applications
Product
Description
The Buzz
Status
Nice graphics and worth while to any
astronomy enthusiast who wants to
check cool solar system flybys and
navigate freely in space.
Under active development; program
inspired by Seattle programmer Mr.
Chris Laurel in 2001 which gave rise
to Celestia; Mr. Laurel is still
currently maintaining and developing
the application. Current version is
1.3.1.
Worth the while if your system has
lots of extra CPU cycles to spare.
Who knows, you may even process
data containing the discovery of ET
and reach superstar status.
It is still under active development; the
first version was released January 5,
2000. It was originally developed by
Mr. Gordon Machel who still
maintains it. Its current version is
2.6.1.
It offers nice graphics and is a simple
to use. Do not be fooled, it is powerful
enough to be considered commercial
grade software and boasts a large star
database. Supports GOTO telescopes
for driving and supports partial CCD
functionality.
Under active development; originally
developed by Mr. Jason Harris.
Current version is 1.0. Seven
developers, including the original
author, are currently developing it. It
appears to have been started in 2001.
Astronomy Software:
Celestia
License: GNU GPL.
KSetiWatch
License: GNU GPL.
KStars
License: GNU GPL.
Celestia is a stunning program to
observe and explore the solar system.
Celestia developers are also
collaborating closely with NASA to
use Celestia on the NASA educational
website. Celestia is a free real-time
space simulation that lets you visually
experience our universe in three
dimensions.
Description: KSetiWatch is a
monitoring tool for the Seti@home
distributed computing project, which
searches for signals of extraterrestrial
life. It displays the state of the
Seti@home client(s) running on your
computer or in your local network,
and logs/manages completed work
units and interesting signals.
KStars is a graphical desktop
planetarium for KDE. It provides an
accurate simulation of the night sky, as
seen from any location on Earth, on
any date. The display includes 40,000
stars, 13,000 deep-sky objects, 2500
comets and asteroids, all 8 planets,
and the Sun and Moon.
238
Table A.2: Scientific Domain Applications (continued)
Product
Stellarium
License: GNU GPL.
Xephem
License: Free for
non-commercial use.
Description
Stellarium is free software available
for Windows, Linux/UNIX and Mac
OS X. It renders 3D photo-realistic
skies in real-time. With Stellarium,
you really see what you can see with
your eyes, binoculars or a small
telescope. It is more than just another
planetarium program.
It is more than just planetarium
software. It comes bundled (for a
small fee) with the same
multi-gigabyte databases the
professionals use, and it can even
connect via a Web connection to the
Digitized Sky Survey and present you
with the DSS version of the exact
piece of sky the program is currently
displaying. It can also drive your
GOTO telescope. To fully understand
what it can do for you, you must try it
out yourself.
The Buzz
Practical software for anyone who
wants to compare the view from a
specific type of binocular, eyepiece, or
telescope. Still considered beta
software, it nonetheless makes up for
this with its cool graphics.
Status
Under active development; originally
developed by Mr. Fabien Chéreau.
The project started in 2000 and is now
at version 0.5.2.
Consider it commercial grade software
and offering a myriad of options that
many commercial programs do not.
It is still under active development; it
is developed and maintained by Mr.
Elwood Charles Downey. It is
currently at version 3.5.2. It appears to
have been started in 1997 when the
author incorporated his company
ClearSkyInstitute.
239
Table A.2: Scientific Domain Applications (continued)
Product
Description
The Buzz
Status
CTSIM is a computer-based
simulation of CT scans (computer
tomography). This program simulates
this technique by sending X-rays
through “phantom” objects.
It is of interest to those in medicine,
radiology, and medical imaging. Use
it as simulation software to help give
you a better understanding of what
you are seeing.
E-Cell is a method for creating and
designing biological cells on
computers; it uses an object-oriented
method for modelling and simulating
complex biological systems, although
it can be used for other purposes. It is
a real-time program allowing the user
to interact with it and visualize the
modelling and simulation in real-time
as well.
Open BEAGLE is a framework for
evolutionary computing. It is a C++
evolutionary-based software
environment. It provides a high-level
software environment, and supports
just about every evolutionary
algorithm that exists.
It is useful for those who want to
simulate the cell or perform whole cell
simulations.
It is still under active development;
Kevin M. Rosenberg who is now
assisted by several others first
developed it. The current version is
now 4.3.1. The first version of CTSIM
appeared in 1983.
Kouichi Takahashi is the lead
programmer and architect for the
program. It is still in active
development. It is currently at version
3.1.100. The program originally
started as an initiative on molecular
biology in 1996.
Biological Software:
CTSIM
License: GNU GPL.
E-Cell
License: GNU GPL.
Open BEAGLE
License: GNU LGPL.
It allows developers to implement
evolutionary concepts into their
programming without having to worry
about any specific abstractions.
It was developed here in Québec City
at Laval University, written by then
undergraduate student Christian
Gagné. The project started in 1999
and it is still under active
development. It is currently at version
2.1.1.
240
Table A.2: Scientific Domain Applications (continued)
Product
GAUL
License: GNU GPL.
XMEDCON
License: GNU LGPL.
PhyloGrapher
License: GNU LGPL.
Description
GAUL stands for the Genetic
Algorithm Utility Library. GAUL is a
flexible programming library that has
been designed to aid developers in
implementing code requiring either
genetic or evolutionary algorithms. It
is a program that is very similar to
Open BEAGLE.
XMEDCON is a conversion utility for
medical file formats.
PhyloGrapher is a program that has
been designed to allow the
visualization and study of
evolutionary relationships between
genes and proteins. It is a drawing tool
that can generate customized graphs
for a set of given elements.
The Buzz
Eventually, one of the goals is to make
it C compatible so that library
functions can be called. Using a
built-in interpreted language gives it
some distinct features and
functionality from Open BEAGLE.
Status
It is still under active development.
The main developer is Stewart
Adcock. The project began in 1999. It
is currently at version 0.1846.
This is a program for anyone in
medicine who wants to be able convert
between medical data file formats.
It is still under active development.
Currently, it is at version 1.0.7. The
project was conceived by Eric Nolf,
and as far as can be determined dates
back to at least 2003 (possibly earlier).
It is still under active development.
Alexander Kozik wrote it in 2001. The
current version is April 2003.
While designed to work with genes
and proteins, it does not have to be
restricted. Use it liberally to help
understand relationships between
different kinds of interrelated
elements.
241
Table A.2: Scientific Domain Applications (continued)
Product
Description
The Buzz
Status
Garlic is a free molecular viewer and
editor, as well as a free molecular
visualization program which can help
you to visualize protein structures,
DNA structures, PDB, and perform
molecular rendering and supports
biological macromolecules.
Description: GROMACS is a highly
portable and versatile software
package that can be used to analyse
molecular dynamics. It can simulate
the Newtonian equations of motion for
systems with many particles. The
author of the program claims it can
work from hundreds to even millions
of particles. Capable of being linked
to MPI and PVM libraries, it can be
scaled across clusters increasing its
performance almost n-fold.
The English is good in most places,
and what is lacking in English textual
explanations is made up for by its
visualization capabilities.
Under active development; currently
being developed on a grant from the
Croatian government, it was started in
2002. Current version is 1.3. It was
developed by Damir Zucic.
This program would be of vital
interest to anyone working in
molecular dynamics.
Under active development; first
developed at the Groningen University
(department of Biophysical
Chemistry) and it is maintained by
various developers. It is currently at
version 3.2. It cannot be determined
when the project was started.
Chemistry Software:
Garlic
License: GNU GPL.
Gromacs
License: GNU GPL.
242
Table A.2: Scientific Domain Applications (continued)
Product
RASMOL
License: GPL-like.
ChemTool
License: GNU GPL.
Description
The author(s) of the program designed
it as a molecular graphics program
intended for the visualization of
proteins, nucleic acids, and small
molecules. It is a program that was
designed foremost for the use of
display, teaching and generating
quality images.
The Buzz
This software is definitely for anyone
working in molecular chemistry and
biochemistry, and it supports stunning
graphics.
ChemTool is an easy to use, small
program designed for the UNIX
operating system for drawing
chemical structures. It requires the
GTK+ library, and therefore your
UNIX distribution must include
GNOME. Not to worry. GNOME has
been successfully compiled on more
than 20 different processor
architectures and operating systems. It
was also meant to work in conjunction
with XFIG.
The original version was plain looking
but the newer versions have been
spiced up to work with GTK+ giving
it a better overall appearance. Anyone
studying chemistry or chemical
engineering should consider using this
program to understand chemical
structures.
Status
No longer under active development;
developed by various individuals over
the years at the University of
Edinburgh’s Biocomputing Research
Unit and the Biomolecular Structures
Group at Glaxo Research and
Development in Greenford, UK. It is
currently at version 2.7.2.1. The
original RasMol was developed by
Roger Sayle (1992-1999) and then by
Herbert J. Bernstein and company
continued its development
(1998-2001). It cannot be determined
who originally open sourced the work.
Originally written by Thomas Volk,
then a student of chemistry and
biology at the University of Ulm,
Germany. It is currently being
developed and maintained by Dr.
Martin Kroeker. It is currently at
version 1.6. It cannot be determined
when the project was started.
243
Table A.2: Scientific Domain Applications (continued)
Product
XDrawChem
License: GNU GPL.
mpiBLAST
License: GNU GPL.
Description
XDrawChem is a two-dimensional
molecular drawing program for UNIX
operating systems. It is similar in
functionality to other molecule
drawing programs such as ChemDraw
(TM, CambridgeSoft). It can read and
write MDL Molfiles, and read
ChemDraw text and binary files, to
allow sharing between XDrawChem
and other chemistry applications, and
it can create images in popular formats
like PNG and EPS.
mpiBLAST is a freely available open
source parallelization of the NCBI
BLAST. mpiBLAST segments the
BLAST database and distributes it
across cluster nodes, permitting
BLAST queries to be processed on
many nodes simultaneously.
mpiBLAST is based on MPI. It works
under Linux and Windows, and should
work under the majority of the UNIX
operating systems available.
The Buzz
Although it is similar to other
molecular structure visualization
programs, it is a simple one to use and
to understand, and the graphics that it
produces are simple and easy to
understand.
Status
It is still under active development;
currently at version 1.7.8. It is being
developed by Brian Herger at the
Georgia Institute of Technology and it
appears to have been started in 2001.
BLAST stands for Basic Local
Alignment Search Tool is a similarity
search engine designed to explore all
of the available information from a set
of sequence databases, regardless to
whether the query is for a protein or
DNA. The BLAST algorithm has been
designed for speed with a slight
sacrifice of sensitivity. mpiBLAST
will work especially well on your
homemade Beowulf cluster. If you are
lucky enough to have many high
capacity systems with ample amounts
of memory, you will find yourself
making great progress in your work.
mpiBLAST works with either MPICH
or MPI LAM.
Still under active development, it is
currently at version 1.2.1. It was
developed by and is currently worked
on by Aaron E. Darling, Jason D.
Gans, and Lucas Carey. Although it
cannot be determined precisely when
the project started, it has been
registered with SourceForge since
2003.
244
Table A.2: Scientific Domain Applications (continued)
Product
Description
Electronics Software:
Spice
SPICE stands for “Simulation
License: Proprietary
Program with Integrated Circuit
license.
Emphasis.” It is an integrated circuit
simulation program that work by
defining the integrated circuit system
you want in an ASCII text file. The
file has a simple, easy to use format
where each circuit element is
described by both its associated
parameters and connections.
Alternative address:
http://www.gigascale.org/pubs/
downloads/spice/index.htm
KLogic
KLogic is an application for building
License: GNU GPL.
and simulating digital circuits easily.
It provides an easy way for building
circuits containing standard
components like AND, OR, XOR and
flip-flops like RS and JK. Sub circuits
can be used to build circuits that are
more complex.
The Buzz
Status
A must for electronics enthusiasts. It
is considered by many as the de facto
standard for open source integrated
circuit simulations programs.
Development is no longer active. It
appears to have been developed
starting in 1991 and development
appears to have ceased since 1996. It
cannot be determined who the original
author(s) were. It was developed at the
University of Berkeley.
It is a nice and easy to use GUI circuit
builder and simulator.
It is still under active development; it
appears to be maintained by its
original author, Andreas Rostin. It was
originally developed in 2001. The
program now is at version 1.6.
245
Table A.2: Scientific Domain Applications (continued)
Product
PCB
License: GNU GPL.
gEDA
License: GNU GPL.
Description
It is free software for designing
printed circuit board layouts. It has
many features and is capable of
professional-quality output.
The Buzz
Very simple, but its capabilities rival
commercial software.
The gEDA project is a suite of tools
that are used for electrical circuit
design, schematic capture, simulation,
prototyping, and production. The
gEDA project was started because of
the lack of free EDA tools for UNIX.
Its tool suite even contains an updated
version of SPICE, Ngspice, as well as
other useful tools.
This project is worth paying attention
to in the current and not too distant
future. For those who do circuit
design, perhaps one day it will be
ready to replace your older
commercial software.
Status
It appears to still be actively
developed; originally written by
Thomas Nau of University of Ulm,
Germany, and is now maintained by
Harry Eaton of the Johns Hopkins
University Applied Physics
Laboratory, Laurel, Maryland. The
original version was developed in
1994 and taken over by Harry Eaton in
1998.
Under active development, the project
appears to have started in 2001.
Cannot determine original developer
but there are many contributors.
246
Table A.2: Scientific Domain Applications (continued)
Product
Emulators:
Cygwin
Listed in: GRAS
License: Most tools are
GNU GPL; some are
X11; others are BSD;
Cygwin API is GNU
GPL.
UWIN
License: AT&T
Nonexclusive Binary
Code License.
Description
The Buzz
Status
Cygwin should be considered as a
Linux-like command-line and GUI
environment for the Windows
operating system that uses a set of
DLL’s to implement the Linux API
under a Windows environment. Use
Cygwin if you wish to learn more
about Linux / UNIX from the comfort
of your Windows PC, or wish to
interact with other UNIX systems, or
wish to port your UNIX applications
to PC.
It has come a long way since 1998,
when it offered no GUI, and minimal
tools, utilities, and a half functional
compiler compared to today’s well
rounded Linux clone for Windows. It
includes most of the GNU
development tools you would expect
on a Linux system, as well as the
majority of the UNIX commands you
would normally work it. It even comes
with Apache and a fully functional X
Windows system, and you can
configure Cygwin to offer network
services such as Telnet, FTP, SSH,
HTTP, and others.
Well integrated and provides higher
performance than Cygwin because it
does not rely on emulation DLL’s, but
it has less tools and utilities and does
not come bundled with a GUI X
Windows environment. However,
outside contributors have compiled
XFree86 for UWIN, as well as many
other tools. UWIN is free to academic
and research institutions. If this is not
the case, a version is available from
WiPro Inc or Global Technologies Inc
is available for commercial licensing.
It is still under active development and
is sponsored by Red Hat. The first
release was in 1998, and it is
developed by the open source
community and is not controlled by
any one member. Red Hat offers
commercial-based solutions of
Cygwin. It is currently at version
1.57-1.
Development: The UWIN package
provides a mechanism for building
and running UNIX applications on
Windows 2000, Windows NT,
Windows XP, Windows ME, Windows
98, and Windows 95 with few, if any,
changes necessary. It is for all
purposes, similar to Cygwin but with
entirely different source code trees.
Undertaken by David Korn (the
developer of the Korn shell) to
reproduce a UNIX system under the
Windows operating system. It is still
under active development. It is a
research project funded by AT&T. It
cannot be determined when the project
actually began, but it does go back to
the late 1990’s. It is currently at
version 3.2.
247
Table A.2: Scientific Domain Applications (continued)
Product
QEMU
License: GNU LGPL,
GNU GPL, MIT, and
BSD.
Wine
License: GNU LGPL.
Description
It is a processor emulator. It is an x86
architecture compatible emulator. It
currently provides user emulation
under x86, ARM, SPARC, and
PowerPC, and provides system
emulation under x86 only. It will work
on the following CPU’s: x86,
PowerPC, Alpha, Sparc32, ARM, and
S390.
Wine is an emulation software that
allows you to run not only your Win16
applications but also your Win32
applications under other x86-based
operating systems, such as PC Linux,
PC Solaris, or PC FreeBSD.
The Buzz
While this is not a tool of interest to
many, it is a valuable tool for those
who need to work with emulators, or
do it for fun. It is a relatively new
project and much work has yet to be
done. Eventually, you should even be
able to run Win32 on multiple
architectures through the use of this
emulator.
It currently works only on the x86
architecture. It allows you to run most
of your favourite Windows
applications through a software
emulation. It is a complete
reimplementation of the Win32
libraries, written from scratch by
hundreds of volunteers, and it keeps
pace with the new developments from
Microsoft. It can even run DOS
programs, has support for DirectX,
sound, modems and serial devices, and
Winsock TCP/IP networking. You
should be able to get most of your
favourite programs working. However,
expect to suffer through it as this is not
an easy tool to use, work with, or
configure. For better support and
features, consider using WineX and
CrossOver that are commercial
programs.
Status
It is still under active development. It
is developed by Fabrice Bellard. The
project appears to have only just
started in 2003 and is currently at
version 0.5.3.
Still under active development, it is
currently at version 20040309.
Developed and worked on by
hundreds of developers around the
world, it is a global community open
source effort. The project was started
in 1993.
248
Table A.2: Scientific Domain Applications (continued)
Product
PalmOS Emulator
License: Palm End User
License Agreement.
Bochs
License: GNU LGPL.
Description
The PalmOS Emulator is software that
emulates the hardware of the various
models of Palm-powered handhelds.
This is an extremely valuable asset for
those who write, test, and debug Palm
applications. You can create your own
virtual Palm on different architectures
such as Windows, Mac OS X, or
UNIX.
Bochs is a complete Intel x86
emulator. It is capable of fully
emulating a 386, 486, Pentium, or
Pentium Pro system. It is capable of
interpreting instructions from
power-up to reboot, and can emulate
standard PC devices like keyboard,
monitor, mouse, disks, and timers,
network cards, and disks. In effect, it
allows your underlying system to be
capable of running your favourite
operating system inside of another.
Bochs can work on the x86, PowerPC,
Alpha, Sun, and MIPS.
The Buzz
The emulator software does not
include ROM images, although there
are several different ways to get it. To
emulate any specific device you will
need to obtain a ROM image that is
compatible with that device. There are
also two types of ROM images, those
with and without debug support.
Status
No longer under active development,
it is currently at version 3.5. The Palm
emulator appears to date back to 1999.
Cannot determine who the developers
and maintainers of the project are.
Written entirely in C++, it does not
depend on the native instructions of
the host machine. Unlike VMware, it
is not limited to the x86 architecture.
Because Bochs uses software
simulation for every single x86
instruction, it can simulate a Windows
application on an Alpha or Sun
workstation. The downside to Bochs
is its performance. It must run many
native instructions for every simulated
instruction, making it far slower than
the physical host machine. There are
other emulators available on the
market, and most notably QEMU is
similar to BOCHS. You can use it to
run Linux, Win32, DOS, BSD, and
other operating systems on your host
computer.
Still under active development, it is
currently at version 2.1.1. Kevin
Lawton wrote Bochs in 1994.
However, he is no longer developing
the project and it has fallen to others
where about 30 of them to carry on the
work.
249
Table A.2: Scientific Domain Applications (continued)
Product
Description
The Buzz
Status
It is a powerful tool for graphing and
visualizing geographical datasets to
yield new insight and understanding.
Written and developed by Thorsten W.
Becker and Alexander Braun, it was
started as a concept back in 1998.
They are currently at version 1.2.
Development does appear to be
ongoing; however, there has been no
new release for some time.
The U.S. Army Corps of Engineers,
dating back to 1982, realized the core
components of GRASS. The U.S.
Army Construction Engineering
Research Laboratory then realized
more development work and its last
release was in 1992. In 1991, the
project was released to the Internet,
and in 1999 released under the GNU
GPL. It is now at version 5.3.x.
Geographical / Geological Software:
IGMT
License: GNU GPL.
GRASS
License: GNU GPL.
Standing for Interactive Generic
Mapping Tools, it is a series of
mapping tools with a variety of
data-processing capabilities for
interactively working with geospatial /
geoscientific datasets and can
interactively graph these datasets.
Standing for Geographic Resources
Analysis Support System (GRASS), it
is often referred to as GRASS GIS.
GRASS GIS can be used for purposes
such image processing, spatial
modeling, visualization of datasets,
and geographic data management.
You would be best to work on
powerful systems when working with
large datasets. It is the de facto
standard GIS manipulation / analysis
program for the open source world.
It is probably the best-known open
source GIS system in the world, and a
model example of proprietary
technology open sourced to the world.
Furthermore, it is a demonstration that
even proprietary technology from the
likes of DoD could be released to the
international community.
250
Table A.2: Scientific Domain Applications (continued)
Product
ROADMAP
License: GNU GPL.
THUBAN
License: GNU GPL.
PostGIS
License: GNU GPL.
Description
It is to be used as a roadmap, much
like Microsoft Map Point. It provides
a car navigation service for UNIX /
Linux devices and can work with
GPS. Roadmap is meant to be used
with portable devices such as PDA’s.
It is an interactive geographic data
viewer, capable of reading GIS images
and data. It offers some of the
capabilities that GRASS GIS currently
does not.
PostGIS is an add-on module for the
PostgreSQL database system. It adds
support for geographic objects to
PostgreSQL database system, which
allows storing and performing
SQL-based queries on these particular
types of objects.
The Buzz
Although limited to the data collected
by the U.S. Census Bureau and valid
only for the continental U.S., it is still
a viable option to Microsoft Map
Point. It currently works on the iPaq
and the Zaurus. While it does not have
all of the advanced options that Map
Point does, this program could
perhaps be ported to military
purposes. Obviously in order for
Roadmap to work, your PDA will
need to have a version of Linux or
some other UNIX-like operating
system running on it. It could also be
used on laptops and desktops,
although it then loses its portability.
This is a good program to use
alongside an installation of GRASS
GIS. You can also use it to visualize,
explore, and analyze geographic and
geospatial information.
While you can use other commercial
databases which supports
geographical datasets, using PostGIS
enables you to do so using all open
source products.
Status
The first release dates back to August
2002; it was primarily developed by
Martin Pascal, although he had helped
porting the program to wireless
devices. It is still under active
development and the current version is
1.0.5.
Currently still under active
development, it is at version 1.0.0.
The lead developer is Bernhard
Herzog, although there about 12 other
active developers. The first release
dates back to April 2002.
Still under active development, it is
currently at release version 1.0.0. The
principal developer is Dave Blasby. It
was first released in May 2001.
251
Table A.2: Scientific Domain Applications (continued)
Product
Hme
License: GNU GPL.
Demeter Terrain
Engine
License: GNU GPL.
DEM Tools
License: GNU GPL.
GMT
License: GNU GPL.
Description
Hme is a 2D program, used for
creating, manipulating, and viewing
height maps.
The Buzz
Sometimes 2D programs can make
things clearer where 3D programs fail
to do so.
Demeter Terrain Engine is a
cross-platform C++ library that
renders 3D terrains using OpenGL.
Demeter is designed for high
performance and high visual quality
that makes use of advanced techniques
to render vast landscapes in real-time,
without the need for high-end
hardware.
It is a program that is useful for
previewing DEM data sets and
wandering around in virtual
representations of various places on
the planet and provides stunning 3D
views.
It is an open source collection of about
60 tools for manipulating geographic
and Cartesian data sets and producing
EPS illustrations ranging from simple
x-y plots through contour maps to
artificially illuminated surfaces and
3D perspective views.
Consider using it in game
development, resource exploration, or
real-time simulations. This program
must be something on an SGI.
Status
Created by Radu Privantu, it is
currently at version 1.3.1. It cannot be
readily determined if it is still under
active development and it is unknown
when the project first started.
The project was developed by Clay
Fowler. It dates back to at least May
2001. It is currently at release 3.14
and appears to be under active
development.
While still in beta development, it is
still very useful and allows you to
walk through a DEM dataset. Also
includes a DEM to VRML conversion
utility.
Developed by Eric Kasten and started
in 1998. The current version is 0.9.5.
The project started and stopped in
1998.
Seriously consider this tool if you are
an Earth or Ocean scientist.
Started in 1988 by Paul Wessel and
Walter H. F. Smith, it is still under
active development and currently at
version 4 Beta. It is being partly
funded by the National Science
Foundation.
252
Table A.2: Scientific Domain Applications (continued)
Product
GEOTRANS
License: Freeware.
Quantum GIS
License: GNU GPL.
Description
GEOTRANS (Geographic Translator)
is an application that allows you to
convert geographic coordinates among
a wide variety of coordinate systems,
map projections, and datum, and is
easy to use.
Quantum GIS is designed to be a
Geographic Information System built
for Linux and UNIX. It offers support
for vector and raster formats.
Currently it supports many common
vector and raster formats, Shapefiles,
and PostgreSQL/PostGIS layers.
The Buzz
A nice program to use when
converting between different
coordinate systems, but watch out for
the license agreement because if you
use it in your programs or modify the
code, you will need permission from
the NIMA.
It is a very new project that has only
recently been started. It offers support
for PostGIS layers, and supports the
following formats: GRASS, USGS
DEM, ArcInfo binary grid, ArcInfo
ASCII grid, ERDAS Imagine, SDTS,
GeoTiff, Tiff with world file, and
ESRI Shapefiles. This is still only beta
quality software and may or may not
work on your specific platform with
your given environment.
Status
The U.S. National
Geospatial-Intelligence Agency (part
of the U.S. military) funded the
project. As such, it cannot be
determined who the actual developer
was or when it started. It is currently
at version 2.2.3.
Still under active development, it is
currently at version 0.1; however, the
new version 0.2 is coming out shortly.
The project was started in 2002 and is
currently being worked on by more
than a dozen developers. Gary
Sherman appears to be the project
manager.
253
Table A.2: Scientific Domain Applications (continued)
Product
Description
Mathematics Software:
BC
BC is an arbitrary precision calculator
License: GNU GPL.
that supports an interactive execution
of command statements. It is similar
to DC, but rather it takes its input not
from the standard command line but
rather from a series of files with the
necessary command statements that
are to be calculated. You run the
command from the command line
including all files that are to be
executed. It is similar in its syntax to
the C programming language.
RPNCalc
RPNCalc is a GUI, KDE-based
License: GNU GPL.
replacement for DC. It also supports
RPN as well as the trigonometric and
hyperbolic functions, and it also
includes a memory list, which DC
does not have.
The ATLAS (Automatically Tuned
Atlas
License: BSD.
Linear Algebra Software) project is an
ongoing research effort focusing on
applying empirical techniques in order
to provide portable performance. At
present, it provides C and Fortran77
interfaces to a portably efficient BLAS
implementation, as well as a few
routines from LAPACK.
The Buzz
Status
It is a great tool for shell scripting
when you do not want to do any fancy
C / C++ programming.
Does not appear to be under active
development. It appears to have been
written by Philip A. Nelson. The
current version is 1.06.
If you like or need to use RPN, this is
a tool for you.
Still under active development, it
appears as though Debian is now
maintaining and developing the
software. The latest release is version
1.33.5. The current developer and
maintainer appears to be David Frey.
Under active development; developed
and maintained by R. Clint Whaley
and Antoine Petitet and Jack J.
Dongarra. The project was started in
2001. It is currently at version 3.7.1.
If you like BLAS, you will like this
one.
254
Table A.2: Scientific Domain Applications (continued)
Product
Euler
License: GNU GPL.
GSL
Listed in: IDA
License: GNU GPL.
IT++
License: GNU GPL.
Description
Euler is a numerical laboratory with a
programming language. The system
can handle real, complex and interval
numbers, vectors and matrices. It can
produce 2D/3D plots. Included is a
programming language. Euler is not a
MatLab clone, but is similar to it and
provides many of the same
functionalities.
GSL stands for the GNU Scientific
Library, which is a set of numerical
algorithms and subroutines designed
for C and C++ programmers. The
library contains over 1000 different
functions, over a wide range of
mathematical routines.
IT++ is another mathematical library.
It is a fully functional C++ only
library. Its function classes consist of
mathematical, signal processing,
speech recognition, and
communication algorithms. It is based
on LAPACK and CBLAS.
The Buzz
It is an alternative to MatLab or
Octave.
Status
It is does not appear to be in active
development; the original program
was written by Dr. Réné Grothmann
and then ported over to GTK+ by Eric
Boucharé. The latest version is 1.60.6.
The project itself was started in 1988
and developed on an Atari ST.
If you enjoy math or need an
algorithm, there is a good chance this
library has what you need. It is fast
and efficient.
It still appears to be under active
development. The latest version is 1.4.
The project was started in 1996. The
main developer is Marc Galassi.
It is a multi-platform application and
is useful for those doing more than
just linear algebra.
It is still under active development. It
was developed in 1995 and today it
continues to be developed by Tony
Ottosson, Thomas Eriksson, Pål
Frenger, Tobias Ringström, and Jonas
Samuelsson. It is currently at version
3.7.3.
255
Table A.2: Scientific Domain Applications (continued)
Product
LAPACK
Listed in: IDA
License: BSD.
KSEG
License: GNU GPL.
OCTAVE
Listed in:
GRAS, GRAM, IDA
License: GNU GPL.
Description
LAPACK is a highly portable Fortran
77 library, consisting of many
subroutines for solving the most
common types of problems in linear
algebra such as is found today. It is a
highly efficient library designed to run
on today’s modern high-performance
computers. LAPACK was designed to
be a replacement for LINPACK and
EISPACK. LAPACK is a thread-safe
library.
KSEG is an interactive program used
for exploring Euclidean geometry.
While a simple program to use and
work with, it is powerful enough to be
used as a teaching tool in high school
and college alike.
Octave is the open source alternative
to MatLab. Octave supports a
high-level language primarily intended
for performing numerical
computations. It can be used to solve
both linear and non-linear numerical
problems, and it can even be used in
batch, making it ideal for high-volume
scientific use, given the correct
number and configuration of useable
platforms.
The Buzz
If you have big machines and need
high-performance and multi-threaded
math libraries, this is one is the one for
you.
Status
It does not appear to be under active
development. The author of the library
is J. Wasniewski. The actual release
date of the first library code cannot be
determined, however, the concept of
this mathematical library dates back to
1987. It is currently at version 3.0.
Version 1.0 was released in 1992 and
version 3.0 in 1999 with updates into
2000.
Easy and fun program to use with cool
graphics for those who want to
explore Euclidean geometry.
It does not appear to be under active
development. It was developed by Ilya
Baran while an undergraduate student
at MIT. The latest release is 0.4.0.
The project was started in 1999 and it
appears to have ended in April 2003.
It is still under active development. It
was primarily developed by John
Eaton; however, he had help from
many others. It was conceived in
1988. The first alpha version was
released January 4, 1993. The current
stable release is 2.0.17.
If you do not want to pay for
Mathematica or MatLab, then try this
program. You may actually enjoy
using it. However, it may take some
time getting used to it.
256
Table A.2: Scientific Domain Applications (continued)
Product
R
Listed in:
GRAS, GRAM, IDA
License: GNU GPL.
Maxima
Listed in: GRAS
License: GNU GPL.
Description
Very similar to a programming and
plotting language known as S; R is a
both a programming language and an
environment for statistical computing
and graphics. R comes complete with
a wide variety of statistical and
graphical techniques and capabilities.
Through its programming language, it
becomes very extensible.
Maxima is a descendant of DOE
Macsyma, which had its origins in the
late 1960s at MIT. Macsyma was the
first of a new breed of computer
algebra systems, leading the way for
programs such as Maple and
Mathematica. It can perform symbolic
integration, 3D plotting, and has an
ODE solver.
The Buzz
If statistics is your thing, this is a
program you would find of great
interest, although it is not obvious to
use at first. It is capable of producing
high-quality graphs and images.
Status
It is still under active development.
The latest version is 1.8.1. R was
initially written by Robert Gentleman
and Ross Ihaka, and since 1997, a
large number of contributors have
joined on. It is uncertain when the
project started. The project started in
at least 1997 (or possibly earlier).
Worth trying out, but do not expect it
to be very high-performance.
It is still under active development and
is now landed at release 5.9.0. Its
origins date back to the Department of
Energy and MIT in the late 1960’s.
This open source version is based on
DOE Macsyma. It appears to be
developed by James Amundson and
Steve Horne. This particular variant of
Macsyma was maintained by William
Schelter from 1982 until he passed
away in 2001 and now others have
taken up the work.
257
Table A.2: Scientific Domain Applications (continued)
Product
Description
The Buzz
Status
It requires WindowMaker to run
correctly. Luckily, WindowMaker can
be compiled for most platforms.
It is still under active development.
The main developer is Brad Jorsch.
The project appears to date back to at
least 2002. It is currently at version
2.5.
To make it work you will need a
database, PHP, and a web server.
Originally developed by Jason L.
Buberel. It is still under active
development. Cannot determine when
the project started. It is now at version
2.1.2.
To make it work, you will need PHP, a
web server, and a database.
It is still under active development.
The project was started in at least to
2000, and by extrapolation of version
dates, it probably goes back to at least
1998. The developers are Martin
Geisler and Max Hammond. It is now
at version 2.1.1.
Meteorological Software:
Wmweather+
License: GNU GPL.
WeatherPlotter
License: GNU GPL.
PHP Weather
License: GNU GPL.
Wmweather+ will download the
National Weather Service METAR
bulletins, ANV and MRF forecasts,
and any weather map for display in a
WindowMaker DockApps. It inclu