"Proposition three: kill
time and live forever."

- (A. Carter, "The
Passion of New Eve")

In a recent OS/2
eZine article
Pete Grubbs made very good points about IBM's past attitude
towards OS/2, and detailed his available options for future migration.
Instead of telling you what I think of every path proposed in his article,
I will tell you about the choice I like most: keep riding the OS/2 pony
(but without it dying.)

Continuing to use OS/2
as your primary operating system doesn't mean freezing in time and being
left out of the times, or feeling disoriented when looking at your neighbor's
computer. Thanks to today's average hard disk sizes and OS/2's boot manager,
we can always install linux alongside OS/2 in a dual-boot configuration
to pick up some kernel recompilation skills and /etc/someconfigfile editing
using the much maligned (and totally anti-userfriendly) VI editor. ;-)
Plus, everything you learn in the "OS/2 world" will continue to be useful
knowledge when/if you decide to change platforms down the road.

Pete, however, left
something out in his analysis, something which can definitelly kill time
and "keep the pony living forever." I would call it OS/2's long life elixir.
What is it? The Open Source revolution.

With the exception of
some file compression utilities, major desktop and productivity applications
were NOT open source back in the '90s. But with the current rate of development,
who says most common applications won't be open source in 2-3 years? (Except
Microsoft's software, of course, since their whole stock valuation and
business model are tied to proprietary software and regular upgrade cycles).
Most already are!

Let's examine the more
popular tasks PC's are used for and the best open source alternatives already
available in each category.

