Version 1.2, 5/15/2002 Traducción a español gracias a Maria Ramos.

Our Open Source / Free Software Future: It's Just a Matter of Time

by Micah Yoder, Yoder Internet Development

Contents

Forcast & Introduction: The Principle Open Source Forcast, Definitions, Ramifications, Yes, it can happen
Advantages: Home Users, Corporate I.T., System Administrators, Computer System Vendors, Software Vendors, Wrap-Up (and a note on Microsoft)
What You Can Do: A Plea to Choose, Practical Tips
Appendices: Timeline, Resources, Thanks

Part 1: Forcast & Introduction

The Principle Open Source Forcast:

Within the next few years (possibly by the beginning of 2005), the standard de-facto operating system that nearly everyone uses, as well as much of the commodity software in widespread use, will be Open Source / Free Software.

Definitions:

Open Source Software: Software whose license permits anyone to use it for any reason, as well as access, modify, copy, and distribute modified copies of the source code. The official Open Source Definition can be found here. In general, the term Open Source is intended to appeal to the business community and refers to advantages that relate to the following:

Free Software: Another term for Open Source software (definition here) that emphasizes the users' freedom to run, copy, distribute, study, change, and improve the software. More precisely, it refers to four kinds of freedom for the users of the software:

In practice, the terms Open Source and Free Software are more or less interchangeable, although some argue about subtle differences.

Proprietary Software: Software whose license does not comply with the Open Source or Free Software definition. It is usually controlled by a single company, on which you are dependent for upgrades and fixes.

Commodity Software: Software which is widely useful for many, if not the majority of, computer users. Examples include office suites, web browsers, and mail programs.

Operating System: The basic piece of software that makes the computer function, including a kernel, input/output facilities, a graphical user interface, and a basic set of utilities.

Ramifications of Forcast:

There will soon be a major change in the way people think about computer software. Currently when looking at software purchases, one might ask questions like: How much does it cost? How many clients can legally be connected simultaneously? Can I use it on my desktop and laptop systems without paying extra? Those questions will become a thing of the past, as Open Source licenses make them irrelevant.

It also means that one of two things will happen:

  1. The majority of computer users will switch to a new operating system and commodity software.

    -- OR --

  2. Microsoft will release Windows under an Open Source license, making the operating system switch unnecessary to fulfill the main forcast.

Most people see both scenarios as unlikely. However, due to the reasons outlined below, I firmly believe one of them will take place.

If people switch operating systems, it seems as though the most probable target is Linux, so I will focus specifically on that system in parts of this paper. Other possibilities include FreeBSD or an Open Source release of BeOS. (The latter is hypothetical, as BeOS has not yet been Open Sourced, however it would not surprise me if that happened.)

Regarding the second possibility, Microsoft is not a stupid company, although they are sometimes late to recognize trends and jump on them. They were at least a year late in really getting on the Internet bandwagon. They also have a large operating system revenue base that they will want to hang on to as long as possible. Therefore, they may well be late in responding to this trend.

Note that for the second possibility to happen, there has to be a serious possibility of the first happening in the near future. That is why I advocate switching to Linux now if you can. If some people making that switch convinces Microsoft to Open Source Windows, then the rest of the industry will not need to make a switch.

Yes, it can happen!

Don't think it's possible? Remember that every industry occasionally has a major shift. The computer industry has certainly had shifts. Companies switched from mainframes to networked PCs when they become more cost effective. They switched from DOS to Windows applications when they discovered advantages in the Windows platform. When the Internet became widespread, many processes changed. These shifts involved changing the software people used and the way they thought about their needs.

The other major reason this change can and will occur is the power of openness. In the consumer electronics world, VHS triumphed over Beta tapes because VHS was an open standard and could be used by anyone. Beta, even though better, required licenses to be payed to Sony. In the PC world, remember IBM's Micro Channel Archetecture (MCA)? It was IBM's attempt to regain advantages over and control of the PC clone makers. It was certainly technically superior to the ISA bus of the day, but it failed because no one wanted to pay royalty fees to IBM for every computer that was produced. Well, Microsoft currently has control over the de-facto operating system, which gives it much power. Companies are increasingly worried about this control, based on Microsoft's experiments with software rentals, proprietary document formats, and restrictive licenses for OEMs and the public.

