Boost logo

Boost :

Subject: Re: [boost] License question
From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2010-10-13 10:45:53

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

Regards, Phil.

Boost list run by bdawes at, gregod at, cpdaniel at, john at