GODI is discontinued. This is the archived content
of the former site godi.camlcity.org.
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
docs.camlcity.org.
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 docs.camlcity.org 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.