Licensing: Difference between revisions
No edit summary |
Dan Polansky (talk | contribs) (→Licensing of components: update Groovy license) |
||
(41 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
FreeMind is licensed under GNU GPL V2+. | 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 == | |||
{| {{Table style}} | |||
! Component | |||
! License | |||
! License Version | |||
! Link | |||
! Note | |||
|- | |||
| SimplyHTML | |||
| GPL | |||
| V2+ | |||
| [http://simplyhtml.sourceforge.net/mediawiki-1.6/index.php/Main_Page] | |||
| Compatible with GNU GPL V2+ per its being identical to it. | |||
|- | |||
| Batik | |||
| Apache | |||
| | |||
| [http://xmlgraphics.apache.org/batik/] | |||
| Problem? | |||
|- | |||
| NanoXML | |||
| zlib/libpng | |||
| | |||
| [http://nanoxml.cyberelf.be/] | |||
| Compatible with GNU GPL V2+. | |||
|- | |||
| Apache Commons Lang | |||
| Apache[http://commons.apache.org/lang/license.html] | |||
| 2.0 | |||
| [http://commons.apache.org/lang/] | |||
| Removed from FreeMind 0.9.0 RC12; RC11 has it, while RC12 does not. | |||
|- | |||
| JiBX | |||
| BSD, Apache | |||
| | |||
| [http://jibx.sourceforge.net/] | |||
| Problem? | |||
|- | |||
| JavaHelp | |||
| GNU GPL | |||
| V2 | |||
| [http://javahelp.dev.java.net/] | |||
| Problem: V2 instead of V2+. | |||
|- | |||
| HotEqn | |||
| GNU GPL | |||
| V3 | |||
| Source code for download: [http://vclab.atp.rub.de/Src/GPL/HotEqn/HotEqnSrc.zip] | |||
| Problem when combined with JavaHelp's GNU GPL V2? | |||
|- | |||
| Groovy | |||
| | |||
* [http://www.apache.org/licenses/LICENSE-2.0.html Apache 2 license], per [http://groovy.codehaus.org/License+Information codehaus.org], 2011-07-14 | |||
* "A BSD / Apache style licence"[http://groovy.codehaus.org/faq.html#licence]? | |||
* Apache License, Version 2.0[http://www.javaworld.com/community/node/3740]? | |||
| 2.0 | |||
| [http://groovy.codehaus.org/] | |||
| | |||
* Problem? | |||
* Article: [http://www.javaworld.com/community/node/3740 Where Have All the Groovy Licenses Gone?], 25.11.2009 | |||
|} | |||
===Issues=== | |||
The use and distribution of libraries by FreeMind raises two issues: | |||
# Distribution of open-source libraries: depending on the license used, we would need to make the source code available. This could be done IMHO ([[User:Ewl|Eric L.]]) simply by putting a copy of the sources in SF's download section (without making those an integral part of our packages). | |||
# Usage of GPL-incompatible libraries: believing [http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs 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 ([[User:Ewl|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: | |||
<pre> | |||
/* 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. | |||
*/ | |||
</pre> | |||
==Projects bundling Java== | |||
{| {{Table style}} | |||
! Project | |||
! License | |||
! Link | |||
! Note | |||
|- | |||
| StopMojo | |||
| GPL plus a special statement giving blanket permission to link with non-free software. | |||
| [http://www.mondobeyondo.com/projects/stopmojo/] | |||
| | |||
|- | |||
| TIFFANY'S | |||
| GPL; not given at the web site; only at the SourceForge project page | |||
| [http://tiffanys.sourceforge.net/] | |||
| | |||
|} | |||
==Discussion threads== | |||
{| {{Table style}} | |||
! Thread | |||
! Channel | |||
! Started on | |||
! Note | |||
|- | |||
| [http://sourceforge.net/forum/forum.php?thread_id=1915005&forum_id=320014 Licensing problems] | |||
| Complaints from users | |||
| 15.1.2008 | |||
| Contains open issues. | |||
|- | |||
| [http://sourceforge.net/mailarchive/message.php?msg_id=478D2675.3050707%40gmx.de 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: | |||
{| {{Table style}} | |||
! File | |||
! State<br>of Resolution | |||
! Resolution | |||
! Note | |||
|- | |||
| accessories/marktree.js | |||
| Resolved. | |||
| Released under the MIT license.[http://freemind.cvs.sourceforge.net/viewvc/freemind/freemind/accessories/marktree.js?r1=1.1.4.1&r2=1.1.4.1.16.1] | |||
| 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.[http://freemind.cvs.sourceforge.net/viewvc/freemind/freemind/freemind/main/Base64Coding.java?view=log&pathrev=fm_0_9_0_rc9]. 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.[http://freemind.cvs.sourceforge.net/viewvc/freemind/freemind/accessories/mm2oowriter.xsl?r1=1.1.2.1&r2=1.1.2.2][http://freemind.cvs.sourceforge.net/viewvc/freemind/freemind/accessories/mm2oowriter.xsl?r1=1.1.2.3.2.5&r2=1.1.2.3.2.6] | |||
| | |||
|- | |||
| accessories/tohtml.xsl | |||
| Resolved. | |||
| Released under the MIT license.[http://freemind.cvs.sourceforge.net/viewvc/freemind/freemind/accessories/tohtml.xsl?r1=1.1.4.1&r2=1.1.4.1.16.1] | |||
| Mozilla Public License 1.1, incompatible with GPLv2+, see note 1 | |||
|- | |||
| accessories/toxhtml.xsl. | |||
| Resolved. | |||
| Released under the MIT license.[http://freemind.cvs.sourceforge.net/viewvc/freemind/freemind/accessories/toxhtml.xsl?r1=1.1.4.3.4.5&r2=1.1.4.3.4.6] | |||
| Mozilla Public License 1.1, incompatible with GPLv2+, see note 1 | |||
|} | |||
'''Note 1''': The files implicated seem to come from [http://marktree.sourceforge.net/mmtree.html mmTree] where the original Author keeps very similar versions under MIT license, which would be compatible with GPLv2+. [[User:Ewl|Eric L.]] 10:08, 22 Mar 2008 (PDT) ⇒ Asking the author [mailto:minurmin@cc.jyu.fi 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). [[User:Ewl|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'' + ''d<sub>1</sub>'' + ''d<sub>2</sub>'' + ... + ''d<sub>k</sub>'', where ''b'' is the basis, ''d<sub>i</sub>'' 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 | |||
<blockquote> | |||
Some parts of the sum are copyrighted in 2003, some perhaps in 2004, and some certainly in 2005. | |||
</blockquote> | |||
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. | |||
--[[User:Danielpolansky|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: | |||
* [http://www.gnu.org/ gnu.org] | |||
* [http://groklaw.net/ groklaw.net]; [http://www.groklaw.net/staticpages/index.php?page=20050131065655645 GPL Resources] | |||
==See also== | ==See also== | ||
* [[Components]] | |||
* [[Logotype license]] | * [[Logotype license]] | ||
==Links== | |||
* [http://www.gnu.org/copyleft/gpl.html GNU General Public License] - gnu.org and the [http://www.gnu.org/licenses/license-list.html License compatibility list]. | |||
* [http://www.gnu.org/licenses/rms-why-gplv3.html Why GPL V3] - gnu.org | |||
* [http://www.sun.com/software/opensource/java/faq.jsp Free and Open Source Java] - sun.com | |||
* [http://fedoraproject.org/wiki/Licensing#head-489bc5bbf14ecdb808316674e9fc465243cfa4f5 the Fedora licenses list] with GPL2 compatibility list. | |||
[[Category:Development]] | [[Category:Development]] |
Latest revision as of 20:35, 14 July 2011
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:
- 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).
- 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
- GNU General Public License - gnu.org and the License compatibility list.
- Why GPL V3 - gnu.org
- Free and Open Source Java - sun.com
- the Fedora licenses list with GPL2 compatibility list.