Sunday, January 17, 2010

The Fantasy World of Free Computing - Linux (yep!)

One of the great benefits of not being stuck in any one particular paradigm is that one can be flexible enough to evaluate new ways of doing things. I've never been one to stick to traditional ways of doing things forever, although I can be difficult to change paradigms, even when I find one that looks like it's better.

I've been a software engineer now professionally for over 30 years. Actually, yesterday was my official 30th anniversary. I began that professional career with a class at UCSD in Pascal programming on a Terak PC, three years before the IBM PC appeared and changed computing forever. By the time 1981 rolled around for me, I had already used at least five different types of computers for work, mostly programming, but I really wanted a PC.

It took me a while, but I plunked down over $4000 for my first IBM PC, complete with an Intel 8088 CPU, 64KB (yes, that's not a typo - 65,536 bytes) of main memory on the motherboard, a 256KB memory expansion card with parallel and serial ports, and a clock! It came complete with two double-sided 5 1/4" floppy disk drives that could hold an amazing 360KB of data each, and two were good so I could boot from one and leave it in while I ran programs or did word processing from the other. Also, because 320x240 color graphics monitors were too expensive, I went for the higher resolution 640x480 (I think) monochrome text-only monitor, which looked much nicer in green and white than the color dots that were uglier and harder to read.

I still have that piece of nostalgia, although it's mostly a dust gatherer in the closet (duh). Heck, the thing doesn't even have the capability for a hard disk drive on the motherboard - I'd need new hardware for that. (Stop laughing - this was 28 years ago - jeez!)

I never really liked MS-DOS. For one thing, a new version came out about every six months, and it cost another $100 (from Microsoft) each time, which was ridiculous. I didn't actually pay for an OS upgrade until DOS 3.3 came out, then again for DOS 6.22 and I may or may not have paid for DOS 7.???. For another, DOS is not really an operating system at all - it's more of a single-user interface to the computer that allows you to run programs. As bad as it was from the start (and many say it still is), Windows was at least a stab at a real OS.

As for MS Windows, well, let's just say that Windows 3.0 was still so bad no one liked it. Not even Microsoft.

Windows 3.1 was a whole different story. It only crashed about once per program you ran, and it had this really neat looking interface that might stay up long enough for one to study it admiringly before it crashed again. Half the time, when it crashed, it needed to be reinstalled.

In the mean time, I was busy working at my first company, laughing at the ever-richer Bill Gates and his hideous products that people somehow actually paid money to get. At work, we used our own computers with our own editors and so on, and word processing was still in its infancy.

This could get really long and boring, so I'm going to cut to the chase.

I was introduced to Linux through work (of course) in 1998. Frankly, I was not impressed. Yeah, it was free, but if you weren't a first-class geek, it was impossible. The average computer user would never take to it. Never. Especially not since Microsoft and the PC had pretty much invaded every professional computing workspace in the US, and a lot of software houses were making tons of money writing and selling Windows programs.

(Not me - I was too proud for that, and that's one reason for where I am today, but I digress....)

If you wanted a professional, supported distribution of Linux, you had to buy it, and one of the market leaders even way back then was Red Hat, one of biggest players in the Linux community today. I liked Red Hat, but I couldn't afford their prices, and, as I said, Linux distributions were still kind of immature and cranky, although once you had one running, it would run forever. Linux is a solid, reliable, powerful OS for many computer architectures, and with the GNU software community based out of the Free Software Foundation, there is a ton of UNIX-like capability built into even the most basic distribution, if you know how to use it.

Skip forward to 2007. Linux was becoming a buzzword in the computing community. Okay, actually the buzzword was "FREE" but they were not talking about shareware or even freeware, they were talking about Linux.

Why?

Because, my friends and readers, Linux has grown up. While not fully mature as a general purpose, all comers welcome, covers the entire marketplace kind of product, it is getting really, really close. There is a distribution of Linux that is (still) free and can be configured to look almost exactly like Windows. (No, I don't know how to do that exactly, yet, but it's coming and if there's interest, I'll figure it out and publish it. Here. Free.)

I got hooked because, in the summer of 2006, while I was off work on disability, I invested $39 in a copy of SuSE Linux, which was in transition to Novell Linux. I fought with it for several months before I finally gave up. It wasn't so much that it was radically different from Windows (be it 98, 2000 or XP), it was just plain hard to work with, and I don't say this lightly. To this day, I don't like SuSE Linux, but a lot of people do.

(What is SuSE? There's a fine reference that covers all this - it's called the Internet, and Google has many, many ways to find answers like that.)

In January 2007, I landed a job where part of my job was to learn a "new" version of Linux called CentOS. CentOS stands for Community Enterprise Operating System, and it is essentially a free distribution of Red Hat Enterprise Linux. It comes with the GNOME desktop environment, a full-blown graphical user interface that has a lot of similarities to Windows in a general way, but it is stable, it comes with the OS, and, unlike the Windows OS and environment, it is also free. It was easy to use, easy to update, virtually all of the UNIX environment tools are included, and you can go off and customize the environment to your heart's delight.

I was hooked. I had the golden opportunity to install CentOS on my own desktop workstation as part of my employment (i.e., my employer paid me to learn this stuff) - what could be better than that?

Here's what - I upgraded my home computer to have enough hardware power to handle running CentOS almost exactly the same as my work computer, and took the plunge.

Now, like I said before, I'm a first class geek, so most of this was pretty simple to me. I've always been fascinated with this kind of technology, so poking around to see how it worked was a natural for me, and on top of that I was getting paid to do it.

Fast forward to today. I run CentOS on my primary desktop workstation at home, on both of my old, cheap laptops (I can't get rid of the older one 'cause the newer one's headset plug doesn't work - grr) and I strongly recommend it to all my friends. I even wrote a lousy book about it that you'll probably never see, but I learned a lot from writing the book.

Open your eyes back up, for heavens' sakes! I know I'm not that boring - that's why I put in the skips past the dull stuff.

And now, what you've all been waiting for: What's wrong with Linux?

Nothing. Really.

There are some disadvantages you need to know before you take the plunge, unless you're a techno-geek, too, in which case you probably already know about them (or already took the plunge).

Linux is different from Windows. This is actually not so much of a disadvantage in itself, but the reality is that most people who use computers are familiar with or hooked into the Windows methodology. Fortunately, Microsoft itself already started to make the break with Windows Vista and Office 2007 - it's all so different that Linux actually looks more familiar to the average 3.1/3.11/95/98/NT/2000/XP user than Vista or W7. Also, Linux is not written to use up every extra CPU cycle that Intel and AMD can squeeze out of their latest and greatest chips. The Aero look of Vista (that pretty, transparent sheen that eats your CPU) does, along with a lot of other, background stuff that takes up time behind the scenes. Finally, neither GNOME nor KDE, the other popular desktop environment GUI, changed for the main purpose of confusing the heck out of all users - they're just more feature-rich with more options you don't have to use.

Linux doesn't have a multi-billion dollar advertising corporation pushing for global dominance in the PC and business markets. None of the contributing corporations is pushing it that hard, either. Why not? There's no market share when all the software is free and anyone can get it. There's also the issue of the big software corporations that are already making a fortune on Windows-based software, the kind of fortune they can't make in a Linux-based, free software market. Finally, the vast majority of software available for Linux is open-source. If you just said, "Huh?" read on.

Open source software is software (meaning office productivity suites, games, graphics editors, entertainment software and so on - what you run on your computer after you log in and actually want to do something) that comes with the source code. That means, if you know what you're doing, you can modify it to fit your own personal or business needs. You can fix bugs in it if you find any. You can add your own features. The only thing you can't (legally) do is sell it or make a profit on it.

Software, even the games, that comes with Linux distributions is not the same as what runs on Windows. Actually, that's only half true. A fair amount of open source software does run on Windows, but it doesn't look like what the big products you're probably used to seeing do. For example, OpenOffice, a full office productivity suite that is free and competes more or less directly with Microsoft Office, does not look exactly the same as MS Office, and that can be a problem for businesses and people that are stuck on the MS Office way. But it runs on Windows, UNIX, Linux, MAC and other OS platforms, all the same way.

Another disadvantage is that, while there is great coverage for nearly all aspects of computing under Linux, there are some particular programs that aren't available. For example, Internet Explorer, Microsoft's flagship web interface, problems and all, does not run on Linux. Most Linux users are cheering about that even now. The problem comes in where businesses construct their web sites using Microsoft tools that are designed to use IE's non-standard features, and although Firefox and certain other browsers can make up for a lot of that, there are some things that just don't work. If you use Firefox at all, you've probably seen some already.

(There are also some sites I've seen where IE doesn't work right because of its non-standard behavior. They are by far the rarer, but they did exist at one time.)

Finally (oh, thank God, he's almost done!), Linux can be confusing. There are several different distributions of Linux, and they don't all work exactly the same way. Red Hat, which also includes the Fedora and CentOS derivatives, is three. Debian, which includes Ubuntu and some others I'm not familiar with, is several more (there are a number of different distributions of Ubuntu). Gentoo, Mandriva, Slackware, SuSE/Novell - there a plenty from which to choose, and each one is just a little different behind the veil of the GUIs, mostly GNOME and KDE, although there are others here, too.

Linux still has two huge advantages: it is free, and it runs on almost any hardware.

It's a complicated world, if you want to see it that way.

I like to simplify it like this: pick one and go with it. I recommend CentOS.

(All registered trademarks used herein are the sole property of the registrants.)

No comments:

Post a Comment