Monday, July 26, 2010

Ten Reasons to Ignore Ten Reasons to Dump Windows and Use Linux

There is a tradition amongst the hard-core Linux aficionados to extol Linux's various virtues as a list of 10 or more reasons to substitute (as in "dump") an existing Windows installation with Linux. There's no reason to point them all out; a simple Google search ("10 reasons to use Linux") will provide you with such lists stretching back through the years, as well as hours of entertainment.

One very recent list caught my eye over the weekend, published by PCWorld. Their article, "Ten Reasons to Dump Windows and Use Linux", seems to have hit a nerve with me. Normally I just ignore such journalistic pap, since the majority of it comes courtesy of one ill-informed blog or another (such as this one). But in this instance a "real" publication put some time and journalistic "credibility" into this list, which places it in front of a wider audience than the typical blog poist (again, such as this one).

So let's consider all ten points, starting with the first in this list:
1. Commercial Support

In the past, businesses used the lack of commercial support as the main reason for staying with Windows. Red Hat, Novell and Canonical, the "big three" commercial Linux providers, have put this fear to rest. Each of these companies offers 24x7x365 support for your mission-critical applications and business services.
Of the "big three" listed, there's actually a "big two" and a third tag-along. The big two are Red Hat followed by Novell. Ubuntu is a much smaller player and a relative newcomer to market, compared to Red Hat and Novell. Red Hat is the longest-running Linux distributor of the three, and has been since it was founded in 1993. Red Hat is one of the very few pure-play Linux distributors that makes money, quarter after quarter, and year after year. Red Hat is also the largest pure-play Linux distributor.

Novell is actually the oldest company, having started in the PC networking world with Novell Netware. Novell attempted to diversify into the Unix market, first via Univel in 1991 as a joint venture with AT&T's USL, then when it purchased USL (Unix System Laboratories) outright from AT&T in 1993. Novell's foray into real Unix was limited at best; Novell continued to expand and innovate within the Netware product line until 2003, when it acquired Ximian and SuSE; the former eventually produced and released Mono, the port of C# to Linux, and the latter gave it a fully developed Linux distribution.

In the last seven years Novell has released a series of products based on these initial acquisitions, most notably Mono, SLED (Suse Linux Enterprise Desktop) and SLES (Suse Linux Enterprise Server). In 2006 Novell entered into a joint patent agreement with Microsoft, which ostensibly was meant to improve interoperability between Suse Linux Enterprise specifically and Microsoft's own Windows workstation and server products. This agreement generated considerable negative press in the Linux geek community, which, depending on your point of view is (or isn't) important. The geek fires over the agreement have pretty much died down (except in certain odd quarters).

Ubuntu is the youngest of the three; the distribution itself was initially released in October 2004, long after Red Hat was founded, and long after the initial release of SuSE (version 1 was released in 1994). Ubuntu is based on one of the oldest Linux distributions, Debian, itself first released in 1993. The problem with Ubuntu is that, while it can trace its roots to Debian, it injects considerable material of its own, and it bases it's releases on Debian's more experimental release branch. Ubuntu has also generated considerable controversy over its six-month release cycle, primarily over the breakage of various applications and features between releases.

If there is a fundamental difference between Ubuntu and its rivals Red Hat and Novell, it's that Red Hat and Novell have a true enterprise Linux offering with expected enterprise support, while Ubuntu's long-term support (referred to as LTS) releases are a simple promotion of their regular six-month releases.

For point 1, if you're considering Linux, either as a full replacement or as a supplement integrated into an existing Windows installation, then your best bet is to consider Red Hat or Novell. For my money, the only real choice is Red Hat Enterprise Linux (or RHEL), simply because Red Hat has been consistently profitable and growing; Novell has struggled to grow its Linux business while its Netware business has slowly faded, and Canonical, the company behind Ubuntu, has yet to have a single profitable quarter.

Now the second point:
2. .NET Support

Businesses that have standardized on Microsoft technology, specifically their .NET web technology, can rely on Linux for support of those same .NET applications. Novell owns and supports the Mono project that maintains .NET compatibility. One of the Mono project’s goals is to provide businesses the ability to make a choice and to resist vendor lock-in. Additionally, the Mono project offers Visual Studio plugins so that .NET developers can easily transfer Windows-based .NET applications without changing their familiar development tools. Why would Novell and others put forth the effort to create a .NET environment for Linux? For real .NET application stability, Linux is a better choice than Windows.
As was pointed out here, .NET support on Linux should be considered most carefully. Microsoft has been consistently advancing and updating the .NET framework since it's release in February 2002. Mono itself was first officially released in 2004. The current release of the .NET framework is version 4. As of April 2010, Mono's official release is 2.6.4. What does this mean with regards to supporting Microsoft's .NET?

According to the Wikipedia Mono page:
This version provides the core API of the .NET Framework as well as support for Visual Basic.NET and C# versions 2.0, 3.0 and 4.0. LINQ to objects and XML is part of the distribution, but not LINQ to SQL. C# 3.0 is now the default mode of operation for the C# compiler. Windows Forms 2.0 is also now supported. Support for C# 4.0 is feature complete (as of December 2009) but not yet released in a stable version.

Implementation of .NET Framework 3.0 (i.e. WPF) is under development under an experimental Mono subproject called "Olive", but the availability of a Mono framework supporting .NET 3.0 is not yet planned.

The Mono project has also created a VB.NET compiler as well as a runtime designed for running VB.NET applications. It is currently being developed by Rolf Bjarne Kvinge.
 It should also be noted that Mono includes an open-source implementation of Silverlight, called Moonlight. Moonlight is claimed to implement all Silverlight 2.0 and some Silverlight 3.0 APIs.

