Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
The OCaml Community (aka back from the Developer Days)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-01-29 (13:45)
From: Gerd Stolpmann <info@g...>
Subject: Re: [Caml-list] Re: The OCaml Community (aka back from the Developer Days)
Dear Markus,

I'm a bit speechless, and admit I have really problems formulating an
appropriate response. I know that companies tend to separate themselves
from others, since they are finally only a group of people sitting
together and working on their own agenda. So the discussion within
companies usually has a lot of specifics which cannot be understood from
the outside.

Nevertheless it is sometimes important to recall some facts that might
have been overlooked in the company-internal discussion.

1. GODI is meant as an effort to bundle the activities of the community.
It is not a commercial offer, and there is no customer support
complaints can be directed at. If you want to improve it, the only way
is to spend time and energy, and to enter a constructive discussion on
godi-list. It is a pity that nobody at Jane Street wants to do this.

2. As I'm the guy who mainly developed the core of GODI I can tell you
that every hour I work on GODI is an hour I cannot work for one of my
customers. So GODI produces opportunity costs for me. From that point of
view I cannot understand a (probably) rich company that profited from
this project for free, and is unwilling to share some of the costs.
There is an economy behind free software, and Jane Street seems not to
have understood it.

3. Jane Street announced several times that they wanted to release
software into the OSS world. Nothing happened. From that experience I
think your "new approach" is also nothing but vaporware.

Sorry for the direct language, but you provoked it. It is a pity to lose
Jane Street as supporter of GODI. If you still want to enter into a
constructive dialog, I'm open to it.


Am Montag, den 28.01.2008, 19:26 -0500 schrieb Markus Mottl: 
> Since there were quite a lot of positive comments about Godi lately, I
> think it is also necessary to point out some of its significant
> drawbacks.  We (Jane Street Capital) have been using Godi internally
> for quite a while, and I have to admit that we are less than thrilled
> by it and are planning to phase it out from our development
> environment.  Following is a short description of what seem to be the
> major problems.
> Users of package management systems usually fall into one (or more) of
> these roles:
>   * Software developers
>   * Package maintainers
>   * Installation administrators
>   * Package users
> In our experience the only role that is sufficiently well-supported by
> Godi is the one of the package user.  It essentially boils down to
> using ocamlfind, which works fine for that purpose.  The majority of
> OCaml users belongs to this group most of the time, which probably
> explains why Godi caught on so well.
> However, the other roles are much worse off.  It seems one design
> decision of Godi was to separate software developers and package
> maintainers.  In practice, however, package maintainers are usually
> also the developers, and they are most often also package users.  If I
> want to roll out and work with an updated Godi-package, I have to jump
> through several hoops before I can do so: upload my updated tarball to
> my webserver, update the package metadata in the Godi SVN-repository,
> point my browser to the Godi website to update the Godi distribution,
> go to my local Godi-installation, update and recompile the package,
> and finally, when I try to use it, I may find out that I had made a
> mistake somewhere and have to start all over.  The build system used
> by Godi, which is based on NetBSD's package management, is arcane to
> say the least.  I still don't quite understand how to e.g. correctly
> make packages check for C-library dependencies, etc.
> Administrating a Godi installation is no easy task either.  The user
> interface seems quite cumbersome and hard to use.  Furthermore, it is
> not easy to integrate libraries that are not in Godi (as packages).
> They need to be rebuilt, too, when their dependencies get updated, but
> automating this task is essentially only possible by jumping through
> the hoops of making packages and becoming their maintainer.  A task
> that many would rather not take over and hardly makes sense if there
> is no intention to release such packages to the general public in the
> first place.
> The question now is how to solve these issues, and it's clear that
> this would require a fairly significant development effort.
> As a software developer and package maintainer, I'd ideally like to be
> able to work on a source tree containing the complete code of all
> packages (and their dependencies), make changes wherever I want (fix
> bugs, add features, add new libraries, etc.), share patches or full
> versions with other maintainers, and all of this with a minimum amount
> of overhead.  Since Godi only tracks dependencies between packages, it
> is not possible to just update code and let the build system figure
> out what needs to be recompiled.  One needs to build new packages
> instead, which is way too much effort.  As installation administrator
> I'd like to be able to use a straightforward user interface and easily
> add 3rd party libraries without having to manually make sure that
> dependencies are not violated.
> It is still a point of discussion at our company how to replace Godi,
> and also how we could find a solution that would integrate well with
> the OCaml-community.  We have developed a fair amount of
> infrastructure to improve our team productivity (we have around 20
> full time developers now working in three different locations) by
> lowering turnaround times associated with code changes.  The use of
> distributed version control, compile daemons and omake has made it
> very easy for us to share code that is guaranteed to compile and
> allows making modifications quickly with a minimum amount of time
> required for recompilations.
> It seems likely that focusing on a high degree of standardization
> around the usage of software development tools (which version control
> to use, how to guarantee compilability, what build tools to use,
> standards enforcing easy combination and modularity of build
> processes) would lower development barriers and thus boost the
> productivity of the OCaml community.  But it seems rather unlikely to
> most of us that Godi will be a suitable foundation for moving forward.
>  We greatly appreciate Gerd's tireless efforts to contribute tools
> like Godi, which is a lot of hard work that nobody else wanted to do
> before.  We have certainly benefited from it in the past and hope that
> a new approach will alleviate the problems that Godi-developers often
> run into.
> Best regards,
> Markus
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany
Phone: +49-6151-153855                  Fax: +49-6151-997714