{"thread":{"id":"62248","subject":"the latter half of october, the maintainer goes offline","startedAt":"2024-10-03T17:26:21Z","lastAt":"2024-10-09T05:51:09Z","messageCount":13,"participants":["Junio C Hamano","Taylor Blau","Patrick Steinhardt","shejialuo"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"504033","messageId":"xmqqh69thzd0.fsf@gitster.g","threadId":"62248","inReplyTo":null,"subject":"the latter half of october, the maintainer goes offline","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-10-03T17:26:19Z","receivedAt":"2024-10-03T17:26:21Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"I plan to go offline for the latter half of this month (I may\nsporadically pop up but may not be engaging deeply in the\ndiscussions or picking up patches).\n\nThis time, can we try a fire drill that I do not nominate or ask\nanybody to be an interim maintainer and see how well community\nmanages the discussion and patch flow during these two weeks?\n\nIt can be somebody stepping up and say \"ok, I'll self nominate and\nrun the project as the interim maintainer, just like it was done in\nthe past years\", or \"let's do something differently, how about\neverybody throws a merge request to this mob repository, use this\n(possibly different) review procedure, and give back the tip of\n'master' when Junio returns\", or \"OK, we'll discuss and exchange\npatches for these two weeks among ourselves and we can cope without\na central meeting place\".\n\nIOW, I am interested to see if the community comes up with a\nday-to-day project structure that may be better for the contributors\nthan what I have dictated in the past during my vacation time.\n\nThanks.\n"},{"id":"504036","messageId":"Zv7aLRXwt9cfqW58@nand.local","threadId":"62248","inReplyTo":"xmqqh69thzd0.fsf@gitster.g","subject":"Re: the latter half of october, the maintainer goes offline","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2024-10-03T17:53:49Z","receivedAt":"2024-10-03T17:53:57Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Thu, Oct 03, 2024 at 10:26:19AM -0700, Junio C Hamano wrote:\n> It can be somebody stepping up and say \"ok, I'll self nominate and\n> run the project as the interim maintainer, just like it was done in\n> the past years\", or \"let's do something differently, how about\n> everybody throws a merge request to this mob repository, use this\n> (possibly different) review procedure, and give back the tip of\n> 'master' when Junio returns\", or \"OK, we'll discuss and exchange\n> patches for these two weeks among ourselves and we can cope without\n> a central meeting place\".\n>\n> IOW, I am interested to see if the community comes up with a\n> day-to-day project structure that may be better for the contributors\n> than what I have dictated in the past during my vacation time.\n\nInteresting. If list participants would prefer to use the same structure\nas when you're not on vacation, I'm happy to shuffle the patches and\nsend regular \"What's cooking\" reports for those couple of weeks.\n\nI guess that amounts to the \"I'll self nominate and run the project as\ninterim maintainer\" option you mentioned above :-).\n\nThanks,\nTaylor\n"},{"id":"504089","messageId":"ZwAIM6GO3VtoG3ZM@pks.im","threadId":"62248","inReplyTo":"Zv7aLRXwt9cfqW58@nand.local","subject":"Re: the latter half of october, the maintainer goes offline","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2024-10-04T15:22:27Z","receivedAt":"2024-10-04T15:22:34Z","isPatch":false,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Thu, Oct 03, 2024 at 01:53:49PM -0400, Taylor Blau wrote:\n> On Thu, Oct 03, 2024 at 10:26:19AM -0700, Junio C Hamano wrote:\n> > It can be somebody stepping up and say \"ok, I'll self nominate and\n> > run the project as the interim maintainer, just like it was done in\n> > the past years\", or \"let's do something differently, how about\n> > everybody throws a merge request to this mob repository, use this\n> > (possibly different) review procedure, and give back the tip of\n> > 'master' when Junio returns\", or \"OK, we'll discuss and exchange\n> > patches for these two weeks among ourselves and we can cope without\n> > a central meeting place\".\n> >\n> > IOW, I am interested to see if the community comes up with a\n> > day-to-day project structure that may be better for the contributors\n> > than what I have dictated in the past during my vacation time.\n> \n> Interesting. If list participants would prefer to use the same structure\n> as when you're not on vacation, I'm happy to shuffle the patches and\n> send regular \"What's cooking\" reports for those couple of weeks.\n> \n> I guess that amounts to the \"I'll self nominate and run the project as\n> interim maintainer\" option you mentioned above :-).\n\nFirst things first: I wouldn't mind you doing it again.\n\nBut I'd also like to take this opportunity to think a bit about the\nbigger picture: what do we all do when Junio stops working on Git at\nsome point in time? Right now we don't really have a plan for that at\nall, to the best of my knowledge. I know this is going a bit further\nthan what Junio has hinted at with this \"fire drill\", but thinking about\nsuch a potential future is certainly important. And if we can come up\nwith good ideas, then we might as well try them out and experiment a bit\nwhile Junio is out.\n\nFirst, let's talk about the requirements that come to my mind for any\nreplacement:\n\n  - Doing Junio's work certainly is a full-time job, whether that\n    full-time job is handled by a single person or split up across a\n    team.\n\n  - As far as I can see, doing the maintainer job doesn't allow for a\n    ton of hacking. So whoever is taking over likely wouldn't be able to\n    land much code anymore.\n\n  - Junio is doing a great job of being independent from any kind of\n    company agenda as far as I can tell. A replacement would have to be\n    just that, either because that person is being independently funded\n    or because it is a team set up similar to the PLC.\n\n  - It goes without saying that the person would need to have deep\n    knowledge of Git and the codebase such that they can make informed\n    decisions.\n\nThere are two maintainership models I can think of: either a single\nindividual or a group of people would take over.\n\n  - A single individual needs funding. The ideal situation would be if\n    that funding came independent of any of the large forges. Or\n    alternatively, the big players in this context come together to all\n    pay into the same pot to fund that person. In theory, the role could\n    be elected and serve for a limited amount of time so that overall,\n    the community is in control.\n\n  - A group of individuals could take over, sharing the responsibility.\n    There would be a ton of different questions in this context: how to\n    form the group, how to balance its interests, how to distribute the\n    work across its members, how to resolve disputes, etc.\n\nSo... that's just me dumping a bunch of thoughts. I'd be quite curious\nto learn about everyone else's thoughts.\n\nPatrick\n"},{"id":"504097","messageId":"ZwAYccsboGIhGVIx@ArchLinux","threadId":"62248","inReplyTo":"ZwAIM6GO3VtoG3ZM@pks.im","subject":"Re: the latter half of october, the maintainer goes offline","fromName":"shejialuo","fromEmail":"shejialuo@gmail.com","sentAt":"2024-10-04T16:31:45Z","receivedAt":"2024-10-04T16:31:41Z","isPatch":false,"sender":{"key":"shejialuo@gmail.com","avatar":"https://avatars.githubusercontent.com/u/56911263?v=4"},"body":"On Fri, Oct 04, 2024 at 05:22:27PM +0200, Patrick Steinhardt wrote:\n\n[snip]\n\n> There are two maintainership models I can think of: either a single\n> individual or a group of people would take over.\n> \n>   - A single individual needs funding. The ideal situation would be if\n>     that funding came independent of any of the large forges. Or\n>     alternatively, the big players in this context come together to all\n>     pay into the same pot to fund that person. In theory, the role could\n>     be elected and serve for a limited amount of time so that overall,\n>     the community is in control.\n\nWell, I think we cannot easily fund a single individual. It it is a\nfull-time job, we have to also pay for the insurances. I don't know\nhow to hire an individual in an open source project. But intuitively I\nthink there would be a lot of trouble here due to the laws. As far as I\nknow, Junio is working at Google.\n\nSo, the biggest problem here is that most of us either work at other\ncompanies for full-time job which are not unrelated to Git or work at\ncompanies which are related to Git(upstream). Although it is an honor to\nbe hired by an open source project, there are still many concerns for an\nindividual.\n\n>   - A group of individuals could take over, sharing the responsibility.\n>     There would be a ton of different questions in this context: how to\n>     form the group, how to balance its interests, how to distribute the\n>     work across its members, how to resolve disputes, etc.\n\nFrom my perspective, we already did this. Junio will rely on the reviews\nfrom other contributors. This is what I got from the Git Contributor's\nSummit, 2024: [TOPIC 10/11] Project Tracking.\n\n  https://lore.kernel.org/git/xmqqployf6z5.fsf@gitster.g/\n\n> So... that's just me dumping a bunch of thoughts. I'd be quite curious\n> to learn about everyone else's thoughts.\n> \n\nLike Patrick, I just give some my thoughts here. Because I am a newcomer\nin the community. I may lose some context. So, there may be some\nincorrect expressions.\n\nThanks,\nJialuo\n"},{"id":"504101","messageId":"ZwAZ82gevwT2TDgL@ArchLinux","threadId":"62248","inReplyTo":"ZwAYccsboGIhGVIx@ArchLinux","subject":"Re: the latter half of october, the maintainer goes offline","fromName":"shejialuo","fromEmail":"shejialuo@gmail.com","sentAt":"2024-10-04T16:38:11Z","receivedAt":"2024-10-04T16:38:08Z","isPatch":false,"sender":{"key":"shejialuo@gmail.com","avatar":"https://avatars.githubusercontent.com/u/56911263?v=4"},"body":"> Well, I think we cannot easily fund a single individual. It it is a\n> full-time job, we have to also pay for the insurances. I don't know\n> how to hire an individual in an open source project. But intuitively I\n> think there would be a lot of trouble here due to the laws. As far as I\n> know, Junio is working at Google.\n> \n> So, the biggest problem here is that most of us either work at other\n> companies for full-time job which are not unrelated to Git or work at\n> companies which are related to Git(upstream). Although it is an honor to\n> be hired by an open source project, there are still many concerns for an\n> individual.\n> \n\n\"which are not unrelated to Git\" should be \"which are unrelated to Git\".\nSorry for typos here.\n\n> From my perspective, we already did this. Junio will rely on the reviews\n> from other contributors. This is what I got from the Git Contributor's\n> Summit, 2024: [TOPIC 10/11] Project Tracking.\n> \n>   https://lore.kernel.org/git/xmqqployf6z5.fsf@gitster.g/\n> \n\nI forgot to show my intention here. I do not think we need to really\ndistinguish these two modes. Even if we hire an individual, the\nindividual still needs the help from the community about the unfamiliar\nfields.\n"},{"id":"504102","messageId":"xmqqmsjjereb.fsf@gitster.g","threadId":"62248","inReplyTo":"ZwAYccsboGIhGVIx@ArchLinux","subject":"Re: the latter half of october, the maintainer goes offline","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-10-04T16:58:52Z","receivedAt":"2024-10-04T16:58:55Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"shejialuo <shejialuo@gmail.com> writes:\n\n> On Fri, Oct 04, 2024 at 05:22:27PM +0200, Patrick Steinhardt wrote:\n>\n> [snip]\n>\n>> There are two maintainership models I can think of: either a single\n>> individual or a group of people would take over.\n>> \n>>   - A single individual needs funding. The ideal situation would be if\n>>     that funding came independent of any of the large forges. Or\n>>     alternatively, the big players in this context come together to all\n>>     pay into the same pot to fund that person. In theory, the role could\n>>     be elected and serve for a limited amount of time so that overall,\n>>     the community is in control.\n>\n> Well, I think we cannot easily fund a single individual. It it is a\n> full-time job, we have to also pay for the insurances. I don't know\n> how to hire an individual in an open source project. But intuitively I\n> think there would be a lot of trouble here due to the laws.\n\nI think the model Patrick has in mind for the above is like how\nLinux Foundation hires Linus Torvalds to work full time on Linux,\nwhile the Foundation is funded by large industry players.\n\nGit has become important enough that such a model may be workable,\nand that may make it easier to maintain appearance of impartiality\nby whoever is being funded.\n\n\n"},{"id":"504117","messageId":"ZwBtwFeVYmu6/Sc0@nand.local","threadId":"62248","inReplyTo":"xmqqmsjjereb.fsf@gitster.g","subject":"Re: the latter half of october, the maintainer goes offline","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2024-10-04T22:35:44Z","receivedAt":"2024-10-04T22:35:46Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Fri, Oct 04, 2024 at 09:58:52AM -0700, Junio C Hamano wrote:\n> shejialuo <shejialuo@gmail.com> writes:\n>\n> > On Fri, Oct 04, 2024 at 05:22:27PM +0200, Patrick Steinhardt wrote:\n> >\n> > [snip]\n> >\n> >> There are two maintainership models I can think of: either a single\n> >> individual or a group of people would take over.\n> >>\n> >>   - A single individual needs funding. The ideal situation would be if\n> >>     that funding came independent of any of the large forges. Or\n> >>     alternatively, the big players in this context come together to all\n> >>     pay into the same pot to fund that person. In theory, the role could\n> >>     be elected and serve for a limited amount of time so that overall,\n> >>     the community is in control.\n> >\n> > Well, I think we cannot easily fund a single individual. It it is a\n> > full-time job, we have to also pay for the insurances. I don't know\n> > how to hire an individual in an open source project. But intuitively I\n> > think there would be a lot of trouble here due to the laws.\n\nIt is definitely true that the Git project alone could not fund a full\nyear of the maintainer's salary [1].\n\n> I think the model Patrick has in mind for the above is like how\n> Linux Foundation hires Linus Torvalds to work full time on Linux,\n> while the Foundation is funded by large industry players.\n>\n> Git has become important enough that such a model may be workable,\n> and that may make it easier to maintain appearance of impartiality\n> by whoever is being funded.\n\nSure, though I would add that my personal feeling is that it is a\npossibility, not a requirement, that the maintainer's funding come from\neither an independent entity (like the Linux Foundation) or from a pool\nfunded by industry leaders.\n\nI say that only to point out that while Junio is employed by Google, I\ndon't think any of us would doubt his impartiality with regard to the\nproject.\n\nI think as long as the maintainer's employer does not unfairly influence\nthe maintainer's decisions on their behalf, then it is OK.\n\nThanks,\nTaylor\n\n[1]: https://lore.kernel.org/git/Zusxcweod1O88h7j@nand.local/\n"},{"id":"504119","messageId":"ZwBwcOK2/sazF17B@nand.local","threadId":"62248","inReplyTo":"ZwAIM6GO3VtoG3ZM@pks.im","subject":"Re: the latter half of october, the maintainer goes offline","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2024-10-04T22:47:12Z","receivedAt":"2024-10-04T22:47:15Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Fri, Oct 04, 2024 at 05:22:27PM +0200, Patrick Steinhardt wrote:\n> There are two maintainership models I can think of: either a single\n> individual or a group of people would take over.\n>\n>   - A single individual needs funding. The ideal situation would be if\n>     that funding came independent of any of the large forges. Or\n>     alternatively, the big players in this context come together to all\n>     pay into the same pot to fund that person. In theory, the role could\n>     be elected and serve for a limited amount of time so that overall,\n>     the community is in control.\n>\n>   - A group of individuals could take over, sharing the responsibility.\n>     There would be a ton of different questions in this context: how to\n>     form the group, how to balance its interests, how to distribute the\n>     work across its members, how to resolve disputes, etc.\n\nI do think there is a need to have a single individual who is ultimately\nresponsible for ensuring that the patches are reviewed and merged in a\ntimely fashion, that releases are cut on time and are high-quality, etc.\n\nBut I also think that the project benefits from having trusted\nindividuals who are knowledgeable about specific areas of the codebase.\nThe maintainer can lean and rely on those individuals to get a sanity\ncheck of whether or not some patches are good or not. For instance, I\nwould imagine that Junio relies on you to help review patches in the\nreftable implementation.\n\nI think that's more or less the status-quo, and IMHO it works well from\na contributor's perspective. I would be curious if the maintainer feels\nthe same or not ;-).\n\nI know that we have discussed in the past a more formalized version of\nthe above where individual sub-systems maintainers are listed in a\nMAINTAINERS file with specific roles and responsibilities. I don't think\nthe project is large enough or has enough active participants to warrant\nthat formal of a process, but perhaps I am in the minority here.\n\nThanks,\nTaylor\n"},{"id":"504248","messageId":"ZwN10b28Aaj3roz2@pks.im","threadId":"62248","inReplyTo":"ZwBtwFeVYmu6/Sc0@nand.local","subject":"Re: the latter half of october, the maintainer goes offline","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2024-10-07T05:47:07Z","receivedAt":"2024-10-07T05:47:14Z","isPatch":false,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Fri, Oct 04, 2024 at 06:35:44PM -0400, Taylor Blau wrote:\n> On Fri, Oct 04, 2024 at 09:58:52AM -0700, Junio C Hamano wrote:\n> > shejialuo <shejialuo@gmail.com> writes:\n> >\n> > > On Fri, Oct 04, 2024 at 05:22:27PM +0200, Patrick Steinhardt wrote:\n> > >\n> > > [snip]\n> > >\n> > >> There are two maintainership models I can think of: either a single\n> > >> individual or a group of people would take over.\n> > >>\n> > >>   - A single individual needs funding. The ideal situation would be if\n> > >>     that funding came independent of any of the large forges. Or\n> > >>     alternatively, the big players in this context come together to all\n> > >>     pay into the same pot to fund that person. In theory, the role could\n> > >>     be elected and serve for a limited amount of time so that overall,\n> > >>     the community is in control.\n> > >\n> > > Well, I think we cannot easily fund a single individual. It it is a\n> > > full-time job, we have to also pay for the insurances. I don't know\n> > > how to hire an individual in an open source project. But intuitively I\n> > > think there would be a lot of trouble here due to the laws.\n> \n> It is definitely true that the Git project alone could not fund a full\n> year of the maintainer's salary [1].\n\nYes. As Junio said, ...\n\n> > I think the model Patrick has in mind for the above is like how\n> > Linux Foundation hires Linus Torvalds to work full time on Linux,\n> > while the Foundation is funded by large industry players.\n\n... something like this is what I have in mind here.\n\n> > Git has become important enough that such a model may be workable,\n> > and that may make it easier to maintain appearance of impartiality\n> > by whoever is being funded.\n\nIndeed. There's at least two large companies that care very deeply about\nGit being healthy in the long term. So securing funding from those\ncompanies should be a no-brainer for them.\n\n> Sure, though I would add that my personal feeling is that it is a\n> possibility, not a requirement, that the maintainer's funding come from\n> either an independent entity (like the Linux Foundation) or from a pool\n> funded by industry leaders.\n> \n> I say that only to point out that while Junio is employed by Google, I\n> don't think any of us would doubt his impartiality with regard to the\n> project.\n\nOh, yes, and I've explicitly mentioned that Junio is doing an awesome\njob of that indeed. But I see the employment by Google as kind of an\noutlier here, because Google itself is not really competing in the Git\necosystem. They do not sell a Git-based product directly to customers as\nboth GitHub and GitLab do, to the best of my knowledge.\n\n> I think as long as the maintainer's employer does not unfairly influence\n> the maintainer's decisions on their behalf, then it is OK.\n\nSo yes, I would probably be okay with a maintainer that is employed by a\ncompany which I don't see as competing in this space. But I would\nstrongly disagree with this statement if the intent were to ever have a\nGitHub or GitLab employee become the single maintainer.\n\nImpartiality is only one part of the picture here. The other part is\nthat Git would start to feel like a project owned by that company. There\nsimply is too much political tension for this to work out in the long\nterm, in my opinion.\n\nSo if we do not have an individual at the ready that is independent,\nthen I would strongly favor a model where the maintainer role is shared\nacross a group of people.\n\nPatrick\n\n> Thanks,\n> Taylor\n> \n> [1]: https://lore.kernel.org/git/Zusxcweod1O88h7j@nand.local/\n"},{"id":"504328","messageId":"ZwP2hlVN7Cd+U3O7@nand.local","threadId":"62248","inReplyTo":"ZwN10b28Aaj3roz2@pks.im","subject":"Re: the latter half of october, the maintainer goes offline","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2024-10-07T14:56:06Z","receivedAt":"2024-10-07T14:56:09Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Mon, Oct 07, 2024 at 07:47:07AM +0200, Patrick Steinhardt wrote:\n> > Sure, though I would add that my personal feeling is that it is a\n> > possibility, not a requirement, that the maintainer's funding come from\n> > either an independent entity (like the Linux Foundation) or from a pool\n> > funded by industry leaders.\n> >\n> > I say that only to point out that while Junio is employed by Google, I\n> > don't think any of us would doubt his impartiality with regard to the\n> > project.\n>\n> Oh, yes, and I've explicitly mentioned that Junio is doing an awesome\n> job of that indeed. But I see the employment by Google as kind of an\n> outlier here, because Google itself is not really competing in the Git\n> ecosystem. They do not sell a Git-based product directly to customers as\n> both GitHub and GitLab do, to the best of my knowledge.\n\nI think your argument looses some subtlety here. Indeed, Google does not\nsell a SaaS product based on Git like GitHub and GitLab do. But they\nmost certainly use Git extensively within Google. And I imagine that the\nengineering team working on Git at Google has certain things that they\nwould like the project to do that would benefit Google's use of Git.\n\nBut what I don't see is Google benefiting unfairly by employing the\nmaintainer. So as long as Junio continues to maintain that impartiality,\nI don't see any problem with him being employed by Google.\n\nThe other aspect of this is that it is Junio's personal choice where\nthey would like to work. Is it possible to organize some kind of shared\nfunding model? Perhaps (though I am personally not convinced). But I\nthink that imposing that model on Junio is not fair to him. Junio may\nwish to work at Google for other reasons (e.g., perhaps he likes the\nbenefits, his work environment, benefits from his tenure there, etc.).\n\nAs long as Junio remains impartial, I do not see why the project should\ndictate his choice of employer. Or IOW, if Junio woke up tomorrow with a\njob offer from GitLab or GitHub (or any other company), I do not think\nthe project should dictate that he turn it down, or mandate that he be\nreplaced as maintainer for exercising his personal choice.\n\nIOW, I think that the maintainer's impartiality is the most important\naspect of this. So long as the maintainer is impartial, I don't see why\nthey can't work at any company they choose.\n\n> > I think as long as the maintainer's employer does not unfairly influence\n> > the maintainer's decisions on their behalf, then it is OK.\n>\n> So yes, I would probably be okay with a maintainer that is employed by a\n> company which I don't see as competing in this space. But I would\n> strongly disagree with this statement if the intent were to ever have a\n> GitHub or GitLab employee become the single maintainer.\n>\n> Impartiality is only one part of the picture here. The other part is\n> that Git would start to feel like a project owned by that company. There\n> simply is too much political tension for this to work out in the long\n> term, in my opinion.\n\nAgain, I don't really see how this is the case. Git does not feel like a\nGoogle project to me, even though Junio is employed by Google. I think\nas long as the maintainer is impartial with respect to their employer,\nthen their individual choice of employer should not matter.\n\n> So if we do not have an individual at the ready that is independent,\n> then I would strongly favor a model where the maintainer role is shared\n> across a group of people.\n\nLike I mentioned earlier in this thread, I don't really see how this\nmodel would work.\n\nThanks,\nTaylor\n"},{"id":"504338","messageId":"ZwP-KWZNOZOHigvJ@pks.im","threadId":"62248","inReplyTo":"ZwP2hlVN7Cd+U3O7@nand.local","subject":"Re: the latter half of october, the maintainer goes offline","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2024-10-07T15:28:41Z","receivedAt":"2024-10-07T15:28:48Z","isPatch":false,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Mon, Oct 07, 2024 at 10:56:06AM -0400, Taylor Blau wrote:\n> On Mon, Oct 07, 2024 at 07:47:07AM +0200, Patrick Steinhardt wrote:\n> > > Sure, though I would add that my personal feeling is that it is a\n> > > possibility, not a requirement, that the maintainer's funding come from\n> > > either an independent entity (like the Linux Foundation) or from a pool\n> > > funded by industry leaders.\n> > >\n> > > I say that only to point out that while Junio is employed by Google, I\n> > > don't think any of us would doubt his impartiality with regard to the\n> > > project.\n> >\n> > Oh, yes, and I've explicitly mentioned that Junio is doing an awesome\n> > job of that indeed. But I see the employment by Google as kind of an\n> > outlier here, because Google itself is not really competing in the Git\n> > ecosystem. They do not sell a Git-based product directly to customers as\n> > both GitHub and GitLab do, to the best of my knowledge.\n> \n> I think your argument looses some subtlety here. Indeed, Google does not\n> sell a SaaS product based on Git like GitHub and GitLab do. But they\n> most certainly use Git extensively within Google. And I imagine that the\n> engineering team working on Git at Google has certain things that they\n> would like the project to do that would benefit Google's use of Git.\n\nUsing Git internally is kind of a different thing compared to selling\nGit directly to customers though. Google also isn't (to the best of my\nknowledge) benefitting directly from being able to say that one of its\nemployees is the head of Git.\n\nAnd I think that is where things start to fall apart, because I think\nthat it would give a certain advantage to whichever large forge hosts.\nFor one part that may be because of being able to push through things\nthat the other forge cannot. But the more likely scenario is that this\nis a huge boon to that company's marketing department. So even if the\nmaintainer would be impartial, I doubt that the company as a whole would\nbe.\n\n> But what I don't see is Google benefiting unfairly by employing the\n> maintainer. So as long as Junio continues to maintain that impartiality,\n> I don't see any problem with him being employed by Google.\n> \n> The other aspect of this is that it is Junio's personal choice where\n> they would like to work. Is it possible to organize some kind of shared\n> funding model? Perhaps (though I am personally not convinced). But I\n> think that imposing that model on Junio is not fair to him. Junio may\n> wish to work at Google for other reasons (e.g., perhaps he likes the\n> benefits, his work environment, benefits from his tenure there, etc.).\n> \n> As long as Junio remains impartial, I do not see why the project should\n> dictate his choice of employer. Or IOW, if Junio woke up tomorrow with a\n> job offer from GitLab or GitHub (or any other company), I do not think\n> the project should dictate that he turn it down, or mandate that he be\n> replaced as maintainer for exercising his personal choice.\n\nBut I haven't ever been talking about changing the _current_ model, and\nI do not intend to change the way Junio is employed. As you rightfully\nsay, this would certainly cross a line. I am talking about a potential\nfuture where Junio may not be maintaining Git anymore, due to whatever\nreason.\n\n> IOW, I think that the maintainer's impartiality is the most important\n> aspect of this. So long as the maintainer is impartial, I don't see why\n> they can't work at any company they choose.\n\nExactly, that is my own take, as well. And I personally do not believe\nthat this is compatible with being employed by any of the large forges.\n\n> > > I think as long as the maintainer's employer does not unfairly influence\n> > > the maintainer's decisions on their behalf, then it is OK.\n> >\n> > So yes, I would probably be okay with a maintainer that is employed by a\n> > company which I don't see as competing in this space. But I would\n> > strongly disagree with this statement if the intent were to ever have a\n> > GitHub or GitLab employee become the single maintainer.\n> >\n> > Impartiality is only one part of the picture here. The other part is\n> > that Git would start to feel like a project owned by that company. There\n> > simply is too much political tension for this to work out in the long\n> > term, in my opinion.\n> \n> Again, I don't really see how this is the case. Git does not feel like a\n> Google project to me, even though Junio is employed by Google. I think\n> as long as the maintainer is impartial with respect to their employer,\n> then their individual choice of employer should not matter.\n\nAs I said: Google is a bit of a special case. Another big part here is\nalso history given that Junio has been maintaing Git _before_ he has\njoined Google, to the best of my knowledge.\n\n> > So if we do not have an individual at the ready that is independent,\n> > then I would strongly favor a model where the maintainer role is shared\n> > across a group of people.\n> \n> Like I mentioned earlier in this thread, I don't really see how this\n> model would work.\n\nWell, it certainly would be a bigger remodeling of how things work right\nnow, and I do not have an answer right now.\n\nPatrick\n"},{"id":"504457","messageId":"xmqqv7y2354r.fsf@gitster.g","threadId":"62248","inReplyTo":"ZwBwcOK2/sazF17B@nand.local","subject":"Re: the latter half of october, the maintainer goes offline","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-10-08T16:56:36Z","receivedAt":"2024-10-08T16:56:39Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Taylor Blau <me@ttaylorr.com> writes:\n\n> On Fri, Oct 04, 2024 at 05:22:27PM +0200, Patrick Steinhardt wrote:\n>> There are two maintainership models I can think of: either a single\n>> individual or a group of people would take over.\n>> ...\n> I do think there is a need to have a single individual who is ultimately\n> responsible for ensuring that the patches are reviewed and merged in a\n> timely fashion, that releases are cut on time and are high-quality, etc.\n>\n> But I also think that the project benefits from having trusted\n> individuals who are knowledgeable about specific areas of the codebase.\n> The maintainer can lean and rely on those individuals to get a sanity\n> check of whether or not some patches are good or not. For instance, I\n> would imagine that Junio relies on you to help review patches in the\n> reftable implementation.\n>\n> I think that's more or less the status-quo, and IMHO it works well from\n> a contributor's perspective. I would be curious if the maintainer feels\n> the same or not ;-).\n\nThis turned my \"explore how you folks want to manage yourselves\nwhile I am away\" into \"how would we want to run the project after\nGitster retires (or moves on)\".  While I find that the rumor of my\nretirement is greatly exaggerated, I think that is a discussion\nworth having.\n\nIt is a tricky topic how we want open source funding to work.\n\nThe \"benevolent dictator\" model, even if the day-to-day operation is\ndelegated to various area experts (aka lieutenants), cannot work if\nsuch a dictator simply does not exist (due to various reasons,\nranging from \"nobody wants to become one\" to \"community cannot agree\non whom to make one\").  The community has to go with some other\nmodel that does not require a dedicated full-time maintainer, even\nif it prefers to have one (and the community can choose to follow a\ndifferent model even if it can afford one, of course).\n\nI think the status-quo, which was nurtured over the years, is the\nbest this community can have, *if* we want to keep the \"benevolent\ndictator\" model.  I would not claim that we perfected the model, but\nI would say we are close enough.\n\nWhat I hoped to see happen here was that the community is prepared\nwhen the community has to (or wants to)choose another model.  And I\nam happy to see the recent trend to document and codify how we make\ndecisions and move the project forward, because these efforts help\nus whether we have the \"benevolent dictator\" or not.\n\n"},{"id":"504515","messageId":"ZwYZwBOYpd4nribV@pks.im","threadId":"62248","inReplyTo":"xmqqv7y2354r.fsf@gitster.g","subject":"Re: the latter half of october, the maintainer goes offline","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2024-10-09T05:51:04Z","receivedAt":"2024-10-09T05:51:09Z","isPatch":false,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Tue, Oct 08, 2024 at 09:56:36AM -0700, Junio C Hamano wrote:\n> Taylor Blau <me@ttaylorr.com> writes:\n> \n> > On Fri, Oct 04, 2024 at 05:22:27PM +0200, Patrick Steinhardt wrote:\n> >> There are two maintainership models I can think of: either a single\n> >> individual or a group of people would take over.\n> >> ...\n> > I do think there is a need to have a single individual who is ultimately\n> > responsible for ensuring that the patches are reviewed and merged in a\n> > timely fashion, that releases are cut on time and are high-quality, etc.\n> >\n> > But I also think that the project benefits from having trusted\n> > individuals who are knowledgeable about specific areas of the codebase.\n> > The maintainer can lean and rely on those individuals to get a sanity\n> > check of whether or not some patches are good or not. For instance, I\n> > would imagine that Junio relies on you to help review patches in the\n> > reftable implementation.\n> >\n> > I think that's more or less the status-quo, and IMHO it works well from\n> > a contributor's perspective. I would be curious if the maintainer feels\n> > the same or not ;-).\n> \n> This turned my \"explore how you folks want to manage yourselves\n> while I am away\" into \"how would we want to run the project after\n> Gitster retires (or moves on)\".  While I find that the rumor of my\n> retirement is greatly exaggerated, I think that is a discussion\n> worth having.\n\nJust to make things clear: I didn't think that you're going to retire\nanytime soon. As you say, I rather wanted to use this situation to think\na bit about the bigger picture and think way ahead into the future.\n\nWe do not have any kind of contingency plan if you ever did retire, to\nthe best of my knowledge. And while I hope we won't need such a plan\nanytime soon, having some kind of common understanding of how that\nsituation would be handled in the community would be nice. I could\nimagine that this discussion would be rather heated, so my hope was that\nit is less heated by having it in a situation without an immediate\nneed.\n\n> It is a tricky topic how we want open source funding to work.\n> \n> The \"benevolent dictator\" model, even if the day-to-day operation is\n> delegated to various area experts (aka lieutenants), cannot work if\n> such a dictator simply does not exist (due to various reasons,\n> ranging from \"nobody wants to become one\" to \"community cannot agree\n> on whom to make one\").  The community has to go with some other\n> model that does not require a dedicated full-time maintainer, even\n> if it prefers to have one (and the community can choose to follow a\n> different model even if it can afford one, of course).\n> \n> I think the status-quo, which was nurtured over the years, is the\n> best this community can have, *if* we want to keep the \"benevolent\n> dictator\" model.  I would not claim that we perfected the model, but\n> I would say we are close enough.\n\nI do not really see a strong reason to change the current model while\nyou are happy to fill in the role. If the model _has_ to change I think\nit strongly depends on exactly what you say, whether the community can\nagree on a new maintainer or not.\n\nThe Linux kernel partially uses group maintainership models for some of\nits subsystems, see e.g. [1]. Python uses something a steering council,\nwhich is a 5-person committee [2]. Other large projects like Debian also\nuse a technical committee to resolve conflicts [3]. So there are some\nprojects out there where maintainership is handled by a group of people.\n\nNow all of these projects are way bigger than Git, and they of course\nhave different requirements than we do. So the mere fact that they seem\nto use these models successfully doesn't necessarily translate into it\nworking well for us.\n\nIn any case, if we ever wanted to change the model, we'd have to think\nquite hard about how to do it.\n\n[1]: https://lwn.net/Articles/705228/\n[2]: https://peps.python.org/pep-0013/\n[3]: https://www.debian.org/devel/tech-ctte\n\n> What I hoped to see happen here was that the community is prepared\n> when the community has to (or wants to)choose another model.  And I\n> am happy to see the recent trend to document and codify how we make\n> decisions and move the project forward, because these efforts help\n> us whether we have the \"benevolent dictator\" or not.\n\nTrue. We could also do the same for our maintainership model: lay out\nrequirements and the different models that fulfill these requirements.\nThat would allow us to discuss things in detail and capture the results\nin a single document.\n\nThe intent here wouldn't be to change the current model (at least that\nwould not be my intent), but to document it and maybe have alternatives\nready if we ever got to the situation where the current model doesn't\nwork anymore due to whatever reason.\n\nPatrick\n"}]}