TP
2008-09-14 12:44:45 UTC
Bonjour,
Je considère le programme simple suivant toto.ml:
let f x = x + 1;;
print_int (f 18);;
print_newline();;
Je le compile, et génère un "exécutable statique":
$ ocamlc -custom -o toto toto.ml
J'obtiens un exécutable toto de 171Ko.
Je regarde les dépendances:
$ ldd toto
linux-gate.so.1 => (0xb7fd4000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7f93000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7f8f000)
libncurses.so.5 => /lib/libncurses.so.5 (0xb7f5e000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7f46000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7df7000)
/lib/ld-linux.so.2 (0xb7fd5000)
Effectivement, pas de dépendance à une implémentation ocaml.
Je me pose alors la question de savoir quelle est la licence de ces
libraries, qui appartiennent toutes au package libc6 (je suis sous
Kubuntu), et au package libncurses5 pour libncurses.so.5.
http://en.wikipedia.org/wiki/GNU_C_Library
Pour libc, c'est du LGPL, donc pas besoin que je donne les sources de mon
programme toto.ml si je fournir l'exécutable toto à quelqu'un.
http://en.wikipedia.org/wiki/Ncurses
Sous licence MIT, c'est pas du GPL.
Mais il est dit qu'ils vont peut-être passer en GPL. Dans ce cas, cela
voudrait dire qu'on serait obligé de fournir le code source de tout
programme ayant libncurses comme dépendance?
Concernant la licence de ocaml:
http://caml.inria.fr/ocaml/license.en.html
Si je comprends bien, si je distribue du "byte code" (que j'obtiens
avec "ocamlc -o toto toto.ml"), le client nécessite une distribution ocaml,
que je peux livrer avec le logiciel, mais je n'ai pas besoin de fournir le
code source.
Merci
Julien
Je considère le programme simple suivant toto.ml:
let f x = x + 1;;
print_int (f 18);;
print_newline();;
Je le compile, et génère un "exécutable statique":
$ ocamlc -custom -o toto toto.ml
J'obtiens un exécutable toto de 171Ko.
Je regarde les dépendances:
$ ldd toto
linux-gate.so.1 => (0xb7fd4000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7f93000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7f8f000)
libncurses.so.5 => /lib/libncurses.so.5 (0xb7f5e000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7f46000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7df7000)
/lib/ld-linux.so.2 (0xb7fd5000)
Effectivement, pas de dépendance à une implémentation ocaml.
Je me pose alors la question de savoir quelle est la licence de ces
libraries, qui appartiennent toutes au package libc6 (je suis sous
Kubuntu), et au package libncurses5 pour libncurses.so.5.
http://en.wikipedia.org/wiki/GNU_C_Library
Pour libc, c'est du LGPL, donc pas besoin que je donne les sources de mon
programme toto.ml si je fournir l'exécutable toto à quelqu'un.
http://en.wikipedia.org/wiki/Ncurses
Sous licence MIT, c'est pas du GPL.
Mais il est dit qu'ils vont peut-être passer en GPL. Dans ce cas, cela
voudrait dire qu'on serait obligé de fournir le code source de tout
programme ayant libncurses comme dépendance?
Concernant la licence de ocaml:
http://caml.inria.fr/ocaml/license.en.html
Si je comprends bien, si je distribue du "byte code" (que j'obtiens
avec "ocamlc -o toto toto.ml"), le client nécessite une distribution ocaml,
que je peux livrer avec le logiciel, mais je n'ai pas besoin de fournir le
code source.
Merci
Julien
--
python -c "print ''.join([chr(154 - ord(c)) for c in '*9(9&(18%.9&1+,\'Z
(55l4('])"
"When a distinguished but elderly scientist states that something is
possible, he is almost certainly right. When he states that something is
impossible, he is very probably wrong." (first law of AC Clarke)
python -c "print ''.join([chr(154 - ord(c)) for c in '*9(9&(18%.9&1+,\'Z
(55l4('])"
"When a distinguished but elderly scientist states that something is
possible, he is almost certainly right. When he states that something is
impossible, he is very probably wrong." (first law of AC Clarke)