lxqt / lxqt-config

Tools to configure LXQt and the underlying operating system
https://lxqt.github.io
GNU Lesser General Public License v2.1
79 stars 60 forks source link

Confusing and contradictory licensing information #966

Open ArrayBolt3 opened 7 months ago

ArrayBolt3 commented 7 months ago
Expected Behavior

Licensing info in lxqt-config's source code should be consistent and easy to understand.

Current Behavior

Licensing info is confusing and in some places contradictory.

Steps to Reproduce (for bugs)
  1. Open the AUTHORS file. The license is stated as being "GPL-2 and LGPL-2.1+". From the perspective of a copyright auditor, this means that a user must comply with the terms of both the GPLv2 (or any later version) and the LGPLv2.1 (or any later version). This was probably intended to be a summary, not a combination of licenses, but it has the effect of combining the licenses.
  2. Open liblxqt-config-cursor/previewwidget.cpp. This file has a line that states (c)GPL2 (c)GPL3 at the beginning, implying that the file can be used under either GPL-2 or GPL-3. However, the remainder of the license header then states that the file's license is GPL-2-only. This is contradictory.
  3. Open lxqt-config-file-associations/mimetypeitemmodel.cpp and lxqt-config-file-associations/mimetypeitemmodel.h. No copyright date is provided for either file.
  4. Open lxqt-config-input/keyboardlayoutconfig.cpp, lxqt-config-input/keyboardlayoutconfig.h, lxqt-config-input/keyboardlayoutinfo.h, lxqt-config-input/selectkeyboardlayoutdialog.cpp, and lxqt-config-input/selectkeyboardlayoutdialog.h. No copyright owner is listed (placeholders are there instead, listing the copyright owner as <copyright holder> <email> literally).
  5. Open lxqt-config-input/lxqt-config-input.h. No copyright date is given and it states "LXQt contributors" as the copyright holder rather than "LXQt team", which probably are the same thing but not for sure.
  6. Open the lxqt-config-monitor directory. There's an additional license file here, LICENSE, that overrides the default repo-wide license for this directory and specifies GPL-2.0-only. This means that all of the .ui files in this directory are GPL-2.0-only although many of the source files are GPL-2.0-or-later. (The repo-wide license has this same overriding effect, which is relatively common, but this is relatively weird.)
  7. Open lxqt-config-monitor/monitorsettingsdialog.cpp and lxqt-config-monitor/monitorsettingsdialog.h. These files have a valid copyright line for P.L. Lucas above an invalid one consisting of placeholders for some unknown individual who worked on the file in 2013. (This is probably Hong Jen Yee I would guess since lxqt-config-monitor/monitorwidget.cpp has the same arrangement of copyright lines but with Hong Jen Yee as the copyright holder in the second line.)
  8. Open lxqt-config-monitor/timeoutdialog.cpp and lxqt-config-monitor/timeoutdialog.h. The copyright headers are malformed (though at least you can tell that Hong Jen Yee (PCMan) is the copyright holder this time).
  9. Open the files under src/qcategorizedview. An LGPL2+ license abbreviation is provided, which usually means the Lesser General Public License version 2.1 or later in this codebase. However for these files it means Library General Public License version 2.0 or later.