Licensing

From FreeMind
Revision as of 20:35, 14 July 2011 by Dan Polansky (talk | contribs) (→‎Licensing of components: update Groovy license)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

FreeMind source code files are licensed under GNU GPL V2+. However, FreeMind as a whole program bundled with libraries or components is licensed under GNU GPL V3+, which is contained in GNU GPL V2+. The reason for the difference is that FreeMind links to libraries or components licensed under Apache 2.0, a license compatible with GNU GPL V3 but not with GNU GPL V2.

Licensing of components

Component License License Version Link Note
SimplyHTML GPL V2+ [1] Compatible with GNU GPL V2+ per its being identical to it.
Batik Apache [2] Problem?
NanoXML zlib/libpng [3] Compatible with GNU GPL V2+.
Apache Commons Lang Apache[4] 2.0 [5] Removed from FreeMind 0.9.0 RC12; RC11 has it, while RC12 does not.
JiBX BSD, Apache [6] Problem?
JavaHelp GNU GPL V2 [7] Problem: V2 instead of V2+.
HotEqn GNU GPL V3 Source code for download: [8] Problem when combined with JavaHelp's GNU GPL V2?
Groovy 2.0 [11]

Issues

The use and distribution of libraries by FreeMind raises two issues:

  1. Distribution of open-source libraries: depending on the license used, we would need to make the source code available. This could be done IMHO (Eric L.) simply by putting a copy of the sources in SF's download section (without making those an integral part of our packages).
  2. Usage of GPL-incompatible libraries: believing this FSF note, we can make sure that FreeMind can use GPL-incompatible libraries but we need to make it explicit in our copyright. I (Eric L. 05:56, 24 Mar 2008 (PDT))suggest to ask the current and former copyright holder and add a note in each source file that there is an exception on GPL-incompatible libraries, and explicit this exception in the "license" file.

License header

The license header in a code file:

/* FreeMind - A program for creating and viewing mind maps
 * Copyright (C) 2000-<YEAR> <AUTHORS>
 * See COPYING for Details
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */

Projects bundling Java

Project License Link Note
StopMojo GPL plus a special statement giving blanket permission to link with non-free software. [12]
TIFFANY'S GPL; not given at the web site; only at the SourceForge project page [13]

Discussion threads

Thread Channel Started on Note
Licensing problems Complaints from users 15.1.2008 Contains open issues.
Licensing problems freemind-developer 15.1.2008 Possible open issues.

Offending files

At least at some point, some single files had a license incompatible with GNU GPL V2+. These were:

File State
of Resolution
Resolution Note
accessories/marktree.js Resolved. Released under the MIT license.[14] Mozilla Public License 1.1, incompatible with GPLv2+, see note 1
freemind/main/CommonsCodecBase64.java Resolved. By abandoning CommonsCodecBase64.java in favor of Base64Coding.java from GNU Classpath project.[15]. Base64Coding.java is licensed under GPLv2+. Apache 2.0 license, incompatible with GPLv2+
accessories/mm2oowriter.xsl Resolved. Fixed by Chris Foltin, the author of the file, by adding a missing license.[16][17]
accessories/tohtml.xsl Resolved. Released under the MIT license.[18] Mozilla Public License 1.1, incompatible with GPLv2+, see note 1
accessories/toxhtml.xsl. Resolved. Released under the MIT license.[19] Mozilla Public License 1.1, incompatible with GPLv2+, see note 1

Note 1: The files implicated seem to come from mmTree where the original Author keeps very similar versions under MIT license, which would be compatible with GPLv2+. Eric L. 10:08, 22 Mar 2008 (PDT) ⇒ Asking the author Miika Nurminen for his OK to place the files in our CVS under MIT license as well (else we'll have to derive a new version from his files). Eric L. Miika answered and is OK to have all files under MIT license, once it's properly modified in the CVS, we'll be fine.

Copyright notice in code

A source file may be viewed as a sum b + d1 + d2 + ... + dk, where b is the basis, di are deltas (or patches), and the plus operator is the operator of applying a patch. The basis and each delta have their own copyright holder and the year of copyright.

If there is only one author and one year, then the copyright notice is simple.

If there is only one author and more years, then the copyright notice may look like

Copyright © 2003-2005 Big Author

which is to be understood as

Some parts of the sum are copyrighted in 2003, some perhaps in 2004, and some certainly in 2005.

If there are more authors, then the copyright notice consists of more lines, like

Copyright © 2003-2005 Big Author,
Copyright © 2005 Captain,

Not all changes are eligible for copyright. If a change is small, then it does not make sense to add a line to the copyright notice for it.

Copyright notice is not required for copyright to hold. It makes claiming your right at court easier.

The correctness of these instructions is not granted. They are subject to improvement as we see fit.

--Danielpolansky 11:29, 3 Jun 2005 (PDT)

Where to ask

Places where to ask about licensing including compatibility of FOSS licenses in relation to dynamic and static linking:

See also

Links