In the current DEP14/DEP18 discussions a lot of discussion was had
about how we should represent Debian things in git; your mail also
goes into this direction.
My *feeling* is we should do the opposite - that is, represent less
Debian stuff in git, and especially do it in less Debian-specific
ways. IOW, no git extensions, no setup with multiple branches that
contain more or less unrelated things, etc.
I think we should move more towards a setup that is easily
understood by people not closely following our Debian-specific
things. We should avoid surprising things, again that would include
the multiple branches and any git extensions.
Before pushing for new ways of representing Debian stuff in git, I
think it would be a good idea to learn from all the other distros
and distro-like systems successfully using git [1]. Debian is not
the only distro that wants to use git to capture changes and
encourage contributions to its packages.
Chris
[1] alpine, homebrew, freebsd ports come to mind immediately. nixos
and others too.
Before pushing for new ways of representing Debian stuff in git, I think it would be a good idea to learn from all the other distros and distro-like systems successfully using git [1]. Debian is not the only distro that wants to use git to capture changes and encourage contributions to its packages.
Chris
[1] alpine, homebrew, freebsd ports come to mind immediately. nixos
and others too.
…this is the right attitude and I wanted to cater to it and summarize
how packaging sources look in various distros.
- The number of contributors/maintainers is low everywhere. Ending single-person maintainership is not going to happen any soon, but hopefully, we can work towards first increasing the pool of contributors who participate, and then expand on practices around Merge Requests and reviews and maybe have some kind of formal sign-offs from at least two people before upload. Initially, perhaps only for the top-150 packages. But before we can institute review workflows, we need to have more unification around the version control and basic packaging workflows.
- The number of contributors/maintainers is low everywhere. Ending single-person maintainership is not going to happen any soon, but hopefully,
we can work towards first increasing the pool of contributors who participate, and then expand on practices around Merge Requests and reviews and maybe have some kind of formal sign-offs from at least two people before
upload. Initially, perhaps only for the top-150 packages. But before we can institute review workflows, we need to have more unification around the version control and basic packaging workflows.
I'm still dubious any "2 people sign-off" can work [1]. In your investigations,
did you find other distributions which implemented this successfully?
I think "work towards easier collaboration" and "require more than one person for every commit/upload" are two very different things which should be discussed independently.
Thanks!
cheers, josch
[1] My own experience with this comes from my contributions to devscripts which
is in the debian group, thus "team" maintained and probably all of you have it
installed and should feel responsible for it (right?). Nevertheless, my MRs mostly get zero replies, so I usually just merge them after waiting a couple of
months. The situation is a bit better for sbuild but not by much.
I wonder if it would make sense to organize some kind of "office
hours" for code reviews and code testing best practices and
guidance...
[ Requiring two party sign-off on every change ]
I wonder if it would make sense to organize some kind of "office
hours" for code reviews and code testing best practices and
guidance...
As someone working in a very large organization where this is required: That's fine in a company setting. It is not in a volunteer setting,
unless you introduce very firm expectations about turnaround times. As
much as I would see the benefit of that, Debian with its highly
asynchronous work ethics is not that environment.
It is not a problem of best practices and guidance. It is one of
available time, motivation (spoons), and commitment. In a work place you
can demand that and if necessary, reassign to some other team member
whose job it is to review.
Insider risk concerns aside, maybe we should focus on making mistakes
easier to roll back. That is very heavyweight today. And that many
Debian services do not have appropriate staging environments is also a problem - orthogonal to code review but related to testing practices.
[ Requiring two party sign-off on every change ]
I wonder if it would make sense to organize some kind of "office
hours" for code reviews and code testing best practices and
guidance...
As someone working in a very large organization where this is required: That's fine in a company setting. It is not in a volunteer setting,
unless you introduce very firm expectations about turnaround times. As
much as I would see the benefit of that, Debian with its highly asynchronous work ethics is not that environment.
To me the whole free and open source movement is about collaboration, transparency and the ethos of "given enough eyeballs, all bugs are
shallow". I don't think code reviews is a luxury reserved for
corporate employees, but something we can and should do in Debian.
Given the correct tooling, it should work well (and is already working
well in many teams).
I don't subscribe to turnaround time requirements. We don't have
deadlines like in corporations.
We publish code and review when we have time. Code reviews are
asynchornous by nature and not in conflict with Debian or general
open source practices.
If somebody wants to team up and work intensly
on something, they can if they want. People
can have miniconfs etc. Sure it requires a bit of patience sometimes -
one of my patches to Redis took 6 years before it was merged, and in
Debian for example I have been waiting for example for
lintian.debian.org to come back online for almost 2 years now - but
that is how volunteers collaborate. Projects that have active
collaborators and good collaboration practices will go further.
Hopefully Debian can have a future with increased collaboration and
teamwork.
The whole point of DEP18 is to streamline/unify the basic packaging
stuff that is essentially undifferentiated and should not be as
complex and multi-faceted as it is now. That frees up to do more fun
things. To me the fun in open source boils down to design discussions, running code and code reviews. If you don't have time for code reviews
in Debian, maybe indeed best practices and guidance is needed so you
can do it without feeling it is a burden?
The cleanup after the xz issue was simply to revert in git and
reupload. How can such "rollback" work be made easier or faster?
Detection of oddities in upstream tarballs can for sure be made easier
when git-buildpackage is used correctly, and having more
team-maintenance as actual teams with reviews will help prevent
problems slipping through. I can't come up with ideas how to make roll
backs easier without increasing the risk of rollbacks of rollbacks,
but perhaps somebody else can brainstorm this area.
On Sun Nov 24, 2024 at 4:45 AM CET, Otto Kekäläinen wrote:
To me the whole free and open source movement is about collaboration,
transparency and the ethos of "given enough eyeballs, all bugs are
shallow".
The "given enough eyeballs" always happened after the fact though.
People scratched their own itch and wanted to publish the fruits of
their work on their own schedule. See also the single maintainer in
Nebraska meme.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 01:34:52 |
Calls: | 10,385 |
Calls today: | 2 |
Files: | 14,057 |
Messages: | 6,416,579 |