What do you use your PC
for?

  • Web browser? Netscape's
    Mozilla project: it's open source. (www.mozilla.org)
  • Office Suite? Sun's StarOffice:
    it's open source. (www.openoffice.org)
  • Scanning? SANE: it's open
    source. (www.mostang.com/sane/)
  • CD-Writing? CDRecord (and
    its numerous front-ends): it's open source. www.os2world.com/cdwriting/
  • PDF file Viewing and Printing?
    Ghostscript (www.cs.wisc.edu/~ghost/)
  • Graphics Image Editing?
    GIMP (see www.gimp.org)
  • Need a powerful email client?
    Besides many open source options, there's Polarbar
    we reviewed last month
    , a 100% Pure Java application. (www.polarbar.org)
  • Network backup? Besides
    several opensource projects, there are 100% Pure Java based commercial
    solutions. (www.visualversion.com)
  • File storage and related
    drivers? Most critical drivers (JFS file system, DANIS506.ADD hard disk
    driver, Creative Labs sound cards) are either already open source (Creative
    SB16/32/64 and SBLive open source drivers, and IBM's JFS) or they are being
    actively supported and maintained by OS/2 programmers (DANIS506.)
  • Digital audio playing and
    compression (MP3)? There are more than half a dozen open source players
    and encoders for enjoying mp3 audio. (Links at the end of the article).

A much more extensive list
of open source alternatives could be created, especially for network server
tasks like ftp servers, web servers, etc.

All these projects listed
are not directly geared to OS/2, they are often created and geared mainly
to the linux community, but they benefit NOT only unix/linux users, but
everybody else who cares to take that source code and compile it (with
various degrees of difficulty depending on the project's complexity) to
native binaries.

If you think about it,
we OS/2 users are in no different of a position than BeOS, FreeBSD, Mac
OS X, or Solaris users who also have to rely on their community of talented
programmers to obtain "native versions" of Mozilla, Sane, and every other
opensource application mentioned here.

We are all in the same
boat: we have an active community of users with talented programmers around
the world who can port these open source applications to native OS/2 code,
often contributing OS/2-specific changes to the original code, creating
an "OS/2 branch" which makes releasing new versions much easier and quicker.

The 100% pure Java alternative
to porting open source code

As you can see from the
previous examples, in the few instances where something isn't open source,
or where the developer has not yet embraced open source (or doesn't want
to do so due to patent restrictions or whatever) there is almost always
a "100% Pure Java" alternative which we can run under IBM s OS/2 Java VM
(and with the new trend towards "Network Applicances," the offers of "100%
Pure Java" applications will likely increase.)

Ok, you say, but what
will happen when IBM stops supporting the OS/2 Java VM 1.2 or Java moves
to "Java 3," "Java 4," "Java The Next Generation" or whatever? There is
an answer: (I bet you saw this coming...) Open source software.

There are already open
source Java Virtual Machine implementations, like Kaffe (www.kaffe.org)
and I'm sure there will continue to be more and more people creating new
Java VMs 100% compatible with Sun Microsystems' latest standard-VM-of-the-day.
OS/2 is not the only one non-mainstream operating system. Remember that
users of FreeBSD, BeOS, Amiga, and others are in the same boat as us, without
"formal support," yet they manage to get opensource projects ported to
their platforms.

Even if the lowest-level
networking parts of OS/2 age over time, there are open source implementations
of TCP/IP stacks, including the upcoming "IPV6" standard.

When it comes to "100%
Pure Java" development, with the notorious exception of IBM's VisualAge
for Java, (why they insist on developing it as native code is beyond me)
MANY OTHER Java IDE developers have moved to 100% Pure Java versions (that
means that their Java compilers are written in 100% Pure Java too, so a
single version runs on any platform with a current Java virtual machine.)
Borland JBuilder and Simplicity for Java are two good examples of this
trend towards a "single multiplatform Java binary" for Java development
tools.

By now, you might be
thinking "this guy is making a lot of assumptions about what will happen
with open source. What does he know?" Well, don't just take my word for
it. Big IT industry analysts like the influential Forrester Research are
saying the same thing: open source will win, Microsoft and other closed-source
companies will lose.

In fact, they say that
by 2004, most software applications will be "open source." You can read
the full enlightening Wired article at http://www.wired.com/news/technology/0,1282,38240,00.html

Conclusion

Since most of these open
source developments are NOT related to OS/2 or any specific commercial
company, they have a life of their own. They can't get "killed" by their
parent company, since there isn't one. And when the current developers
or porters get tired or move onto something else, all they have to do is
find someone else (among the pool of millons of users and programmers around
the world) and "pass the torch" to them. Open source software represents
a great opportunity not only for OS/2 but for every alternative operating
system (including non-linux operating systems.)

Do you think that the
combination of open source software, and commercial (closed source) 100%
Pure Java have the potential of becoming OS/2's eternal-life elixir? I
do.

Please let me know what
you think. In the meantime, keep riding the pony!

MP3 open source software
links

BladeENC homepage: http://bladeenc.mp3.no/
BladeENC for OS/2:
http://hobbes.nmsu.edu/pub/multimedia/BladeEncOS2-092.zip

GOGO Mp3 Encoder (cross-platform
source code with OS/2 makefile): http://homepage1.nifty.com/herumi/soft/gogo2/src/gogo239b.tgz

LAME MP3 Encoder: http://www.sulaco.org/mp3/
(Not)LAME MP3 for OS/2:
http://www.netvigator.com.tw/~notlame

MPG123 mp3 player:
http://www.mpg123.de/

OS/2 port of mpg123:
http://www.users.wineasy.se/nil/mpg123/

To the skeptical and the
always present "doomsday preachers"

Even before I wrote the
article "OS/2's long-life elixir," I realized that there are many people
out there, even in the OS/2 community, who are highly skeptical about the
open source trend.

Yes, many do not share
my hopeful view, some people contend that open source won't fly on OS/2
because there simply aren't enough people still willing to develop software.
They often mention a lack of native commercial compilers and IDEs (integrated
development environments) that would make programming a more "user friendly"
experience. Finally, one argument often used is the time it has taken for
the programmers involved in porting Netscape's Mozilla web browser to OS/2
as an example of the complexity of this task.

First, I'd like to counter
the idea of "not enough OS/2 programmers." I don't have any stats or "hard
evidence" on the exact number of OS/2 programmers, but every now and then
I find a "hidden gem," an OS/2 utility or application, often ported by
unknown OS/2 users around the world, from Japan to Norway to Russia. (Hey,
last week I found an open-source OS/2 card game developed down here in
Uruguay, South America.)

That's enough proof
for me that there IS a quiet but active community out there. You
won't read about it on the news, but I'm sure it IS OUT THERE.

Plus, most "high profile"
opensource projects like Apache, CD-Record, etc. already have OS/2 programmers
regularly updating OS/2 releases and keeping up with new versions. Many
of these ports have been done by one, two, or at most a handful of programmers,
sometimes in their spare time. Truth is, most of the time, you don't need
a team of 50 people to tweak a "makefile" to make a text-mode utility or
"application engine" compile flawlessly with the OS/2 version of gcc/emx.

The beauty of most open
source development is that they often start as small command-line utilites,
so the application's "engine" is always developed first, as text-mode utilities
or "daemons," separated from the GUI, (if there is one at all,) encouraging
diversity and third party user interfaces and configuration tools. This
assures that, most of the time, the application's "core" is always easily
portable and not a monolithic "spaghetti code" application tying the user
interface with the application engine, as happens most of the time in win32
commercial applications.

Second, the Mozilla
case. Along with "OpenOffice" (open-source StarOffice), this is probably
one of the most complex open-source projects currently being worked on.
Why? Because of their size, which is way larger than the average open source
project. The good news is that once Mozilla 1.0 is developed, (currently
they are at version 0.8 in Linux and Win32) and all the bugs are ironed
out, maintenance releases and minor improvements will be ported much more
effortlessly, as future versions will use the same engine and will evolve
over time, instead of being a "complete rewrite" like most major version
updates in commercial Win32 applications.

That porting mozilla
to OS/2 has been slow and difficult is not proof that everything else will
be so difficult. Once the developers get Warpzilla 1.0 ready, it will be
possible to develop a whole new generation of small and efficient OS/2
applications, making use of the Gecko html layout engine (the code that
renders html and images to the screen) and using the XUL user-interface
language to create new applications. (You might want to read an enlightening
article about XUL's promises here.)

Finally, the "lack of
integrated development tools" issue. Let's imagine that some unknown force
destroys every existing box of Borland C++, Watcom and IBM VisualAge C++
OS/2 compilers (and their manuals!) That wouldn't stop people from being
able to compile OS/2 versions of these open source applications, thanks
to Watcom's current project of opening the source code of their flagship
OS/2 and Windows C++ compiler at www.openwatcom.org.

My conclusion: These
are exciting times. Open source development is accellerating at a rapid
pace never seen before, and it seems like everything is going in the direction
of easy portability and open standards.

The old software ideologies
and dogmas of the past are also falling (remember the phrases "we should
do this in assembler" or "software api emulation is slow" or "Java is slow.")
This is partly due to the great advances in cpu speed and lower prices
for memory (why don't we ask more questions like "will OS/2 run OK on my
512mb 1.5 Ghz AMD"? ;-)

The fast pace of "internet
time" is giving everyone involved in the software development process (outside
of Redmond, WA - Microsoft headquarters) a healthy dose of sanity and open-source
pragmatism.

My promise: Hang in
there, Mozilla, XUL, and the rest of the open-source development efforts
might turn into OS/2's long-life elixir. I will do my best and add my grain
of salt (or a large bag) to this vision by continuing to run it, write
about it, and why not - port some opensource code to OS/2.

And if 2004 proves Forrester
Research wrong and open source fades away, I will eat this column (after
printing it, of course - bytes are almost impossible to chew.)