May the source be with you,
but remember the KISS principle ;-)
Softpanorama: (slightly skeptical) Open Source Software Educational Society
"Avoid hyperbole and unsubstantiated claims at all costs.
It's unprofessional and will result in unproductive discussions."
Linux Advocacy Guidelines
Version 0.80
Contents
What are consequences of considering Open source as a special kind of academic research
Note about disappearing sites: after dot-com fallout, many interesting Web sites are gone. That means that some links in pages can be broken. Please try to use Goggle, Open directory, etc. to find a replacement link and, if you are successful please mail us a correct link. See HOWTO search the WEB.
This is a Spartan WHYFF (We Help You For Free) site. It might help, but it cannot replace the best teachers and the best books.
Notes:
BLA FAQ is maintained by Dr. Nikolai Bezroukov. Those who are extra-sensitive to any criticism of open source/free software ideologies and practice might do well to avoid reading the FAQ. See also:
Open Source Software Development as a Special Type of Academic Research,
An Annotated Webliography on Open Source Software Development Problems
Softpanorama Copyright Links -- contains some discussion of various Open/Free Source licenses (actually there are more than 50 of them).
Softpanorama Humor Archive. Unique Collection of Open Source Related Humor
Slashdot The New Linux Myth Dispeller -- paradoxically this discussion contains a lot of sound critical judgments about bad Linux advocacy. See for example Be-fan posting and subsequent thread (I will list only the first post; some interesting counterarguments can be found in subsequent posts)
| Wow! Pro-Linux FUD! (Score:5, Informative) by be-fan on Saturday August 19, @03:15PM EDT (#86) (User #61476 Info) |
| To be fair, the site is fairly objective. However, I have to bop them on a few points. 1) Linux may not be a nightmare to install, but it is still a nightmare to configure. The main problem is not so much that configuration is very text oriented, but it is not consistant. Some stuff is configured through user-space programs (hdparm and ifconfig.) Other stuff is configured thourgh text files. Some stuff is configured through scripts (the old rc.modules style) others are configured via stuff like modules.conf. Often, there is little feedback if you do something wrong. I still don't know what I'm doing wrong configuring ALSA. 2) Linux multi-tasking. The site implies that Windows uses cooperative multi-tasking. That is simply not true. Windows95 and WindowsNT all use preemptive multi-tasking and in fact multi-task SMOOTHER than Linux. It is not so much a performance thing as a "feel" thing. The default quantum in NT is around 20 milliseconds or so on workstation, 50-100 on server. The default quantum on Linux is 50 milliseconds (newly lowered in kernel 2.4). So on Linux, each app gets a longer time slice. While this may be more efficiant, it degrades interactive performance (ie the "feel" of the system.) 3) Linux IS too huge. In order to get the same experiance as one does with Windows, you have to use KDE or GNOME. Otherwise your competing a product with more features against one with less features. Also, if you don't use GNOME or KDE, some of the other "FUD" becomes true. To get a Linux system comparable to a Windows NT system, you have to have GNOME+KDE(both so you have full compatibility) +Mozilla+X+kernel. Not to mention the multiple versions of glibc and all the additional (often redundant) libraries all the apps use. In terms of memory usage, Linux blows NT4 out of the water (a bad thing) and is quite close to Windows 2000's bloat. 4) Linux IS playing catch up. Most new kernel features (journaling FS, new automounter, LVM, etc) have all been implemented on previous operating systems. Not to mention the fact how much KDE and GNOME are playing catch up. 5) Other OS kernels do NOT load everything at the same time. I don't know how they got this? Most of Windows is built out of DLLs which can be dynamically unloaded. Most UNIXs had modular kernels long before Linux. Microkernels like BeOS can turn off entire subsystems if they are not needed. 6) Linux DOESN'T take full advantage of hardware. Linux doesn't support DirectX, and thus automatically lacks support for a lot of hardware features that are in DirectX complient hardware. The main reason was because transparant usage of hardware was a major design consideration for DirectX. It is based on the concept to support many different hardware features, have all applications use them, and then emultate those not supported by hardware. When the hardware supports new features, all apps and the OS automatically take advantage of them. Also, X doesn't have as compelete a support for many graphics operations that are possible in DirectX. 7) Linux threads aren't all they are cracked up to be. I have seen tests show that NTs threads not only take less time to create, but switch significantly quicker. Also, the sites makes excuses for Linux's lack of threaded applications. FACT: Multi-threaded apps are better. They may have slightly more overhead and are more complex to write, but it really pays of for those with SMP machines. It also pays of in todays systems because of the increasing number of CPUs in the system. Not only due to SMP, but the specialized chips systems use. Graphics cards can do operations independant of the CPU, so for most graphics apps, it makes a lot of sense to have an independant display thread. Thus, the main-thread can do things while the graphics card is busy working. Same thing for 3D audio. Instead of blocking the CPU waiting for the sound card to finish working, spawn another thread and have them process together. The trend is moving towards PCs with more and more independant chips, and there is no excuse for writing single threaded applications. FACT: Theading on NT doesn't use cooperative multi-tasking. Where did they get that? Threads are preemptivly threaded just like applications. FACT: Linux doesn't use threads nearly as often as it should. By having the kernel and libraries heavily threaded, and with fine-grained locking, performance really improves. However, BeOS hopelessly outclasses both in the threads department. The same tests that show that NT threads switch quicker also showed that BeOS threads switch 10x quicker (that is due to the different model BeOS uses for threads. I can't find the articl at the moment, but I'll post it when I do.) Also, the kernel, servers, kits and apps are heavily multi-threaded. The API encourages apps to be multi-threaded. If you've used BeOS on SMP machines, you know how important multi-threading is. 8) Linux really isn't that fast, depending on what you do. For server tasks it is undoubtedly a speed demon, but for desktop tasks, my NT4 machine (not to mention my BeOS machines) FEELS faster. Screens have less visible redraw, apps switch quickly from one to the other. Not to mention the fact that anything media oriented does much better on Windows than on Linux. (This is partially due to the APIs. X is really not great for fast display, OSS isn't really great for complex sound, the X input system can't compare to DirectInput, there really aren't that many MIDI APIs to speak of (at least those comparable to DirectMusic) and (as of now) 3D is STILL slower than on Windows. 9) The Linux desktop IS clunky. It's very attractive, but the Linux guys need to steal some ideas from the Mac instead of Windows.
|
This BLA FAQ is partially based on e-mails received by the author after the publication of two papers in First Monday:
In version 0.8 the following questions were added:
Linux and other OSes (VMware, BE OS, FreeBSD, NT)
The Tragedy of the Digital Commons: Free Ride on Free Developers
In version 0.7 the following questions were added:
Copyright © 1996-2004 by Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments
This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
Standard disclaimer: The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Created June 1, 1998; Last modified: October 11, 2004