Misplaced Pages

Linux

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

This is an old revision of this page, as edited by Hdante (talk | contribs) at 22:48, 28 December 2006 (Programming on Linux). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Revision as of 22:48, 28 December 2006 by Hdante (talk | contribs) (Programming on Linux)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Template:Two other uses

Operating system
Linux
Tux the penguin, mascot of LinuxTux the penguin, based on an image created by Larry Ewing in 1996, is the mascot of Linux.
OS familyUnix-like
Working stateCurrent
Latest release2.6.19.1 (kernel) / December 11 2006
Kernel typeMonolithic kernel
LicenseGNU General Public License
Official websitekernel.org

Linux, or GNU/Linux, refers to any Unix-like computer operating system which uses the Linux kernel. It is one of the most prominent examples of open source development and free software as well as user generated software; its underlying source code is available for anyone to use, modify, and redistribute freely.

Initially developed and used primarily by individual enthusiasts on personal computers, Linux has since gained the support of corporations such as IBM, Sun Microsystems, Hewlett-Packard, and Novell, Inc., and has risen to prominence as an operating system for servers; eight of the ten most reliable internet hosting companies now run Linux on their web servers.

A KDE desktop on the SUSE Linux distribution.

Linux has been more widely ported to different computing platforms than any other operating system. It is used in devices ranging from supercomputers to mobile phones, and is gaining popularity in the personal computer market.

History

Main article: History of Linux

Early

File:Richard Matthew Stallman.jpeg
Richard Stallman, founder of the GNU project for a free operating system.

In 1983, Richard Stallman founded the GNU Project, with the goal of developing a complete Unix-like operating system composed entirely of free software. By the beginning of the 1990s, GNU had produced or collected most of the necessary components of this system — libraries, compilers, text editors, a Unix shell — except for the core component, the kernel. The GNU project began developing a kernel, the GNU Hurd, in 1990, based on the Mach microkernel, but the development of this Mach-based design proved difficult and proceeded slowly.

Linus Torvalds - creator of the Linux kernel.

Meanwhile, in 1991, another kernel was begun as a hobby by Finnish university student Linus Torvalds while attending the University of Helsinki. Torvalds originally used Minix on his own computer, a simplified Unix-like system written by Andrew Tanenbaum for teaching operating system design. However, Tanenbaum did not permit others to extend his operating system, leading Torvalds to create a replacement for Minix.

Originally, Torvalds called his kernel "Freax" for "free" and "freak" and with the often-used X in the names of Unix-like systems. The name "Linux" was coined by Ari Lemmke, who administered an FTP server belonging to the Finnish University Network; he invented the name Linux for the directory from which Torvalds' project was first available for download.

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

At first a computer running Minix was necessary in order to configure and install Linux. Initial versions of Linux also required another operating system to be present in order to boot from a hard disk, but soon there were independent boot loaders such as LILO. The Linux system quickly surpassed Minix in functionality; Torvalds and other early Linux kernel developers adapted their work for the GNU components and user-space programs to create a complete, fully functional, and free (as in freedom) operating system.

Today, Torvalds continues to direct the development of the kernel, while other subsystems such as the GNU components continue to be developed separately. Other groups and companies combine and distribute these components with additional application software in the form of Linux distributions.

Linux and the GNU Project

Main article: GNU/Linux naming controversy

The goal of the GNU project is to produce a Unix-compatible operating system consisting entirely of free software, and all general-purpose Linux distributions rely on numerous GNU components. The Free Software Foundation views these Linux distributions as "variants" of the GNU system, and asks that such operating systems be referred to as GNU/Linux or a Linux-based GNU system. While some distributions make a point of using the combined form - notably Debian GNU/Linux - its use outside of the enthusiast community is limited, and Linus Torvalds has said that he finds calling Linux in general GNU/Linux "just ridiculous". The distinction between the Linux kernel and distributions based on it plus the GNU system is a source of confusion to many newcomers, and the naming remains controversial.

SCO litigation

Main article: SCO-Linux controversies

