I'm going to give my take on the LGPL, but even though this isn't a direct answer to your question, please read because it's especially relevant in your case where you would like to allow static linking.
The way I see it, the LGPL tries to accomplish two separate goals: Goal 1 (The FSF angle): Users of the eventual program will have the ability to modify the code of the LGPL library and relink the program with their modifications. It's a user freedom thing. I find a problem with this since it usually doesn't help the user all that much, since the rest of the program is proprietary. And any user who respects his own freedom won't use such a proprietary program in the first place. The whole thing is kind of pointless, and even the FSF strongly advises against using the LGPL. Goal 2 (The "open source" angle): Developers who use the library should have to contribute their modifications of the library back to the community. I believe that it's wrong to use a license to try to enforce such cooperation. Look what happened with KHTML when Apple started using it for their Safari web browser. Even though KHTML was LGPL, Apple didn't play nice and did not send proper patches back to the KHTML developers. Instead, Apple only did what they were legally required to do and released huge source dumps that were impossible to integrate back upstream. On the other hand, plenty of BSD libraries receive contributions from companies because the companies know that it's the right thing to do, and also because it makes it easier for those companies to upgrade to new versions of the library when their own changes are integrated upstream. The FSF advises only to use LGPL in rare cases as a tactic to ensure greater freedom further down the line. For example, because libc was LGPL, the gcc compiler was able to spread everywhere, and now it pretty much has become the industry standard compiler (which is great for the free software community). I personally see the license choice as between GPL and BSD. Magnus, since you want to allow static linking, it seems that you are only interested in Goal 2 mentioned above. As I've explained, I don't think the LGPL will help too much with that goal, since if a company(like Apple) doesn't want to cooperate, then you can't really force them. BSD has the advantage over GPL in that there will be additional proprietary users of the library who would not be using the library if it were GPL. Even though they are making proprietary programs, these library users have incentive to contribute to the project the same as all other users(see above). So in summary, if user freedom is important, then GPL is the way to go. If it's about encouraging the submission of patches and contributions, then the license won't help you, you simply have to rely on the good will of people. (But BSD will allow for a larger community) Peace, Bit 2008/9/26 Magnus Therning <[EMAIL PROTECTED]>: > Recently I received an email with a question regarding the licensing > of a module I've written and uploaded to Hackage. I released it under > LGPL. The sender wondered if I would consider re-licensing the code > under BSD (or something similar) that would remove the need for users > to provide linkable object files so that users can re-link programs > against newer/modified versions of my library. > > Now I have fairly strong feelings about freedom of code and I > everything I release is either under GPL or LGPL. What I like about > those licenses is it protects freedom in a way that I think it should > and it forces a sort of reciprocity which resonates very well with my > selfishness. Re-licensing code under BSD is not something I'm willing > to do without something that compensates for that reciprocity, and I > can think of several kinds of compensation here but they all pretty > much boil down to either fame or fortune. ;-) > > Once GHC supports dynamic binding on all platforms (or at least the > major ones) this issue will (largely) go away (thanks Andrew for > reporting on the state of this), but until then LGPL does create a > large burden for users of my module. Until that happens I wouldn't > mind re-licensing the code under a license that has the reciprocity > attribute of LGPL on the source level, but does allow for static > linking without requiring the availability of linkable object files. > Is there such a license? > > I've heard that the OCaml crowd uses a modified LGPL with a static > linking exception. Unfortunately I've also heard that their addition > to LGPL hasn't gotten much review by lawyers, I'd much rather use > something that feels less ad hoc, if you get what I mean. > > Any suggestions? > > /M > > -- > Magnus Therning (OpenPGP: 0xAB4DFBA4) > magnus@therning.org Jabber: magnus@therning.org > http://therning.org/magnus identi.ca|twitter: magthe > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe