When IT managers ask me if they should use Linux, my response is always the same: "It depends upon your needs and goals." This usually leads to a spirited conversation about long-term vs. short-term strategy, return on investment and "core competencies."
In the course of listening to these managers, I've found that the decision to switch comes down to five basic issues. These issues don't apply to every company, but they do apply to the companies that decide to go with Linux.
1. Linux is a true, disruptive technology. If you haven't read The Innovator's Dilemma by Clayton M. Christensen, I recommend you do so.
To shorten a great piece of work, here's an executive summary: Every once in a while a new technology comes along at a lower price point. The hard part for some companies to accept is that, though the new technology isn't significantly better, it's "good enough" to get the job done. It isn't until new technology gets better that companies realise they could have saved both money and time if they'd only made the switch earlier.
From the Linux perspective, the innovator's dilemma boils down to a single question: "Is Linux 'good enough' to handle my company's IT tasks?" If so, it pays to switch, because you know Linux will only get better with time.
Which brings us to the second topic:
2. The only business model that counts is your company's business model. Does it matter if your suppliers' software strategies are no longer the same as yours? It does only if you're worried more about supplier comfort level than the long-term health of your company.
3. Linux is a supported operating system. Just because the development model is open doesn't mean the support model is any different than what you'd find with a proprietary OS. If you're a small to medium-size company, you get your support from the system vendor, integrator or value-added reseller that delivered the software. If you're a large company, you get support from the actual distributor and developer of the OS.
4. Linux has a development road map. Again, you have to look at the vendor/distributor level to find it, but it's there. Each vendor you go to will have a one- to three-year road map laying out the exact features it expects to deliver. This is no different from the proprietary OS world. What is different is that with Linux, you can monitor the development process. You don't have to wait for a quarterly update from your sales representative, who is applying sales department spin (on top of engineering department spin) when he delivers it. I remember someone telling me once that I didn't want to see sausage being made because the process would turn me off. I think the same advice applies to the internals of OS development. That said, I also trust the chef who is willing to cook in front of me more than the chef who will only cook in a back room.
5. Using an open-source operating system doesn't mean you have to make your applications open source. The application of open-source licenses only applies when you start with somebody else's code, and that code is already open source. The easy way to think about it is this: If you write an application that runs on a proprietary OS, you don't have to give your application code to the OS vendor (unless you signed a terrible contract). The same is true with Linux.
Q: Do you think it would be a good idea to become a certified Linux engineer? I want to become a guru but don't know where to begin. I have purchased some books, but what do you propose?
A: This has raged back and forth with the Linux crowd. The old-timers don't see the need, but I think that there is a very real benefit for a lot of folks.
I'll make the assumption that you are talking about something like a MSCE or Cisco Certified Engineer and not a kernel development guru. (The answer to that question is to start coding.)
There are a couple of different ways of becoming "certified" in Linux. The first is to pick a Linux distribution and attend that company's programme for certification. The second is to become certified through the Linux Professional Institute.
But be advised that if all you do is take the course and pass the certification, your depth of understanding will seem low to anybody who has spent a lot of time with Linux. So the best thing you can do is to get a distribution and start working on doing configurations. Set up your own firewall, Web server and file and print services. Install a database. Hey, it doesn't cost you much to play around with this stuff.
In short, I would advise that the certification might help in getting past the HR department, but the people interviewing you will expect that you actually use Linux, at home or someplace else, before they will hire you.
Timothy D. "Wookie" Witham is lab director at the Open Source Development Labs, an industry-backed, non-profit corporation that enables development and testing of data centre- and communications-grade Linux enhancements.