In March 2003, the SCO Group filed a lawsuit against IBM, claiming that IBM had contributed portions of SCO's copyrighted code to the Linux kernel in violation of IBM's license to use Unix. Additionally, SCO sent letters to a number of companies warning that their use of Linux without a license from SCO may be actionable, and claimed in the press that they would be suing individual Linux users. This controversy has involved lawsuits by SCO against DaimlerChrysler (dismissed in 2004), and AutoZone, and by Red Hat and others against SCO. Furthermore, whether SCO even owns the relevant Unix copyrights is currently disputed by Novell.

As per the Utah District Court ruling on July 3, 2006; 182 claims out of 294 claims made by SCO against IBM have been dismissed.

SCO's claims have varied widely.

Portability

Main article: Linux (kernel) § Portability

The Linux kernel was originally designed only for Intel 80386 microprocessors, but now supports a wide variety of computer architectures. Linux is one of the most widely ported operating systems, running on a diverse range of systems from the hand-held ARM-based iPAQ to the mainframe IBM System z9. Specialized distributions exist for less mainstream architectures. The ELKS kernel fork can run on Intel 8086 or 286 16-bit microprocessors, while the µClinux kernel may run on systems without a memory management unit. The kernel also runs on architectures that were not intended to use other than their original operating systems: this is the case of computers made by Apple Computer such as the iMac and PowerBook, Palm PDAs, Nintendo GameCube and Xbox. New architectures, like Playstation 3's Cell microprocessor also runs linux, like many atypical devices such as iPods, set-top boxes, network switches, DVR's and cell phones.

Copyright, licensing, and the Linux trademark

The Linux kernel and most GNU software are licensed under the GNU General Public License version 2. The GPL requires that all distributed source code modifications and derived works also be licensed under the GPL, and is sometimes referred to as a "share and share-alike" or "copyleft" license. In 1997, Linus Torvalds stated, "Making Linux GPL'd was definitely the best thing I ever did." Other software may use other licenses; many libraries use the GNU Lesser General Public License (LGPL), a more permissive variant of the GPL, and the X Window System uses the MIT License.

After more than ten years, the Free Software Foundation announced that they would be upgrading the GPL to version 3, citing increasing concerns with Intellectual Property laws, especially Software Patents. Linus Torvalds has publicly stated he would not move the Linux kernel to GPL v.3. Torvalds opposes in particular certain Digital Rights Management exclusions in the GPL v3.

In the United States, the name Linux is a trademark registered to Linus Torvalds. Initially, nobody registered it, but on August 15, 1994, William R. Della Croce, Jr. filed for the trademark Linux, and then demanded royalties from Linux distributors. In 1996, Torvalds and some affected organizations sued to have the trademark assigned to Torvalds, and in 1997 the case was settled. The licensing of the trademark is now handled by the Linux Mark Institute. Torvalds has stated that he only trademarked the name to prevent someone else from using it, but was bound in 2005 by United States trademark law to take active measures to enforce the trademark. As a result, the LMI sent out a number of letters to distribution vendors requesting that a fee be paid for the use of the name, and a number of companies have complied.

Pronunciation

Template:Pronunciation of Linux

Development

More Than a Gigabuck: Estimating GNU/Linux's Size, 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. Cite error: A <ref> tag is missing the closing </ref> (see the help page). 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.

Distributions

Further information: Linux distribution

Linux is predominantly used as part of a Linux distribution (commonly called a "distro"). These are put together by individuals, loose-knit teams, commercial and volunteer organizations. They commonly include additional system and application software, an installer system to ease initial system setup, and integrated management of software installation and upgrading. Distributions are created for many different purposes, including computer architecture support, localization to a specific region or language, real-time applications, and embedded systems, and many deliberately include only free software. Currently, over three hundred distributions are actively developed, with about a dozen distributions being most popular for general-purpose use.

A typical general-purpose distribution includes the Linux kernel, some GNU libraries and tools, command-line shells, the graphical X Window System and an accompanying desktop environment such as KDE or GNOME, together with thousands of application software packages, from office suites to compilers, text editors, and scientific tools.

Desktop usage

A GNOME desktop running from the GNOME LiveCD.
See also: Comparison of Windows and Linux