Plus, current Open Source platforms have an advantage that VHS tapes and the ISA architecture did not: They are in many ways technically superior to Windows, the proprietary system.

While the latter software isn't free and Postfix is, certainly an asset to for security, still there are types of security issues we should concern ourselves with. For instance, if you've installed one of the various security systems attainable via the web (Google this info), as long as you have a computer system connected to a Network or internet, your security camera is capable of retaining critical images directly onto your computer with numerous types of software for later viewing. 

Part 2: Advantages & Benefits of a De-Facto Open Source Platform

The ways you'll most benefit from Open Source depend on who you are. So here is a summary of how it will benefit different users.

Note that I combine two different types of advantages in this summary. Those shown with the Gnu () relate more to advantages related to Free Software, including freedom of price (which many would say is the least of Free Software's advantages). Those shown with Tux () relate more to the advantages of the Linux operating system in technical terms.

Advantages for Home Users
The price of new computers will drop. This is due to the elimination of the need for the computer manufacturer to pay for a Windows license. The savings could be anywhere from $50 to $300, depending on the version of Windows and the office suite that would come with a traditional proprietary system.

Much more free commodity software will come standard with most PCs. Examples may include The GIMP, an excellent Open Source image editing program; the Mozilla browser; and OpenOffice, the Open Source version of Sun's StarOffice; and several quality Open Source games.

You can freely copy software for friends without breaking the law!

So the direct advantage to home users is mostly limited to more software and lower costs. And I've never heard any of them complain about that!


Advantages for Corporate I.T. Departments
Lower computer costs and more bundled commodity software (see Home users)

The X Window System provides a standard way of running applications on one computer and displaying them on another. Plus, it is significantly better than many tools like pcAnywhere because it does not take complete control of the remote computer just to run an application on it. X also makes it relatively easy to set up cheap computers as smart terminals that will connect to a server on which applications will run, thereby making administration easier and lowering total hardware costs.

License management will not be necessary. For some companies, keeping track of legal software licenses and verifying that everything stays legal is a full-time job. Open Source licenses give you permission to use them for any purpose on any number of computers, period. You really only need to worry about license management when modifying and/or distributing software outside your company, and even then it's fairly straightforward.

There is peace of mind in knowing that your file formats are not completely controled by a certain software vendor. What if your data is in a proprietary software program, which uses a cryptic and undocumented file format in order to keep you locked in to products from that company, and you need to import it into a different application, but the proprietary program does not export the data? Worse, what if the vendor completely abandons the application and it will no longer be upgraded?

You have the ability to go to any number of qualified consultants who are familiar with your software (or who can learn it). With proprietary software, only the vendor can fix problems. What if they go bankrupt? What if they refuse to fix it or simply charge more than you can pay? What if they abandon older versions of their software to force you to upgrade to newer versions? This is not just hypothetical. I have previously worked on a system that was to interface to a very old proprietary application. After several weeks of work, we realized that the proprietary application had a fatal flaw in the way it received input. The vendor wanted to sell their new version so refused to touch it, but upgrading was not an option. We eventually had to abandon the project, costing the client tens of thousands of dollars. That could have been avoided had they been using an Open Source application, because we would have had access to the code and could have fixed the problem.

As you can see, corporations should have plenty of incentives to switch to Open Source Software for the operating system and for any proprietary software that they depend on.


Advantages for System Administrators

Standard secure remote access tools like OpenSSH come in the box. Any computer with an Open Source operating system will almost certainly have it.

Open Source products generally have great security, and when a flaw is found, it is usually fixed much sooner than flaws in proprietary software. Programmers at proprietary software companies usually work for paychecks, not for the sheer love of doing what they're doing, and they themselves don't necessarily want to use the code they're producing. In addition, they are the only ones who can look at the code for security holes and the only ones who can fix them. Open Source programmers, on the other hand, work on the software they work on because they want to use it. Also, any number of people can look for and fix security holes. There are projects out there whose main goal is to find and fix holes in Open Source Software products. The OpenBSD people are especially careful about security, and that system has had an incredibly low number of remote exploits.

Open Source systems, especially UNIX-based ones, are incredibly flexible. Because they are built from blocks that have well-documented functionality and that work together, it is easy to replace pretty much any part of the system with anything else that has a similar interface. Components such as the shell, the login interface, the init process, the graphical interface, the mail program, and many other things have plug in replacements. You have a real choice. Most of these building blocks are themselves extremely configurable without touching any source code. However, if something does not quite meet your specific needs, you can take the source code to an existing part -- or start from scratch -- and write a component that will meet your needs, and it will plug in and work well with other system components!

Many great scripting languages, such as Perl and Python, come standard with nearly every Open Source platform. You can write automation scripts in these languages and they'll run anywhere!

If you're a systems administrator, you'll love the security and flexibility of Open Source solutions!


Advantages for Computer System Vendors
As mentioned in the Home User section, an Open Source operating system will allow you to reduce your per-unit cost by $50 to $300. This cost savings can be passed on to consumers or pocketed as profit.

Of course, as prices fall, demand goes up. Since the operating system price is a large percentage of today's complete system price (as much as 30% in some cases), demand for computers could increase significantly.

It gives you incredible flexibility in the way you configure your desktop. As you know, Microsoft places severe limitations on how you can change the look and feel of the desktop you ship with your system, and limits what you can put on the desktop. Open Source operating systems, of course, have no such limitations. You can sell desktop icons on the systems you ship to anyone that will pay for them.

You have the freedom to configure your computers in any possible way. You can personalize your computers far more than you could with a proprietary system. Or you could ship turnkey systems that are ready for a certain task right out of the box.

If you're a computer system vendor, you'll love the freedom to innovate that will be yours when you ship an Open Source platform!


Advantages for Commercial Software Developers
You will never again be at the mercy of an operating system vendor who may want to compete with you some day!

You will have full knowledge of the API of an Open Source platform. There will be no hidden surprises, no undocumented "features".

The advantages to software developers boil down to three words: level playing field. Now it's finally yours for the taking!

Granted, commercial software vendors do have some reason to feel threatened by Open Source. Since commodity software will be free, there will be somewhat fewer opportunities for profitable software selling. However, most commodity software is currently sold by a certain large software company anyway. And there will still be plenty of market opportunities for vertical applications, which are unique to a certain trade and would not likely have much Open Source competition. I forcast that most vertical applications will continue to be proprietary, and that is fine. There could also be a significant market for extending Open Source commodity applications. And of course all custom programming will continue to cost a nice sum, so programmers will not be homeless. Even if you do feel that Open Source could threaten your specific product, remember that the level playing field benefits of a de-facto Open Source platform still fully apply to you.

Wrap up (and a note on Microsoft)

In summary, standardizing on an Open Source platform as the de-facto standard operating system that everyone uses is a win-win situation for everyone.

Everyone, that is, except Microsoft. The vast majority of Microsoft's revenue comes from selling operating systems and commodity software (Office). Another ramification of my forcast is that their revenue will pretty much evaporate unless they find a different business model. But frankly, after all the bullying, deception, and anticompetitive practices they've been involved in through the past 15 years, I for one won't shed any tears when they get what's coming to them.

So it's no wonder that Microsoft is currently fighting Open Source Software, particularly Linux and its General Public License. Microsoft's executives have been spreading some blatent lies about the effects of using Open Source Software. And their P.R. department has published a "GPL FAQ" (no longer available) which, while containing bits of truth, is clearly designed to scare you out of using software that can grant you all the afformentioned benefits at Microsoft's expense. (Richard Stallman of the Free Software Foundation has an excellent response to MS's FAQ: "The best way to see through the trickery of the questions is to turn each one around and ask the same question about a Microsoft proprietary package. You will find either that the same 'problem' exists, or that some other problem would have blocked you before you could even reach the situation." )

