David Golden wrote:
> I'm highlighting this for the full list to be aware of and contribute to.
>
> ---------- Forwarded message ----------
> From: "bulk88" <notificati...@github.com <mailto:notificati...@github.com>>
> Date: Oct 28, 2015 6:27 PM
> Subject: [ExtUtils-MakeMaker] the future of EUMM's development model (#242)
> To: "Perl-Toolchain-Gang/ExtUtils-MakeMaker"
> <extutils-makema...@noreply.github.com
> <mailto:extutils-makema...@noreply.github.com>>
> Cc:
>
***************CUT****************
> Since P5P perl relies on timely releases of EUMM, there are certain
> exceptions and responsibilities for planning and managing a project
> correctly. If the owners of EUMM can not meet those expectations, a new
> management structure and plan must be figured out for EUMM. If anyone
> with official power (PAUSE) over EUMM responds with "by Christmas", they
> are sanctioning a fork. I'll warn everyone ahead of time, think a little
> as to what you are really saying before you respond with the mantra "we
> have no time, we aren't paid".
>
> While I will obviously read responses of everyone who posts, responses
> from the general public (no PAUSE EUMM rights), aren't statements from
> the owner of EUMM (bingos) and his appointed comaints
> ANDK/CHORNY/ETHER/LEONT/MMML/MSCHWERN/MSTROUT.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/242>.
>

I'll add some more details and expand outside of EUMM specfically, in https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/berlin-consensus.md#toolchain-charter-practices

it says
------------------------------------------------------------
2. Toolchain distributions should have more than one "primary" maintainer (regardless of actual PAUSE permissions) and a list should be published showing distributions and maintainers.
------------------------------------------------------------
5. If discussions about the evolution of toolchain distributions fail to achieve consensus, toolchain authors agree to defer to a designated "tie-breaker" authority. The Perl pumpking (regardless of who that may be at any point in time) was the initial choice for tie-breaker.
------------------------------------------------------------

There are THIRTY people in https://github.com/orgs/Perl-Toolchain-Gang/people .

So here are my questions.

Where is the list described in #2 for Perl-Toolchain-Gang controlled modules?

Do all 30 people listed in PTG have the same perms and standing in PTG?

Are all 30 people free to push to all ~27 PTG repos at any time? Technically free or socially free?

Who has the root password to the PTG github account to add and remove members from that list? I'll assume there is more than 1 person.

BINGOS does many CPAN releases for PTG modules for a number of years now but he rarely writes code. In PAUSE, there is a concept of owner, and comaint. Do these have relevance to who is the owner of a PTG module? I find any "Author" section in PTG module pod to be years or a decade out of date. Is the Pod's author the "owner" of the module and still responsible for it even though it is under PTG care?

If a PTG module is always released by one person, and nearly every commit is by one person, page after page on GH, year after year, XDG's modules for example, it is obvious that he, and not the PTG collective is the owner of that.

But for ExtUtils::MakeMaker, Bingos does all the CPAN releases and is the owner on PAUSE, but less than half of the commits, and less than 1/8th of the commits if you exclude merge commits and version bumps. Who is the owner of ExtUtils::MakeMaker? Bingos alone? or all 30 members of PTG are jointly and severally liable? I'll expand on this later.

Back to who is the owner, should the Author sections in PTG pod be changed to "Creator" or "Original Author" or the section deleted and the original author mentioned as the 1st line in in the pod's Contributors section?

When a module is "donated" to PTG, is the donator still the owner of the module, or is PTG collectively now the owner and author of the module, and original owner can not be blamed for anything that happens under PTG development model?

Who gets a free ride to the police station when a rootkit that calls home was shipped to CPAN in a PTG tarball?

Now the chances of a rootkit shipping under PTG development is very low, short of stolen passwords, since PTG members know each other offline and there will be a camel stomping if someone does that if they are ever found offline. If the rootkit appears in the CPAN tarball and never in the PTG repo, it is obvious who to blame based on PAUSE ID, but for more complicated cases,

The PTG member with a commit bit who pushed the rootkit to the PTG git repo responsible?

Is the PTG member who published the tarball on CPAN (negligent to review the git log before making a tarball)?

What are the responsibilities of a PTG member who cuts a CPAN tarball?
Are they a cron job whose only purpose is to bump version numbers and verify the changelog contains a new version number, or are they required to review the git history (and perhaps GH issues/PRs) since the last CPAN release?

------------------------------------------------------------
5. If discussions about the evolution of toolchain distributions fail to achieve consensus, toolchain authors agree to defer to a designated "tie-breaker" authority. The Perl pumpking (regardless of who that may be at any point in time) was the initial choice for tie-breaker.
------------------------------------------------------------

Bullet #5 says RJBS is the "tie breaker". I dont personally think that sentence is the same as owner, but someone can interpret that sentence as meaning RJBS is the final say on PTG, and therefore the owner of PTG.

I looked through a number of PTG module's PAUSE perms lists, local::lib stood out. PTG's local::lib has 26 comaints on PAUSE.

userid: MSTROUT
userid: APEIRON
userid: ARCANEZ
userid: ASH
userid: BOBTFISH
userid: DGL
userid: DOY
userid: EDENC
userid: ELLIOTT
userid: ETHER
userid: FLORA
userid: FREW
userid: GETTY
userid: GRODITI
userid: HAARG
userid: ILMARI
userid: JBERGER
userid: JJNAPIORK
userid: LSAUNDERS
userid: MITHALDU
userid: PERIGRIN
userid: PHAYLON
userid: RIBASUSHI
userid: SSCAFFIDI
userid: VANSTYN
userid: WSHELDAHL


I understand if a module needs redundancy in maintainers, or for emergency releases, but at a certain point, when the COMAINT list full of people who haven't been active in the perl community in years, or are active in perl community, but never write open source code, I start to wonder about attack vectors. local::lib's perms list has many people not in https://github.com/orgs/Perl-Toolchain-Gang/people . What is going on with this module?

There is a PAUSE ID called MMML http://www.nntp.perl.org/group/perl.modules/2000/10/msg3190.html A number of PTG modules have this in PAUSE, but not all. Who is MMML? What is the purpose of this account?

After MST in his official administrator powers decided that no tough questions are allowed about EUMM, https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/242
----------------------------------------------------------
shadowcat-mst commented 7 hours ago

I'm taking responsibility only for shutting this conversation down until it can be restarted with a more constructive and less combative attitude.
----------------------------------------------------------

I will post the chatlog with mst from #toolchain.

[19:37] <@mst> issue cleared and closed.
[19:39] <@mst> leont: I hate github. you just replied to something I'd already deleted. [19:41] <@leont> I hate all bug-trackers, and have no illusion about hating whatever I could come up with myself too.
[19:41] <@mst> of course.
[19:41] <@leont> From recent experience I can tell you github is still better than gitlab :-/ [19:46] * @mst notes that apparently closing wasn't sufficient, clicks the lock button
***cut***
[19:54] <@mst> bulk88: if you want to find mohawk and ask him when he's going to fix the mess he caused, that would be helpful. otherwise I guess we need a volunteer to back it out fully and restore master to before the mess. [19:55] <@haarg> afaik everything has basically been fixed except for the _eumm thing [19:57] <bulk88> someone gave mohawk permission to do his extensive refactoring, and someone reviewed all his work, dont blame mohawk alone for the development stall [19:58] <@mst> we argued extensively against the changes being done the way they did and he insisted on it anyway
[19:58] <@mst> ignoring about 98% of the advice given by the channel
[19:58] <@haarg> development hasn't even stalled really
[19:59] <@mst> hence why I edited out the conspiracy theory laden screed that started the issue on github
[19:59] <@mst> I am only disappointed there's no 'tinfoil hat' badge
[20:00] <@haarg> maybe try filing an issue/PR about the change you want before complaining that it isn't being done
[20:05] <@mst> 23:53 -!- Irssi: Starting query in perl with bulk88
[20:05] <@mst> 23:53 <bulk88> you realize trying to censor that development stopped on EUM
[20:05] <@mst> isn't going to work out very well for you?
[20:05] <@mst> bulk88: lol.
[20:05] <bulk88> someone gave mohawk a commit bit, whether it is PTG in a vote, or Bingos personally doesn't matter that (and maybe it is a private discussion I dont need to know), but each piece of software has an author, and that author is responsible for progress of the project, if they can't continue progress on the project, they need to step aside, or the software must be forked
[20:05] <@mst> (1) what haarg said (2) adjust your attitude
[20:06] <@mst> throwing random accusations around when you don't even have an outstanding PR/issue that isn't being addressed is unconstructive [20:07] <@mst> and wouldn't meet the standards for normal PAUSE adoption given a vanished maintainer [20:07] <@mst> let alone a dist where the team is still active and specifically asking you for an actual problem [20:08] <bulk88> why should I submit PRs on a branch that may take months or a year or 2, or never before it is published? Blead has a code freeze in Jan 2016, after that, I am blocked for 6-7 months from doing veyr much.
[20:08] <bulk88> I asked specifically, should I be PRing the 7.10 branch?
[20:08] <@mst> so your complaint is "I have assumed my PR won't be applied, therefore I haven't submitted it, therefore development has stopped"
[20:08] <@mst> awesome
[20:08] <@mst> that makes *perfect* sense, clearly :P
[20:08] <bulk88> mst are you going to roll a release on CPAN if I ask you to? [20:09] <@mst> highly unlikely given the fact that you're doing more dickwaving than contributing. [20:09] <@mst> how about you file an issue describing that you believe should be changed with a rough plan of how you'd change it, and then we can figure out where the PR should go from there?
[20:09] <@mst> I mean, that would actually be constructive, no?
[20:10] <bulk88> I filed a plan for getting EUMM back onto monthly or bimonthly releases and get the git repo back into sane plan, you deleted it. [20:11] <@mst> I'm not asking you to monday morning quarterback our branch management [20:12] <@mst> I'm asking you to file an issue representing the specific, concrete problem you're dealing with [20:12] <@mst> this was my response to your "should I be PRing the 7.10 branch?" question
[20:12] <bulk88> so daily bumps are fine on RTs?
[20:12] <bulk88> *on PRs
[20:12] <@mst> ...
[20:13] <@mst> every time I answer your question, you move the goalposts to a different zip code [20:14] <@mst> until you have an issue number for a specific problem you're experiencing plus a proposed solution - and I mean a problem with the code, not your perception of the branch management process - there's nothing further to discuss [20:14] <bulk88> " <@mst> I'm not asking you to monday morning quarterback our branch management" so your responses in this room today officially reflect the decisions of PTG or not? can I quote everything you said today in this room? [20:18] <@mst> decisions are generally made by consensus, as you were told already; as such, your question is at best nonsensical and at worst intentionally disingenuous. [20:19] <@mst> that said, you may quote anything I've said as a thing I've said.

So from this conversation, MST has taken on the role as the administrator and therefore owner of PTG. Is MST the actual owner of the PTG account (root password for GH) or just one of 30 members?

[20:10] <bulk88> I filed a plan for getting EUMM back onto monthly or bimonthly releases and get the git repo back into sane plan, you deleted it. [20:11] <@mst> I'm not asking you to monday morning quarterback our branch management

So MST says PTG is one closed group. In effect, a secret society, and it is none of the business of the public to criticize or question that secret society. And who is "our"? All 30 members?

Is PTG a secret society? There are 30 members publicly listed, when one of you says something, if the other 29 don't say anything, are they approving what the 1 member said? Every member in PTG has a choice to be a member, and a choice to resign. In recent non-programming world history, failure to resign, means you will be tried for the [war] crimes of your peers. I am not saying "tried for the crimes of your peers" applies to PTG, but that is a possible outcome of this discussion after further posts.

Both MST and leont https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/242#issuecomment-152031305 and https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/berlin-consensus.md#toolchain-charter-practices section use the word "consensus" repeatedly.

I can lookup word consensus in a dictionary, but that definition doesn't apply to PTG modules. Every software project has an human author or owner (this bot better not be writing software http://www.thegreenhead.com/imgs/xl/lifesize-terminator-t-800-endoskeleton-xl.jpg ). PTG is different, as leont said "but in practice most important decisions would likely be made by the broader toolchain gang (that is neither a complete subset not a complete superset of comaints)." To say there is no owner of PTG, means it is time to shutdown CPAN/PAUSE, and each perl user is to himself judge the provenance of each github fork of perl software. That is anarchy and wont work.

As I see it (and someone correct me officially if I am wrong), everyone falls into 3 groups

-root password holders of PTG

-members of PTG (30 listed)

-general public

Currently, if you want to win a fight on PTG, just make the most number of posts in a ticket/issue/PR. Whether you are general public or PTG regular or PTG admin, doesn't matter, you will win.

Currently, if you dont want to be held responsible for your words, just say you are speaking for yourself and not PTG even if you are one of the 30 PTG members.

