Monday, March 17, 2008

Questions Asked When Deploying Linux and Other Free and Open Source Software

A colleague approached me to find out what are the main issues in deploying Open Source solutions (and Linux in particular) in an organization. Here are the questions he asked and the answers that I provided.
Thank you very much for agreeing to help us out on this, alright here are these questions:
Not a problem! It is always good to know I can be of help to someone. Please note that some of these questions are too technical and the few sentences given as answers are oversimplifications of what actually is or happens.
When is open source free and when is it required to pay a fee?
Free in open source is a matter of freedom not fees. What this freedom means is that you get the source code together with the software (or you can access the source code without limitations). The freedom hence mean you can take the source code study, change, and improve its design and redistribute it to others. In addition, you can use it for any purpose. You may be required to pay for the software (if its not available for download) or pay for its customization to your requirements if you do not have the in-house capability of doing it.
With other operating systems, particularly Windows XP, they tend
to be very vulnerable to viruses, How is it that Linux is immune to
viruses?
What makes windows more vulnerable to viruses is its design especially on permissions management. Most users (including programs) can install software and also take control of the running of some software. In Linux, security and permission is king and installation of programs take a process and need change of rights. The implicit requirement to set user rights on Linux makes it less vulnerable to viruses. To some extent Linux might be vulnerable to malicious software, but since most of the control is on the user then the system administrator can control what specific users do on an installation.
How does one choose between the likes of Mandriva, Fedora, Ubuntu,
etc, when planning for deployment?
All this are blends. The rule of the thumb in choosing between them is closeness to support of a wider community using it. In case you need help or when you need to improve or do something extra with them. I use fedora because I like one or two things in it.
What are some of the utility programs available on Linux?
Utilities for? I don't understand.
But most of the blends or distros of Linux come with most of the basic software: Office Suite (open office), Email client (Evolution, Thunderbird etc), Package management (Yast, RPM,etc), Web servers (Apache). Depending on your installation choice/type, you can easily add on most of the applications that you need.
Threats to system security come not only from outside the computer
system but also from inside the community of systems users as
well. What are security measures that are taken by Linux on
unauthorised access to sensitive data by unauthorized users?
First, physical security is as important as software security. Linux-based system have the best user and user rights management system (Access Control Lists) that I know in an operating system. You can manage users to the point of what file the user (or group of users) can see, execute, or write. In short, the user access-level security is as good as you can set it to be as the administrative user.
How does Linux support kernel threads?
Much better than most of the other operating systems. Please see http://tldp.org/FAQ/Threads-FAQ/index.html for more information.
What are the most common problems that are experienced by Linux
users, or open source in general?
Mainly its a question of attitude and resistance to change. Otherwise, most of the people who have changed to using Linux and open source software have developed the right attitude towards them and get to know how to go about most of the things. Support for the users is therefore very important during the change (or introduction) phases of the software.
People are very much used to the windows environment, to make the
transition easier, what are the Linux basics that users must
familiarize themselves with?
Most of the desktop Linux distros now come with a graphical interface. Gnome and KDE remain the widely used desktop interfaces for Linux. To switch from an Ms Windows environment to a say Gnome environment, one just need to have the right attitude and perceptions and to learn the new terminologies.

How does Linux handle scheduling?

Linux scheduling does not differentiate between a task and a process e.i. Linux in its implementation does not differentiate between a thread and a task. All threads are implemented as processes that share resources among themselves based on time slices. Please check http://www.oreilly.com/catalog/linuxkernel/chapter/ch10.html for more information.
How does Linux support Ethernet, WAN & LAN through routers and
gateways?
There are a number of resources on getting information about networking in Linux and other Unix-based systems. For a quick start, please check "The Linux Documentation Project" http://tldp.org section on Networking: http://tldp.org/HOWTO/HOWTO-INDEX/networking.html

Hope this answers all your questions. Do not hesitate to contact me when and if you need more clarification on the issues.