
Hi guys, I'm working on a new library for some specific A.I and machine learning problems and I will release it as a Free Software of course. However, I wonder if you guys can enlighten me regarding license. This library will be template-based for some parts and compiled for other parts. I don't want to restrict users in what they're doing with the library, I mean they can use it for open-source or closed-source products. However, I want to decently protect my work and because it's template-based and can be used in commercial products, I don't want someone to do closed-source fork of it and all those kind of things... I selected to candidates: Boost and LGPL. So question: - do I have to use a Boost license or a LGPL license ? - and why not using GPL directly or is it too restrictive ? Thanks for your help, David (also boost::ublas maintainer when not doing statistics ;-) ) -- David Bellot, PhD david.bellot@gmail.com http://david.bellot.free.fr

On 13/10/10 13:23, David Bellot wrote:
Hi guys,
I'm working on a new library for some specific A.I and machine learning problems and I will release it as a Free Software of course. However, I wonder if you guys can enlighten me regarding license.
This library will be template-based for some parts and compiled for other parts. I don't want to restrict users in what they're doing with the library, I mean they can use it for open-source or closed-source products. However, I want to decently protect my work and because it's template-based and can be used in commercial products, I don't want someone to do closed-source fork of it and all those kind of things...
I selected to candidates: Boost and LGPL.
So question: - do I have to use a Boost license or a LGPL license ? - and why not using GPL directly or is it too restrictive ?
Otherwise, there is the GPL license with the linking exception, as used by libstdc++. It is in spirit similar to LGPL, except it doesn't require dynamic linking and works well with C++ templates.

-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of David Bellot Sent: Wednesday, October 13, 2010 1:24 PM To: boost@lists.boost.org Subject: [boost] License question
I'm working on a new library for some specific A.I and machine learning problems and I will release it as a Free Software of course. However, I wonder if you guys can enlighten me regarding license.
This library will be template-based for some parts and compiled for other parts. I don't want to restrict users in what they're doing with the library, I mean they can use it for open-source or closed-source products.
So question: - do I have to use a Boost license or a LGPL license ? - and why not using GPL directly or is it too restrictive ?
If you (might) want it to be part of Boost, you must choose the Boost license. Many commercial organizations regard LGPL (and of course GPL) with deep suspicion. IMO You will decrease commercial use by using either LGPL or especially GPL.
However, I want to decently protect my work and because it's template-based and can be used in commercial products, I don't want someone to do closed- source fork of it and all those kind of things...
Copyright remains your protection with Boost License. I'm not sure that in practice any of these licenses protect against abuse - who is going to pay to sue them? So I'm not sure why you *not* want to use the Boost License? Usual not-a-lawyerly caveats ;-) Paul --- Paul A. Bristow, Prizet Farmhouse, Kendal LA8 8AB UK +44 1539 561830 07714330204 pbristow@hetp.u-net.com

David Bellot wrote:
I don't want to restrict users in what they're doing with the library, I mean they can use it for open-source or closed-source products. However, I want to decently protect my work and because it's template-based and can be used in commercial products, I don't want someone to do closed-source fork of it and all those kind of things...
So basically you want people to be able to use your unchanged code without restriction in open-source or closed-source applications, but you want changed versions of your code to be made public, right? Then I think you have one further choice to consider: if someone makes changes to your code but only uses the changed version internally, do you want to require that those modifications are made public? (You might like to consider what "internal" means to e.g. an individual user vs. a huge mega-corporation when you think about that.) If you don't require that internal changes are published, then you want the LGPL. If you do want internal changes to be published, then you want the QPL. (For example CGAL, the geometry library, uses the QPL.) Don't ignore the side-effects of the license choice, though. In particular you should consider license compatibility; it's likely that someone will want to use your code and some other libraries together in their application. The Boost license is not appropriate, because it allows "closed-source forks" as you describe them. In fact, the Boost license deliberately allows just about anything to be done with the code. You will probably get better advice about this from the OSI's mailing lists - see http://www.opensource.org/lists Regards, Phil.
participants (5)
-
David Bellot
-
Mathias Gaunard
-
Paul A. Bristow
-
Phil Endecott
-
Rutger ter Borg