Regardless of what features and APIs are available with Mono, one of the biggest flaws of the current Mono implementation is within its garbage collector. As was pointed out here and on the Wikipedia Mono page:
However, the current conservative garbage collector (the "Boehm-Demers-Weiser Conservative Garbage Collector") has significant limitations compared to commercial garbage collected runtimes like the Java Virtual Machine or the .NET framework's runtime. The conservative collector can exhibit memory leaks that make it unsuitable for long-running server applications. As of July 2009, development of a modern garbage collector called "Simple Generational GC" (SGen-GC) is under way, but a date for incorporation into a production release has yet to be set. (emphasis mine)
Mono might be suitable for client-side experimentation, but its suitability as a total replacement for .NET on Windows server is questionable at best. Any business of any size would do well to think long and hard before choosing to move line-of-business applications written in C# to Mono on Linux (or to Mono on any platform, including Windows and Mac OS X).

The third point, Unix uptimes, is something of a straw man argument. Servers have to be carefully provisioned and configured to maintain the highest levels of availability (and thus uptime). All current modern operating systems, including Windows, can be so tailored as to provide equivalent levels of availability on individual platforms. Furthermore, techniques such as clustering and virtualization, which all modern operating systems support, further enhance availability and uptime. Arguing uptime superiority has thus become moot.

Point 4, concerning security, is another straw man argument. Concentrating specifically on the server-side use of Windows, Windows Server 2003 and later have made considerable strides in overall security. When properly installed and configured, contemporary versions or Windows Server are as secure as any version of Linux or Unix, and somewhat better than Mac OS X. The bane of good security on any server are the applications you install, and in this instance both Windows and Linux have very bad examples.

One of the biggest uses for servers is as web platform. It's unfortunate that too many beginning users install web server packages on both Windows  and Linux without properly configuring and hardening the installation, inviting breaches of security on both platforms. When properly installed and configured, Windows security is as good as Linux security, and both are quite good. Whether both are as strong as Unix is debatable, but for many applications both are more than good enough.

The fifth point, about transferable skills, is laughable and insulting. First is the attitude that Windows admins only know the GUI. There are any number of contemporary books devoted to nothing but the Windows command line, full of non-trivial and extensive examples for managing Windows servers. The single most powerful implementation of the Windows command line is the PowerShell. Introduced in 2006, it is fully integrated with the .NET framework, and provides easy automation of local and remote system management. The capabilities of the PowerShell will match any combination of Linux shell and scripting language. The idea that the seasoned Windows admin is ignorant of the Windows CLI and PowerShell exposes the ignorance of the author in making such a claim, especially in 2010.

Point 6 gives me considerable trouble:
6. Commodity hardware

Business owners will like the fact that their “out-of-date” systems will still run Linux and run it well. Fortunately for Linux adopters, there’s no hardware upgrade madness that follows every new version of the software that’s released. Linux runs on x86 32-bit and 64-bit architectures. If your system runs Windows, it will run Linux.
There is no guarantee that "out-of-date" hardware will run Linux in the manner that business owners expect their systems to run. There is a reason why systems are retired and made "out-of-date"; newer systems are produced by the vendors, and business needs change and grow over time. No system lasts forever, and when it has reached end-of-life, that system is removed and decommissioned from regular business service. Furthermore, contemporary commercial Linux distributions are as demanding of system resources as Windows, and perhaps even more so. If you find you must use "out-of-date" hardware for some business task, then your choices are limited to older releases of community-supported distributions, with all that that implies.

Point 7 also give me considerable trouble:
7. Linux is free

You may have heard that Linux is free. It is. Linux is free of charge and it is free in the sense that it is also free of patents and other restrictions that make it unwieldy for creative business owners who wish to edit and enhance the source code. This ability to innovate with Linux has helped create companies like Google, who have taken that ability and converted it into big business. Linux is free, as in freedom.
Linux is not free, especially commercial versions from Red Hat and Novell. If you're a business that wants peace of mind with your back-room systems, then you will purchase support from Red Hat or Novell to make sure that you're concentrating on your core business, instead of supporting back-room systems. The point that Google was indeed able to innovate on top of Linux by making significant changes to Linux, especially at the kernel level, is a valid point for the use of Linux and against Microsoft in that particular context. Microsoft's overly competitive behavior in the marketplace must carefully considered when looking for a software platform on which to build an idea. While the source to Linux (kernel, libraries, and applications) are essentially open and reasonably free to change, Windows source code can only be obtained from Microsoft with considerable portions under NDA. Again, this sounds terrible on the surface, but Microsoft's attitude towards their source is clear and up front, and is no different than other major vendors, such as Oracle. While freedom is bandied about rather glibly in this point, freedom includes the ability to partner with Microsoft, and to make the decisions necessary (or not) to be successful at it. And to go back to Google, keep in mind that Google has an extensive engineering staff devoted to the development and support of Linux, something that the regular small to medium sized business will not have.

Points 8 and 9 can be lumped together, because they underscore the same basic capability, and that's support. The devil is in the details. If you want 24x7 support where there's someone you can depend on at the end of a phone or an email, then you're going to buy such support from the major OS vendors. You won't get free comprehensive support. If you don't want to deal with Microsoft directly, there are sufficient partners who can provide the level of tailored help you need. The same holds true for Red Hat and Novell; both have built extensive partner networks every bit as strong as Microsoft's. Once again, reliable support is a wash as long as you stick with a reputable Linux vendor, just as you would expect by sticking with Windows.

Finally, point 10 on the list just makes me want grab the author and shake them until their head rattles:
10. Regular Updates

Are you tired of waiting for a Windows service pack every 18 months? Are you also tired of the difficulty in upgrading your Windows systems every few years because there’s no clear upgrade path? (Ubuntu Linux offers new, improved versions every six months) and long-term support (LTS) versions every two years. Every Linux distribution offers regular updates of its packages and sources several times per year and security fixes as needed. You can leave any upgrade angst in your officially licensed copy of Windows because it's easy to upgrade and update Linux. And, the best part? No reboot required. (emphasis mine)
The reason I want to shake the author until his head rattles is that the six month upgrade cycle requires a full upgrade of the existing operating system, with many instances of breakage along the way in features and applications between releases. This is a "feature" of the enthusiast distributions, of which Ubuntu is the most notable. Real businesses who demand high levels of availability at the lowest TCO possible will pick a commercial variant that does not upgrade every six months. As an example Red Hat upgrades are more finely grained (we're using RHEL 5.5 in our lab), a version that was officially released in March of 2007. The biggest feature of RHEL (as well as Novell) is the adherence to a specific kernel release, in this case 2.6.18 for RHEL 5. This does not mean that the RHEL 5 kernel has remained static and stagnant since its release; security fixes and important feature upgrades are back-ported from the existing kernel tree to Red Hat's on 2.6.18 kernel tree and released in a timely fashion. This also includes application-level fixes and releases. Sensationalism aside, Microsoft is every bit as diligent about releasing fixes as Red Hat and Novell, and all three are indistinguishable; they have to be, as they're competing for the same type of customers.

The final point of point 10 concerns reboots. Regardless of the OS, you should have a process in place for how those updates are applied to systems in your business. Usually, best practice dictates that updates are applied to a test system (or in this day, a test virtual machine), then tested with important applications to make sure that nothing has changed unexpectedly/is broken. This includes restarts to make sure that the system will start up as expected with the changes applied. Once you're reasonably satisfied with the testing, the real systems are upgraded in an orderly fashion, keeping a weather eye on any unintended consequences that my crop up, in case those changes need to be rolled back out. In all but the simplest of scenarios restarting/not restarting a system is the least of your worries, and you will restart them if the updates are extensive enough and involve the kernel.

The upshot of all this? You should only choose to use Linux if there is a very good business case for incorporating Linux into your business and you fully understand the caveats involved with switching. Only you can make that ultimate, and hopefully informed, decision. Naively switching without fully understand the consequences is a recipe for disaster, and a good way to tarnish the reputations of yourself, your company, and Linux.

28 comments:

  1. as a software developer I would love to love linux. I used Solaris (with a team of admins running our servers) for years and find it a great environment to work in for stuff like Apache, Oracle and Perl.

    However at home I only have one Linux server as a regular goer, the rest is win2000 or XP ... why? because it works better for desktop applications.

    I'd love to love linux, but every time I try it it just shits me off.

    I tried using Ubuntu 8 (when it came out) but it only works well on my ancient x20 Thinkpad ... sadly windows 2000 works better. On my x31 thinkpads it won't work well at all.

    I had heaps of issues (including the dodgy key management and application permissions keychain) so I ditched it.

    One of the developers at work (who only does Python) suggested I try 9 as it was "fantastic" ... well I tried it and its slower than win2000 or XP with only Firefox 3.6.x on it ... nowhere near the application base available for what I'd like to do (like Lightroom or process my digital images from raw to DNG)

    linux ... its for dweebs and time wasters who think that its ok to spend 4 hours to install Skype or upgrade Firefox

    I agree with you entirely

    ReplyDelete
  2. obakesan,
    You may have had your issues with installing Ubuntu on your ancient Thinkpads, your last statement on Linux being for "dweebs" who spend "4 hours configuring Skype or FF". I am one such "dweeb" who just spent 5 mins installing Skype from skype.com's website and upgraded FF to the latest build. Effortlessly.

    I am no software developer and I use Linux *exclusively* in the corporate environment. I had to send my Lenovo SL500 for repair and got a T42 as a standby. Now, if I were a Windows user, I'd have to reinstall Windows and all of the drivers. An easy 3-4 hr job. Under Ubuntu, I had to merely fix my existing hard drive in the T42 and viola...it was working out of the box. All Thinkpad keys were working.

    If you think that installing Skype or FF takes 4 hours, then you need a reality check.

    ReplyDelete
  3. 1. There's no one size fits all. For some businesses Red Hat is a good, maybe the only, choice. Still company size, in-house knowledge, application dependency, location of possible partners, and other factors could point at other options.

    I still don't see why this point is an issue, since Microsoft doesn't offer any real support by them own, and have recently started to improve the shifting quality level of their partners. You deal with the same choices whatever path you go, something the article you refute doesn't question.

    2. I wouldn't use .NET support as an argument. I actually don't think there's a good enough reason to use Linux but still depend on .NET.

    3. Maybe pure uptime isn't a factor. My own experience though is that Linux has smarter way of dealing with services and run levels, and hence easier to keep on going while solving unexpected issues. Even though I was a Windows only guy some years ago, I will hands down say that tools available from the command, combined with the whole set of remote access applications beat Windows. I would take that into account when making a choice of platform.

    4. Security has and is open for debate. Still I tend to give Linux the upper hand for some reasons. Until Core 2008 Microsoft hadn't been able to at least reach a fairly satisfying level of understanding and sorting out system calls, having a mess of calls playing ping pong between layers. They've made progress, but it's still a project in progress.

    In this respect I trust Linux (or BSD) more, since its design is known and understandable. From kernel and up Linux is more modifiable, meaning we could cut it down to only have the absolute bare minimum of code running. This isn't as easy achieved on the Windows platform, but on Linux as an whole OS, this is the whole nature of it: building blocks of choice enabling you to create a system for a specific use.

    5. I agree, Windows admins don't by rule know only the GUI. We've also seen indifferent Linux admins leaving big doors open for intruders. Choice of platform doesn't do an admin better or worse. On the other hand my experience tells me that the working methods of unix or unix-like systems have a certain logic that educates better, enabling them to actually become better in administrating Windows as well. I don't know if you agree on that.

    6. I'm not sure about that one either, because there's a limit for progress bound to the hardware itself.

    In my work the advantage in some instances have been the opposite: Linux have had better support of new hardware (especially before Vista and in some degree 7, 2000/XP/2003 did at times in my opinion depend on quite flaky, or difficult to work with, drivers). I have a good example though of how good top notch printers loose good drivers for newer versions of Windows, which is a curse of proprietary drivers.

    7. Nothing is free that requires investments, even if the only investment is in time. On the other hand we're back at the first point here: it really depends on the company and its in-house resources.

    8. Microsoft costumers here have the opinion that overall support works well, but complain that it takes too long to handle requests and solve issues. Sure no rule can be set here, but the Linux community, if you know it and where to ask, is really fast and also able to provide its own patches to send upstream.

    9. -

    10. I agree with you on that one. Sure I keep my own client PC rolling at work, but for most the newest is of less importance than reliability.

    I agree with your conclusion, even though I would add that choosing Windows isn't a safe bet as well. Whatever platform is chosen you need to think twice.

    ...

    @ obakesan
    Based on what you wrote you don't agree with the author of this blog post, because you don't take into account the questions discussed and don't make a factual and truthful conclusion.

    ReplyDelete
  4. I really don't see the point of bashing Linux or Windows or the users of either OS. If a particular OS suits one's taste and requirements, why should other people question that? I am a Linux user but I don't feel compelled to defend my using Linux or slam those who think Windows is better.

    ReplyDelete
  5. The Linux propagandists need to be called on their bullshit. Software is some big war to them and they have no problem using Machiavellian tactics to help their side.

    It's shocking how in the tech world someone can get an article published and clearly be devoid of knowledge related to the subject. Windows admins are uncomfortable with the command line? How clueless can you possibly be? I also don't understand this silly belief that launching process A from the command line makes you more of a man then launching it from the GUI. Freaking retarded.

    Anyways check out my previous post on using Ubuntu for servers:
    http://www.jfplayhouse.com/2010/07/cent-vs-ubuntu-for-web-serving.html

    I agree with your point about avoiding Novell, investing in tech provided by a company on the ropes is a bad idea.

    ReplyDelete
  6. wow ... why am I unsurprised at the levels of sledging expressed at me personally because I have an opinion?

    Anshul, if you got Skype on a vanilla version of Ubuntu 9 "Karmic Koala" without hitting dependencies and needing to download this or that then good on you ... I didn't.

    namaste

    ReplyDelete
  7. Alright, everyone. Let's all agree to disagree, and keep the personal aspects to a minimum.

    ReplyDelete
  8. Hmmm, your retorts are not significantly more objective than the original article. It would make sense to just comment on the clearly wrong points, instead of talking against every single one in a top ten counter argumentation list.

    In particular the "Linux is not free" argumentation path is a little weak. It's questionable because the cited PCWorld article wasn't about high enterprisey commercial users only.

    FYI, Ubuntu also has a two years lasting stable release. The release cycle of 6 months is for consumers, really. But there *is* an option.
    As far as update goes, it might also benefit businesses if said update cycle didn't only include core system components, like on Windows. All Linux distributions update ALL applications as well. You know, this is where most exploits reside nowadays. (I've seen enough business software that didn't see a security upgrade in a decade. Though that might as well happen, if you run proprietary apps on Linux.)

    ReplyDelete
  9. Ok everyone, step away from the keyboard, take a deep breath and sit back.

    We all probably have our preferred OS, or preferred OS for specific situations. And some of us are very faithful to that platform.

    But OSes, as every other thing you choose in life, has it's pros and cons. And they depend on what you are looking for.

    I'm sure that whoever wrote the original article, thought those 10 points were 10 great things about linux.
    That's HIS opinion and we can like it or not. The point is, if we are going to discuss about this (and we will in the years to come, and a lot) let's look at the whole picture.

    We all (or most of us) were born with windows, and learned to use our computers based on MS philosophy.

    Then we heard about linux, and decided to give it a go.

    Here is where the problems arise.
    Most of us (guided by the MS philosophy) find that doing more than pressing next on some windows to install a program is a show stopper, and went back to windows.

    If you tried linux some years ago. You were probably right, installing apps was a mess.
    Today it's better (way better) but it's still different from what it's on windows.

    As with every change you make in life, you have to adapt. Things won't be the same as they used to, and you have to learn a new philosophy.

    Once you do THEN you can choose the one you like more, but PLEASE don't do it before, just because you find some problems you didn't have to worry on windows.

    I can spend hours discussing on the great things of linux (and it's bad things too). But the one thing that i love the most is variety.

    Maybe ubuntu is not for you, you can always choose from a lot of other flavours.

    You don't want upgrades, try a rolling update distro, like archLinux.

    Want extra security, try a distro with SElinux like fedora.

    And if you don't find any that fits your needs from the go, then you can always add the components you like.

    If something doesn't work. Ask the community.

    Found a problem? Report it. It will probably be fixed soon

    I could go on forever.

    The point is, don't hate linux just because you had a bad experience or didn't find what you were expecting to find

    ReplyDelete
  10. You really nailed it with this article. RedHat and Novell are your only options though in the enterprise space.

    I would also recommend looking at Oracle Enterprise Linux (RHEL based), and for systems that don't need a support contract (Development) I would recommend going with CentOS.

    Ubuntu server is a nice product, but it doesn't have the mature lifecycle of the enterprise distributions.

    ReplyDelete
  11. "FYI, Ubuntu also has a two years lasting stable release. The release cycle of 6 months is for consumers, really. But there *is* an option."

    No, it has a 2 year support release which is based on Debian Testing + other homegrown and unproven software. The 6 month release is for development of the distribution not for consumers.

    ReplyDelete
  12. Ha, seriously. You should really get your facts straight before criticizing a real journalist. It cracks me up.

    And, by the way, should title to your "awesome" retort be: "Ten Reasons to..." and not "Ten Reason..." Come on, if you're gonna beat someone up, get it right.

    And, Ubuntu is actually as good as Novell or Red Hat for the Enterprise. Where have you been?

    ReplyDelete
  13. mario said...
    Hmmm, your retorts are not significantly more objective than the original article. It would make sense to just comment on the clearly wrong points, instead of talking against every single one in a top ten counter argumentation list.

    Not significantly more objective? The original article was inflammatory from the first paragraph, and kept that tone all the way through its ten points. Your comment that I should "just comment on the clearly wrong points" reminds me of the old "go get a rock" game; what points do you consider "clearly wrong?"

    In particular the "Linux is not free" argumentation path is a little weak. It's questionable because the cited PCWorld article wasn't about high enterprisey commercial users only.

    I don't care if it's a one-person shop or a megalithic multinational, no OS is free, not even Linux. Your up-front costs (or the lack thereof in some cases with Linux) are trivial in comparison to the ongoing time and effort required to install, configure, and maintain the OS over the lifetime of the system. The problem grows even more complex and time-consuming depending on the applications installed on top of the OS. A lot of this can be mitigated with paid-for service and support, which can come in quite handy when there's a problem that can't be quickly solved by your shop.

    ReplyDelete
  14. nicolas said...
    Here is where the problems arise.
    Most of us (guided by the MS philosophy) find that doing more than pressing next on some windows to install a program is a show stopper, and went back to windows.


    Here's a counter-argument to your "dumbed down by Windows" argument. Back in 1996 I was exposed to SGI's IRIX, and it was a beautiful thing to behold. One powerful feature of IRIX was a GUI-based installation management tool that allowed you to manage everything installed on IRIX as well as install updates and new applications. It was graphical. It was powerful. It was easy. It was wonderful. And it was on Unix. And it was far in advance of anything you could get on Windows and Linux for quite some time.

    Yes, a lot of people did attempt to use the command-line tools provided by early Linux distributions and they did taste the bitterness of failure from an improperly installed application to a completely unusable system. In the case of a hose system many immediately went back to Windows. The others kept on for a time, until they realized they too could reinstall Windows, then install the exact same application with far less trouble, and get on with the task at hand.

    I'm from a command-line background, and have no great and abiding love for it. The only feature that makes the CLI environment tenable for me (and a lot of other folks) are the virtual desktops that Linux provides (Ctrl Alt F1...). Before I discovered virtual desktops, I lived in emacs, and I did all that to better organize my work environment to be more efficient and effective.

    That's why GUI's are much prefered to CLI's, and why if I do drop to the command line I do so in a shell on the graphical desktop.

    If you tried linux some years ago. You were probably right, installing apps was a mess.
    Today it's better (way better) but it's still different from what it's on windows.


    I've watched Linux evolve since SLS. The "mess" came after those early days, when the growing complexity and the desire to include every application possible in a distribution overwhelmed the simple installation and management tools. Today's distributions are bloated messes, carrying along applications and their convoluted dependencies to the detriment of Linux. If contemporary distributions were cleaner and leaner then it wouldn't matter if a CLI or GUI tool were used. Today's GUI tools make it easier to manage the mess underneath.

    The point is, don't hate linux just because you had a bad experience or didn't find what you were expecting to find.

    Oh, brother. I don't hate Linux either, just the adamant ones who think Linux's liabilities are actually assets. As for what I'm expecting to find, I expect to find an OS that works for me rather than the other way around. None of the OSes are where they should be in that regard.

    ReplyDelete
  15. Dunno. This article seems kind of goofy at some points.

    I've used both Windows (for quite some time now, about 17 years?) and just recently switched over to Linux (about to hit 2 years now).

    There was a learning curve, and yes, at times if I was looking for a very niche application I had to compile it. Was it a monstrous task? No.

    Dependencies aren't that difficult to figure out, and neither is using the commandline.

    It does not make you 'more of a man' to do things via CLI vs GUI- however it does make you worth more as an admin. The main reason I say this is because GUIs (even though they might be DE universal, like OpenSuSE with Gnome, and Ubuntu, CentOS with Gnome) generally have subtle differences between distros. There are different approaches to the same result, as package managers, control centers and a plethora of other elements differ through distributions. A prime example of this is Yast vs everything else. Quite an ample difference.

    CLI is generally universal. Sure, one distro might use zypper, another might use apt-get, another might rely heavily on yum- but there is generally less distraction involved with the CLI. Even though there are specific commands to run, I don't have to memorize where to click and the like- just the commands and potential arguments (and if stumped, there's good ol 'man x'- bloody brilliant imho :D).

    About the actual list:

    Dunno. This article seems kinda clammy. KimTjik basically said it best for nearly all points. However, my 2 cents:

    2. .Net lol. I have to agree with you on this. It's not quite there. Is this a problem? About as much of a problem as stumbling across a pack of starving, savage, vegeterian wolves.

    3. You must have had some great luck to not have horrible uptime in Windows. We had 2003 and 2008. For what we ran (sandboxed environment/test apps and scripts), I was shocked that the servers would get this slow. Period.

    It was funny... I actually got in a heated debate with my IT manager at the time. Called him an idiot because he was Windows only and too blind to see anything past that (nothing wrong with it- if you have solid reasons for being like this. This guy was just stubborn for the sake of being stubborn- never gave a good reason). I tried running 2 VM instances of Windoze XP on a newer laptop with Vbox. The bloody thing could barely keep up, and it was a relatively new Lenovo it was running on. The Lenovo was running XP. It had 2GB of ram. Each instance had 512MB of ram. Core 2 Duo (can't recall the model exactly of the Lenovo).

    I got pissed off... Took a Dell D610 (for those of you that know these, they're quite borderline garbage). I threw Vbox with said 2 instances on there. This thing had 1.5GB ram. I assigned 512MB to each. I had Compiz running. Did it stutter? No.

    Did I reboot this -LAPTOP-? No. It ran better than the new Lenovo with Windows XP on it. I was blown away myself, actually.

    I know this is ad hominem, but it's to lead to the point I'm trying to make...

    The servers that we had, even with sandboxing, would not live past 3 months without having to be rebooted.

    After showing off the laptop, one of the company VPs was impressed. They gave me a project to take a Dell Poweredge 2950 and turn it into a testbox. I threw OpenSuSE 11.1 on there, Vbox, and several instances of VMs (3 at the time). This was almost a year ago. Have they restarted it yet? No. Has there been a need, despite updates? No. (Non-kernel updates, ofcourse. Kernel update would require a reboot.)

    VNC is up and running as well, ironically (something I wasn't expecting to function well with the now 5 VMs they have on this box).

    Try doing this on a Windows box with the same hardware. The kernel has garbage resource management- it would not last long.

    Ultimately: Yes. Uptime is an issue. There are specific cases where both OS' are lacking- but I've found Linux to usually be in better standing for uptime.

    ReplyDelete
  16. Part 2:
    4. Security is quite open for debate. Egads people. The underlying security infrastructure for Windoze is quite flawed. I actually specialize in telecomm/computer security. Because of the way that processes are handled, the (as mentioned) confounding system calls, ACL base and the kernel (piling heap) it is much easier to mess up a Windows box than a Linux box.

    Windows box will usually be heavily dependent on an anti-virus resident (and anti-xWare resident/app unless it's integrated in an anti-virus suite such as Avira's). Even though there are fantastic companies like Avira out there, it's not impossible to get past this sort of security- and in some cases, not difficult. If you ever have your resident compromised via being pushed out of memory by a memory leak/etc- then you're in a world of trouble. I've yet to see something like this happen in Linux (not to say it is impossible either- ofcourse). In Windows, I have. Not just once.

    I could keep going- but I'd be boring you.

    I'm not anti-MS. I might be anti-Windows (by preference, not just blind hatred), but that doesn't stop me from being objective. Use whatever you like. You like Windows? GREAT. Go ahead. Use it. You like ? Fantastic! Do as you please. But there is a fine line between getting pissed off, defending something on flimsy ground and standing up for something that holds its own.

    Despite me being excited about Linux and using it happily- you know what I told my friends when Windows 7 came out? "Wow. It looks like Microsoft did a decent job." And it did, actually. I was surprised to see how much they've improved Windows in 7. It wasn't enough to make me switch, mind you- but the credit was certainly due. One's objectivity should never be purely clouded by subjectivity such as opinion, preference or past experience. There will be bias, but it's professional to keep it minimal.

    @Obakesan:

    You complete tool. I despise people like you. Why, and for that matter: Why would I use such a heavy word as 'despise'? Simple.

    You wrote:
    "wow ... why am I unsurprised at the levels of sledging expressed at me personally because I have an opinion?"

    Meanwhilst, earlier you declared:
    "linux ... its for dweebs and time wasters who think that its ok to spend 4 hours to install Skype or upgrade Firefox"

    You utter and complete tool. I bloody -HATE- the shit-eating grin that people put up sometimes. Ofcourse you are 'unsurprised': after blasting people that use Linux, calling them dweebs and time wasters because of your own experience(s)! There's a difference between having an opinion and openly insulting folks of a certain preference.

    I might have my gripes with Windows, but do I call the folks that prefer to use it knuckle-dragging morons that fuel the spyware/virus economy? NO.

    Do not play this bullshit 'Oh woe be I, I've done nothing wrong' card by labeling your own conviction as 'opinion'. Either stick to your guns, or gtfo the internet. There's enough trolls on here.

    ReplyDelete
  17. @CommonOddity

    Dependencies can be very easy, or very difficult. Those that require exporting LD_ASSUME_KERNEL and LD_LIBRARY_PATH are a little more challenging.

    In response to your #3, this is a flawed argument. Uptime is irrelevant when applications are properly designed. You should be able to reboot any one server without impact to your application.

    Implying that you haven't rebooted servers in months just reeks of not managing your servers properly (patch management 101).

    Testing Windows XP on a laptop, and using compiz doesn't really build an argument against servers now does it? Windows Server runs quite well in a virtual machine, Virtual hardware has been rock solid for years.

    Using VirtualBox? Seriously? VirtualBox is a desktop application. You should be using esxi, Xen, or KVM if you want to be taken seriously.

    VNC? WOW.

    Since you are using desktop applications to pretend to do server testing, Windows can do the very same job using the very same tools. Just so you know.

    Ultimately, uptime is only an issue if you are building single servers and not solutions.

    #4 - There are really great hardening guidelines for both RedHat, and Windows (and other Linux distributions too). Properly designed solutions don't sit on the internet and only expose certain ports and protocols to filters designed to only allow the appropriate traffic to talk. Security is a non-issue if your servers are configured properly for your application.

    When you have the right tool configured the right way, it doesn't matter if it is Linux or Windows anymore.

    ReplyDelete
  18. I think the point of the 10 reasons article is to expose people who have never heard of Linux to the possibility that they can run it. Also to tell people who tried Linux in 2001 to take another look at it now.

    One size does not fit all. But if you don't need Quickbooks, Photoshop or Autocad, only do light document editing and copying photos from your digital camera and web browsing. And you are the kind of person who's windows computer gets bogged down due to spyware or just not knowing how to maintain it. Then Linux on your computer may very well work better for you than Winodws.

    If every user that was true for knew aobut Linux and someone would install it for them. The world would be a better place. And I mean that literally. It would cut down the size of the bot nets by a considerable margin.

    ReplyDelete
  19. Elder Geek said...
    I think the point of the 10 reasons article is to expose people who have never heard of Linux to the possibility that they can run it. Also to tell people who tried Linux in 2001 to take another look at it now.

    Then it should have been written that way, instead of the opening paragraph's deliberate inflammatory tone.

    One size does not fit all. But if you don't need Quickbooks, Photoshop or Autocad, only do light document editing and copying photos from your digital camera and web browsing. And you are the kind of person who's windows computer gets bogged down due to spyware or just not knowing how to maintain it. Then Linux on your computer may very well work better for you than Winodws.

    Let's look at this point by point.

    But if you don't need Quickbooks, Photoshop or Autocad, only do light document editing and copying photos from your digital camera and web browsing.

    You'd be surprised the number of people who use Quickbooks for personal use. So that precludes that group of people. Then there's the Photoshop and Autocad group of users. Those are pretty heavy hitters, especially Autocad. Overall they're a much smaller group we can preclude. Then you mention light document editing, which can be done with OpenOffice and KOffice or something standalone, such as Abiword. The problem is compatibility with the universe of Windows Office. If it's for your own personal use then its reasonable to pick any of them, because there's a good change it can be printed out on the system for hardcopy if and when you need it. But if you need to share it, then it becomes more problematic; you need to make sure your recipients can open and read your documents.

    You mention copying photos from your digital camera. There's a much higher chance you won't be able to read your camera's flash card from your camera under Linux than under Windows. Every camera manufacturer ships apps and drivers to read their camera under Windows, and quite a few for the Mac. With Linux it's hit or miss, unless you use an external card reader such as a SanDisk Imagemate, which makes that whole process just that much more complicated for the "light" user.

    And you are the kind of person who's windows computer gets bogged down due to spyware or just not knowing how to maintain it. Then Linux on your computer may very well work better for you than Winodws.

    Which begs the question, if the user is doesn't know how to maintain Windows, how much better will they be maintaining Linux?

    The kind of person you just described would be better off on a Mac. Drop the need for light editing, and they'd be better off with a new iPad.

    ReplyDelete
  20. Bill,
    I disagree with some details of your article, I do however agree with the scope and purpose of it. I have grown tired of the Win vs. Lin arguements, most especially because the _facts_ as they are reported are usually incorrect, misinformed or completely out of context, and written by someone who has very little actual experience in the context he/she is writing about. They simply don't have the background to make valid and relavent assertions. I therefore am with you on this. In fact I recently used the tired Lin vs. Win arguments as a comparison to another unrelated but quickly becoming tired argument in the gaming community.

    ReplyDelete
  21. Sean said...
    Ha, seriously. You should really get your facts straight before criticizing a real journalist. It cracks me up.

    I'm so happy you find it all so entertaining. And what facts, pray tell, do you feel should be straightened out?

    And, by the way, should title to your "awesome" retort be: "Ten Reasons to..." and not "Ten Reason..." Come on, if you're gonna beat someone up, get it right.

    Point taken. The title has been corrected.

    And, Ubuntu is actually as good as Novell or Red Hat for the Enterprise. Where have you been?

    Since we're into journalistic integrity, do you have links that back up your assertion regarding Ubuntu's equality with Red Hat and Novell in the enterprise?

    And by the way, while you're at it, could you ask Ken Hess (the author of the original article) to supply facts to back up his assertions as well?

    Thanks.

    ReplyDelete
  22. @FEWT

    There's a reason for the use of VBox at the time. Time constraint. We did not have the time to buy licenses for VMWare products or to toss up a proper KVM/Xen environment (And I will sheepishly admit, that I did not at the time possess enough experience with either). If I was given more time, I would have gladly attempted Xen/KVM. I had 1 day to get this poweredge ready and shipped out to the data center.

    They needed it up and running, and required very quick testing.

    VNC was not my decision, despite my arguing with our IT manager.

    Comparing laptops to servers may not be ideal, but this is an argument of scaling, mon ami.

    If a laptop with hardware lesser than the aforementioned Lenovo is able to perform so well with only 1.5GB of Ram (while running Compiz, and two simultaneous instances of Windows XP set to 512MB each) then you can only imagine how clean and efficient the Linux kernel is by comparison. That is what I was getting at.

    Per the uptime bit and patch maintenance... I would disagree. Most of the time reboots truly are not required. The kernel is a different issue. There is proper maintenance with applications, and generally there is no requirement to reboot anything- apart for maybe specific services. I wouldn't put it outside the realm of possibility that I am not experienced as you are, and quite likely have omitted a critical step in maintaining the patches (Which does require a reboot), but so far I'm not sure what that would be. Could you provide me with an explanation/tutorial of what this might be?

    Per the dependencies: I'm actually not familiar with this. I'll have to look into it further. I guess my experience is still limited.

    ReplyDelete
  23. Escoce said...
    Bill,
    I disagree with some details of your article, I do however agree with the scope and purpose of it. I have grown tired of the Win vs. Lin arguements, most especially because the _facts_ as they are reported are usually incorrect, misinformed or completely out of context, and written by someone who has very little actual experience in the context he/she is writing about. They simply don't have the background to make valid and relavent assertions. I therefore am with you on this. In fact I recently used the tired Lin vs. Win arguments as a comparison to another unrelated but quickly becoming tired argument in the gaming community.


    Thanks, Escoce. Just out of curiosity, which details do you disagree with? Such a discussion is important.

    ReplyDelete

  24. CLI is generally universal. Sure, one distro might use zypper, another might use apt-get, another might rely heavily on yum- but there is generally less distraction involved with the CLI.


    I've never managed a Linux server through the GUI. I only used X for Firefox to read about how to do something with the command line. GUI management in Linux has always felt like an afterthought.

    I'm was talking about the condescending and ignorant attitude towards Windows admins from Nix admins, and those that pretend to be Nix admins as best exemplified by the author of that article.

    Windows has powershell for those that want a rich command line environment but many of the services are faster to setup with the GUI due to being able to immediately see all options available. The fact that you can click properties on anything is often a time saver.

    ReplyDelete
  25. @ Bill Beebe

    The mess under the hood you talk about isn't a Linux necessity but a distribution decision. You have clean and lean distributions just as bloated ones. From a enterprise point of view, which is the one you argue about, it's of great advantage to have control over the bits and pieces and not rely on obscure packages of a whole bunch of updates.

    Is QuickBooks such a popular application in the US? I'm asking because I've never seen any person use it. To me it looks like many here are abandoning these installed applications in favour of web-based, OS agnostic solutions.

    The Photoshop argument is interesting. You have a few who understand how to use its potential, hence making it a niche product sold, or usually pirated, to a lot of folks. I doesn't matter for me, but its still funny (or tragic) to see how it shaping opinions of those who don't know what to do with it.

    I think you exaggerate the difficulties of Linux. I admit to avoid certain brands, but overall I don't think much about whether it support Linux or not these days, because good quality stuff usually do. Do you know of any Camera using a flash card unreadable in Linux? It would be good to know in case I choose to buy one more.

    ...

    To me this matter is about choice. If someone, like my brother, wants to be a die-hard Windows user, even though working with server stacks (or he isn't really because he works with Cisco stuff), it's their choice. If someone argues or ask about though, I won't lie and pretend that Linux is useless for everyone except real coders.

    I like the way Linux works, but would without hesitation jump ship if a better OS entered the market. To me Linux is about saving time, and having a product I easily can control and modify to work for whatever purpose I choose. At work it's the same: save time and have an efficient working environment, in a GUI world on working stations and by SSH+Screen(or Tmux) with a bunch of none-X graphical applications for the servers. It's the best option for me, me alone.

    ReplyDelete
  26. KimTjik said...
    @ Bill Beebe


    The mess under the hood you talk about isn't a Linux necessity but a distribution decision. You have clean and lean distributions just as bloated ones. From a enterprise point of view, which is the one you argue about, it's of great advantage to have control over the bits and pieces and not rely on obscure packages of a whole bunch of updates.

    Fair point.

    Is QuickBooks such a popular application in the US? I'm asking because I've never seen any person use it. To me it looks like many here are abandoning these installed applications in favour of web-based, OS agnostic solutions.

    It would appear to be popular in the US. I know a few friends who use it (which is not an honest sampling of users, I'll admit), some of which are going to the "web-based, OS agnostic solution" via Firefox.

    The Photoshop argument is interesting. You have a few who understand how to use its potential, hence making it a niche product sold, or usually pirated, to a lot of folks. I doesn't matter for me, but its still funny (or tragic) to see how it shaping opinions of those who don't know what to do with it.

    More tragic than funny. I use Lightroom 3 and PS CS5 for my personal photography, primarily LR. So you can see what I'm wedded to: Windows. I have toyed with the idea of moving to a Mac, but I haven't had the impetus to move off of Windows. I tried the Gimp for a while, but eventually went back to PS. Again, personal needs.

    I think you exaggerate the difficulties of Linux. I admit to avoid certain brands, but overall I don't think much about whether it support Linux or not these days, because good quality stuff usually do. Do you know of any Camera using a flash card unreadable in Linux? It would be good to know in case I choose to buy one more.

    Funny you should ask. I have two cameras, an Olympus E-3 and an Olympus E-P2. I had the E-P2 with me today, and on a lark went in and plugged it into the one of the workstations running RHEL 5.5. When plugged in the E-P2 queried if I wanted to run it in storage mode, which I selected. Once the E-P2 was in storage mode the Gnome desktop automounted the SD card/camera, and gThumb 2.7.8 launched and asked if I wanted to import the images it found. I only had one image on the card and so I let gThumb import it, which it did. I was also able to simultaniously browse the card's file system and image under Nautilus 2.16.2.

    This is actually quite positive, as the E-P2 is fairly new (having been introduced last November). All my experiences with RHEL have been quite positive, more so than with many of the community distributions. The only other commercial Linux I've had an equally positive experience with was SLED 10, which was back in 2007.

    My observation about Linux and cameras stands; I'd be more cautious about trying to work with cameras under Linux than under Windows, but if I had to pick one distribution to do any work I'd probably pick RHEL Workstation.

    To me this matter is about choice. If someone, like my brother, wants to be a die-hard Windows user, even though working with server stacks (or he isn't really because he works with Cisco stuff), it's their choice. If someone argues or ask about though, I won't lie and pretend that Linux is useless for everyone except real coders.

    Yes, it is about choice. But informed choice, not blind choice. I've grown conservative over the years and no longer like to live on the edge. Whatever OS I choose it better live up to its hype, and it better not break because somebody shipped out a fix that included some fabulous new and shiny feature.

    ReplyDelete
  27. Folks, I suggest you read this article about a research topic which is equally applicable to this discussion.

    http://www.abc.net.au/worldtoday/content/2010/s2960916.htm

    "A timely piece of research from a professor of politics in the United States may throw some light on just why election campaigns tend to be vacuous, fact free zones and why political manipulation is so effective."

    It would seem the very same issues effect the rational discussion of operating systems, where the discourse fits the pattern of it being about belief and not about evidence

    As I mentioned before I prefer to work under unix, but I prefer to work on my job and not administer a system. I think you'll find it hard to demonstrate that an average joe can get up and running with less hassle on Linux than on XP.

    I would discuss some more on this but I suspect the facts or the evidence will be unimportant to those who believe one or another.

    I use both and quite agnostic about either.

    ReplyDelete
  28. Comment posting is now closed.

    ReplyDelete

All comments are checked. Comment SPAM will be blocked and deleted.