posted by Michael Reed on Thu 7th Feb 2008 17:21 UTC

"Open source OS/2, 1/2"
Why they shouldn't release the source

In its day, OS/2 was a technology leader. Right up until the mid-90s, IBM pushed OS/2 to the forefront. But since that time, OS/2 has been allowed to languish. In all but a few minor respects, it has fallen behind other, contemporary operating systems.

When the last big release of OS/2 was made in 1996, some parts of it were 10 years old. Those parts are now more than 20 years old. Bear in mind that even the very final releases of OS/2 were not solely the product of a ground-up 32 bit design; the final IBM released version of OS/2 still contains a lot of 16 bit code from the earlier version.

Having first recreated all of the missing functionality that IBM would have been forced to remove, any future developer would then have to update OS/2. This would also be a huge undertaking.

For example, the memory layout is very old fashioned. As a result, reallocating memory between user programs, disk cache and virtual memory while the machine is in use is unwieldy. I'm not surprised - when OS/2 was conceived, the memory needed to even boot would have cost as much as a colour monitor. For decent performance with modern applications, the memory management scheme would have to be implemented from scratch.

Multimedia facilities, graphics acceleration, and hardware support are other areas that would need to be addressed.

Many of the features that gave it the edge 10 or 20 years ago are no longer relevant. Take the industry leading DOS support as an example: If people want to run old DOS software, they would be better off running it in an emulator such as Qemu or DOSBox. The same could be said for OS/2's innovative approach to running 16 bit Windows 3 programs.

I'll make a controversial point about OS/2: the GUI has some good features that would sit well in a modern operating system, but it's not as great as some enthusiasts like to make out. It's very old fashioned and a lot of work would need to be undertaken to add the features that most people expect from a modern OS.

File management is a good example. On a stock OS/2 system, if you start a file copy operation, you can monitor it's progress in a basic way, but you can't terminate it. Similarly, there are no tool tips or hints about the file under the cursor or file previews. An OS/2 aficionado might be quick to counter that these things can be added. But that's part of my point, these add-on utilities are already open source.

From a programmer's perspective, some of the object orientation makes the GUI fairly extensible by third parties. I challenge an OS/2 enthusiast to point out something that has been added to the OS/2 GUI that could not be added to other operating systems.

If you don't believe me, look around on the net for some screenshots of OS/2 in action. It's simply not as amazing as some people say.

In summary, it was a very neat GUI in its day but it has fallen hopelessly behind for modern use. Apart from the GUI, every major subsystem of OS/2 has a modern equivalent that is better and available under a licence that is conducive to free use and open development.

Who would benefit from a partial source release?

People who lobby in favour of a partial source release never state explicitly who would benefit from such a release.

For example, I have heard it stated on the forums that the source code must contain some interesting information about how some still-relevant Microsoft protocols work. Unfortunately, these are the very parts that would have to be removed to form a completely legal source code release.

Even if a few useful nuggets could be left in, ask any programmer who is working on a Microsoft interoperability project and they will tell you that they would not want to look at such code. Implementing ideas from such code will open them up to attacks and threats from Microsoft - threats of a sort that have already been directed at open source software. It's not worth the trouble for the slight possibility of any gain.

I have heard people on the forums conjecture that programmers could use the source code to transfer some of OS/2's GUI features into other operating systems. I don't think that this is possible. As good as those features may be, the algorithms - and the algorithms are what the source code would reveal - are relatively obvious from observation. Taking a GUI feature from the OS/2 source code and grafting it into another operating system would be nearly impossible to do and far, far more work than implementing a similar feature from scratch.

Taking ideas from the OS/2 GUI is a good idea but programmers don't need see the source code. Things like file formats, protocols, and codecs are the type of thing that programmers appreciate source level access to, and OS/2 doesn't have anything of that type that anyone would want.


In its day, OS/2 was my PC operating system of choice. Good performance, cutting edge features, DOS and 16 bit Windows compatibility - what's not to like? If IBM had maintained the pace of development, it might still be an operating system that I would want to use. Unfortunately, OS/2 is now ten years behind everything else, and it would be a monumental task to update it.

Perhaps the world does need a small, client-oriented operating system like OS/2. For people with such a want, I would advise them to look up the impressive efforts of something like Haiku or Syllable. In my opinion, it would take less effort to make these operating systems ready for typical modern application use than to somehow resurrect OS/2, get it working and then rewrite most of it to make it run along more modern lines.

About the author:

Michael Reed is a freelance writer and geek. Read about his adventures in geekdom on his website.

Table of contents
  1. "Open source os/2, 1/2"
  2. "Open source OS/2, 1/2"
e p (5)    37 Comment(s)

Technology White Papers

See More