Quick history:

SOM was available on OS/2 2.0 upwards, Windows NT, AIX 4, OS/390 and OS/400.

Why somFree?

This project provides a clean-room implementation of the major SOM components and is built to be very portable. The name comes from the method used to delete a SOMObject.

Main differences from IBM SOM

  1. IDL compiler is a C++ program rather than a SOM based framework. This solves a chicken-and-egg problem.
  2. Assembler is not used for thunking, somResolve() uses macros and apply/dispatch stubs.
  3. Some components are just hollow stubs, such as SOMP.
  4. Some components are not fully functional, eg somossvr.
  5. You can have both C and C++ header files generated. The choice of 'somcorba' or 'somstars' comes from managing the 'SOMSTAR' macro.
  6. No security functions implemented.

Changes

Changes from original somFree compiler: