public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] pre-GLEP review: Maintainership structure
@ 2015-11-03 22:15 Michał Górny
  2015-11-08  1:45 ` Michael Orlitzky
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Michał Górny @ 2015-11-03 22:15 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1079 bytes --]

Hello,

In the last meeting, the Council has decided that the solution to
various problems with herds, projects etc. can't be achieved via ad-hoc
voting. Instead, a full proposal was to be proposed in form of a GLEP.

I have collected the most important points raised during the meeting,
and prepared a pre-GLEP for a new 'maintainership structure' [1].
Quoting the abstract:

| Within this GLEP, the issues with the current package maintainer
| description system are explained, and a new system that aims to solve
| those issues is proposed. The current complex structure is replaced
| with two well-defined maintainer types — people and projects. Herds
| are removed in favor of projects, and project member listings are
| provided in XML format. Maintainer listings in metadata.xml become
| uniform, and can be used directly to assign bugs.

Please review, comment and answer the questions in TODOs ;-).

[1]:https://wiki.gentoo.org/wiki/User:MGorny/GLEP:Maintainership_structure

-- 
Best regards,
Michał Górny
<http://dev.gentoo.org/~mgorny/>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 949 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] pre-GLEP review: Maintainership structure
  2015-11-03 22:15 [gentoo-dev] pre-GLEP review: Maintainership structure Michał Górny
@ 2015-11-08  1:45 ` Michael Orlitzky
  2015-11-08  7:41   ` Michał Górny
  2015-11-09  6:43 ` Aaron Bauman
  2015-11-09  6:43 ` Aaron Bauman
  2 siblings, 1 reply; 10+ messages in thread
From: Michael Orlitzky @ 2015-11-08  1:45 UTC (permalink / raw
  To: gentoo-dev

On 11/03/2015 05:15 PM, Michał Górny wrote:
> 
> Please review, comment and answer the questions in TODOs ;-).
> 
> [1]:https://wiki.gentoo.org/wiki/User:MGorny/GLEP:Maintainership_structure
> 

Much more sane than what we have now, thank you.

My only question is about the name of the "subproject" element. If you
haven't read the GLEP, can you tell me whether Foo is a subproject of
Bar or vice-versa?

  <project>
    <name>Foo</name>
    <email>foo@gentoo.org</email>
    <subproject ref="bar@gentoo.org"/>
  </project>

  <project>
    <name>Bar</name>
    <email>bar@gentoo.org</email>
  </project>

Putting the name aside, I expected the mapping to go in the other
direction by analogy with relational databases.

This is also misleading with the current name:

  <subproject inherit-members="1"/>

That looks like the subproject inherits the members of the parent
project, right? But it's the other way around:

  * optional inherit-members="" attribute whose non-empty value
    indicates that subproject members are to be considered members of
    the parent project as well.

If everyone likes and wants to keep the name _sub_project, I think
_inherit_ is the wrong word to use, since children inherit from parents.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] pre-GLEP review: Maintainership structure
  2015-11-08  1:45 ` Michael Orlitzky
@ 2015-11-08  7:41   ` Michał Górny
  2015-11-08 15:38     ` Michael Orlitzky
  0 siblings, 1 reply; 10+ messages in thread
From: Michał Górny @ 2015-11-08  7:41 UTC (permalink / raw
  To: Michael Orlitzky; +Cc: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 2249 bytes --]

On Sat, 7 Nov 2015 20:45:37 -0500
Michael Orlitzky <mjo@gentoo.org> wrote:

> On 11/03/2015 05:15 PM, Michał Górny wrote:
> > 
> > Please review, comment and answer the questions in TODOs ;-).
> > 
> > [1]:https://wiki.gentoo.org/wiki/User:MGorny/GLEP:Maintainership_structure
> >   
> 
> Much more sane than what we have now, thank you.
> 
> My only question is about the name of the "subproject" element. If you
> haven't read the GLEP, can you tell me whether Foo is a subproject of
> Bar or vice-versa?
> 
>   <project>
>     <name>Foo</name>
>     <email>foo@gentoo.org</email>
>     <subproject ref="bar@gentoo.org"/>
>   </project>
> 
>   <project>
>     <name>Bar</name>
>     <email>bar@gentoo.org</email>
>   </project>

I don't see a problem with that. We have a <project/> object that has
<subproject/> and <member/> elements -- sub-objects. Otherwise, it'd be
<subproject-of/> or <parent-project/>.

This could be made a little more clear if we wrapped all subprojects
around <subprojects/> element. But then, we should also wrap members
around <members/>, and maintainers around <maintainers/> ;-) for
consistency. And the last one would actually break backwards
compatibility, though it'd be consistent with how we do <use/>...

