16 March 2007

List of Linux-related Programming Environments

(Linux article)

What follows is a provisional list of Linux-derivatives I created as an appendix to my introductory post on Linux. Let me repeat that Linux is not an operating system, but the kernel to an operating system. In nearly all cases, the preponderance of the OS is actually GNU. So I will hereafter refer to a complete Linux-based OS as "GNU/Linux" unless, of course, I have an example of a Linux-based OS that does not have mostly-GNU Project system software.

GNU/Linux Packages:
  • Debian: actually, the name of a foundation started by Deb[ra] & Ian Murdock (1993); includes a distribution of GNU/Linux and also a "shadow" distribution of GNU/Hurd; moreover, it also offers distributions of GNU/OpenBSD & GNU/NetBSD. Debian GNU/Linux uses both the KDE graphical user interface (GUI) as well as GNOME, and hence has its own family of applications (as opposed to those in the GNOME Project).

    Debian is generally known as the most stable and cautious of the distributions, with extremely rigorous testing.
  • Hurd: GNU Project's in-house kernel; an alternative to Linux in the sense that Linux (as a free BSD 4.4-Lite compatible kernel) and Hurd are oth designed to run a complete operating system. Hurd is interesting partly because it is built around the Carnegie-Mellon University (CMU) Mach µ-kernel, which was also the µ-kernel for NextStep/Openstep and Mac OS X. However, for reasons too complex to explain here, the Hurd kernel has never been officially released; it is undoubtedly the software with the longest gestation period in history, having been started in 1990.
  • Mandriva (formerly Mandrake): a Franco-Brazilian fork of Red Hat Linux (c.1998) that is supposed to be especially easy to use. It is one of the more polished corporate entities marketing Linux; it gets much of its income through Club Mandriva, which offers support and tutorials. Mandriva uses the KDE GUI.
  • Red Hat [Enterprise Linux]: oddly, a commercial version of GNU/Linux. Red Hat makes its money selling instructional material and support packages for its versions. I thought I should mention that RHEL is a version developed chiefly for commercial applications
  • SuSE: developed in Germany as a fork of Slackware; purchased by Novell in 2004; the company, like Red Hat, made its money publishing manuals (and, I would assume, a slight rent on the updated packaging of GNU/Linux). Novell has released the one proprietary component of SuSE, YaST, to the public under the GNU-GPL.
  • Softlanding/Slackware: Softlanding Linux System (SLS) was the first common GNU/Linux package; in '93 its developers made some unpopular changes, and a fork of SLS known as Slackware took its place as the leading GNU/Linus OS
  • Ubuntu: South African package that is distinguished for its unusual ease of use. Ubuntu also supports Xubuntu, which is a slimmed-down version of Ubuntu with an XFCE Gui rather than Ubuntu's customary KDE GUI.

  • GNOME: the GUI developed by the GNU Project; used chiefly for GNU/Linux operating systems;
  • KDE: an alternative GUI developed for Unix operating systems. KDE was in fact the first GUI developed for the GNU/Linux environment, in 1997. However, it was developed with the Qt toolkit, leading to fears that KDE would ultimately become mired in litigation or else become proprietary software. Hence, the GTK+ toolkit was developed in-house by the GNU Project, which was followed by the creation of the all-GNU GNOME.
  • Rox: an alternative GUI developed for Unix operating systems; developed as a graphical implementation of the ROX FILER file management system (which is, in turn, a distinctly Unix-like way of managing files). Rox was created with the GTK+ toolkit.
  • XFCE: an alternative GUI developed for Unix operating systems; initially based on the XForms toolkit (whence its name), XFCE was rebuilt using the GTK+ toolkit. It tends to require considerably less system resources than does KDE.
Toolkits are pre-programmed modules for adding buttons and other graphical components to applications. Toolkits ensure that all the applications built for the related GUI will have the same appearance.
  • Gnome-GCJ: a toolkit for creating GTK+ widgets, but in Java rather than C; includes the GNU Compiler for Java (GCJ)
  • GTK+: a toolkit developed by the GNU Project for developing GNOME.
  • Qt/X11: toolkit used for the development of the KDE environment. KDE was originally developed in Germany in 1997; Qt was not (at the time) under the GNU-GPL and this created a problem when GNU/Linux distributions were paired with KDE. As a consequence, GNOME was developed with a GNU Project toolkit (GTK+). Subsequently, Qt was released to the FSF under a dual-license agreement, so that there are now two competing and perfectly compliant free GUI's. Qt was also used for the development of the web browser Opera, Google Earth, and other important interfaces. It was developed by the Norwegian company Trolltech.
  • XForms: Not directly related to Linux; XForms (in this sense) is a GUI toolkit created for the implementation of X Windows graphical environments. Initially used to create XFCE.
  • AbiWord: GNOME Project word processor; similar in style to MS Word [*].
  • Agnubis: GNOME presentation software; somewhat similar in style to MS PowerPoint [*].
  • Bourne-Again Shell (bash): Revised and improved version of the Korn (not the Bourne!) Shell.
  • Glade: GNOME user interface builder; a "meta" programming language that creates forms and saves them as XML files, allowing any programming language to read them.
  • GNOME DB: GNOME Project database management software.
  • Gnumeric: GNOME Project spreadsheet; similar in style to MS Excel [*].
  • Mozilla Firefox & Thunderbird: Mozilla was a spinoff that incorporated much of the Netscape Navigator technology. Firefox and Thunderbird are the web browser and mail client programs for Mozilla; it is the firm editorial position of this blog that they are the best available. They appeared as part of the GNOME HTML widget development.
  • Glade: GNOME user interface builder; a "meta" programming language that creates forms and saves them as XML files, allowing any programming language to read them.
  • MULE: MUltiLingual Enhancement to GNU Emacs. Initially, the GNU Project attempted to extend Emacs to support many languages, but this stalled in 1987. MULE is created by Satoru Tomura, Kennichi Hand, Mikiko Nishikimi, and Naoto Takahasi while working for the Japanese Ministry of Economy, Trade, & Industry (METI), and hence, the work is not covered by the GNU-GPL. Nevertheless, it is an essential part of the GNU system.
  • Yet another Setup Tool (YaST): a proprietary program released by SuSE; it was a program setup and configuration tool. Mildly interesting since it was a proprietary utility embedded in an open-source OS.

XForms: confusingly, there are two things known as XForms. "XForms" may refer to the GUI toolkit mentioned above, or it may refer to the web page markup language. The Wikipedia entry for XForms applies to the markup language.
SOURCES & ADDITIONAL READING: AbiWord page; Agnubis; Debian page; Evolution page; "Glade User Interface Builder," from The Mono Handbook, by Johannes Roith & Miguel de Icaza; "What is Gnome-GCJ?" & "The java-gnome language bindings project"; GNOME DB manual; Gnumeric manual; Hurd page; "The Perfect Desktop - Debian Etch (Debian 4.0)," Howto Forge; "Kicking the tires of Mandriva 2007.1 beta 2," tuxmachines.org; Rox page; SUSE review, LinuxPlanet; Slackbook (guide to Slackware); Ubuntu Wiki; XFCE Wiki;

Wikipedia: KDE, SuSE Linux; XFCE, GTK+, Ubuntu; Freshmeat: XForms; GNOME Project Listing;

Labels: , , , , ,


Post a Comment

<< Home