OS/2 eZine

16 March 2001
Fernando Cassia lives and uses OS/2 in Buenos Aires, Argentina.

If you have a comment about the content of this article, please feel free to vent in the OS/2 eZine discussion forums.

Previous Article
Next Article

PMView 2000 from Blueprint Software Works

Open Source as OS/2's long life elixir

"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


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.)

Previous Article
Next Article

Copyright (C) 2001. All Rights Reserved.