You may have heard about Linux from co-workers or friends, or even read about it in the business section of your newspaper, in business magazines or seen it on TV. Linux, and other free software, offers a whole new way of using your computers. Read on for more about how it works, why it works, and what free software can do for you.
Nothing is free. There's got to be a catch, right?
Yes, nothing is free, but Free Software really is free. Is there a catch? I don't think so; I certainly haven't felt any pinch over the past few years of free software-only existence. But it helps to understand how the software business works:
Without software, your computer can't do anything useful Nothing. So, in the early days of the computer business, you buy a million dollar computer and you get your software bundled into the deal. Computer companies didn't really worry about you "stealing" software because they didn't sell software, only hardware. If you wanted to run a second copy of their software, you'd have to buy a second computer. And software from one mainframe company wouldn't run on a computer from another mainframe company, so piracy was of no concern.
Anyway, fast forward to the 1980s, when personal computers start cropping up everywhere, and commercial software vendors start getting ridiculous about adding copy protection to keep people from "stealing" software.
To a software vendor, "stealing" includes using a single copy of a software program on two different computers. So you have to buy one copy for your home computer and another for your office computer. And a third for your laptop.
And although software is protected by copyright law (just like books
and magazines), it isn't actually sold--just licensed. Which means that
unlike a book or magazine, which you can buy, read, and then do what
you want with it, including selling it to someone else, with software,
you can not transfer your license. So even though you spent hundreds of
dollars on licenses for desktop operating systems and applications,
when you are done with that software (for example, when you want to
sell the hardware you used the software on), you are NOT permitted to
transfer the license to another person. (It turns out you and I are not
allowed to do that, but big corporations usually get a "free ride" when
they sell their assets, but that's a different issue.)
But It's Worth It, Right?
Actually, commercial software is often a big waste of money. When you buy a license to some software package, you are, essentially, investing in the software vendor. You are betting that the software will do what you want it to do, that the vendor will continue to support the software, and that the vendor will fix bugs in the software for as long as you need it.
When a software company sells you a piece of software, they get a bump in their revenue not just from your purchase but also from an anticipation of ongoing purchases of more copies of the software, ongoing purchases of software upgrades and revisions, and ongoing purchases of support services, training, and so on. They may also make some cash from selling your contact information to other companies, or from marketing other products to you directly.
But none of this has anything to do with making your computer do what you want it to do, which is the real point of software.
Keeping in mind that software vendors are businesses, and therefore must be run on the basis of generating profit, your commercial interests as a business using computers are not the same as those of the software vendors. Here's what you, as a software consumer (whether as an individual or a business) want from software:
- Reliability. The software should work, every time you need it. It shouldn't mangle your data, it shouldn't fail to work at some times, and it shouldn't work partially.
- Consistency. It should work all the time, the same way. Things shouldn't change too drastically, and backward compatibility should be taken into consideration. You don't want to have to convert data into different formats depending on what version you're using, you don't want to have to convert all your data every time there's an upgrade, and you don't want to have to relearn the product every time a revision comes out.
- Cost. I don't want to spend more than I have to on software, and neither do you, probably. Yes, there are non-monetizable costs to using different kinds of software, but the fact is that most businesses today do not care if they can save a few hours of the time of their salaried employees because it doesn't cost them anything. The cost I'm talking about here is the money that you pay to another company for your software.
- Stability. The software shouldn't cause your system to crash every five minutes, or even every five weeks. And it should "play nicely" with other software, even software that hasn't been published yet.
- Stability (part two). Not only do you want your software to be "stable" in the sense of not crashing, but you also want to be able to maintain a stable computing environment. That means that you don't want to have to upgrade software unless you want to upgrade software - if it works, you want to have the option of leaving it alone. It also means that you want to not have to worry about whether your software vendor is going to be in business in ten or five years, or even two or three years.
- Features. Certain software vendors spend lots of time and money trying to get people (espeically software reviewers, and I should know since I was one) jazzed about the latest and greatest features. But the reality is that the vast majority of what you need to be able to do with software is pretty obvious and pretty much supported in the first version. Certainly, there is little chance you could find any commercial word processor that doesn't have, say, a find-and-replace feature.
Software vendors, on the other hand, have other goals, but mostly they can be summed up as "keep costs down and keep revenue up." So here's the software vendor list:
- Lock-in. Software companies don't want you to buy software from anyone else but them. Ever. So you get things like proprietary data formats, and problems interoperating with other software or systems, and so on. It's why Microsoft does so well: every upgrade and new release seems to be interconnected with every other product. If you want the latest version of Microsoft Whatever, you've got to be running the latest version of WhateverElse.
- Upgrades. At least there's a reason to buy a new car every once in a while: the car wears out. Software doesn't, but vendors have to try to convince you, first, that their software is the best and most complete in the world, and second, that you've got to chuck it all to buy the upgrade when it comes out.
- Support. Part of what you buy from a software company is supposed to be "support". That usually means having a phone number to call with any questions or problems. Response is sluggish from the start, usually, from the voice-mail menus, to the first-level support drones who will ask you if your computer is plugged in. You give lots of information and it all goes into a system, and the system is designed to keep the software vendor's costs low. You may have to pay extra for support, even though you've already paid for the software. You may even have to go and buy support from a third party vendor. What's worse is that each software support unit is designed to automatically point to someone else as being the source of almost any problem.
- Repeat business. See "lock-in" above.
But What's the Answer?
Most of the great programmers I know (or know of) are not great business people. For one thing, most of them work as salaried employees or as hourly contractors. Basically, they do work for hire, which means they write a program for someone else, who pays them a fair hourly rate, and then owns the program.
Software publishers take the work of these programmers and publishes it, just like books or music. And just like traditional publishers, they reap the lion's share of the rewards. But that doesn't mean you're always going to get what you paid for.
In fact, chances are good that you don't get what you pay for: check out your license for any commercial software you've ever bought, and you'll see lots of limitations on your "purchase:
- You can't resell the software license (non-transferrable).
- You can't make copies of the software (unauthorized copying).
- You can't make changes or reverse-engineer the software.
- You can't sue the software company that sold you the license if the software goes kerflooey and blows up your computer or your company (limitation of liability).
What this all means is that you don't get much control over "your" software even though you're paying for it. And it also means that when a commercial software apologist claims that free software is inferior because the contributors don't have any stake or formal framework for their software, s/he is not being perfectly honest. Because after all, the commercial software company won't take on any legal liability for possible damages due to bugs in their software, either.
Software companies make money by shipping software. It doesn't have to be perfect or even great, as long as it ships. Free software developers have nothing to gain by shipping buggy software.
Let me rephrase that last sentence: free software developers have nothing to gain by releasing buggy software--and even if they do release it, they have nothing to gain by mislabeling it as production quality.
In other words, when a free software project publishes a beta version, you can be pretty sure that it's working pretty well; when they release a stable version, you can be pretty sure that it will be stable. From many years of experience playing around with so-called "beta" commercial software as a reviewer for technology publications, I'm sad to report that the bulk of initial release software from commercial developers is rarely as stable as the betas from open source projects.
If an open source project claims their software is stable, you can generally rely on it. That means it won't crash your system, it won't lose your data, it won't stop working as expected, and it will do what it's supposed to do.
Even more important, open source software will not become obsolete and unusable just because the people who developed it decide not to work on it anymore. You get no promises from commercial software vendors. Consider:
You finally get your small company entirely computerized, using the state of the art Windows 3.1, Lotus 1-2-3, and WordStar. You've got all your spreadsheets setup just right, all your word processing templates working, and it's all set up to be easy to do everything from backup to entering new customers. And then Microsoft and Lotus stop supporting their software and WordStar goes away. Sure, you can keep using all those products, on your existing PCs. But...
- You'll never be able to run any of that stuff on a new PC (you can't buy a PC without the latest OS, and you can't install Win3.1 on a Pentium XX)
- You won't be able to upgrade your hardware, either.
- You won't have anyone to call for support on those old programs.
- And heaven help you if you lose your install disks and need to reinstall the software.
Of course, all those problems go away if you're willing to pay for new hardware, new software, and the many hours of development and support for building your customized application from scratch for Windows 95 and Excel and Word 2000. Or for Windows 2000 or XP or whatever else is coming up.
Or, you can opt for open source software. In that case, even when a developer loses interest and stops supporting your favorite programs, there's no reason to stop using it--someone else will very likely step in to support or update it. And if not, there will likely be some other program that does much the same thing, only better. Or else some other program that can import your data without losing any information or function.
And in the worst case, where the developer walks away and no one else picks up the code, you can hire your own programmers to update, fix, or add features to your software.
In Conclusion
Free software is a better all-around deal for everyone. You get more (source code and the freedom to upgrade or not, for example) than you get from proprietary software. And you don't have to pay for copy protection schemes, marketing, and all the other stuff that adds to the cost of proprietary software.
Programmers and the people who hire them to work on open source projects (when that happens) get the benefit of good, stable software that works (like everyone), but they also gain business opportunities for selling support (just like the commercial vendors). And the support you can get from an open source developer includes not just fixing the bugs but also adding new features that you want/need and making the software better. Most commercial software companies want to sell pre-packaged support in the form of access to their call-in lines or training seminars.
So, if you want to get your money's worth, choose free software!
© 1999-2007 Internet-Standard.com
Comments