I'll also say this: Microsoft can change. In the past 5 to 10 years, IBM has changed from a company that was as dominance-minded as today's Microsoft into a company that supports openness at its core. It has contributed much to Open Source in recent years -- everything from code such as a journaling filesystem to helping businesses understand how Open Source can benefit them and providing enterprise support for it. In short, IBM has become a Very Cool Company. If Microsoft makes a similar transformation, and they can, I'll be one of the first to welcome them aboard, and I will once again use and support their products.

Part 3: What You Can Do

A Plea to Choose

Currently, proprietary software is king. When you buy a new computer, or decide on a software package, it usually goes without saying that you will be getting Windows and a proprietary software package. That is the "default choice". However, it is not the only choice! Open Source platforms such as Linux and a growing set of Open Source applications are ready today to take on many, if not most, tasks.

You simply need to choose to use them!

The sooner you make this choice, the sooner you, and others, will be able to enjoy all the afformentioned advantages and benefits!

Practical Tips to Get Started

This is certainly not comprehensive, but here is a list of things you can watch for that will help you move to an Open Source platform. You can implement some of them now, even if you're not ready to do a complete switch. The more of these you implement now, the easier it will be to switch to an Open Source platform later!

1. When developing custom in-house applications, avoid programming languages and development tools that do not support Open Source platforms. Things like Visual Basic, which only works on Windows, should be avoided. Fortunately, you have a good choice of languages that support Windows and Linux. Here is a sampler:
Language/toolkit Notes
Borland's Delphi 6 and Kylix, using CLX With Kylix, Borland has provided a great way to port Windows applications to Linux. It has nearly 100% source compatibility with its Windows cousin, Delphi 6, if you use the CLX instead of the older VCL. It is by far the easiest way to develop GUI applications in Linux.
Java While Java has its flaws, it is implemented fairly well in both Linux and Windows. With a bit of care, you should be able to get your applications running problem-free on either platform.
Python scripting language with the wxPython GUI toolkit Some will laugh at the thought of using a scripting language to develop a serious GUI application. Fact is, it makes a perfect amount of sense, and if your needs aren't super-demanding, this could actually be your best choice. It's a fully Open Source platform and has many dedicated users. Python has the nicest, cleanest language design I've seen and you could be up and running with it sooner than you think.

