Tuesday, May 15, 2007

MAJOR MILESTONES & ACHEIVEMENTS

Milestones

The Linux and GNU foundation formed the basis for an operating system which has since been completed by the efforts of numerous members of the free and open source software community. Significant milestones include:

  • The launch of the KDE desktop environment by Matthias Ettrich in October 1996 followed by the comparable GNOME alternative by Miguel de Icaza in August 1997, both based on the X11 windowing system developed at MIT. GNOME and KDE became Linux operating system shells, responsible for the direct contact with users.
  • The release of the Netscape browser's source code on March 31, 1998, which kicked off the Mozilla project that would eventually give birth to the popular Mozilla Firefox browser.

OpenOffice.org 2.2 - Writer : Word processor component of the multi-platform free software office suite.

  • The release of StarOffice by Sun Microsystems which in June 2000 became the base for the free software OpenOffice.org office suite, a major event in the open source office world.
  • The growth of commercial interest in Linux is similarly marked by notable events: the launch in February 1998 of the Open Source Initiative; the announcement in July 1998 by Oracle Corporation that it would port its well-known database software to Linux and provide support for it; the IPOs of Red Hat on November 11, 1999 and VA Linux the following month which would create a speculative bubble; the wide-scale support of technology giant IBM that would spend millions of dollars on Linux, employing in 2005 close to 300 developers of the Linux kernel, and would organize starting in 2003 the legal defense for the SCO vs. Linux controversy against the attacks of the SCO Group that claimed copyright over the Linux kernel; and finally the acquisition in October and November 2003 of Ximian and then SuSE by the American technology company Novell.

Today Linux is used in numerous domains, from embedded systems to supercomputers, and has secured a place in server installations with the popular LAMP application stack. Torvalds continues to direct the development of the kernel. Stallman heads the Free Software Foundation, which in turn develops the GNU components. Finally, individuals and corporations develop third-party non-GNU components. These third-party components comprise a vast body of work and may include both kernel modules and user applications and libraries. Linux vendors combine and distribute the kernel, GNU components, and non-GNU components, with additional package management software in the form of Linux distributions.

Development


A graphical history of Unix systems. Linux is a Unix-type system but its source code does not descend from the original Unix.

A 2001 study of Red Hat Linux 7.1 found that this distribution contained 30 million source lines of code. Using the Constructive Cost Model, the study estimated that this distribution required about eight thousand man-years of development time. According to the study, if all this software had been developed by conventional proprietary means, it would have cost about 1.08 billion dollars (year 2000 U.S. dollars) to develop in the United States.

Most of the code (71%) was written in the C programming language, but many other languages were used, including C++, Lisp, assembly language, Perl, Fortran, Python and various shell scripting languages. Slightly over half of all lines of code were licensed under the GPL. The Linux kernel itself was 2.4 million lines of code, or 8% of the total.

In a later study, the same analysis was performed for Debian GNU/Linux version 2.2. This distribution contained over fifty-five million source lines of code, and the study estimated that it would have cost 1.9 billion dollars (year 2000 U.S. dollars) to develop by conventional means.

Programming on Linux

Most Linux distributions support dozens of programming languages. Core system software such as libraries and basic utilities are usually written in C. Enterprise software is often written in C, C++, Java, Perl, Ruby, or Python[citation needed]. The most common collection of utilities for building both Linux applications and operating system programs is found within the GNU toolchain, which includes the GNU Compiler Collection (GCC) and the GNU build system. Amongst others, GCC provides compilers for C, C++, Java, and Fortran. The Linux kernel itself is written to be compiled with GCC.

Most distributions also include support for Perl, Ruby, Python and other dynamic languages. Examples of languages that are less common, but still well-supported, are C# via the Mono project, and Scheme. A number of Java Virtual Machines and development kits run on Linux, including the original Sun Microsystems JVM (HotSpot), and IBM's J2SE RE, as well as many open-source projects like Kaffe. The two main frameworks for developing graphical applications are those of GNOME and KDE. These projects are based on the GTK+ and Qt widget toolkits, respectively, which can also be used independently of the larger framework. Both support a wide variety of languages. There are a number of Integrated development environments available including Anjuta, Eclipse, KDevelop, MonoDevelop, NetBeans, and Omnis Studio while the traditional editors Vim and Emacs remain popular.

Although free and open source compilers and tools are widely used under Linux, there are also proprietary solutions available from a range of companies, including the Intel C++ Compiler, PathScale, Micro Focus COBOL, Franz Inc, and the Portland Group.

No comments: