From: Xavier Leroy <xavier.leroy@inria.fr>
To: Benjamin Geer <ben@socialtools.net>
Cc: Diego Olivier Fernandez Pons <Diego.FERNANDEZ_PONS@etu.upmc.fr>,
Nicolas Cannasse <warplayer@free.fr>,
caml-list@inria.fr
Subject: Re: OCaml's Cathedral & Bazaar (was Re: [Caml-list] Completeness of "Unix" run-time library)
Date: Thu, 18 Mar 2004 15:12:34 +0100 [thread overview]
Message-ID: <20040318151234.B21768@pauillac.inria.fr> (raw)
In-Reply-To: <4059994E.2010802@socialtools.net>; from ben@socialtools.net on Thu, Mar 18, 2004 at 12:42:54PM +0000
This discussion is heating up, so allow me to make a few points.
One should carefully distinguish between the core OCaml distribution
(the one that comes out of INRIA) and the whole OCaml programming
environment, which includes a lot of third-party libraries and tools.
The core OCaml distribution should and will remain just that: the
core, i.e. the compilers, run-time system and the tools and libraries
that are closely intertwined with the first two. We at INRIA do not
have the manpower to maintain, document and make distributions of a
much larger software set. (Witness the problems with the CDK.) We are
commited to developing and maintaining that core. I agree we do this
in a "cathedral" style, but this is intended and unlikely to change.
For everything else, bazaar-style developments from members of this
community are most welcome, and indeed the preferred way to enrich the
OCaml programming environment. A developer has an itch to scratch,
develops and releases a library or tool, gets it listed on the Hump,
users pick it up if it's good, discuss bugs, features and enhancements
with the developer, etc. There is absolutely no reason we at INRIA
should interfere with this process: in general, we don't have the
manpower to play a significant role, and we don't have the competences
either (many libraries and tools require expertise in application
domains that we're not familiar with, e.g. database interfaces).
There remains a problem of how to make it easy for everyone to install
and use these third-party contributions. CPAN managed to do it
through standardization on naming conventions, configuration and
installation procedures, and a *lot* of discipline from the
contributors. We aren't quite at this point with OCaml, although Gerd
Stolpmann's GODI is an impressive first step in this direction.
Again, it's up to this community to tell whether this is a good
approach that should be pursued, e.g. by providing GODI packaging from
your own libraries. One cannot just wish there would be a CPAN for
OCaml and just wait for us INRIA folks to come up with it overnight.
> The problem is not simply that INRIA is too cautious, it's that there is
> no visible process for accepting enhancements to Caml or its libraries
> from outside INRIA. INRIA very rarely responds at all, either
> positively or negatively, to proposed modifications from outsiders (the
> sole exception seems to be bug fixes).
Don't attribute to malice what is generally a lack of time. What do
you prefer: that I pontificate on every idea proposed on this mailing
list, or that I fix bugs?
As I said above, the preferred way to contribute to Caml is through
independent libraries and tools, not by aiming at getting your stuff
in the core OCaml distribution. There are good reasons why we are
very careful indeed with what goes in it:
- As Diego said, it's extremely painful to roll back a change or
addition that turns out to be a bad idea, because of backward
compatibility issues.
- Maintenance and documentation takes a lot of time. Often, it looks
like contributors expect us to maintain their contributed code.
- Copyright issues are not trivial. It's important for INRIA and the
Caml consortium to own the copyright on everything in the core
distribution. Significant contributions by others would therefore
require copyright transfers, whose legality in the French copyright
law is unclear.
Moreover, a *lot* of the suggested enhancements can be done equally
well, if not better, without touching the core OCaml distribution.
A typical example is syntactic sugar (for regexps, for hashtables, etc):
all this can easily be done as Camlp4 syntax extensions, so don't
expect it to end up in the (already way too rich) core language syntax.
> Recently there has been a long discussion on this list about enhancing
> the Unix module, and no one from INRIA has said a word about it; this is
> very discouraging.
Again, this is essentially by lack of time. If you want my opinion on
this discussion:
- Changing the organization and naming of the Unix library is out of
the question. Yes, it could be organized a bit more nicely, but that
doesn't deserve breaking all the existing code that uses it. Still,
the Caml module system makes it easy to wrap existing code in a
different interface, so everyone is welcome to come up with a
differently-structued OS interface.
- IPv6 support is on my to do list. Missing POSIX syscalls can be
added on a case by case basis if there is clear need. Having a full
POSIX interface just for the sake of it is low on my priorities.
- Extending the Unix library is a lot harder than what most
contributors realize, because of portability and autoconfiguration
issues. The world isn't just the latest Linux release. Writing and
testing the autoconf code for an extension (e.g. IPv6) is often harder
than writing the C-Caml wrapper code for it.
> Has ocaml-lib.sourceforge.net been rejected?
By whom? It seems like ExtLib is progressing, and if it's good it
will be widely adopted by OCaml users (just like, say, Markus Mottl's
PCRE library was widely adopted). I don't have anything to say on
this matter.
> INRIA silently working on its own library enhancements which will be
> incompatibly replace some of the enhancements developed by the
> community?
As a matter of fact, no, we're not. But even if we were, these would
not "replace" the work done by others, but at most compete with it.
Users get to choose.
> Is there a plan for the future development of Caml?
The short-term plans are stabilizing the core distribution, preserve
compatibility, and refrain from major user-visible changes. We are
discussing some internal changes e.g. on the run-time representation
of objects, but these should not change the user's view of the system.
If GODI doesn't take up, maybe we'll invest more efforts into library
packaging and installation frameworks.
> We are like the man in Kafka's novel _The Trial_, who stands for
> years at the door of the Law, and is never told whether he will be
> seen, or when, or if not, why not.
Aren't you overdoing it a little bit? :-)
- Xavier Leroy
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
next prev parent reply other threads:[~2004-03-18 14:17 UTC|newest]
Thread overview: 127+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-09 17:30 [Caml-list] Completeness of "Unix" run-time library Vasili Galchin
2004-03-09 17:55 ` Richard Jones
2004-03-09 18:11 ` Shawn Wagner
2004-03-15 19:44 ` Eric Stokes
2004-03-16 5:32 ` Vasili Galchin
2004-03-17 15:52 ` Eric Stokes
2004-03-18 0:19 ` Vasili Galchin
2004-03-18 8:56 ` OCaml's Cathedral & Bazaar (was Re: [Caml-list] Completeness of "Unix" run-time library) Matt Gushee
2004-03-18 10:31 ` Richard Jones
2004-03-18 11:22 ` Nicolas Cannasse
2004-03-18 11:18 ` Wolfgang Müller
2004-03-18 11:55 ` Diego Olivier Fernandez Pons
2004-03-18 12:42 ` Benjamin Geer
2004-03-18 14:12 ` Xavier Leroy [this message]
2004-03-18 17:18 ` Benjamin Geer
2004-03-18 17:56 ` Alex Baretta
2004-03-18 18:33 ` Markus Mottl
2004-03-19 10:58 ` [Caml-list] Structuring the Caml community Christophe TROESTLER
2004-03-19 18:29 ` Yamagata Yoriyuki
2004-03-18 23:44 ` [Caml-list] Structuring the Caml community (Re: OCaml's Cathedral & Bazaar) Alain.Frisch
2004-03-19 8:36 ` Oliver Bandel
2004-03-19 19:03 ` Eric Stokes
2004-03-19 22:34 ` Benjamin Geer
2004-03-19 22:58 ` Matthew O'Connor
2004-03-19 23:15 ` Eric Stokes
2004-03-19 23:23 ` Karl Zilles
2004-03-20 10:10 ` ocaml.org (was: Re: [Caml-list] Structuring the Caml community (Re: OCaml's Cathedral & Bazaar)) Richard Jones
[not found] ` <Pine.LNX.4.44.0403201143290.2678-100000@lcmpc4.epfl.ch>
2004-03-20 10:47 ` Richard Jones
2004-03-18 23:41 ` OCaml's Cathedral & Bazaar (was Re: [Caml-list] Completeness of "Unix" run-time library) Gerd Stolpmann
2004-03-19 0:47 ` Kenneth Knowles
2004-03-19 8:54 ` Richard Jones
2004-03-19 12:29 ` Gerd Stolpmann
2004-03-19 12:44 ` [Caml-list] Proposed community structure (was Re: OCaml's Cathedral & Bazaar) Benjamin Geer
2004-03-19 17:30 ` [Caml-list] " Gerd Stolpmann
2004-03-20 6:30 ` Matt Gushee
2004-03-20 6:49 ` Vasili Galchin
2004-03-20 13:19 ` Ville-Pertti Keinonen
2004-03-20 19:03 ` Vasili Galchin
2004-03-20 11:23 ` Benjamin Geer
2004-03-20 16:46 ` Gerd Stolpmann
2004-03-20 13:07 ` [Caml-list] Re: OCaml's Cathedral & Bazaar Dmitry Bely
2004-03-20 15:55 ` Gerd Stolpmann
2004-03-20 20:09 ` brogoff
2004-03-18 12:55 ` Alex Baretta
2004-03-19 8:54 ` OCaml's Cathedral & Bazaar (was Re: [Caml-list] Completeness of "Unix" run-time library) Sven Luther
2004-03-19 9:12 ` Sven Luther
2004-03-18 13:12 ` John Carr
2004-03-18 13:56 ` Richard Jones
2004-03-18 18:41 ` Oliver Bandel
2004-03-18 20:10 ` John Carr
2004-03-18 23:20 ` Richard Jones
2004-03-19 1:30 ` Jacques Garrigue
2004-03-19 5:10 ` skaller
2004-03-19 8:41 ` Sven Luther
2004-03-19 8:58 ` Richard Jones
2004-03-19 9:13 ` Sven Luther
2004-03-19 10:03 ` Alex Baretta
2004-03-19 10:17 ` Sven Luther
2004-03-19 11:49 ` Benjamin Geer
2004-03-19 12:20 ` Gerd Stolpmann
2004-03-19 12:31 ` Sven Luther
2004-03-19 12:34 ` Issac Trotts
2004-03-21 9:13 ` skaller
2004-03-21 20:05 ` Issac Trotts
[not found] ` <1079927683.3165.73.camel@pelican.wigram>
2004-03-22 6:51 ` Issac Trotts
2004-03-23 19:48 ` skaller
2004-03-23 22:16 ` Gerd Stolpmann
2004-04-03 6:36 ` Dustin Sallings
2004-04-03 7:43 ` Kenneth Knowles
2004-04-05 7:50 ` Dustin Sallings
2004-04-06 4:20 ` Vasili Galchin
2004-04-06 7:24 ` skaller
2004-04-06 17:24 ` Benjamin Geer
2004-04-06 17:38 ` Kip Macy
2004-04-07 23:11 ` Vasili Galchin
2004-04-07 23:08 ` Vasili Galchin
2004-04-07 23:31 ` Dustin Sallings
2004-04-08 13:57 ` John Goerzen
2004-04-13 11:15 ` Keith Wansbrough
2004-04-08 13:48 ` John Goerzen
2004-04-08 14:06 ` Richard Jones
2004-04-08 14:53 ` John Goerzen
2004-04-08 19:56 ` [Caml-list] Re: OCaml's Cathedral & Bazaar Christophe TROESTLER
2004-04-08 20:47 ` OCaml's Cathedral & Bazaar (was Re: [Caml-list] Completeness of "Unix" run-time library) Evan Martin
2004-04-08 21:20 ` Kenneth Knowles
2004-04-07 23:03 ` Vasili Galchin
2004-04-08 7:03 ` james woodyatt
2004-04-08 7:15 ` Stijn De Saeger
2004-04-08 8:25 ` skaller
2004-04-08 9:35 ` Andreas Rossberg
2004-04-08 11:05 ` Florian Hars
2004-04-08 11:31 ` Andreas Rossberg
2004-04-08 13:39 ` Jacques Garrigue
2004-04-08 12:33 ` Richard Jones
2004-03-19 12:17 ` Alex Baretta
2004-03-19 12:37 ` Sven Luther
2004-03-19 12:44 ` Issac Trotts
2004-03-18 23:31 ` Benjamin Geer
2004-03-19 1:08 ` Michael Vanier
2004-03-19 8:51 ` Sven Luther
2004-03-19 13:20 ` John Carr
2004-03-19 15:12 ` Sven Luther
2004-03-21 21:11 ` John Carr
2004-03-22 6:46 ` Sven Luther
2004-03-19 8:48 ` Sven Luther
2004-03-18 18:57 ` Shawn Wagner
2004-03-18 21:16 ` Kenneth Knowles
2004-03-18 22:32 ` Fernando Alegre
2004-03-19 0:03 ` [Caml-list] Re: OCaml's Cathedral & Bazaar Remi Vanicat
2004-03-19 8:50 ` [Caml-list] Demande clarification nomenclature ocaml* Diego Olivier Fernandez Pons
2004-03-19 9:49 ` [Caml-list] Suggestion (was: Demande clarification nomenclature ocaml*) Wolfgang Müller
2004-03-19 10:19 ` [Caml-list] Modules and namespaces Richard Jones
2004-03-19 10:42 ` Wolfgang Müller
2004-03-19 10:45 ` Sven Luther
2004-03-19 13:56 ` Fernando Alegre
2004-03-19 15:15 ` Sven Luther
2004-03-19 11:45 ` [Caml-list] Demande clarification nomenclature ocaml* Benjamin Geer
2004-03-20 6:12 ` OCaml's Cathedral & Bazaar (was Re: [Caml-list] Completeness of "Unix" run-time library) Matt Gushee
2004-03-20 11:29 ` Benjamin Geer
2004-03-20 6:23 ` Vasili Galchin
2004-03-20 6:23 ` Vasili Galchin
2004-03-09 17:59 ` [Caml-list] Completeness of "Unix" run-time library james woodyatt
2004-03-19 10:19 ` Sven Luther
2004-03-20 6:15 ` Vasili Galchin
2004-03-20 6:40 ` Sven Luther
2004-03-20 6:45 ` Vasili Galchin
2004-03-09 18:04 ` Stefano Zacchiroli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040318151234.B21768@pauillac.inria.fr \
--to=xavier.leroy@inria.fr \
--cc=Diego.FERNANDEZ_PONS@etu.upmc.fr \
--cc=ben@socialtools.net \
--cc=caml-list@inria.fr \
--cc=warplayer@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox