Re: [gentoo-dev] [RFC] Add operator + for licenses (EAPI-4 ?)

2009-10-01 Thread volkmar
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 ?)

2009-09-30 Thread Sebastian Pipping
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 ?)

2009-09-05 Thread Ulrich Mueller
 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 ?)

2009-09-05 Thread Zac Medico
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 ?)

2009-09-05 Thread Mounir Lamouri
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 ?)

2009-09-05 Thread Ulrich Mueller
 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 ?)

2009-09-05 Thread Zac Medico
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 ?)

2009-09-05 Thread Sebastian Pipping
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 ?)

2009-09-04 Thread Jeremy Olexa
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 ?)

2009-09-04 Thread Sebastian Pipping
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 ?)

2009-09-04 Thread Zac Medico
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 ?)

2009-09-03 Thread Mounir Lamouri
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 ?)

2009-09-03 Thread Mounir Lamouri
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 ?)

2009-08-31 Thread Mounir Lamouri
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 ?)

2009-08-31 Thread Rémi Cardona

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 ?)

2009-08-31 Thread Sebastian Pipping
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