2. Move network services to Open Source products. There's hardly any good excuse not to do this ASAP.

3. Evaluate office suites that support Open Source Platforms. Even better, evaluate Open Source office suites. OpenOffice is now available as Version 1.0, and it is a truly great office suite that deserves to be promoted. It has the vast majority of MS Office's features, and is 100% Open Source. If you want support, a manual, more fonts, and don't mind paying, check out StarOffice, which is based on the OpenOffice code. It is proprietary but it runs on Linux. Also consider AbiWord, a nice, small, fast, simple word processor that works in Windows and Linux. If it does everything you need, it may be a great choice (I've been using it a lot lately). If you can switch to Linux now, consider the Gnumeric spreadsheet. It is a very impressive program. Gnumeric and AbiWord can import most Excel and Word files quite well. KOffice, a nice suite of applications, is in heavy development but is maturing quickly and includes a decent word processor, spreadsheet, presentation graphics, flowcharting, and a vector graphics editor.

4. Use products like VMWare, Win4Lin, or even Wine to run your Windows applications on top of Linux. It's normal to have certain Windows applications that you need that are unlikely to be ported to Linux any time soon. With these products, you can run the Windows software you need on top of Linux. Prefer Wine, as it is the only truly open solution. It is a free implementation of Windows, is itself Open Source, and does not require any licenses to Microsoft or anyone else. The other two products are proprietary and require legal licenses of Windows. The problem is that many (most?) applications do not yet work well under Wine. (But many do, so give it a try!)

Appendices

Timeline

The following is just a possible timeline of how soon things could happen regarding my Main Forcast.
When What
Second half, 2002 GCC 3.x, standard C++ development libraries, and other libraries will be more standardized in Linux distributions. This will simplify distributing commercial software for Linux. This is thanks to the Linux Standard Base and the stable (finally!) C++ ABI which GCC 3.1 is introducing.

Also, many new end-user applications developed with Kylix will hit the market.

First half, 2003 By now, Linux and/or other Open Source platforms will easily have everything most business and home users need. There will be more than one full featured, easy to use Open Source office suite. It will be clear to all that Open Source is here to stay.

The Open Source desktop environments will have matured another generation.

Microsoft could Open Source Windows as early as now (but probably not sooner). Doing that around now could be their last chance to prevent a mass migration to Linux or another Open Source platform.

First half, 2005 Nearly every new computer will be sold with an Open Source operating system. Of course, many will still use legacy systems, but they too will switch to Open Source platforms the next time they make a large change to their technology infrastructure.

Open Source databases will give Oracle serious competition.

Resources

Thanks

Derek Neighbors, for a good Free Software definition
Jerry Fass, for some style suggestions and other improvements
This document is copyright © 2002 by Micah Yoder. Permission is granted to copy this document verbatim, provided that its source is acknowledged. If you publish it in printed form, I would appreciate a copy of the publication. Please contact me. micah@yoderdev.com.