The high level of access granted to Linux's internals has led to Linux users traditionally tending to be more technologically oriented than users of Microsoft Windows and Mac OS. Linux and other free software projects have been frequently criticized for not going far enough to ensure ease of use. This stereotype has been dispelled in recent years. Linux is now typically being used with a user interface that is very similar to those running on other operating systems. However, users may sometimes have to switch to alternative application software, and there are often fewer "known" software choices for certain types of software (as in the case of computer games) but there exist replacements for all general-purpose software, and general applications like spreadsheets, word processors, and browsers are available for Linux in profusion. Additionally, a growing number of proprietary software vendors are supporting Linux, . In the meantime, developers have resorted to using compatibility layers such as Wine or NdisWrapper allowing some Microsoft Windows application software and drivers to be used on Linux without requiring the vendor to adapt them. This allows users to more easily migrate from Windows to Linux since they can still run many of their Windows applications with little additional effort.

Linux's roots in the Unix operating system mean that in addition to graphical configuration tools and control panels available for many system settings and services, plain-text configuration files are still commonly used to configure the OS and can readily be made accessible (or not) to users, at the administrator's will.

The Berlin-based organization Relevantive concluded in 2003 that the usability of Linux for a set of desktop-related tasks was "nearly equal to Windows XP." Since then, there have been numerous independent studies and articles which indicate that a modern Linux desktop using either GNOME or KDE is on par with Microsoft Windows, even in a business setting.

Enterprise usage

Linux has historically been used mainly as a server operating system. Linux is the cornerstone of the "LAMP" server-software combination (Linux, Apache, MySQL, Perl/PHP/Python) which has achieved popularity among developers, and which is one of the more common platforms for website hosting.

Due to its low cost and its high configurability, Linux is often used in embedded systems such as television set-top boxes, mobile phones, and handheld devices. Linux has become a major competitor to the proprietary Symbian OS found in many mobile phones, and it is an alternative to the dominant Windows CE and Palm OS operating systems on handheld devices. The popular TiVo digital video recorder uses a customized version of Linux. Several network firewall and router standalone products, including several from Linksys, use Linux internally, using its advanced firewalling and routing capabilities.

Linux is commonly used as an operating system for supercomputers. Of the top 500 systems, 376 (75.2%) ran Linux.. The remaining systems use Unix (17.2%), Mixed (6.4%), BSD-like (0.6%), Mac OS (0.6%).

Market share and uptake

Further information: Linux adoption

According to the market research company IDC, 25% of servers and 2.8% of desktop computers ran Linux as of 2004. Proponents and analysts attribute the success of Linux to its security, reliability, low cost, and freedom from vendor lock-in. The frictional cost of switching and lack of support for certain hardware and application programs designed for Microsoft Windows, especially games or uncommon business software, have been two factors that have initially inhibited fast adoption. Lack of adoption due to hardware compatibility is no longer a true inihibition to adoption, however. As of late 2006, it is very uncommon for hardware to not work "out of the box" with most Linux distributions.

The Linux market is rapidly growing and the revenue of servers, desktops, and packaged software running Linux is expected to exceed $35.7 billion by 2008. The actual installed user base may be higher than indicated by this figure, as most Linux distributions and applications are freely available and redistributable.

The paper Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers! identifies many quantitative studies of open source software on topics including market share and reliability, with many studies specifically examining Linux.

Installation

The most common method of installing Linux on a personal computer is by booting from a CD-ROM that contains the installation program and installable software. Such a CD can be burned from a downloaded ISO image, purchased alone for a low price, obtained as part of a box set, or in a few cases shipped for free by request. A box set may also include manuals and additional proprietary software. Mini CD images allow Linux to be installed from a disk with a small form factor. Linux also offers a more convenient method of installation by allowing users to download CD image files ISO and then the user can use a CD/DVD burning software to create installation CD's/DVD's themselves.

As with servers, personal computers that come with Linux already installed are available from vendors including Hewlett-Packard and Dell, although generally only for their business desktop line.

Alternatives to traditional desktop installation include thin client installation and running directly from a Live CD. In a thin client installation, the operating system is loaded and run from a centralised machine over a network connection. In a Live CD setup, the computer boots the entire operating system from CD without first installing it on the computer's hard disk.

On embedded devices, Linux is typically held in the device's firmware and may or may not be consumer-accessible.

Programming on Linux

Most Linux distributions support a wide array of programming languages. Core system software such as libraries and basic utilities are usually written in C. Enterprise software is often written in Java, Perl, or Python.

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). 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, Python and other dynamic languages. Less common, but still well-supported, are C# via the Mono project, Scheme, and Ruby.

