lunes, 25 de marzo de 2013

OS/2 Architecture - Where to start?

Maybe we should take a look at OS/2 Warp 4.5x architecture first.  (at a high level)


(I understand this graphics is not perfect)

There are two ways on how I see it to try to make an open source clone of OS/2 Warp.
1) Bottom-Up
2) Top-Down. 

Bottom-Up is the way every developer wants to approach to create an OS/2 Warp clone. Lets start first with the more low level stuff and keep raising the level from there.  So lets start with the kernel, OS2Loader and keep building in top of this.

Pitfall: No user understand/supports this project. Regular users sees OS/2 kernel, loader and other components working fine. So, if you replace them the loader or kernel for an open source alternative (even that it is better to have the source code) they do not see it as a advantage.

Pitfall: If, as a developer,  you see on the OS/2 kernel and loader something that is old, the developer fall into the temptation to fix it or use a newer/better practice, that may turn the kernel incompatible with OS/2.

Top-Down is a way to replace the things on top of OS/2 Warp. OS/2's architecture has many layers, so going from replacing Workplace first, later SOM and PM it is also a good idea. But sometime it is not preferred by developers.

Pitfall: There are some strange behavior that needs to be replicated just to have compatibility with the things on their base. For example, WorkplaceShell (WPS) coding depends on SOM, if there is a strange behavior in SOM, a work around most be coded on WPS. When the day comes to replace SOM, it will have to be done re-work on WPS to fix the strange behavior.


So, what to do?

I personally like the idea to go after an open source clone "Top-Down" since we still have in the market eComStation and Mensys is open to include components in top of OS/2 architecture in their product. But what about a both side approach?



Joking aside it may work but I don't think we have enough resources on the community to go both ways the same time, but it looks like if we put focus on WPS, SOM and PM clones first, there can be more options on which things to mount the platform (kernel/architecture).

For example there are ideas of mounting WPS, SOM and PM on a Linux kernel, or following the idea of IBM's Workplace OS.... but wait, I can no longer dream on this direction since we don't have an open souce clone of WPS, SOM and PM.