Bring me your talented, your enthusiastic, your geeky masses yearning to code free. Linux has become the Ellis Island of operating systems, introducing an escape from proprietary environments that many developers find rigid, expensive, and unstable. With mountains of freely available tools and the open source ideology backing it up, Linux is proving to be a cost-effective alternative for the modern developer. Linux hype aside, developers are expanding their visions and making things happen with a lot of help from the Little Operating System That Could.
Geoff Norton, network security analyst for the Joint Program in Transportation at the University of Toronto and an avid Debian/GNU Linux user, sings its unmitigated praises. “The Open Source model that is associated with Linux is great,” he asserted to open source IT. “As it always has been said, two heads are better than one. If you put a lot of minds together on a project, you’re going to get better results than locking 20 Microsoft programmers in an office with Coke and Twinkies.
“Because Linux is free, I can develop on Linux without worrying about licensing costs. Things work better on Linux. For instance, I was coding a simple chat client to interface with [computer game server] battle.net for a friend. I had it working to satisfaction in Linux in about two hours. I tried to get it working on a Microsoft platform, and the port took me 10 hours. With Linux, I can sit where I want in my program with freely available software and watch what is going on.
“If I realize that something isn’t working the way I want to, I can change it. If it’s a kernel problem, I can change the kernel. I come from a mainly networking background, and I look at Microsoft network programming vs. Linux networking programming, and it’s a scary comparison. First of all, Microsoft’s TCP/IP stack just sucks. I remember trying to code something in Windows to watch for a certain packet, change some of the data in it, and carry on. Unfortunately, Microsoft’s Winsock.dll doesn’t allow packet sniffing at all.”
More control for developers
Open source ideology, stability, and remote access are only some of the reasons that Linux has become a development utopia. Other big pluses are the ability to pull down free tools from around the world and the ability to use a cornucopia of free programming languages to get the job done. Linux offers the developer the option of using the right tool for the job without having to spend a ton of money.
“I don’t want to have to pay $150 every time Microsoft decides to make a cosmetic upgrade to their C++ compiler,” Norton continued. “And portability from Linux to other Unixes is good. I get much more horsepower out of my Linux boxes than I do from my Windows machine. My WinNT runs at about 10 percent CPU when idling, using about 80 MB of RAM. Boot the same machine in Linux and it idles at zero percent CPU, using about 30 MB of RAM. Compiling the same source is about 10 to 20 percent faster on Linux as well.”
Remote access is a strong concern for developers who might have a source code revelation at three o’clock in the morning. It’s also important for those who need a common build environment for their entire project or those suffering from the It compiled okay at home! blues. “I can go home to my Linux box,” Norton explained, “tunnel an SSH, open up an X from my machine at the office, and be working from home, just like I was here.
“The only way to do that on Windows is [Symantec’s] PCAnywhere, which is slow. If I choose to do work on my Windows machine from home, I can still code on Linux that way. I just pop open Exceed and an SSH session, and away I go.”
Clyde Williamson, advanced technology analyst for a Cleveland, OH-based retail empire, chose Linux because of its inherent ability to let the developer control the programming environment. “I can customize my environment to do things the way I want them to be done. I can choose which language is best for a given project and have support right out of the box. I have the ability to use C, C++, Perl, LISP, and Python without leaving XEmacs.”
Williamson uses different flavors of Linux for each job, too. “Slackware has zero extras — just right for routers and firewalls. Caldera is so Windows-like that it scares me, but that’s perfect for the boss. Red Hat is a nice package that’s easy to work with while remaining extremely configurable.”
Ever since Linux started making an appearance on x86-based machines, individuals have found that they can get a lot more use out of older machines running Linux. There are still quite a few 486 machines on the Internet serving thousands of Web pages a day with ease. Corporations are realizing this value, too.
On a purely economic level, Linux is a least-first-cost approach to purchasing servers and workstations that actually works. Linux servers running Samba are a lot more reliable than the machine they’re emulating.
And so, developers and network administrators continue to pull their hidden Linux boxes from dark corners and are beginning to display them proudly. The corporate universe is welcoming the cheaper, more reliable alternative.ø
E. Charles Plant is employed at Andover.net as a columnist for Slashdot, and is founder of the Time City Project, an Open Source game development group. He’s an avid fan of Due South, and while a U.S. citizen wants to one day serve with the Royal Canadian Mounted Police.