GNU/Linux is established as an alternative operating system to Windows, especially for internet use and web development. Site developers can test server side code and CGI scripts on a local network that can be configured to operate in exactly the same way as the live internet webserver running the latest version of the ever popular Apache. Desktop usage is increasing as small office applications continue to improve.
GNU/Linux is a Free Software operating system offering all the common programming interfaces of Unix. It also shares the security base of Unix by employing usernames and passwords, file owners and file permissions. Windows can use usernames and passwords but it does not enforce their use and this part of Windows cannot be compared with the fundamental level of username and password security in Linux and Unix.
In Windows, all users are essentially equal. Windows can be configured to use different user preferences for each user but all users are allowed equal security clearance to run any program - reflecting the standalone heritage of DOS and Windows. In Linux, like Unix, what any one user can do is entirely determined by the username and password. Linux can be configured to prevent one user from reading or changing files created by a different user. Users cooperating on a project can be allowed to create files readable or writeable by any other user in the group whilst also creating private files that are not open to the entire group. Only one user has complete control over the operating system - the system administrator known usually as root.
This was a major obstacle for Windows users switching to Linux. Root is all powerful and mistakes made as root can completely trash the system. Yet with older distributions (editions) of Linux, the main tasks that were required immediately after installing Linux had to all be run by root. So at the very beginning of the experience, a standalone ex-Windows user was expected to become the system administrator. This was a very steep learning curve. Many of the commercial releases of Linux (distributions) go to great lengths to do as many of these tasks during the installation as possible. Recent distributions provide a usable system first time, without root administration being essential. Connections to the a local intranet, internet connections (excluding those using internal PCI modems), printers, digital cameras, web browsers, email clients, office software, games, multimedia/sound/graphics applications, CD-writing applications, configuration tools, databases, ftp, telnet, SSH and Apache web servers (with PHP and Perl, if selected) all installed and running.
Windows users considering a switch to Linux would be well advised to read up on Linux installation beforehand, to follow the manuals carefully (i.e. actually read them BEFORE putting the CD in the drive) and be prepared for problems. Linux does not generally like Windows specific hardware and many modern internal modems are Windows specific. These 'winmodems' do not carry all the hardware required for their function but instead use software drivers within or added to Windows during installation. These drivers are generally not available for the Linux platform. Other hardware devices can also cause problems, notably Plug-and-Play devices which also rely on a piece of software running within Windows itself or added during installation.
However, the key to understanding Linux is the community. Linux is open source - the code that generates the operating system is freely available for anyone to look at as long as improvements are fed back into the community not locked away under a proprietary licence. Linux is also Free Software - free in terms of speech - so that anyone is welcome to contribute new ideas, new projects, new directions. This may sound technical but the best ideas come from co-operation between users and developers. Linux projects actively encourage such interaction and as well as fixing bugs, developers gain insight into what the users really want and users can request features and adjustments without having to get involved in the complexities of code. The majority of Linux programs are also free in terms of cost too. As a new user, it is advisable to pay for a packaged set of manuals to help if things do go wrong, but new programs, updates, even whole distributions can be downloaded free of charge from the internet if you have a fast enough connection. The combination leads to:
For more on Free Software, peer review of software, open source and GNU/Linux, see About CodeHelp section.
This is part of www.codehelp.co.uk Copyright © 1998-2004 Neil Williams
See the file about.html for copying conditions.