[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ocaml license

Hello, ...

I maintain the ocaml package. 

Ocaml is a ML style language, with both a bytecode compiler, a nativ code
compiler and a virtual machine to run the bytecode.

Now the problem is that ocaml is considered non-free, because its license
allows only distribution of modified works as source + patch, and no binaries
(debian package are not considered modification by the upstream autor). This is
regretable, but the author don't wish to change this, since ocaml is some very
sensitive technology, at least in the authors eye, since they position themself
as some kind of java concurent. I read somewhere on the FSF site that such
stuff cannot really adopt a free source approach, but still i tried to speak
with the author about it, but to no avail.

Now, there are various other package that are libraries for ocaml, or that are
programs written in ocaml, but that are under some kind or another of free
licenses, but since they depend on ocaml, they have to go in contrib.

Can something be done about it ? Does this not have something to do with the
first GPLs where there was not yet a free C compiler ? 

I think the situation is the same for native code programs, but the bytecode
ones depend on the virtual machine to run, which is non free.

So in a situation like this, would a nativ code compiled ocaml program go into
main ?

Anyway, to solve all this problems, i thought maybe a free (GPLed)
implementation of ocaml, that would be bytecode compatible with the the
non-free implementation, would solve the problem. This way, you could have a
free virtual machine, and people wanting more performance and other such could
use the non-free one. Would a virtual machine be enough, or do i have to
implement the compiler and other tools also ? What if i want ot write said
virtual machine and/or compiler in ocaml ? Will i have to wait until the free
version is able to compile and run itself before it can be considered as free ?



Reply to: