Project: Open Sibyl

Open Sibyl is a Pascal RAD (Rapid Application Development) Tool for OS/2 and eCS.

Open Sibyl is based on Free Pascal Compiler and its libraries. This compiler was choosen after a long discussion on the mailinglist. The problem was that neither the original SpeedSoft compiler nor the VPC compiler are open source (which is a requirement because some things need to be changed/extended).

Advantages of Free Pascal Compiler (from Open Sibyl point of view):

  • Open Source (Under GNU GPL)
  • Borland Delphi compatible (and Turbo/Borland Pascal)
  • CORBA/SOM ready (not COM-only interfaces)
  • EMX-based
Starting from version 2.0 native OS/2 target additionaly to the EMX target is planned.

Why not Lazarus or Speed-Soft Sibyl?

Lazarus is a portable RAD Tool based on Free Pascal Compiler. The main disadvantage of Lazarus is the high portability of IDE.
So many OS/2 features can't be used (like REXX, SOM, WPS). May be Lazarus will be ported to OS/2 as part of work with Free Pascal Compiler RTL (Run-time library) and IDE but it will never be supported by the OpenSibyl project.

Speed-Soft Sibyl is only available Pascal RAD for OS/2. But SPC implemented with some incompatible things, like class initialization, assembler code in places, where it cann't be placed. As result, SPCC and SVDE very depended on SPC. And required lot of work to make things usable on other compiler.

Both, Lazarus and Speed-Soft Sibyl are classic Delphi-like RAD. This is not exactly what I want. I prefer to have tool, closely integrated with WPS. SOM support in language must be on level of C/C++. SOM is real target of OpenSibyl project.

How it must look?

Remember OpenDoc. It's one side. If you seen BlackBox (Component Pascal IDE) or Oberon OS then you imagine another side. Combination of both of them is OpenSibyl. OpenDoc is document-centric model, but OpenSibyl is application centric model. Core is SOM, WPS and OpenDoc. WPS and OpenDoc as IDE. Componens (buttons, comboboxes, labels, etc.) are OpenDoc parts. Interactions of components controlled by OSA. WPS class (like Templates folder) implements component toolbar (like in Delphi). Form part has property 'Lock' (like for WPS icons). After Lock is on component in running mode. If lock is off then component in edit mode.

Development plans

Development of Open Sibyl is a long term project. First of all, complete RTL is required. This work is not a part of the Open Sibyl project, but part of FPC development. Still a lot of API's are not supported by the OS/2 version of Free Pascal Compiler. This part is quite easy to do as it doesn't require deep knowledge of compiler or libraries.

The second goal is also part of the FPC development: This is to port FPC IDE with debugger. After this all requirements regarding Open Sibyl development tools are fulfilled.

SPCC is the base of any Delphi-like tool (like VCL/CLX for Delphi/Kylix). But I don't want to have another Delphi-like RAD. I want to have SOM-based RAD. So SOMObjects is the base of OpenSibyl. And OpenDoc parts are components.

Last part is OSA support to support events. It's includes Object REXX support (remember, Object REXX will be open-sourced). Application itself will be distributed as OpenDoc documents/applications. This means any can modify and extend them.


  • OS/2 API convertion
    The goal is convert all OS/2 Developers ToolKit C headers (*.h) to Pascal units. Result must be published under modified GNU LGPL (as other FPC libraries).
    Independent subproject.
    Core API finished. fpc/rtl/*.pas of FPC source tree.
  • GDB porting
    Port newer GDB with FPC modifications. Current GDB (and PMGDB) is outdated.
    Result must be part of FPC development.
    Independent subproject.
  • SOM headers porting
    Port SOM ToolKit headers to FPC environment. Result must be part of FPC development.
    Depends on OS/2 API conversion.
    Core headers converted. fpc/packages/extra/os2units/som/som.pas of FPC source tree.
  • SOM Compiler Pascal Emitter
    Write emitter to produce pascal bindings from the IDL. Because no Pascal support for SOM as yet emitter must be implemented in C/C++. Open Watcom is selected tool for this.
    Depends on SOM headers conversion.
  • Write OpenSibyl WPS classes
    Project must be maintaned by WPS class. Partal Pascal source parsing must be implemented to control source tree (FPC already has Pascal parser ;)).
    Another class is component tool bar. Subclass of WPSFolder but with another view. Actually, components are templates.
    Depends on SOM Compiler Pascal Emitter.
  • OpenDoc runtime
    Repack OpenDoc runtime (can be found at hobbes). License allow us to ship parts of OpenDoc with our product.
    Depends on SOM Compiler Pascal Emitter.
  • OSA support
    Still no lot of information according OSA. At least we need to find/rewrite runtime.
    Depends on SOM Compiler Pascal Emitter.

Previously Open Sibyl was based on Speed-Soft Sibyl SPCC (Sibyl Portable Component Classes) and SVDE (Sibyl Visual Development Tool) sources published under GNU Lesser Public License and GNU Public License. It's very much like Delphi on Windows or Kylix on Linux. The goal was to provide an easy to use tool for application development on OS/2 and eCS.

After some time I have found SPCC not so good as expected. Implementation too closed to SPC-specific features. So I finished real work on SPCC and SVDE because my real target always was SOM support in Pascal (and WPS-based RAD).

If one of you want to have Delphi-like RAD you still can use WDSibyl - project with goal to extend Sibyl SVDE & SPCC. Thanks to Wolfgang for maintance of WDSibyl project.


Application Programming Interface
Run-Time Library
Sibyl Portable Component Classes
Integrated Development Environment
Sibyl Visual Development Environment
Free Component Library
Lazarus Component Library
Free Pascal Compiler
Virtual Pascal Compiler
Speed Pascal Compiler
Free Vision (Turbo Vision clone)
System Object Model
WorkPlace Shell
SOM ToolKit
GNU Debugger
Interface Definition Language
Open Scripting Architecture

Project Navigation