Anyone who has spent much time with me knows that I am passionate about open source software. Sometimes it’s called FOSS, F/OSS, FLOSS, OSS, or other terms. FLOSS is “Free/Libre Open Source Software.” From that, it’s pretty easy to figure out the shorter versions, just drop a term as needed. Note that the word “free” is an important part of this, but in software, there are two meanings to the word free. Programmers and other computer people often indicate this by referring to both meanings as free as in beer, or free as in speech.
The first meaning, free as in beer is important and makes a big difference in what people can use on their computers. What if I told you there was a program that could read and write almost all the files in Microsoft Office and it could work like Office, except less likely to crash and with fewer bugs, and it is free? Yep. Free as in beer. Totally free. I can give you a link, you can go to that web page, download the program, use it instead of Office, and never pay one single red cent for it. Oh, yes, and it is completely legal. I’m not pulling your leg. But a large part of why such a program is free (as in beer) is because it is also free (as in speech).
Yes, I’ll give you the link to download this, and other free programs. It’s at the end of this article (so if you just want it and don’t want to know why it’s free (as in speech and beer), you can skip ahead).
When you see a term like FOSS, the F usually stands more for free as in speech instead of free as in beer. This is what programmers and many computer people care about. Sure, the free as in beer is a big help to your bottom line, but free as in speech is more important, and to understand that and what “open source” means, first let’s look at what “source” is. Whenever a computer program is written, there is the original form of the program called “source code.” Often it’s just called “source” or just “code.” The terms are almost interchangable. This is the source of the entire program, like the way a spring is the source of a river. The program comes from the source a human wrote. This source is then compiled or run (or a combination of both) by a computer.
If a programmer has a copy of the source code, he can change it or adapt it as needed. And, almost more importantly, he can fix any bugs in the source code. If he does a good job fixing the bugs or adding or changing features, he can send his additions or edits to the people who created the program and they can add them to the original program. Let’s look at an example. Suppose a programmer needs a word processor that is open source. He finds one, starts using it for his project, but finds a bug. He gets the source code, reads through it, finds the bug, and sends that fix back to the original programmers. They thank him and include the bug fix. It would then be in the next version, for everyone using the program to get. He can do this with adding new features as well as fixing bugs.
This is an example of open source. If I get a program and want to modify it, I can get the source. Imagine Microsoft Office doing that! Think of what happens now. Office is written and the source code is kept secret. It is sold and there are always many, many bugs and fixes. If you find one and try to report it to Microsoft, do you know if they’ll ever fix it? They might, or they might ignore you. If you’re a programmer and you find a bug, you could fix it, but you don’t have the source code. On the other hand, if you us an open source program, find a bug, and know how to fix it, you can fix it, submit the fix, and that will probably take care of it. If you want to add a feature, you can add it and they will likely include it in the next version. Could you ever do that with any Microsoft programs? No. Not by any chance. Never.
If you’re like most people, you probably have two questions right now: 1) If I’m not a programmer, how does that help me or how can I help? and 2) Doesn’t this mean the “bad guys” can also get the source and mess it up or easily write viruses for it? Let’s look at #1 first. If you’re not a programmer and you find a bug, you can report it and get on the mailing list for that program and possibly find a programmer that can fix it for you. If you have the resources, you could put a bounty on the bug or feature you want programmed. You could offer to pay anyone who fixes that bug or ads that feature. Sometimes something like that is small and people might do it for a small amount, or they may ask more. You can also hire a programmer directly to fix it.
If you don’t want to get into it this deeply, you can always participate on mailing lists and forums by giving feedback, testing new versions, or letting people know about ideas you have or bugs you’ve found. If you don’t think helping in this way is something you can do, you still benefit from FOSS. How? First, because many FOSS programs are also beer-free and not just speech-free. Second, because bug fixes are often found faster for FOSS programs and they are often more secure than the programs you’d pay for. A few years ago there was a security bug found in both Internet Explorer and in another browser that I use called Konqueror. Within an hour the bug was fixed on Konqueror and the patch was released. It was a few more days until that patch was in a form I could easily apply to my computer. Two weeks later Microsoft officially stated they were not sure it was a bug or anything to be concerned about.
Now let’s look at the 2nd question, about security. Some people think that because a program is open source, it isn’t safe. Not true. The “bad guys,” or, as computer people tend to call them, the black hats, have figured out most of this stuff anyway. There are thousands of nasty programs out there designed to hurt Windows systems, and those are not made from people that know the Windows source code. If Windows were FOSS, and the source code was freely available so programmers could get it, when a new bug or security hole is found, Microsoft doesn’t have to fix it. Other programmers can, often for free, and the bug will be fixed and ready for use much more quickly. The black hats have tons of time to find exploits and to use them to hurt you. The white hats are the guys that are overworked and doing a thousand other things besides working on fixing bugs. Making the source code open to all users means the white hats can find the bug and fix it quickly.
There are a number of advantages to FOSS over commercial software that must be paid for. FOSS programmers often listen to users and take their suggestions for bug fixes and new features. They listen to them about making programs easier to run. Most FOSS programs are free (as in beer) and don’t require you to pay for the next version if you’re having problems with bugs in this version. Bugs are often fixed faster in FOSS programs. Innovation is ongoing in FOSS. For example, Microsoft came out with one version of Internet Explorer in 2001 and didn’t add any new features most users would notice until 2006, after Firefox (a FOSS browser) was released. Once Firefox came out, with things like tabbed browsing and a built in search ability, Microsoft finally decided to add those features to their next program. FOSS programs are usyally written by people that love what they do and have a passion that goes beyond their paycheck.
If you don’t want to consider FOSS programs for other reasons, do look at it for your bottom line. Why pay $300 or more for Office so you have Word and Excel when you can get an office program for free that has that and more, and is more secure? Why use Internet Explorer, which is so full of bugs and insecure that the Depertment of Homeland Security has declared it unsafe and recommends it never be used when you can download another web browser for free and use it — and add on extensions that let you add cool new features that you might like?
I promised links for FOSS programs, and here are some. I’ll be adding these and many more to the Links section soon.
LibreOffice: A full featured office program with a word processor, spreadsheet, web page editor, presentation maker, and graphics editor.
Abiword: A nice word processor that has a lot of features, but does not take as much memory as big word processors like Word or OpenOffice.
Gimp: A photo editor like Photoshop. It’s not quite as advanced, but it has more features than most people will ever need.
Firefox: A great browser, far more secure and better designed than Internet Explorer. It lets you add extensions for new features and even use different themes to change the “look and feel” of the program.
Thunderbird: An e-mail program from the same people behind Firefox.
TuxRacer: A fun 3d racing game. Watch out if you get motion sickness easily.
PySol: A solitaire game with hundreds (yes, literally hundreds) of differerent versions of solitaire. (PySol also requires the Python programming language. A link to download Python is included on the PySol web page.)
I have to admit, I don’t have as many links for FOSS programs that work on Windows as I could. I don’t use Windows much anymore. I use Linux, which is more secure, safer, less buggy, and a much smoother operating system. It doesn’t run all the programs Windows does, but on the other hand, I can add over 20,000 programs to my computer completely for free by typing just one line that will automatically download a specified program and completely install it for me. Oh, and it doesn’t make me reboot to reconfigure after I add the program. Linux, though, is a big story, and that means it’s a story for another article.