[Camel picture]
The Caml Consortium [INRIA Logo]
[Horizontal line]
[Horizontal line] Version franšaise [Version franšaise]

Report on the First Meeting of the Caml Consortium

Anglet (France)

January 27, 2002
(sorry, there is no french version)

1   Attendees

  • Serge Leblanc (FluxMedia)
  • Emmanuel Ledinot (Dassault-Aviation)
  • Jean-Marc Eber (LexiFi)

  • Jun Furuse
  • Maxence Guesdon
  • Xavier Leroy (Technical Manager)
  • Michel Mauny (Chairman)
  • Pierre Weis

2   Agenda

Reminder: Michel Mauny mentioned in an electronic message sent the Consortium members that INRIA proposed that membership fees collected during year 2001 would serve as 2002 membership fees, given the slow incoming of membership agreements. Members unanimously decided to accept this proposition.

2.1   Current state of OCaml development

Xavier Leroy
presented the recent improvement brought to OCaml, as well as the current plans. His slides (in French) can be found here.

Maxence Guesdon
presented his work (his slides - in French - are here) and gave a demo of the set of tools he is developing.

2.2   OCaml licence: a special licence for members?

With the objective of:
  1. giving more freedom to the Members in using the OCaml compiler, and
  2. attracting more industrial members,
INRIA proposes a double licencing mechanism for the Caml distributions (OCaml and Caml-Light):
  • for all, the current licences (that is, QPL and ``modified LGPL'');
  • for members only a ``BSD style'' licence, for the Caml systems that have been released during their membership.
This way, members could build proprietary software including parts of OCaml or Caml-Light, and do whatever they want with it. When a company leaves the Consortium, it keeps the benefit of this licence on all versions of Caml that have been publicly released so far, but cannot benefit of this privilege on versions that are released after it leaves the Consortium.

INRIA is still confident that if members have to improve or fix the Caml compilers, the corresponding modifications will still be sent to the development team for integration into the current development tree.

Everyone in the meeting agreed on this idea. INRIA proposed to work more on this idea (find the `right' license, compatible with the French laws) and to discuss a proposition by email. Once all members agree on a specific licence, INRIA shall work on the modifications to bring to the Partnership Agreement.

2.3   Usage of the 2002 membership fees

Members unanimously decided to postpone the allotment of the fees.

2.4   Future amount of membership fees, and simplification of the Partnership forms:

About membership fees, everyone agrees on neither increase nor decrease Option A (2 KEuros).

INRIA proposes to suppress options B (10 KEuros) and C (transfer of software). This would simplify the Partnership Agreement and make it more readable to non-members. Everyone agrees on this proposition.

INRIA shall work on new Partnership Agreement (carrying out at the same time the licence modifications mentioned above, and this simplification), and propose a new Agreement to all members. This, again, will occur by email.

2.5   Other issues

A few other issues should have been raised (collected by Michel Mauny by an email to all members). Unfortunately, the time didn't allow to discuss these points. Since all of them were questions addressed to INRIA, here are the answers that INRIA would have given.

Win32 GUI: why in C?
For simplicity: no Win32 API bindings for Caml were available at the time of this development; moreover, the developer (Jacob Navia, contractor with INRIA) knows C but not Caml.

Recursive modules, mixins, extensional polymorphism:
these require a fair amount of theoretical foundations, which are being worked on as part of two PhD theses (J. Furuse and T. Hirschowitz).

Packaging tool:
Xavier Leroy started working on this. We expect to have a ``packaging'' option to the OCaml compilers in the next release. This mechanism would be available for bytecode on all platforms, and for native-code on platforms that support the GNU ``binutils'' tools, i.e. most Unixes plus Windows with Cygwin, but probably not Windows with Microsoft compiler tools.

Interfaces with Glade:
Maxence's development is more thightly connected to OCaml than the other Caml/Glade bindings developed independently. For instance, buttons can be labelled with an OCaml expression (of type string, of course), and not only a static constant, as in other interfaces.

after talking to people here at INRIA, this is the best we can do. INRIA cannot receive money without an invoice of the corresponding amount.

Optional underscores in numbers (for grouping):
good idea, now implemented in the development version of OCaml. The compiler won't check that the grouping makes sense. (There is no universal rule; for instance, in Japan, digits are grouped by four, instead of three.) This is more a kind of documentation. Works for integers, as well as for floating point numbers.

Syntax for infixes:
there is still a discussion inside the Caml team about a few details of this. Should be solved soon...

[Horizontal line]
Valid HTML 4.0! Top of page Contact: Michel.Mauny@inria.fr