People chime in on PTG tickets, if they are one of the 30 PTG members, are they talking as themselves, or are they talking in their capacity as a PTG member and project owner? I can't tell. While not being to tell who is PTG and who general public is an altruistic nice thing about perl development, there isnt classism, there is a downside.

You can't identify any leadership for the software. There is no author. There is no owner. There are 30 PTG members who could be the owner, but none of them step up to take responsibility for the success or failure of a project. Who gave each one a commit bit/membership? You can't identify a scapegoat. For P5P, there is RJBS as the scapegoat, who is the scapegoat for PTG?

There are 30 people, they hide behind the anonymous structure of PTG. If PTG is really consensus, all 30 people must vote on each ticket/PR, with their votes public record, and every member of the public has a right to hold those 30 people and their votes responsible for API design/merges. Step up and take responsibility for your work. If you don't like the responsibility, step down from PTG and become a random member of the public.

If a quorum can't be assembled, nothing gets committed until one is created. If you can't get enough member volunteers, PTG GH should be disbanded to the actual day to day maintainers of each module and they should keep the repos in their own names on GH.

Another way to disband PTG as it is currently structured is discard the charter in https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/berlin-consensus.md#toolchain-charter-practices and say PTG is a GH user/org, that is a permanent archive of PRs and issues for high river CPAN modules, its only purpose it to permanently archive PRs and issues, which is not possible with repos held by individual people under their own name since if they leave, and delete their GH account or repo, while the git repo will live on with the new maintainer, the PRs and tickets are gone forever, which is not acceptable, so PTG is simply an archive of discussions, like a mailing list archive. Each PTG module has one owner/maintainer or atmost 3 of them. That owner/maintainer owns the PTG repo, not PTG. Anyone who thinks their module is high-river enough to need a permanent place to store their issues/PRs can join PTG. A PTG member can not commit to any repos but his own. The only difference with this hypothetical PTG, other than the archiving discussion feature is
-------------------------------------------------------------------
7. Toolchain authors agreed that when a primary maintainer steps down or becomes permanently unavailable, the toolchain authors as a group will jointly agree on a successor. PAUSE administrators should defer to the consensus (or decision of the tie-breaker) for handing over PAUSE permissions as needed. Any successor should agree to the practices described herein.
-------------------------------------------------------------------
which would say that a takeover happens in 1 or 2 weeks and without the formalities of documentation of unreachability of old maintainer, and not 1-6 months as with the public PAUSE takeover process.

Now onto EU::MM.

Here are some questions that do not necessarily need to be answered publicly one by one, since some level of private debate and thinking has to exist, but I've some of these seen them asked in IRC rooms before by PTG or non-PTG general public

Why did EU::MM development stall (my question)?

Why did mohawk's changes went in unsupervised (not my question)?

Who gave him a commit bit (not my question)?

Why "bugs" instead of "notabug" preventing EUMM stable (my question)?

Why didnt mohawk take over releasing EUMM from bingos (my question)?

I am not blaming mohawk. He isn't the failure, someone or some other people are.

I dont expect those questions to be answered publicly, but someone needs to take responsibility for why EUMM dev stopped, and what the plan is (including finding or donating volunteer hours) for getting it on track. Hiding behind "I am a PTG member but I am not speaking for PTG just myself" is not acceptable. Who is the owner or leader of EUMM?

If there is no owner, I'll file a takeover request on module-authors and the problem is fixed in a heartbeat (not sure if I am joking).

ANY ONE PERSON in perl community can disappear forever at any time. The maintainer or owner of a module is responsible for not letting things go into a repo that they dont know how to maintain, and letting incomplete buggy features get into the master/blead/whatever central branch of the the repo. Experiments stay in branches, not the mainline repo. The maintainer of the module must assume the member of the public that submitted the patch will NOT provide followup support after it has been committed and can't get into a situation where they at the mercy of a member of the public who did the PTG patch on company time, and can't respond any further as they have moved on. Most Perl devs leave after 2-3 years. 10 years of publishing FOSS makes you a senior citizen. The people here today, won't be here in a couple years.

I don't like writing policy and regulations https://www.youtube.com/watch?v=p5-5a6Q54BM but since the current no-rules system failed for EUMM under PTG's watch, some reforms are needed to prevent another EUMM from happening in the future.

Reply via email to