Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
On Thu, Oct 01, 2009 at 04:01:29AM +0200, Sebastian Pipping wrote: Zac Medico wrote: I propose support for license groups in ebuilds then, I guess. That seems like a reasonable solution. So, an ebuild can do something like LICENSE=@GPL-2+ and that will expand to whatever the definition of the GPL-2+ license group happens to be. When a new version of GPL license comes out, we simple add it to that group, and none of the corresponding ebuilds have to be updated. I made a bug from that so it doesn't get lost. https://bugs.gentoo.org/show_bug.cgi?id=287192 Actually, it's not lost. I've write a patch for the GLEP-23 and I'm waiting for an answer from the glep team. -- Mounir
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
Zac Medico wrote: I propose support for license groups in ebuilds then, I guess. That seems like a reasonable solution. So, an ebuild can do something like LICENSE=@GPL-2+ and that will expand to whatever the definition of the GPL-2+ license group happens to be. When a new version of GPL license comes out, we simple add it to that group, and none of the corresponding ebuilds have to be updated. I made a bug from that so it doesn't get lost. https://bugs.gentoo.org/show_bug.cgi?id=287192 Sebastian
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
On Fri, 04 Sep 2009, Zac Medico wrote: I propose support for license groups in ebuilds then, I guess. That seems like a reasonable solution. So, an ebuild can do something like LICENSE=@GPL-2+ and that will expand to whatever the definition of the GPL-2+ license group happens to be. So @GPL-2+ would (currently) expand to GPL-2 GPL-3. But that would be wrong, since what you want is || ( GPL-2 GPL-3 ). Ulrich
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
Ulrich Mueller wrote: On Fri, 04 Sep 2009, Zac Medico wrote: I propose support for license groups in ebuilds then, I guess. That seems like a reasonable solution. So, an ebuild can do something like LICENSE=@GPL-2+ and that will expand to whatever the definition of the GPL-2+ license group happens to be. So @GPL-2+ would (currently) expand to GPL-2 GPL-3. But that would be wrong, since what you want is || ( GPL-2 GPL-3 ). Right, so naturally, license groups inside LICENSE should expand to || ( licenses in group ). -- Thanks, Zac
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
Zac Medico wrote: Sebastian Pipping wrote: I propose support for license groups in ebuilds then, I guess. That seems like a reasonable solution. So, an ebuild can do something like LICENSE=@GPL-2+ and that will expand to whatever the definition of the GPL-2+ license group happens to be. When a new version of GPL license comes out, we simple add it to that group, and none of the corresponding ebuilds have to be updated. I suppose adding group license support in ebuilds will fix the problem too. But I see a few disadvantages like: - new behavior for @ operator: it will not only expand a group but also adding a || operator (only for LICENSE) - devs will have to maintain new groups - group support in LICENSE has no other need that managing versioned licenses In an other hand, it will prevent us adding a new operator. And Sébastian, I don't understand you when you said GPL-2+ will be confusing for the user as it's a term commonly used in the FOSS world. But if everybody think groups are better, that will be fine. For those who think this feature is useless because we are not lawyers and ebuilds don't care about licenses, I just want to add it will not be a new _requirement_ but a new _possibility_. As Ciaran's said, you already have to check for licenses at the moment. So even if some devs do mistake (or do not update the info) as said Jeremy, we have at least this information. If you know a package is GPL-2 licensed, you can set LICENSE=GPL-2, it's valid, IMO. If you want to go far than that and check if it's GPL-2+, it's better but not _needed_. It's a small feature and it can help. Thanks, Mounir
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
On Sat, 05 Sep 2009, Mounir Lamouri wrote: I suppose adding group license support in ebuilds will fix the problem too. But I see a few disadvantages like: - new behavior for @ operator: it will not only expand a group but also adding a || operator (only for LICENSE) - devs will have to maintain new groups - group support in LICENSE has no other need that managing versioned licenses IMHO the main disadvantage is that ebuilds would have to be converted to EAPI-4 for this, which is quite an effort for a very small improvement. And I guess that there are quite a few packages currently labelled as GPL-2 that are really GPL 2 or later. But if everybody think groups are better, that will be fine. I would prefer a pragmatic solution, like adding new licence files as suggested in [1]. Ulrich [1] http://archives.gentoo.org/gentoo-dev/msg_6c004fd342c57062d71455109fa52ac0.xml
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
Mounir Lamouri wrote: Zac Medico wrote: Sebastian Pipping wrote: I propose support for license groups in ebuilds then, I guess. That seems like a reasonable solution. So, an ebuild can do something like LICENSE=@GPL-2+ and that will expand to whatever the definition of the GPL-2+ license group happens to be. When a new version of GPL license comes out, we simple add it to that group, and none of the corresponding ebuilds have to be updated. I suppose adding group license support in ebuilds will fix the problem too. But I see a few disadvantages like: - new behavior for @ operator: it will not only expand a group but also adding a || operator (only for LICENSE) It's just a natural thing to do, given the use case, so I'm not sure that I'd consider it a disadvantage. - devs will have to maintain new groups It actually has potential ease maintenance because of the code sharing aspect. You only have to update the group definition in order to update all consumers of the group. - group support in LICENSE has no other need that managing versioned licenses Not necessarily. I can imagine other cases where the code sharing aspect might be useful. Also, imagine a case such as a version range. Doing that with operators could get messy, but it's quite simple using groups. Considering that licenses tend to have relatively few versions (compared to packages, for example), operators might introduce unnecessary complexity while not having the flexibility that groups have. -- Thanks, Zac
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
Ulrich Mueller wrote: IMHO the main disadvantage is that ebuilds would have to be converted to EAPI-4 for this, Why do they _have_ to? I understand that it's optional and that we can take time with it until a new license (e.g. GPL-4) arrives. Also, scripts/tools can help with the transition. which is quite an effort for a very small improvement. - It's reducing future maintenance costs on new license arrival - It's adding clarity and allows us to express the actual license of GPL 2 or later packages much better. - It increases chances of correct labeling of future ebuilds Sebastian
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
On Mon, Aug 31, 2009 at 5:12 PM, Mounir Lamourivolk...@gentoo.org wrote: It's even worst when we try to use ACCEPT_LICENSE to have a free operating system. FWIW: Given the state of ebuilds, I think this should never be attempted unless the user knows it may not be accurate[1]. We should not attempt to guarantee such statement, IMO. LGPL-2.1 is free for both but LGPL-2 isn't and we can suppose, most LGPL-2 licensed packages in the tree are LGPL-2+ actually. How are we, the non-lawyer types, suppose to know that? TBH, I don't care and am not going to put much effort beyond reading the header of COPYING or glancing at the HOMEPAGE to see what license they are using. I think you are attempting to add much complexity to ebuilds that will ultimately fail. Of course, you can volunteer to audit every license and every ebuild. Thanks in advance for that =P Thanks for putting work into making Gentoo better, I just am not convinced on this subject. -Jeremy [1]: Look at how long bug 268796 took to get resolved. 4 months, rather quickly too. Ebuilds stated GPL-2, when they were in fact BSD, GPL-3, LGPL-2.
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
Mounir Lamouri wrote: However I do notice that GPL-2+ could make things easier. Why not introduce a license group for it like @GPL-2+ or so, instead? That would be transparent and use existing means. I don't understand where the black magic is. It would be in the implementation and in the non-transparency. How can a user understabnd that GPL-2+ refers to a group of license files but GPL-2 refers to a single file? He may guess but it's not obvious, especially if it hasn#t been like that in the past, which is the case. However, a group will not add the information in the ebuild. In other words, I will have GPL-2 and GPL-3 with GPL-2+ in ACCEPT_LICENSE but I will not have GPL-2+ packages if i set only GPL-3 in ACCEPT_LICENSE. I propose support for license groups in ebuilds then, I guess. Sebastian
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
Sebastian Pipping wrote: However, a group will not add the information in the ebuild. In other words, I will have GPL-2 and GPL-3 with GPL-2+ in ACCEPT_LICENSE but I will not have GPL-2+ packages if i set only GPL-3 in ACCEPT_LICENSE. I propose support for license groups in ebuilds then, I guess. That seems like a reasonable solution. So, an ebuild can do something like LICENSE=@GPL-2+ and that will expand to whatever the definition of the GPL-2+ license group happens to be. When a new version of GPL license comes out, we simple add it to that group, and none of the corresponding ebuilds have to be updated. -- Thanks, Zac
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
Rémi Cardona wrote: Le 01/09/2009 00:12, Mounir Lamouri a écrit : Hi, As you should know, GLEP 23 [1] introduced USE flags conditions in LICENSE variable and || operator in addition of licenses groups and ACCEPT_LICENSE variable. [1] http://www.gentoo.org/proj/en/glep/glep-0023.html /me still thinks LICENSE should be informational _at_best_. Users who rely on LICENSE to build an FSF-approved system will simply be mislead. If we want to support this sort of things properly, we should have a treewide license audit. Anything short of that will just be a disservice to our users. I don't think your argument is valid. LICENSE is not informational so we have to deal with it and as GLEP-23 has an issue, we should fix it. I know even with this feature building a free-only system with ACCEPT_LICENSE will not be easy but the tree cleaning or anything else is a next step. Let's focus on what we can do now and what I propose is clearly doable and it will not break anything. -- Mounir
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
Sebastian Pipping wrote: Mounir Lamouri wrote: It's even worst when we try to use ACCEPT_LICENSE to have a free operating system. Let's suppose 'free' in fsf free and osf free, LGPL-2.1 is free for both but LGPL-2 isn't and we can suppose, most LGPL-2 licensed packages in the tree are LGPL-2+ actually. Are you aware that we have license groups like @FSF-APPROVED? It's set up in /usr/portage/profiles/license_groups. Groups are not fixing the problem even for free aspect. If I have a package licensed to LGPL-2, it's not free approved but if it's LGPL-2+, it is. So I can't add LGPL-2 to @FSF-APPROVED, we agree ? So, what I propose is to let a license to be suffixed by the + operator. In this case, if a newer license is accepted by ACCEPT_LICENSE, the PM should not filter the package. My vote is against it. It feels like black magic to me and many licenses are not versioned, at least not their reference names in Gentoo. However I do notice that GPL-2+ could make things easier. Why not introduce a license group for it like @GPL-2+ or so, instead? That would be transparent and use existing means. What do you think? I don't understand where the black magic is. I agree not so much licenses are versioned but they probably are the most used (LGPL, GPL, MPL, Apache, ...). GPL-2+ as a group make the filtering with ACCEPT_LICENSE easy (even if we have to suppose license groups are always up-to-date. However, a group will not add the information in the ebuild. In other words, I will have GPL-2 and GPL-3 with GPL-2+ in ACCEPT_LICENSE but I will not have GPL-2+ packages if i set only GPL-3 in ACCEPT_LICENSE. Anyway, I've seen an issue for licenses already named foo-NUMBER because with this feature, PM will consider them as versioned. Not a big deal for most of them but it could be weird like BSD-2+ to have BSD-2 and BSD-4. ls | grep -e -[0123456789.]*$ in the licenses directory to see the concerned licenses As it has to come with a new EAPI, we can rename some licenses before. -- Mounir
[gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
Hi, As you should know, GLEP 23 [1] introduced USE flags conditions in LICENSE variable and || operator in addition of licenses groups and ACCEPT_LICENSE variable. [1] http://www.gentoo.org/proj/en/glep/glep-0023.html I want to show an issue in ACCEPT_LICENSE that have to be fixed with a new operator in LICENSE variable. Imagine we have ACCEPT_LICENSE=GPL-3, every ebuilds without GPL-3 in LICENSE variable will be filtered even ebuilds with LICENSE=GPL-2 and a lot of packages are actually GPL-2+, not GPL-2 strict. That means they should be shown if ACCEPT_LICENSE=GPL-3. It's even worst when we try to use ACCEPT_LICENSE to have a free operating system. Let's suppose 'free' in fsf free and osf free, LGPL-2.1 is free for both but LGPL-2 isn't and we can suppose, most LGPL-2 licensed packages in the tree are LGPL-2+ actually. So, what I propose is to let a license to be suffixed by the + operator. In this case, if a newer license is accepted by ACCEPT_LICENSE, the PM should not filter the package. I think it's not a hard modification and it will only need an amend to GLEP 23 (in addition of implementations in PM's). Thanks, Mounir
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
Le 01/09/2009 00:12, Mounir Lamouri a écrit : Hi, As you should know, GLEP 23 [1] introduced USE flags conditions in LICENSE variable and || operator in addition of licenses groups and ACCEPT_LICENSE variable. [1] http://www.gentoo.org/proj/en/glep/glep-0023.html /me still thinks LICENSE should be informational _at_best_. Users who rely on LICENSE to build an FSF-approved system will simply be mislead. If we want to support this sort of things properly, we should have a treewide license audit. Anything short of that will just be a disservice to our users. Cheers, Rémi
Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)
Mounir Lamouri wrote: It's even worst when we try to use ACCEPT_LICENSE to have a free operating system. Let's suppose 'free' in fsf free and osf free, LGPL-2.1 is free for both but LGPL-2 isn't and we can suppose, most LGPL-2 licensed packages in the tree are LGPL-2+ actually. Are you aware that we have license groups like @FSF-APPROVED? It's set up in /usr/portage/profiles/license_groups. So, what I propose is to let a license to be suffixed by the + operator. In this case, if a newer license is accepted by ACCEPT_LICENSE, the PM should not filter the package. My vote is against it. It feels like black magic to me and many licenses are not versioned, at least not their reference names in Gentoo. However I do notice that GPL-2+ could make things easier. Why not introduce a license group for it like @GPL-2+ or so, instead? That would be transparent and use existing means. What do you think? Sebastian