Mix of licenses in source

Bug #1194867 reported by Didier Roche-Tolomelli
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Unity API
Fix Released
Undecided
Michi Henning

Bug Description

The sources mix within the same directories a bunch of GPL3 and LGPL3 code.
debian/copyright seems to expect to only find LPGL3 code, not any GPL3 and the source only ship a COPYING.LIB file referring LGPL3.

I think what makes sense is having either:
* all the source under LGPLV3 and so renaming COPYING.LIB to COPYING
* having all library source (all directories but tests/) under LGPLV3 and tests/ directory content under GPL3. Then, we have to move as well COPYING.LIB to COPYING (main package license file), ship a COPYING.GPL with the GPL3 license text and update debian/copyright to list the tests/ directory.

Right now, we have some files under include/unity/* being GPL, and other LGPL, same like for some files in src/unity/utils and a similar theme in tests/ like in test/whitespace/check_whitespace.py.

Related branches

Revision history for this message
Jussi Pakkanen (jpakkane) wrote :

I don't have any opinion on the license mixing but web searches seem to indicate that when using LGPL the license file name should be COPYING.LIB and not COPYING. Are there guidelines on this?

Revision history for this message
Michi Henning (michihenning) wrote :

Here are the files I found that have GPL instead of LGPL:

IniParser.h, IniParser.cpp, ExceptionImplBase.cpp, IniParser_test.cpp. We can fix those easily enough.

check_whitespace.py and check_copyright.py are both LGPL.

Apart from the four files above, I believe everything is LGPLv3.

The problem appears to be licensecheck. It fails to recognize check_whitespace.py as having a copyright notice, for example.

Specifically, it fails to detect the following as LGPLv3:

#
# Copyright (C) 2013 Canonical Ltd
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the Lesser GNU General Public License version 3 as
# published by the Free Software Foundation.

If I change "Lesser GNU General Public License" to "GNU Lesser General Public License", it correctly detects LGPLv3.

The problem is that legal told me to use "Lesser GNU General Public License". Apparently, that's wrong because the license text itself uses "GNU Lesser General Public License".

So, how about I go through and change all occurences of "Lesser GNU" to "GNU Lesser"? That should make licensecheck happy. I'll also fix the four files with the wrong license.

This would put all of the source under LGPLv3. As to COPYING.LIB vs COPYING, I couldn't care less what the file is called. It hardly would matter what the file name is, would it? I would have thought that the content is what counts? At any rate, I'm happy to rename it to anything I'm told it should be.

Finally, making licensecheck more robust would be good too. It really should report both wordings correctly.

Revision history for this message
Michi Henning (michihenning) wrote :

Found one more affected file: ExceptionImplBase.h

Changed in unity-api:
assignee: nobody → Michi Henning (michihenning)
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

@Michi: I don't care TBH if licensecheck detects or not the license as long as there is no mix anymore (even if I would prefer to have licensecheck passing for easier detection. Note that our license stenza on the Canonical wiki used to pass licensecheck (and IIRC, the tool was checked in Debian with some lawers) ;)
Did you look as well at the content in tests/ IIRC, there is a mix of LGPL and GPL there as well, but to be reched ;)

@Jussi: most of upstream are following the COPYING for the main license of the package and then COPYING.<licensename> for other licenses used. Using the term ".LIB" doesn't really determine what's in the lib or noto. Just speaking of practical usage and I think it would be good for us to follow them.

Anyway, just do a MP and we can iterate from that. Thanks guys!

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:unity-api at revision 68, scheduled for release in unity-api, milestone Unknown

Changed in unity-api:
status: New → Fix Committed
Revision history for this message
Michi Henning (michihenning) wrote :

> Did you look as well at the content in tests/ IIRC, there is a mix of LGPL and GPL there as well, but to be reched ;)

Didier, can you point me at some files that are wrong? I just looked, and I can't find anything that isn't LGPL…

Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

see the MP, it's fine for me now :)

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:unity-api at revision 70, scheduled for release in unity-api, milestone Unknown

Changed in unity-api:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.