There are a number of Integrated development environments available including MonoDevelop, KDevelop, Anjuta, NetBeans, and Eclipse while the traditional editors Emacs and Vim remain popular.

The two main widget toolkits used for contemporary GUI programming are Qt and the Gimp Toolkit, known as GTK+. Both support a wide variety of languages.

As well as these free and open source options, there are proprietary compilers and tools available from a range of companies such as the Intel C Compiler, PathScale, Micro Focus COBOL, Franz Inc, and the Portland Group.

Support

Technical support is provided by commercial suppliers and by other Linux users, usually in online forums, IRC, newsgroups, and mailing lists. Linux User Groups have traditionally been organized to provide support for Linux in specific cities and regions.

The business model of commercial suppliers is generally dependent on charging for support, especially for business users. A number of companies offer a specialized business version of their distribution, which adds proprietary support packages and tools to administer higher numbers of installations or to simplify administrative tasks.

See also

References

  1. "Rackspace Most Reliable Hoster in September". Netcraft. October 7 2006. Retrieved 2006-11-01. {{cite web}}: Check date values in: |date= (help)
  2. Burke, Steven (2006-03-20). "Red Hat looks to boost channel sales". CRN. Retrieved 2006-04-01. {{cite news}}: Check date values in: |date= (help)
  3. Torvalds, Linux. "What would you like to see most in minix?". Usenet: comp.os.minix. Retrieved 2006-09-09 from
  4. Torvalds, Linus. "How to pronounce "Linux"?". Usenet: comp.os.linux. Retrieved 2006-08-08 from
  5. Moore, J.T.S. (Produced, Written, and Directed) (2001). Revolution OS (DVD).
  6. "SCO Losing Linux Battle With IBM".
  7. "Linus Torvalds interview". Retrieved 2006-05-08.
  8. "U.S. Reg No: 1916230". Retrieved 2006-04-01.
  9. "Linux Journal, 2006-06-31, Linux Timeline".
  10. "Linus gets tough on Linux trademark". {{cite web}}: Unknown parameter |accessdte= ignored (|access-date= suggested) (help)
  11. Wheeler, David A (2002-07-29). "More Than a Gigabuck: Estimating GNU/Linux's Size". Retrieved 2006-05-11.
  12. "The LWN.net Linux Distribution List". Retrieved 2006-05-19.
  13. Blau, John (2003-08-04). "PC World - Linux Earns User-Friendly Rating". PC World. Retrieved 2005-12-17]. {{cite news}}: Check date values in: |accessdate= and |date= (help)
  14. "The Global Desktop Project, Building Technology and Communities". Retrieved 2006-05-07.
  15. "Relevantive Linux usability study". Retrieved 2006-04-03.
  16. Dulaney, Emmett (June 2005). "Desktop Linux: Ready for Prime Time?". Retrieved 2006-06-19.
  17. "TiVo - GNU/Linux Source Code". Retrieved 2006-12-12.
  18. http://www.top500.org/stats/28/osfam/
  19. White, Dominic (2004-04-02). "Microsoft eyes up a new kid on the block". The Daily Telegraph. Retrieved 2006-09-09.
  20. "Why customers are flocking to Linux".
  21. "The rise and rise of Linux".
  22. "Linux To Ring Up $35 Billion By 2008". Retrieved 2006-04-01.
  23. Wheeler, David A. "Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers!". Retrieved 2006-04-01.
  24. Brockmeier, Joe. A survey of Linux Web development tools http://programming.linux.com/programming/05/10/03/1828224.shtml?tid=63&tid=47 Retrieved 16/12/2006
  25. http://www.pathscale.com/ekopath.html
  26. http://www.microfocus.com
  27. http://www.franz.com/
  28. http://www.pgroup.com/

External links

Unix and Unix-like operating systems and compatibility layers
Operating
systems
BSD
Linux
System V
Other
Compatibility
layers
Linux distributions
Android
LineageOS
Other
Arch
Debian
Ubuntu
Other
Fedora
CentOS Stream
Other
Gentoo
Mandrake
Mandriva
Slackware
SUSE
Other
Discontinued
Android
Arch
Debian
Gentoo
Red Hat/Fedora
Slackware
SUSE
Other

Template:Link FA Template:Link FA Template:Link FA

Categories: