Previous article

APCUG Web Site

APCUG Reports
July-September 2010

Next article

Index for this issue
Default font size
Large font size
Very Large

The Incredible World of Open Source Software (OSS)
By John Abbott

I seem to create as much confusion as clarity when I start one of my Open Source essays. I constantly search for the perfect analogy to differentiate between software free of cost to own and Open Source which is free to adapt to my system. There simply isn’t a single definition. The Open Source Initiative and the Free Software Foundation cannot agree on the philosophy of some of the licensing terminology used.

The term “open source” software is used by some people to mean more or less the same category as free software. It is not exactly the same class of software: they accept some licenses that we consider too restrictive, and there are free software licenses they have not accepted. However, the differences in extension of the category are small: nearly all free software is open source, and nearly all open source software is free.

Free Software Foundation,
http://www.gnu.org/philosop hy/categories.html

Open source doesn’t just mean access to the source code. The distribution terms of open-source software must comply with the following criteria:

  1. Free Redistribution – The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
  2. Source Code – The program must include source code, and must allow for the distribution of the program in source code format, as well as, in the program’s compiled format. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost or preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. In addition, intermediate source code formats, such as the output of a preprocessor or translator, are not allowed.
  3. Derived Works – The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
  4. Integrity of The Author’s Source Code – The license may restrict source-code from being distributed in modified form only if the license allows the distribution of “patch files” with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.
  5. No Discrimination Against Persons or Groups – The license must not discriminate against any person or group of persons.
  6. No Discrimination Against Fields of Endeavor – The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
  7. Distribution of License – The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
  8. License Must Not Be Specific to a Product – The rights attached to the program must not depend on the program’s being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program’s license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.
  9. License Must Not Restrict Other Software – The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.
  10. License Must Be Technology-Neutral – No provision of the license may be predicated on any individual technology or style of interface.

Open Source Initiative,
http://opensource.org/docs/osd

If you really want an excellent essay on the Open Source development model, then you should read Eric S. Raymond’s “The Cathedral and the Bazaar: Working on Linux and Open Source by an accidental revolutionary” There are 19 guidelines listed in Raymond’s essay for creating good open source software:
  1. Every good work of software starts by scratching a developer’s personal itch.
  2. Good programmers know what to write. Great ones know what to rewrite (and reuse).
  3. Plan to throw one away; you will, anyhow.
  4. If you have the right attitude, interesting problems will find you.
  5. When you lose interest in a program, your last duty to it is to hand it off to a competent successor.
  6. Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
  7. Release early. Release often. And listen to your customers.
  8. Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.
  9. Smart data structures and dumb code works a lot better than the other way around.
  10. If you treat your beta-testers as if they’re your most valuable resource, they will respond by becoming your most valuable resource.
  11. The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better.
  12. Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.
  13. Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.
  14. Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected.
  15. When writing gateway software of any kind, take pains to disturb the data stream as little as possible —and never throw away information unless the recipient forces you to!
  16. When your language is nowhere near Turing-complete, syntactic sugar can be your friend.
  17. A security system is only as secure as its secret. Beware of pseudo-secrets.
  18. To solve an interesting problem, start by finding a problem that is interesting to you.
  19. Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one.

So is the Open Source software as plentiful as Proprietary? Clearly yes! The software manager for Ubuntu based Linux Mint (screen shot below) shows 30,245 FLOSS (Free Libra Open Source Software) programs just a pair of mouse clicks away. There are at least 81 Amateur Radio oriented programs and 81 cross platform programs available in that list.

The whole of the FLOSS number is probably not known but by the time you read this, then the number I would publish would be wrong by a thousand or so.

The day of having specific programs with production only readable on that program are fading quickly. I am usually met with a list of “must have” programs before someone can migrate to Linux. It began with Office and some locked down need. I have stunned a lot of business folks with the fact that not only does FLOSS have a suite that can replicate all the files of the proprietary suite but we now have at least four office suites that are able to do so – and all open source and all free for the download.

In the early years of Linux there were charts on the Internet that showed programs that were “sorta kinda like” their proprietary counterpart. Then they began to list true alternatives. A Google search produced about 30 such sites. http ://www.econsultant.com/microsoft-replacement-software/index.html and http://www.linuxalt.com/

Are two of my favorites and among the more easily read.

Gaming isn’t my forte but if it’s yours, then there are Linux distributions that are tailored to gamers. If you have a game you just can’t leave behind because you don’t like the thousand or so that comes with Linux, then you might want to look at some of the MS-DOS emulators that are available to Linux.

The more popular of these would be Wine and Wine Doors, which are Open Source or some of the proprietary cross platform emulators that are for sale that run almost any game created for MS-DOS or MS-Windows. I don’t generally recommend emulators for Linux users because some of them are so good that they bring the same vulnerability to malware that MS-Windows suffers – a problem I hope Windows 7 cures.

But please understand that when we talk about FOSS, we mean free as in freedom – freedom to change or improve and then share. When you begin to understand the real meaning of the term, then you will be drawn to it, as much as the rest of us have been.

John Abbott
fewclues@gmail.com
John is a Google Ninja and is a member of the Bentsen Grove Resort PC UG, as well as, the TOT Linux UG.