Subject: Re: [PATCH v2 1/1] maintenance: use systemd timers on Linux

From: Đoàn Trần Công Danh <[email-masked]>
Date: Wed, 12 May 2021 22:41:46 +0700

On 2021-05-12 14:38:26+0100, Phillip Wood <[email-masked]> wrote:
> > Yes, dependence on systemd should be strictly opt-in.
> > Although, I don't use systemd-based distro, so it is irrelevant to me.
> > I think it's none of Git (the project) business to decide which
> > scheduler should be given higher priority. It's crontab when
> > maintenance was introduced, it should be crontab, now.
> 
> You seem to be simultaneously arguing that git should be neutral on the
> choice of scheduler while saying it should prioritize crontab.

Yes, I'm arguing for git should be neutral on the choice of scheduler.

No, I'm not arguing for git should be prioritize crontab, I'm arguing
for "princible of least surprise" for no known break-through advantage.

FWIW, whatever default scheduler chosen won't affect me, since I don't
have systemd-timers to begin with. So ...

In addition, I was one of those people pointed out that beside
crontab, Linux users nowaday employed different schedulers [1],
and the consensus, some how, settled on crontab.

I think  we shouldn't switch away from crontab if we don't have any
compelling reasons.

> The commit
> message and cover letter list a number of difficulties with the strategy of
> prioritizing crontab over systemd when both are installed. I think we should
> aim for the solution that has the most chance of working without user
> intervention.

The solution that has the most chance of working without user
intervention is the solution that is the status quo. Promoting
systemd-timers to higher priority is a solution requires either
user intervention or our supports (which will be carried over our
lifetime).

> > Another point for eternal bikeshedding: why do we limit ourselves in
> > crontab and systemd, how about other homebrew schedulers? What should
> > we do if another scheduler raise to be the big star in the scheduler
> > world?
> 
> We should support the default scheduler on each platform - that was the rod
> we made for our own back when we decided to use the platform's scheduler
> rather than having a cross platform git maintenance daemon. It just happens
> that there are two possible default schedulers on linux so we need to
> support both of them.

As noted in [1], some home-brew solutions are very popular solutions
among those some community.
I'm not arguing that crontab or systemd-timers aren't popular.
In fact, I think they're *very* popular, I listed systemd-timers as
*first* alternative in the linked email.
I'm not against supporting both of them, I was arguing about a generic
solution.

1: https://lore.kernel.org/git/[email-masked]/

-- 
Danh