* [Caml-list] Licenses - Confusion @ 2013-05-22 12:34 oliver 2013-05-22 12:39 ` Anil Madhavapeddy 2013-05-22 13:02 ` Török Edwin 0 siblings, 2 replies; 14+ messages in thread From: oliver @ 2013-05-22 12:34 UTC (permalink / raw) To: caml-list Hello, I did publish one of my tools as GPLv3. It is written in OCaml. Now I saw at another project, that there is the need for an "OCaml exception" regarding linking. If thats true I may have missed a crucial points when thinking about the license for tools written in OCaml. I'm not a lwayer, and all that licenses stuff is rather+ annoying and confusing to me. That OCaml code needs special treatment here, even OCaml is shipped even with Debian, who surely would not accept GPL-violating stuff, is annoying. So, some questions came up now: - Which licenses can be used together with OCaml without changes? - Which licenses can be used together with added exceptions, and which exceptions are that? - In case of needed exceptions, where to find "ready-to-use"-versions of these licenses? - How to handle a project that already was published under a license that does not match 1:1 with OCaml licenses? It's not possible to delete any copy someone did of it already. Also it's not possible to sed all those people a message, to inform them that the license must be modified. Also I'm not sure how this could work, because the license came with the software at one time, and the correction comes later. Regarding the third point: it would be a good idea to provide "ready to use" licenses, which include the exceptions, instead of lawyer-compatible (but not necessarily programmer-compatible) explanations with many if-then-else's. Ciao, Oliver ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-22 12:34 [Caml-list] Licenses - Confusion oliver @ 2013-05-22 12:39 ` Anil Madhavapeddy 2013-05-22 16:40 ` Marek Kubica 2013-05-22 13:02 ` Török Edwin 1 sibling, 1 reply; 14+ messages in thread From: Anil Madhavapeddy @ 2013-05-22 12:39 UTC (permalink / raw) To: oliver; +Cc: caml-list On 22 May 2013, at 13:34, oliver <oliver@first.in-berlin.de> wrote: > > Regarding the third point: it would be a good idea to provide > "ready to use" licenses, which include the exceptions, instead > of lawyer-compatible (but not necessarily programmer-compatible) > explanations with many if-then-else's. > The GPL, with all of its static linking verbiage, and OCaml are not a good fit. All of the Mirage libraries now prefer the ISC license where possible, and the LGPL+linking exception is considered deprecated for new code. The last time I spoke to a lawyer about the LGPL+exception (back in 2008 in Xensource), there were alarm bells raised about the shoddy legal wording involved. A BSD-style license is significantly simpler, as long as it doesn't include the advertising clause. Copyright (c) Year(s), Company or Person's Name <E-mail address> Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. best, Anil ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-22 12:39 ` Anil Madhavapeddy @ 2013-05-22 16:40 ` Marek Kubica 0 siblings, 0 replies; 14+ messages in thread From: Marek Kubica @ 2013-05-22 16:40 UTC (permalink / raw) To: caml-list On Wed, 22 May 2013 13:39:29 +0100 Anil Madhavapeddy <anil@recoil.org> wrote: > The last time I spoke to a lawyer about the LGPL+exception (back in > 2008 in Xensource), there were alarm bells raised about the shoddy > legal wording involved. A BSD-style license is significantly > simpler, as long as it doesn't include the advertising clause. But it is also a completely different, non-copyleft license so it wouldn't serve the same purpose. regards, Marek ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-22 12:34 [Caml-list] Licenses - Confusion oliver 2013-05-22 12:39 ` Anil Madhavapeddy @ 2013-05-22 13:02 ` Török Edwin 2013-05-22 17:19 ` Adrien Nader 2013-05-23 22:52 ` oliver 1 sibling, 2 replies; 14+ messages in thread From: Török Edwin @ 2013-05-22 13:02 UTC (permalink / raw) To: caml-list On 05/22/2013 03:34 PM, oliver wrote: > Hello, > > I did publish one of my tools as GPLv3. > It is written in OCaml. > > Now I saw at another project, that there is the need > for an "OCaml exception" regarding linking. > > If thats true I may have missed a crucial points > when thinking about the license for tools written in OCaml. I think that only matters if you release a *library* under LGPL. If you do not add the static linking exception then everyone using your library would have to release their source code too. (also depending on the LGPL version used it might be unclear whether static linking is a derived work or not). The LGPL requires people to allow relinking their applications with newer versions of your LGPL library. But OCaml has interface/implementation digests, and as such relinking with a newer version would simply fail. The only way to allow people to relink is to distribute the entire application's source code to allow people to recompile and relink with your LGPL library. So an OCaml library released under LGPL would be almost equivalent to a library release under GPL. The way around this is with that linking exception. If your library is under the GPL, or if you are writing an application as opposed to a library then this doesn't matter as the executable will always be a derived work and require people to release any source code they link it with. IANAL, so I may be wrong on this but this is what I understood from the wording of the linking exception and LGPL. Best regards, --Edwin ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-22 13:02 ` Török Edwin @ 2013-05-22 17:19 ` Adrien Nader 2013-05-23 6:36 ` Stéphane Glondu 2013-05-23 22:52 ` oliver 1 sibling, 1 reply; 14+ messages in thread From: Adrien Nader @ 2013-05-22 17:19 UTC (permalink / raw) To: Török Edwin; +Cc: caml-list Hi, I'll start with the usual IANAL (and I'm not the FSF either). The thing to keep in mind is what the various license attempt to do, roughly what their main goal is: - GPL*: a program under the GPL* licenses allow people who execute the software to run it, study it, modify it and redistribute it under the same rules - LGPL*: the same but for libraries and only for the libraries and not for the executable using the library - AGPL*: same as GPL* but instead of people who execute it (i.e. on their _own_ machine), it's people who use it (remotely for instance) If you chose the GPL, it's probably that you agreed with its goals so I won't expand on that. Now, the LGPL: it has been made mostly with C in mind. The modern way to distribute software is dynamic libraries: libraries that are not part of the main executable on disk, are loaded as needed into memory and are shared among several programs. Unfortunately, mostly for technical reasons, OCaml uses static and not dynamic linking. The LGPL requires the user to be able to swap one version of the library that a main executable uses for another one (that is fully compatible). That makes plenty of sense. For dynamic linking, you have separate files so that's easy. For static linking however, you only distribute one file and you can't simply swap two files and be done with it. That's the reason that many OCaml libraries uses the static linking exception but at the same time it hasn't been thoroughly studied and its terms might contradict. On the other hand, you can still rely on the spirit of the license which is that it cares about the library itself, not the program using it. Static linking and LGPL are probably fairly doable however. What's the big difference between static and dynamic linking? The LGPL requires that at link-time one library version can be replaced with another: that does require anything at compile time. One way to allow replacing an LGPL-licensed library that has been statically linked into a program would be to provide the set of .o files that are linked together to create the main executable. As Török said, OCaml's checksums can be annoying for such tasks. However, *IIRC* (it's been some time), the checksums are on the interface of the modules and the LGPL says that you need to allow relinking with libraries that are (binary?) compatible and that's what the checksums guarantee. Anyway, the LGPL doesn't say you have to make that as easy as possible: it simply says you have to make is possible. As far as I'm concerned, I don't consider hacking the checksums in the object files as something very difficult that prevents relinking (dangerous maybe, but definitely not more than the ABI incompatibilities C has). PS: *I* consider that BSD-style licenses cater for the needs of the programmers while the GPL-style ones cater to the users (that's my very own opinion) PPS: I'm fairly sure I've forgotten stuff or been imprecise or ... but rather than add more lines to this already-long email, I'd rather wait for questions and answer as well as I can -- Adrien Nader ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-22 17:19 ` Adrien Nader @ 2013-05-23 6:36 ` Stéphane Glondu 2013-05-23 8:41 ` Daniel Bünzli 0 siblings, 1 reply; 14+ messages in thread From: Stéphane Glondu @ 2013-05-23 6:36 UTC (permalink / raw) To: caml-list; +Cc: adrien Le 22/05/2013 19:19, Adrien Nader a écrit : > As Török said, OCaml's checksums can be annoying for such tasks. > However, *IIRC* (it's been some time), the checksums are on the > interface of the modules and the LGPL says that you need to allow > relinking with libraries that are (binary?) compatible and that's what > the checksums guarantee. For native code, checksums are also on the implementation approximations (such as inlined functions, symbol names for direct access). Changing a library to keep it binary compatible with that is impossible in practice with the current tools. But actually, someone linking a closed-source executable using a pure LGPL library can just remove all *.cmx files of external libraries when compiling so that the approximations are not used, and the binary dependency will only be on interfaces. And, obviously, that person would need also to distribute all the *.{cma,cmxa,a} files needed to link said executable. > PS: *I* consider that BSD-style licenses cater for the needs of the > programmers while the GPL-style ones cater to the users > (that's my very own opinion) Keep in mind that programmers may be users but not copyright owners. I would say BSD-style licenses cater for the needs of organizations, and GPL-style ones cater for individuals. Cheers, -- Stéphane ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-23 6:36 ` Stéphane Glondu @ 2013-05-23 8:41 ` Daniel Bünzli 2013-05-23 21:07 ` Marek Kubica ` (4 more replies) 0 siblings, 5 replies; 14+ messages in thread From: Daniel Bünzli @ 2013-05-23 8:41 UTC (permalink / raw) To: Stéphane Glondu; +Cc: caml-list Le jeudi, 23 mai 2013 à 07:36, Stéphane Glondu a écrit : > I would say BSD-style licenses cater for the needs of organizations, and > GPL-style ones cater for individuals. Well as everyone seems to know and speak for the others, here's my take. Regardless of copyleft -- which I'm certain could be expressed in a BSD-like concise way -- I would personally say that BSD-style licenses are for humans and GPL-style for lawyers. If you need a lawyer to understand your freedom you are not free anymore. Stop feeding the lawyers and the bureaucrats. Best, Daniel ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-23 8:41 ` Daniel Bünzli @ 2013-05-23 21:07 ` Marek Kubica 2013-05-23 21:36 ` Stéphane Glondu ` (3 subsequent siblings) 4 siblings, 0 replies; 14+ messages in thread From: Marek Kubica @ 2013-05-23 21:07 UTC (permalink / raw) To: caml-list On Thu, 23 May 2013 09:41:09 +0100 Daniel Bünzli <daniel.buenzli@erratique.ch> wrote: > If you need a lawyer to understand your freedom you are not free > anymore. Stop feeding the lawyers and the bureaucrats. But then there is the other legal framework that makes some assumptions. That's why the Apache license has some clauses on patents. I read the GPL2 some time ago and found it not that difficult to understand, actually. If you want a BSD-like license for humans, there's the WTFPL. I think I'd agree with Stéphane about the classification. regards, Marek ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-23 8:41 ` Daniel Bünzli 2013-05-23 21:07 ` Marek Kubica @ 2013-05-23 21:36 ` Stéphane Glondu 2013-05-23 22:28 ` Daniel Bünzli 2013-05-23 21:39 ` Ernesto Posse ` (2 subsequent siblings) 4 siblings, 1 reply; 14+ messages in thread From: Stéphane Glondu @ 2013-05-23 21:36 UTC (permalink / raw) To: caml-list Le 23/05/2013 10:41, Daniel Bünzli a écrit : >> I would say BSD-style licenses cater for the needs of organizations, and >> GPL-style ones cater for individuals. > > > Well as everyone seems to know and speak for the others, here's my take. > > Regardless of copyleft -- which I'm certain could be expressed in a BSD-like concise way -- I would personally say that BSD-style licenses are for humans and GPL-style for lawyers. > > If you need a lawyer to understand your freedom you are not free anymore. Stop feeding the lawyers and the bureaucrats. Humans don't care about licenses. They do whatever is technically possible, guided by their conscience. License are there because of bad practices of the software industry (hidden sources, patents, etc.). Mathematics (theorems and proofs) have been developped freely of any licences since Antiquity. Cheers, -- Stéphane ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-23 21:36 ` Stéphane Glondu @ 2013-05-23 22:28 ` Daniel Bünzli 0 siblings, 0 replies; 14+ messages in thread From: Daniel Bünzli @ 2013-05-23 22:28 UTC (permalink / raw) To: caml-list Le jeudi, 23 mai 2013 à 22:36, Stéphane Glondu a écrit : > Humans don't care about licenses. That must be the reason we are discussing them. Le jeudi, 23 mai 2013 à 22:07, Marek Kubica a écrit : > I read the GPL2 some time ago and found it not that difficult to > understand, actually. Oh yes me too. The big question is whether you actually understand it that the same way a lawyer would --- my guess is no. Le jeudi, 23 mai 2013 à 22:39, Ernesto Posse a écrit : > I'm afraid this is a little bit too naive. I am not a lawyer, and I agree that the GPL is quite unreadable, but the choice of licence does matter, and has real consequences. If you read me correctly I never said that the choice didn't matter. I was asking for licenses that are reasonably understandable without needing a lawyer. > A BSD or MIT licence is very permissive, but one could argue that they is too permissive, with no attribution required for example. That assertion is wrong for BSD{2,3} (clause 2). Le jeudi, 23 mai 2013 à 23:11, Stefano Zacchiroli a écrit : > The topic you raise here is fairly complex, so I'd be weary of > "certainty" if I were you :) True. Best, Daniel ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-23 8:41 ` Daniel Bünzli 2013-05-23 21:07 ` Marek Kubica 2013-05-23 21:36 ` Stéphane Glondu @ 2013-05-23 21:39 ` Ernesto Posse 2013-05-23 21:45 ` Chet Murthy 2013-05-23 22:11 ` Stefano Zacchiroli 4 siblings, 0 replies; 14+ messages in thread From: Ernesto Posse @ 2013-05-23 21:39 UTC (permalink / raw) To: Daniel Bünzli; +Cc: Stéphane Glondu, caml-list [-- Attachment #1: Type: text/plain, Size: 1853 bytes --] On Thu, May 23, 2013 at 4:41 AM, Daniel Bünzli <daniel.buenzli@erratique.ch>wrote: > Le jeudi, 23 mai 2013 à 07:36, Stéphane Glondu a écrit : > > I would say BSD-style licenses cater for the needs of organizations, and > > GPL-style ones cater for individuals. > > > Well as everyone seems to know and speak for the others, here's my take. > > Regardless of copyleft -- which I'm certain could be expressed in a > BSD-like concise way -- I would personally say that BSD-style licenses are > for humans and GPL-style for lawyers. > > If you need a lawyer to understand your freedom you are not free anymore. > Stop feeding the lawyers and the bureaucrats. > > I'm afraid this is a little bit too naive. I am not a lawyer, and I agree that the GPL is quite unreadable, but the choice of licence does matter, and has real consequences. A BSD or MIT licence is very permissive, but one could argue that they is too permissive, with no attribution required for example. If what you want is "anyone can use it in any way and I don't care", then BSD-like is fine. GPL, imposes restrictions on derivative works, which could be argued as limiting freedom. My point is, not all "copyleft" licences are the same, and the choice depends on your needs and how you want people to use your software. Personally I like Apache. I find it much more readable than GPL and without the same derivative works restrictions. > Best, > > Daniel > > > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > -- Ernesto Posse Modelling and Analysis in Software Engineering School of Computing Queen's University - Kingston, Ontario, Canada [-- Attachment #2: Type: text/html, Size: 2754 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-23 8:41 ` Daniel Bünzli ` (2 preceding siblings ...) 2013-05-23 21:39 ` Ernesto Posse @ 2013-05-23 21:45 ` Chet Murthy 2013-05-23 22:11 ` Stefano Zacchiroli 4 siblings, 0 replies; 14+ messages in thread From: Chet Murthy @ 2013-05-23 21:45 UTC (permalink / raw) To: caml-list; +Cc: Daniel Bünzli, Stéphane Glondu > Regardless of copyleft -- which I'm certain could be expressed in a BSD-like > concise way -- I would personally say that BSD-style licenses are for > humans and GPL-style for lawyers. > > If you need a lawyer to understand your freedom you are not free anymore. > Stop feeding the lawyers and the bureaucrats. -Well-. Suppose you wrote a really, really useful piece of software. Big Software Company X (BSCX) starts using it, and they develop some really nice stuff on top of it, filling a really important gap. But let's be honest: your stuff was the key contribution, and they're just adding a very useful thing to it. But they patent that useful addition, and -then- open-source it. So now, any company that whats to use your software, and get the value of that nifty addition, has to license the patent from BSCX. But that's not at all what you wanted, is it? I guess what I'm saying is, you might -think- that legalese is there to employ lawyers, whereas the -lack- of legalese can often leave loopholes thru which corporate lawyers and their clients will slip. I'm not saying you should use the GPL. Just that there's a -good- reason most corps don't like the GPL: it restricts their ability to suck value out of open-source without giving back. --chet-- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-23 8:41 ` Daniel Bünzli ` (3 preceding siblings ...) 2013-05-23 21:45 ` Chet Murthy @ 2013-05-23 22:11 ` Stefano Zacchiroli 4 siblings, 0 replies; 14+ messages in thread From: Stefano Zacchiroli @ 2013-05-23 22:11 UTC (permalink / raw) To: caml-list On Thu, May 23, 2013 at 09:41:09AM +0100, Daniel Bünzli wrote: > Well as everyone seems to know and speak for the others, here's my > take. > > Regardless of copyleft -- which I'm certain could be expressed in a > BSD-like concise way Here we're getting *largely* OT for this list, but I bite (SCNR). The topic you raise here is fairly complex, so I'd be weary of "certainty" if I were you :) But the problem of the un-readability of GPLs by random developers, and in particular of GPLs 3.x, is real. There are interesting experiments in the area to try to improve things. The most prominent one I'm aware of is copyleft-next; you can read a recent license release here: https://gitorious.org/copyleft-next/copyleft-next/blobs/master/Releases/copyleft-next-0.3.0 Be sure to also read README and DISCLAIMER in the repository before trying to do anything with the license (even though the license has a GPL way out, so risks of screwing up very badly are quite low). A more introductory article on the underlying legal-ish issues is available at https://lwn.net/Articles/537559/ Cheers. -- Stefano Zacchiroli . . . . . . . zack@upsilon.cc . . . . o . . . o . o Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o Former Debian Project Leader . . @zack on identi.ca . . o o o . . . o . « the first rule of tautology club is the first rule of tautology club » ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Caml-list] Licenses - Confusion 2013-05-22 13:02 ` Török Edwin 2013-05-22 17:19 ` Adrien Nader @ 2013-05-23 22:52 ` oliver 1 sibling, 0 replies; 14+ messages in thread From: oliver @ 2013-05-23 22:52 UTC (permalink / raw) To: Török Edwin; +Cc: caml-list Hi, On Wed, May 22, 2013 at 04:02:00PM +0300, Török Edwin wrote: > On 05/22/2013 03:34 PM, oliver wrote: > > Hello, > > > > I did publish one of my tools as GPLv3. > > It is written in OCaml. > > > > Now I saw at another project, that there is the need > > for an "OCaml exception" regarding linking. > > > > If thats true I may have missed a crucial points > > when thinking about the license for tools written in OCaml. > > I think that only matters if you release a *library* under LGPL. [...] OK, it seems, this is the point of distinction: if it is a library, then the things, that were explained in this thread, about OCaml and linking and checksums must be taken into account. But when just publishing a program that should be used as is, then it does not matter. So, my questions were answered by you and others. Thanks to all participants. Ciao, Oliver ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2013-05-23 22:52 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-05-22 12:34 [Caml-list] Licenses - Confusion oliver 2013-05-22 12:39 ` Anil Madhavapeddy 2013-05-22 16:40 ` Marek Kubica 2013-05-22 13:02 ` Török Edwin 2013-05-22 17:19 ` Adrien Nader 2013-05-23 6:36 ` Stéphane Glondu 2013-05-23 8:41 ` Daniel Bünzli 2013-05-23 21:07 ` Marek Kubica 2013-05-23 21:36 ` Stéphane Glondu 2013-05-23 22:28 ` Daniel Bünzli 2013-05-23 21:39 ` Ernesto Posse 2013-05-23 21:45 ` Chet Murthy 2013-05-23 22:11 ` Stefano Zacchiroli 2013-05-23 22:52 ` oliver
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox