| What is Open Source Software? |
|
|
|
|
Open Source Software ("OSS") is a way of developing computer programs that allows anyone with the programming skills, time and interest to correct, improve, and/or extend existing programs. Commercial proprietary software is created using a general-purpose programming language, like Visual Basic or C++. This creates a set of files called "source code", which is then compiled into the weird number-instruction combinations that computers actually use ("object code"). This effectively hides the original sequence and logic of instructions, making it very difficult to change. Add to that the end-user license agreements (EULAs) that accompany commercial software, which among other things says you won't try to do that, and the person or company holding the copyright has protected its profit interest. However, computers were originally designed and improved by academics and "geeks" (when that term was an insult), who didn't have a profit motive. They just wanted to create something special and useful, and bask in glory. Many have continued the trend for various reasons. Basically, knowledge is power, and some people feel that power should be hoarded and used to produce wealth. Others feel it should be shared and enriched by anyone who wants to. Both attitudes have their place in modern society. So, what's good about OSS?First, most OSS is free of charge. Not necessarily; the two phrases that are commonly used are "free as in speech" and "free as in beer." Free and Open Source Software ("FOSS") is realeased without charge, just usually an agreement that if you use it, you have to give the original author(s) credit. Most of these people are hobbyists or professionals in their spare time, and just want to know people like and use what they've done. OSS is by definition free as in speech, but there are many OSS programs that charge for their use. Of course, you're also buying the source code, so you can pretty much do what you want with it. And many FOSS programs are supported by not-for-profits, which request donations so they can keep improving their programs. Second, most OSS programs are being continuously improved, because anybody with the skills, time and interest can. Some programs are developed by teams of hundreds of people across the world, each contributing what they can and want. So as with any computer program, there are bugs, crashes, and just plain weirdness, but several to several hundred people are already working on fixing them. Bug fixes, patches, improvements, and whole new versions are available, usually for free. Third, the quality of OSS can be much higher than commercial software. Remember, most of these people are in it for the love of the game, not for money. A prideful programmer wants to put forth their best efforts, and most popular OSS have extensive peer-review or beta-testing processes. There's no rush to get it out the door 80% done, because there's no profit motive. Fourth, every profitable business and product has a lifespan, which does end. The reason you're probably using an improved IBM PC is because of Lotus 1-2-3. Neither of those exist today. OSS products can continue as long as someone, somewhere wants them to. Every silver lining....As I said, both attitudes have their place in modern society. OSS is not perfect, or even better in some situations. First, OSS is generally free or dirt-cheap. That's to get it. Now, what happens when you want help? Or even how to set it up properly? Most commercial software is far more popular, so there are a lot more Q&As, online forums, books, and trainings available. Many popular OSS companies have helpful Web sites with documentation and forums, but not all. Most of the largest OSS programs (like large-scale operating systems and database managers) make money by selling support. Also, if/when you need in-person technical help, like your server's having problems, it's usually more expensive because it's less common. So "free" software can actually cost more than commercial. There are many impartial (and slanted) comparisons of return on investment; do some prudent research. Second, commercial software is sometimes faster and better at improvements and fixes. After all, they have an interest in keeping their customers happy (although "happy" and "perfectly happy" have very different costs). Third, commercial software quality is sometimes better. Same reasons. What to do, what to do?My advice? Be as sensible and open to possibilties as you can before comitting. Do some research, talk to people, try to find help online. Talk with professionals who are experienced in both environments. Pretty much the same as any business decision. Just don't assume that because something is free, it's also cheap. You'd be surprised; this site is built with Joomla, a FOSS package that makes it easy to update any Web site without special skills. Most of the Web is hosted on Linux servers using Apache, which are both FOSS. And getting better every day.
|


