Open-source Informix-4GL toolchain
Aubit4GL compiles your existing Informix-4GL source unchanged and runs it on PostgreSQL, Informix or MySQL. The VENTAS Desktop Client then wraps that same logic in a modern interface — desktop and mobile. Open source. No licence fees. No lock-in.
Aubit4GL is a GPL, Informix-4GL–compatible compiler. Existing 4GL source compiles and runs — connecting natively to PostgreSQL, Informix and MySQL, or anything via ODBC.
The VENTAS Desktop Client (VDC) renders 4GL screenforms as a modern GUI — buttons, tabs, date pickers, maps, grids — over an XML protocol. Same logic, new front-end.
A vendor-neutral home for the open-source x4GL ecosystem, bringing scattered work — compiler, clients, docs, community — under one roof.
See it running
This is a real ERP — drawn by the open-source VDC straight from Informix-4GL code. The same business logic you already have, wrapped in a contemporary desktop interface, with not a line of GUI code written by hand: you write the program, the client draws the windows.
A full business application in the VDC — dark theme, dockable panels, an action toolbar. Compiled from 4GL.
From the people who shipped it
Real reports from teams that moved real Informix-4GL systems onto open databases with this toolchain.
Fantastic work — allowed us to move off a legacy system within two months and onto PostgreSQL with Aubit4GL under Debian 10.
13,647 4GL program modules — all compiled fine with Aubit4GL. The few runtime differences were fixed in record time; the programs run the same as the original i4GL.
We've already successfully migrated a large system from Informix SE to PostgreSQL with just a few 4GL source-code changes.
Reviewers call it suitable even for large corporate situations, with support they describe as “exceptional.”
Get running in 15 minutes
With the Aubit4GL tools and a VDC client available, three steps take you from nothing to a running GUI. The full walkthrough is in the Developer Guide.
A 4GL program runs on the server and talks to the VDC client over an XML protocol. Set these once:
export AUBITDIR=/opt/aubit4gl # your Aubit4GL install
export PATH=$AUBITDIR/bin:$PATH
export LD_LIBRARY_PATH=$AUBITDIR/lib:$LD_LIBRARY_PATH
export A4GL_UI=XML # speak the VDC's XML protocol
export AFGLSERVER=127.0.0.1 # where the VDC client is listening
export AFGLPORT=3490 # the client's port
Prove the compiler works — text only, no GUI yet. Put this in hello.4gl:
MAIN
DISPLAY "Hello, 4GL!"
END MAIN
Then compile it to a runnable .4ae and run it:
4glpc -o hello.4ae hello.4gl
./hello.4ae # -> Hello, 4GL!
A GUI program is a form (.per, the screen) plus a program (the logic). Compile the form, compile the program, and run it with the VDC client listening:
fcompile -xml hello.per # compile the form the client renders
4glpc -o hellogui.4ae hellogui.4gl # compile the program
./hellogui.4ae # a window opens in the VDC client
Full getting-started (forms, INPUT, MENU) ↗ The whole Developer Guide ↗
The directory
The project's work has lived across SourceForge, company sites and app stores for years. This is the index that ties it together. Links marked new are the canonical home going forward; mirror means kept for reach; to move is being migrated here.
Latest source and RPM builds of the compiler. Build from source or grab a packaged release.
The VENTAS Desktop Client binaries — Linux, Windows and macOS — from the VENTAS download site.
Try Aubit4GL in a browser-hosted Linux environment without installing anything locally.
Write your own apps with 4GL + the VDC — getting started, the language, forms, database, building and running. Searchable, hosted right here.
The full reference manual — edited by John O'Gorman, December 2010. The most complete single document on the language.
The canonical development home — the VENTAS Desktop Client source on a non-profit, community-run forge, with modern Git, issues and CI. Where new contributions land.
The x4GL compiler source, with adaptions for the VDC5, on a non-profit, community-run forge, with modern Git, issues and CI — the canonical development home for the language itself.
The long-standing project page, kept as a release mirror and for its download reach, history and reviews.