Plasma GitLab Archive
Projects Blog Knowledge

GODI Project:
Mailing List 
Why Ocaml? 
GODI is discontinued. This is the archived content of the former site


A single utility is sufficient to manage GODI: godi_console. The console provides a text-based user interface, allowing one to install, upgrade, or delete packages with a few key strokes. We prefer a text-based UI because it also works in environments where graphical UIs are uncommon, e.g. in datacenters. Nevertheless, the UI is simple and easy to understand. In addition to the UI there is also a set of command-line utilities, allowing precise control of GODI management actions.

GODI runs on a number of operating systems, and for a number of CPUs (thanks to Ocaml's support for all current processor types). The integration of GODI into the operating system is taken seriously - we do not want that the resulting software appears as an alien fallen into the wrong universe. This means especially that we use the C libraries coming with the operating system, and do not play our own game here. GODI works only on top of the gcc C compiler, though - but as this compiler is available for a multitude on operating systems this is no big problem.

GODI is certainly Unix-centric - there is an experimental Windows port, but it also bases on Unix-type scripting. We think that we cannot improve this situation, as the whole Ocaml community is Unix-centric.

More than 200 packages are included in GODI (July 2011), providing support for many areas of programming. Thanks to the effort of the packagers (a team of around 20 people) many libraries and applications could be added to GODI. So far, GODI consists only of open-source software. Many of the GODI packagers have tight connections with the original authors and vendors of the software, and as a result, many GODI packages are recent.

If you just want to check what is available via GODI, the best way is to go to This site gives you full introspection into the GODI packages. Basically, it reflects the file tree of a full GODI installation, and you can check which files will be installed when you build a package. The source code is available, too. The site also provides a search function that understands Ocaml code. For example, you can search for the definition of a certain Ocaml function over all packages.

The docs site is actually backed by the GODI autobuilder. This is a tool that constantly tries to build all GODI packages, and serves primarily as a QA utility for the packagers. As a side effect, all the information for can be gathered.

You may ask why GODI is source-based? Why does it only distribute source code and not pre-built binaries? We think that source code is the only way to deliver excellent quality for a broad number of operating systems. As the build procedure is automated it is in no way more complicated or error-prone for the user than downloading binaries. However, we avoid all the problems binary formats may produce, especially incompatibilities with the existing libaries on the computer.

Source code distribution only looks strange at the first glance - mostly because we have adopted bad habits from the mainstream software industry. When looking closer, the advantages become clear: the software is always perfectly adapted to the local environment. It is possible to combine a wide range of Ocaml library versions, and not only those a vendor has picked randomly. Advanced users can even define local patches, i.e. small modifications of the software to match their needs even better.

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml