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.
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:
- cost
- not locking your company into proprietary systems from which there is no easy escape, even if the company should require an escape due to support issues.
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:
- The freedom to run the program, for any purpose (freedom 0).
- The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
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.
It also means that one of two things will happen:
-- OR --
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.
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.
Note that I combine two different types of advantages in this summary.
Those shown with the Gnu (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.
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.
) 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 |
---|
![]()
|
Advantages for Corporate I.T. Departments |
---|
![]()
|
Advantages for System Administrators |
---|
|
Advantages for Computer System Vendors |
---|
![]()
|
Advantages for Commercial Software Developers |
---|
![]()
|
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.
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.
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!
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:
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.
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.
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!
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. |