[arch-general] License for libdrm packages
Hello. I was repacking amdgpu-pro deb files and when I started converting licences, I have noticed that libdrm* packages have a MIT Licence text in copyright file. I decided to check if AUR/libdrm-git and Extra/libdrm uses MIT licence, but they don't. I contacted Lone_Wolf (maintainer of libdrm-git) and he said that he used a licence from Extra/libdrm. Should not it be changed to MIT instead of custom?
Hello. I was repacking amdgpu-pro deb files and when I started converting licences, I have noticed that libdrm* packages have a MIT Licence text in copyright file. I decided to check if AUR/libdrm-git and Extra/libdrm uses MIT licence, but they don't. I contacted Lone_Wolf (maintainer of libdrm-git) and he said that he used a licence from Extra/libdrm. Should not it be changed to MIT instead of custom? “MIT-style license” is a class of licenses, not a specific one. Each software using MIT-style licensing is having its own, independent license text. While in practice they may be nearly identical (modulo copyright line), they’re in fact separate licenses. The topic is discussed on the wiki: <https://wiki.archlinux.org/index.php/Pkgbuild#license>.
In particular the terms include: ------ The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. ------ Which means that if multiple MIT-licensed pieces of software are combined, the complete notice of each of them has to be included in the final work. And this is exactly what happens in case of libdrm: <https://git.archlinux.org/svntogit/packages.git/tree/trunk/COPYING?h=packages/libdrm&id=b080357775c306e74a4257099ab4197604c4f57b>.
I have read that article in ArchWiki. I understand that point that MIT licences are all custom because of individual copyright line. But then I do not understand when should I use license=('MIT') instead of license=('custom')? I have read that MIT is a set of licenses, but it is kinda unclear. I guess that if there is clear text that it is a MIT license, then I use MIT, otherwise for MIT-style licence I just use custom. Am I correct? 23.05.2019, 20:06, "mpan" <archml-y1vf3axu@mpan.pl>:
Hello. I was repacking amdgpu-pro deb files and when I started converting licences, I have noticed that libdrm* packages have a MIT Licence text in copyright file. I decided to check if AUR/libdrm-git and Extra/libdrm uses MIT licence, but they don't. I contacted Lone_Wolf (maintainer of libdrm-git) and he said that he used a licence from Extra/libdrm. Should not it be changed to MIT instead of custom?
“MIT-style license” is a class of licenses, not a specific one. Each software using MIT-style licensing is having its own, independent license text. While in practice they may be nearly identical (modulo copyright line), they’re in fact separate licenses. The topic is discussed on the wiki: <https://wiki.archlinux.org/index.php/Pkgbuild#license>.
In particular the terms include: ------ The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. ------ Which means that if multiple MIT-licensed pieces of software are combined, the complete notice of each of them has to be included in the final work. And this is exactly what happens in case of libdrm: <https://git.archlinux.org/svntogit/packages.git/tree/trunk/COPYING?h=packages/libdrm&id=b080357775c306e74a4257099ab4197604c4f57b>.
I have read that article in ArchWiki. I understand that point that MIT licences are all custom because of individual copyright line. But then I do not understand when should I use license=('MIT') instead of license=('custom')? I have read that MIT is a set of licenses, but it is kinda unclear. I guess that if there is clear text that it is a MIT license, then I use MIT, otherwise for MIT-style licence I just use custom. Am I correct? I talked about the topic on #archlinux and it seems that the accepted solution is to use 'MIT' in the `license` array, despite there is no corresponding text in the “licenses” package, and put the text into “/usr/share/licenses/pkgname”, despite it is not marked as 'custom' in the `license` array. ¯\_(ツ)_/¯
I still consider it illogical, but I have been outvoted. But I would not claim that “libdrm” maintainer is wrong on using 'custom' here.
On 5/23/19 5:15 PM, mpan wrote:
I have read that article in ArchWiki. I understand that point that MIT licences are all custom because of individual copyright line. But then I do not understand when should I use license=('MIT') instead of license=('custom')? I have read that MIT is a set of licenses, but it is kinda unclear. I guess that if there is clear text that it is a MIT license, then I use MIT, otherwise for MIT-style licence I just use custom. Am I correct? I talked about the topic on #archlinux and it seems that the accepted solution is to use 'MIT' in the `license` array, despite there is no corresponding text in the “licenses” package, and put the text into “/usr/share/licenses/pkgname”, despite it is not marked as 'custom' in the `license` array. ¯\_(ツ)_/¯
I still consider it illogical, but I have been outvoted. But I would not claim that “libdrm” maintainer is wrong on using 'custom' here.
That most likely has to do with the fact that your own wiki link explicitly says that is what you're supposed to do. -- Eli Schwartz Bug Wrangler and Trusted User
People, I forgot to tell ashark the primary reason why I felt a thread in arch general ML was needed. Almost every file in libdrm tree has it's own copyright notice, I've listed 4 examples at the bottom of the mail. The COPYING file we include with libdrm doesn't list any of those 4 notices and I have no idea how many more we miss. Are there tools to extract multiple license texts from multiple files in multiple folders, should maintainers create something by hand or are there other/better options ? How can we be sure we're not missing one or two copyright notices ? This could potentially affect many archlinux packages with numerous license types. (Wiki suggests named copyright notices are needed for BSD , ISC, MIT , zlib/png and Python licenses) Lone_Wolf Android.mk # # Copyright © 2011-2012 Intel Corporation # util_double_list.h * Copyright 2006 Tungsten Graphics, Inc., Bismarck, ND. USA. etnaviv/etnaviv_device.c /* * Copyright (C) 2014 Etnaviv Project * etnanviv/meson.build # Copyright © 2017-2018 Intel Corporation
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, May 24, 2019 12:14 AM, Lone_Wolf <lonewolf@xs4all.nl> wrote:
People,
I forgot to tell ashark the primary reason why I felt a thread in arch general ML was needed.
Almost every file in libdrm tree has it's own copyright notice, I've listed 4 examples at the bottom of the mail.
The COPYING file we include with libdrm doesn't list any of those 4 notices and I have no idea how many more we miss.
Are there tools to extract multiple license texts from multiple files in multiple folders, should maintainers create something by hand or are there other/better options ?
How can we be sure we're not missing one or two copyright notices ?
This could potentially affect many archlinux packages with numerous license types.
Well for one thing, you could try to work with upstream to extract the licenses into separate files somehow. RMS once explained to me that you might be out of luck if you don't reference your license in a source file of your project that uses your specified license, because in some jurisdictions people have successfully snuck out files from licensed projects where the file didn't mention the applicable license pro-actively. Which can be annoying because that means upstream would extract the license and replace it with a placeholder. So I guess the question is if the situation can even be fixed at all, or how we'd go about improve it. cheers! mar77i Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, May 23, 2019 11:15 PM, mpan <archml-y1vf3axu@mpan.pl> wrote:
I talked about the topic on #archlinux and it seems that the accepted solution is to use 'MIT' in the `license` array, despite there is no corresponding text in the “licenses” package, and put the text into “/usr/share/licenses/pkgname”, despite it is not marked as 'custom' in the `license` array. ¯\(ツ)/¯
MIT, along with other BSD-like licenses contain authors' individual copyright notices for each project. Arch therefore can't provide a - in this sense - valid copy of the respective license to refer users to, because that would be illogical. So we put the recognizable name of the license in the license array and ship the individual license file along with the project. It's possible I misunderstood what part of this process caused confusion with you, so please elaborate your position further, I'll gladly answer or research more questions. cheers! mar77i Sent with ProtonMail Secure Email.
I have read that article in ArchWiki. I understand that point that MIT licences are all custom because of individual copyright line. But then I do not understand when should I use license=('MIT') instead of license=('custom')?
I have read that MIT is a set of licenses, but it is kinda unclear. I guess that if there is clear text that it is a MIT license, then I use MIT, otherwise for MIT-style licence I just use custom. Am I correct?
It's possible I misunderstood what part of this process caused confusion with you, so please elaborate your position further, I'll gladly answer or research more questions.
To answer my own question, of course I screwed it up already. Okay, so license=('custom:MIT'), license=('MIT') or license=('custom')? manual says: put licenses from /usr/share/licenses/common into the license array, otherwise use 'custom' / 'custom:LicenseName'. Depending on how many PKGBUILDs you've looked at in the past, you might think, of course, you put license=('MIT') for MIT licensed projects in your PKGBUILD. Which, as we now established, is incorrect, yet not actually enforced, and the more important part of getting this right is to have the original license file with the copyright notice in the package, as the document usually asks. I think we can bikeshed over the prefered 'custom' or 'custom:MIT' details from here on, however, a quick glance at my pacman database shows that a lot of repo packages actually don't do what the manpage say, of which there are asp, wayland, sdl2... (the list goes on). cheers! mar77i Sent with ProtonMail Secure Email.
Am 24.05.19 um 00:21 schrieb mar77i via arch-general: ...
To answer my own question, of course I screwed it up already. Okay, so license=('custom:MIT'), license=('MIT') or license=('custom')?
manual says: put licenses from /usr/share/licenses/common into the license array, otherwise use 'custom' / 'custom:LicenseName'.
Depending on how many PKGBUILDs you've looked at in the past, you might think, of course, you put license=('MIT') for MIT licensed projects in your PKGBUILD. Which, as we now established, is incorrect, yet not actually enforced, and the more important part of getting this right is to have the original license file with the copyright notice in the package, as the document usually asks.
I think we can bikeshed over the prefered 'custom' or 'custom:MIT' details from here on, however, a quick glance at my pacman database shows that a lot of repo packages actually don't do what the manpage say, of which there are asp, wayland, sdl2... (the list goes on).
Those packages follow the exception published in the wiki[1] which allows license=('MIT') if you also include the exact license text with copyright notice in /usr/share/licenses/pkgname. This text has been there since the creation of the wiki page in November 2009[2] and I believe before that it was on another wiki page that has since been deleted without preserving its history[3], so I don't know where it came from. Should this really be declared as wrong now? Relevant paragraph of [1]:
The BSD, ISC, MIT, zlib/png and Python licenses are special cases and could not be included in the licenses package. For the sake of the license array, it is treated as a common license (license=('BSD'), license=('ISC'), license=('MIT'), license=('ZLIB') and license=('Python')), but technically each one is a custom license, because each one has its own copyright line. Any packages licensed under these four should have its own unique license stored in /usr/share/licenses/pkgname.
[1]: https://wiki.archlinux.org/index.php/PKGBUILD#license [2]: https://wiki.archlinux.org/index.php?title=PKGBUILD&diff=85178&oldid=85175 [3]: https://wiki.archlinux.org/index.php?title=Building_Packages_in_Arch_Linux&action=history
On 5/23/19 6:48 PM, ProgAndy wrote:
Am 24.05.19 um 00:21 schrieb mar77i via arch-general: ...
To answer my own question, of course I screwed it up already. Okay, so license=('custom:MIT'), license=('MIT') or license=('custom')?
manual says: put licenses from /usr/share/licenses/common into the license array, otherwise use 'custom' / 'custom:LicenseName'.
Depending on how many PKGBUILDs you've looked at in the past, you might think, of course, you put license=('MIT') for MIT licensed projects in your PKGBUILD. Which, as we now established, is incorrect, yet not actually enforced, and the more important part of getting this right is to have the original license file with the copyright notice in the package, as the document usually asks.
I think we can bikeshed over the prefered 'custom' or 'custom:MIT' details from here on, however, a quick glance at my pacman database shows that a lot of repo packages actually don't do what the manpage say, of which there are asp, wayland, sdl2... (the list goes on).
Those packages follow the exception published in the wiki[1] which allows license=('MIT') if you also include the exact license text with copyright notice in /usr/share/licenses/pkgname. This text has been there since the creation of the wiki page in November 2009[2] and I believe before that it was on another wiki page that has since been deleted without preserving its history[3], so I don't know where it came from. Should this really be declared as wrong now?
Easy answer! The wiki is a more in-depth discussion of what the manpage says, and therefore takes precedence. -- Eli Schwartz Bug Wrangler and Trusted User
participants (6)
-
ashark@linuxcomp.ru
-
Eli Schwartz
-
Lone_Wolf
-
mar77i@protonmail.ch
-
mpan
-
ProgAndy