Licensing – Is Modified BSD License Compatible with GPL

bsd licensegpllicensing

I am working on open source project, that uses the source code from FlatAssembler project, which uses following license, based on BSD 2-clause with one additional clause added at the end of the text.

So, the questions are:

  1. What this additional clause changes?

  2. Is it legal to use this code and to license my project under GNU GPL? (The original BSD 2-clause license is compatible with GPL, but this one seems to be not.)

flat assembler version 1.71 Copyright (c) 1999-2012, Tomasz Grysztar.
All rights reserved.

This program is free for commercial and non-commercial use as long as
the following conditions are adhered to.

Copyright remains Tomasz Grysztar, and as such any Copyright notices
in the code are not to be removed.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The licence and distribution terms for any publically available
version or derivative of this code cannot be changed. i.e. this code
cannot simply be copied and put under another distribution licence
(including the GNU Public Licence).

Best Answer

The usual IANAL applies etc. etc.

It looks to me as if the author tried to turn the BSD license into a viral license by demanding that the original license terms be unchanged for this and any derived work.

While this is a perfectly viable idea, I doubt it would stand up in court under all circumstances - the various versions of GPL are quite long, and there is a good reason why they have to be. Viral licensing is delicate matter, because it walks a thin line - you have to define carefully what is "source" and what is a "binary distribution", what constitutes a "derived work", etc., all the while avoiding clashes with existing law that might render the license partially void. More permissive licenses like BSD-2 can be much shorter for the simple reason that they do not have to make these distinctions: as long as you retain the copyright notice and author credits, you are free to copy and modify as you please.

What the consequence of this license would be is a bit unclear: it could be that the last clause is void, which would make it equivalent to plain BSD-2; or it could be that it overrides most of the freedom that regular BSD-2 would give you, which would make it even more restrictive than GPL.

The problem is that the author tries to release under BSD-2, but at the same time forbidding redistribution under a viral license, which is contradictory, because forbidding relicensing would basically make the license viral itself.

All that theoretical and legal mumbo-jumbo aside, the obvious solution is to contact the author and ask for permission; if he's fine with you including his code in your project, then there is no problem.

Related Topic