> Putting the name aside, I expected the mapping to go in the other
> direction by analogy with relational databases.

Relational databases have technical limitation of having one value for
key which does not apply here. That's why most ORMs actually focus on
the opposite direction than the database itself.

> This is also misleading with the current name:
> 
>   <subproject inherit-members="1"/>
> 
> That looks like the subproject inherits the members of the parent
> project, right? But it's the other way around:
> 
>   * optional inherit-members="" attribute whose non-empty value
>     indicates that subproject members are to be considered members of
>     the parent project as well.
> 
> If everyone likes and wants to keep the name _sub_project, I think
> _inherit_ is the wrong word to use, since children inherit from parents.

What do you suggest instead?

-- 
Best regards,
Michał Górny
<http://dev.gentoo.org/~mgorny/>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 949 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] pre-GLEP review: Maintainership structure
  2015-11-08  7:41   ` Michał Górny
@ 2015-11-08 15:38     ` Michael Orlitzky
  2015-11-08 15:53       ` Michał Górny
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Orlitzky @ 2015-11-08 15:38 UTC (permalink / raw
  To: gentoo-dev

On 11/08/2015 02:41 AM, Michał Górny wrote:
>>
>> If everyone likes and wants to keep the name _sub_project, I think
>> _inherit_ is the wrong word to use, since children inherit from parents.
> 
> What do you suggest instead?
> 

Can a project be a subproject of more than one superproject? If not, is
it possible to use the structure of the XML to indicate the subness of
the subproject?

  <project>
    <name>Bar</name>
    <email>bar@gentoo.org</email>

      <!-- child project is a child element -->
      <project inherit-members="1">
        <name>Foo</name>
        <email>foo@gentoo.org</email>
      </project>

  </project>

I know you mentioned the whole one value per key thing, but does anyone
actually want to have multiple inheritance for projects?



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] pre-GLEP review: Maintainership structure
  2015-11-08 15:38     ` Michael Orlitzky
@ 2015-11-08 15:53       ` Michał Górny
  2015-11-08 16:02         ` Michael Orlitzky
  0 siblings, 1 reply; 10+ messages in thread
From: Michał Górny @ 2015-11-08 15:53 UTC (permalink / raw
  To: Michael Orlitzky; +Cc: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1177 bytes --]

On Sun, 8 Nov 2015 10:38:17 -0500
Michael Orlitzky <mjo@gentoo.org> wrote:

> On 11/08/2015 02:41 AM, Michał Górny wrote:
> >>
> >> If everyone likes and wants to keep the name _sub_project, I think
> >> _inherit_ is the wrong word to use, since children inherit from parents.  
> > 
> > What do you suggest instead?
> >   
> 
> Can a project be a subproject of more than one superproject? If not, is
> it possible to use the structure of the XML to indicate the subness of
> the subproject?
> 
>   <project>
>     <name>Bar</name>
>     <email>bar@gentoo.org</email>
> 
>       <!-- child project is a child element -->
>       <project inherit-members="1">
>         <name>Foo</name>
>         <email>foo@gentoo.org</email>
>       </project>
> 
>   </project>
> 
> I know you mentioned the whole one value per key thing, but does anyone
> actually want to have multiple inheritance for projects?

No. This is going to be PITA to parse, and indefinite recursion is just
wrong. Like you suddenly have to traverse the whole crazy structure to
find a particular project.

-- 
Best regards,
Michał Górny
<http://dev.gentoo.org/~mgorny/>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 949 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] pre-GLEP review: Maintainership structure
  2015-11-08 15:53       ` Michał Górny
@ 2015-11-08 16:02         ` Michael Orlitzky
  2015-11-08 16:07           ` Michał Górny
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Orlitzky @ 2015-11-08 16:02 UTC (permalink / raw
  To: gentoo-dev

On 11/08/2015 10:53 AM, Michał Górny wrote:
> 
> No. This is going to be PITA to parse, and indefinite recursion is just
> wrong. Like you suddenly have to traverse the whole crazy structure to
> find a particular project.
> 

That's already true if you want the last project in the file =P

You're just traversing a list of linked lists rather than a linear list.
The indefinite recursion is already there: in the draft I can create an
infinite number of nested <subproject/> pointers, or worse I could do,

  <project>
    <name>Foo</name>
    <email>foo@gentoo.org</email>
    <subproject ref="foo@gentoo.org"/>
  </project>



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] pre-GLEP review: Maintainership structure
  2015-11-08 16:02         ` Michael Orlitzky
@ 2015-11-08 16:07           ` Michał Górny
  2015-11-08 18:51             ` Michael Orlitzky
  0 siblings, 1 reply; 10+ messages in thread
From: Michał Górny @ 2015-11-08 16:07 UTC (permalink / raw
  To: Michael Orlitzky; +Cc: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 965 bytes --]

On Sun, 8 Nov 2015 11:02:09 -0500
Michael Orlitzky <mjo@gentoo.org> wrote:

> On 11/08/2015 10:53 AM, Michał Górny wrote:
> > 
> > No. This is going to be PITA to parse, and indefinite recursion is just
> > wrong. Like you suddenly have to traverse the whole crazy structure to
> > find a particular project.
> >   
> 
> That's already true if you want the last project in the file =P
> 
> You're just traversing a list of linked lists rather than a linear list.
> The indefinite recursion is already there: in the draft I can create an
> infinite number of nested <subproject/> pointers, or worse I could do,
> 
>   <project>
>     <name>Foo</name>
>     <email>foo@gentoo.org</email>
>     <subproject ref="foo@gentoo.org"/>
>   </project>

I meant finding project by e-mail. You don't have to care about
subprojects at all to do this. Subprojects are a side info.

-- 
Best regards,
Michał Górny
<http://dev.gentoo.org/~mgorny/>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 949 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] pre-GLEP review: Maintainership structure
  2015-11-08 16:07           ` Michał Górny
@ 2015-11-08 18:51             ` Michael Orlitzky
  0 siblings, 0 replies; 10+ messages in thread
From: Michael Orlitzky @ 2015-11-08 18:51 UTC (permalink / raw
  To: gentoo-dev

On 11/08/2015 11:07 AM, Michał Górny wrote:
>>
>>   <project>
>>     <name>Foo</name>
>>     <email>foo@gentoo.org</email>
>>     <subproject ref="foo@gentoo.org"/>
>>   </project>
> 
> I meant finding project by e-mail. You don't have to care about
> subprojects at all to do this. Subprojects are a side info.
> 

What exactly gets harder? Finding an email address is same in emacs/grep
regardless of the nesting. If you wanted to write a script, it might get
one line longer:

#!/usr/bin/python

import sys

import xml.etree.ElementTree as ET
tree = ET.parse('metadata.xml')
for project in tree.findall('.//project'):
    if project.find('email').text == sys.argv[1]:
       print(project.find('name').text)



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] pre-GLEP review: Maintainership structure
  2015-11-03 22:15 [gentoo-dev] pre-GLEP review: Maintainership structure Michał Górny
  2015-11-08  1:45 ` Michael Orlitzky
@ 2015-11-09  6:43 ` Aaron Bauman
  2015-11-09  6:43 ` Aaron Bauman
  2 siblings, 0 replies; 10+ messages in thread
From: Aaron Bauman @ 2015-11-09  6:43 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 281 bytes --]

On Tue, 2015-11-03 at 23:15 +0100, Michał Górny wrote:

> Please review, comment and answer the questions in TODOs ;-).
> 
> [1]:https://wiki.gentoo.org/wiki/User:MGorny/GLEP:Maintainership_stru
> cture
> 

A great improvement over the current implementation.  Thank you.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] pre-GLEP review: Maintainership structure
  2015-11-03 22:15 [gentoo-dev] pre-GLEP review: Maintainership structure Michał Górny
  2015-11-08  1:45 ` Michael Orlitzky
  2015-11-09  6:43 ` Aaron Bauman
@ 2015-11-09  6:43 ` Aaron Bauman
  2 siblings, 0 replies; 10+ messages in thread
From: Aaron Bauman @ 2015-11-09  6:43 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 281 bytes --]

On Tue, 2015-11-03 at 23:15 +0100, Michał Górny wrote:

> Please review, comment and answer the questions in TODOs ;-).
> 
> [1]:https://wiki.gentoo.org/wiki/User:MGorny/GLEP:Maintainership_stru
> cture
> 

A great improvement over the current implementation.  Thank you.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-11-09  6:46 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-03 22:15 [gentoo-dev] pre-GLEP review: Maintainership structure Michał Górny
2015-11-08  1:45 ` Michael Orlitzky
2015-11-08  7:41   ` Michał Górny
2015-11-08 15:38     ` Michael Orlitzky
2015-11-08 15:53       ` Michał Górny
2015-11-08 16:02         ` Michael Orlitzky
2015-11-08 16:07           ` Michał Górny
2015-11-08 18:51             ` Michael Orlitzky
2015-11-09  6:43 ` Aaron Bauman
2015-11-09  6:43 ` Aaron Bauman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox