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