Loading ...
Sorry, an error occurred while loading the content.

LGPLv3 linking exception

Expand Messages
  • Ashish Agarwal
    (Maybe this question was too basic for the main list. I am reposting here in the hopes of a reply.) From older posts, I get the impression that OCaml s lack of
    Message 1 of 4 , Apr 8, 2010
    • 0 Attachment
      (Maybe this question was too basic for the main list. I am reposting here in
      the hopes of a reply.)

      From older posts, I get the impression that OCaml's lack of support for
      dynamic linking affects the choice of including a linking exception in
      libraries released under GPL or LGPL. Can someone summarize the issue?

      Is there an OCaml library using an LGPLv3 + linking exception license? I've
      not been able to find the necessary wording for the linking exception. I
      find several using LGPLv2.1 but the sections have moved around in version 3
      so I don't think the linking exception wording carries over.


      [Non-text portions of this message have been removed]
    • Florent Monnier
      ... Using an ocaml library in bytecode is done dynamically, but using an ocaml library in native code is done with static linking. The LGPL allows a
      Message 2 of 4 , Apr 11, 2010
      • 0 Attachment
        > From older posts, I get the impression that OCaml's lack of support for
        > dynamic linking affects the choice of including a linking exception in
        > libraries released under GPL or LGPL. Can someone summarize the issue?

        Using an ocaml library in bytecode is done dynamically, but using an ocaml
        library in native code is done with static linking.
        The LGPL allows a proprietary software to use an LGPL library in dynamic
        linking mode. So the well known "linking exception" allows static linking too,
        otherwise a proprietary software would not be able to use an LGPL library in
        native mode.

        > Is there an OCaml library using an LGPLv3 + linking exception license? I've
        > not been able to find the necessary wording for the linking exception. I
        > find several using LGPLv2.1 but the sections have moved around in version 3
        > so I don't think the linking exception wording carries over.

        Maybe I'm wrong, but I don't think there is one yet.

        So if you don't want to write the "linking exception" yourself to the LGPL v3
        maybe you should just be patient.
        If you do want to use LGPL3 over LGPL2.1 maybe you could just write the
        "linking exception" in a very simple way: just explain that you allow using
        the library from a proprietary software in a static linking way.
        Then if you see later someone else more knowledgeable writing the exception in
        another project you could take it to replace yours.

        --
        Regards
      • Sylvain Le Gall
        ... I am not sure about this. In byte and native modes, OCaml code is copied inside target executables. When you generate a library, it just embeds signature
        Message 3 of 4 , Apr 12, 2010
        • 0 Attachment
          On 11-04-2010, Florent Monnier <fmonnier@...> wrote:
          >> From older posts, I get the impression that OCaml's lack of support for
          >> dynamic linking affects the choice of including a linking exception in
          >> libraries released under GPL or LGPL. Can someone summarize the issue?
          >
          > Using an ocaml library in bytecode is done dynamically, but using an ocaml
          > library in native code is done with static linking.

          I am not sure about this. In byte and native modes, OCaml code is copied
          inside target executables. When you generate a library, it just embeds
          signature of depending libraries.

          The only exception is the C part of the library, which is stored in
          /usr/lib/ocaml/stublibs/dll*.so on Debian. In this case, there are two
          possibilities for byte version: either you specify "-custom" when
          compiling and the code is copied, or you do a pure bytecode exec and the
          .so is loaded dynamically. For native version, C part of the library is
          always copied into the exec.

          If you want something dynamically loaded, you need to do it by hand
          using the Dynlink module.

          Regards
          Sylvain Le Gall
        • Ashish Agarwal
          Thanks for the reply. I was trying to use the latest license, but I can use v2.1 since that seems to be the norm still. On Sun, Apr 11, 2010 at 5:09 AM,
          Message 4 of 4 , Apr 13, 2010
          • 0 Attachment
            Thanks for the reply. I was trying to use the latest license, but I can use
            v2.1 since that seems to be the norm still.

            On Sun, Apr 11, 2010 at 5:09 AM, Florent Monnier <
            fmonnier@...> wrote:

            > > From older posts, I get the impression that OCaml's lack of support for
            > > dynamic linking affects the choice of including a linking exception in
            > > libraries released under GPL or LGPL. Can someone summarize the issue?
            >
            > Using an ocaml library in bytecode is done dynamically, but using an ocaml
            > library in native code is done with static linking.
            > The LGPL allows a proprietary software to use an LGPL library in dynamic
            > linking mode. So the well known "linking exception" allows static linking
            > too,
            > otherwise a proprietary software would not be able to use an LGPL library
            > in
            > native mode.
            >
            > > Is there an OCaml library using an LGPLv3 + linking exception license?
            > I've
            > > not been able to find the necessary wording for the linking exception. I
            > > find several using LGPLv2.1 but the sections have moved around in version
            > 3
            > > so I don't think the linking exception wording carries over.
            >
            > Maybe I'm wrong, but I don't think there is one yet.
            >
            > So if you don't want to write the "linking exception" yourself to the LGPL
            > v3
            > maybe you should just be patient.
            > If you do want to use LGPL3 over LGPL2.1 maybe you could just write the
            > "linking exception" in a very simple way: just explain that you allow using
            > the library from a proprietary software in a static linking way.
            > Then if you see later someone else more knowledgeable writing the exception
            > in
            > another project you could take it to replace yours.
            >
            > --
            > Regards
            >


            [Non-text portions of this message have been removed]
          Your message has been successfully submitted and would be delivered to recipients shortly.