Boost logo

Boost :

From: Valentin Bonnard (Bonnard.V_at_[hidden])
Date: 1999-11-05 15:34:40


> I got your e-mail, but your ISP bounced my reply -- both to your
> original address an your @boost.org address, so I'm posting my reply
> here. Apologies to people who might get offended.

There are no problems with a discussion of Boost
license policy in the Boost mailing list.

> 1. Regarding the copyright
>
> Short answer: no problem, as long as it does not violate the license of
> the original C source of Nishimura.
>
> I am a firm believer that high-quality, peer-reviewed, freely-available
> open-source code SHOULD be the way of future programming. The only
> reasons I placed MersenneTwister under the GNU GPL:
>
> (a) the original C source code was under the GNU GPL. My reading of the
> license led me to think that any work based on work released under this
> license needs to be licensed under it too.

This is correct. Any code derived from GPL code can only be
under the GPL.

> (b) I was aware that I needed to copyright my code, and provide a
> license under which it can be used.

You don't need to write ``copyright'' explicitly, even if it
helps (and certainly makes things clearer).

Indeed, if you want people to have the right to use it, you
must put a license.

> Legalese, capitalism, international
> copyright law etc. are not my forte. In fact I am utterly ignorant
> on this score. The GNU "copyleft" seemed to provide a ready-made
> solution that was reasonably acceptable to me (i.e. I thought it DID
> mean freely-available open-source code). I have no problems placing
> MersenneTwister, or any other code I write for the boost library, under
> whatever license-scheme is suitable and/or necessary.

But you simply can't, as it is based on GPL-ed code.

> I am not aware
> if code can be copyrighted and placed in the public-domain at the same
> time (I thought it couldn't) ...

We don't ask you to put the code in the public domain.\

> but if you think so,

No, the public domain precisely means that you claim no
copyright to it.

> or if you have any
> other suggestions, I'd be happy to hear and consider it.

I don't.

> That takes care of (b). (a), however, is a bigger problem. Did I
> misinterpret the GNU license? Would it be possible for me to have
> released the MersenneTwister code under whatever license I saw fit?

No, it wouldn't have been possible.

> The core algorithm, i.e. MT19937B, is, of course, identical in both
> implementations. At the same time, the simple fact that MersenneTwister
> is implementated as a class in C++, whereas the original was a C
> function, means that the two are radically different animals.

That you add significant value to the original code doesn't
allow you to escape the GPL, which says:

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

> I leave it to you to figure out the copyright complexities, since you
> time, using Nishimura's original source code as a guide.

Now, if you used the original code only to get ideas, tips,
or example, all the above doesn't apply.

> If I have the
> full freedom to release the code under whatever license that I like,
> then I shall unhesitatingly do so. I've attached Nishimura's C source
> code for you to compare.

But I don't see any attachments.

> Basically, if I can legally re-release the code under the HP or SGI
> copyright scheme, or release a different version of it under that
> scheme, I will. I will see if I can find a sample license, or maybe you
> could e-mail me a suitable one to use as a template?

The typical STL license:

 * Copyright (c) xxxx
 * yyyy
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation. yyyy makes no
 * representations about the suitability of this software for any
 * purpose. It is provided "as is" without express or implied warranty.

expresses the two basic principles (lack of warranty and right
to use) clearly and shortly. That's my prefered licence.

-- 
Valentin Bonnard

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk