Hi all,

I published a complete rewrite of the earlier draft as:

    https://salsa.debian.org/dep-team/deps/-/merge_requests/12
    DEP-18: Encourage Continuous Integration and Merge Request
    based Collaboration for Debian packages

If you are in favor of having this as a DRAFT in the DEP directory,
please give it a thumbs up.

Summary of previous discussion below, but an even better summary was
written by LWN in https://lwn.net/Articles/986480/

Related to Salsa in general, I heard we have now new and faster
hardware (thanks Salsa Admins!), and related to Salsa CI there is also
an overhauled README
(https://salsa.debian.org/salsa-ci-team/pipeline/-/blob/master/README.md)
and lots of fixes by 7 different authors. I think a lot of people have
also practiced more code reviews and tested the Merge Request feature
on Salsa than before. Overall, I think we are on a good path to
evolving this way of working, and hopefully doing it in a way that it
does not stifle work for maintainers who prefer to continue their
single-maintainer habits, so nobody feels at loss.

On Tue, 27 Aug 2024 at 19:13, Otto Kekäläinen <o...@debian.org> wrote:
>
> Hi!
>
> While I intend to continue on iterating DEP-18, here is a summary to
> those who did not wade through the 140+ messages on the topic.
> Unfortunately, the summary itself is also a bit long :)
>
>
> ********************************************************************************
> Summary of mailing list discussion in
> https://lists.debian.org/debian-devel/2024/07/msg00429.html
>
> ## Overall Sentiment
>
> There was a broad consensus that Debian workflows are too fractured
> and would benefit from more standardization and unification. However,
> there were differing opinions on the right approach to achieve this.
>
> Soren Stoutner expressed this sentiment clearly:
>
> > 1. Debian workflows are too fractured. The project would be better if we 
> > asked people to standardize around a single (or a small number) of 
> > workflows. To do so, the workflow would need to be flexible enough to 
> > handle the wide range of technical needs of all the packages and upstream 
> > configurations.
> > 2. Standardizing around a single (or small number of) workflows wil make 
> > some people unhappy. But that is an acceptable price to pay because of the 
> > general benefit to the project as long as the correct solution is adopted. 
> > Unity is more important than minority opinions on this particular issue.
>
> Similarly, Andrey Rakhmatullin argued that while some may resign, "the
> '1000 DDs status quo' problem also means that more people leave than
> join _anyway_. Not the unity per se, but having significantly lower
> barriers to start contributing" is important.
>
> ## Git and Gitlab Usage
>
> Multiple participants noted that most other Linux distributions use
> Git as the primary version control system, often with GitLab or GitHub
> for collaboration. Debian's multi-branch approach with pristine-tar
> was seen as somewhat unique.
>
> There were differing views on whether Debian should move closer to the
> more common Git-based workflows used elsewhere, or maintain its own
> custom approach, which of git-buildpackage and dgit are the most
> common ones (both with multiple ways to use them).
>
> ## Mandatory vs Optional Policies
>
> Some participants, like Salvo Tomaselli, felt DEP-18 was too
> prescriptive in mandating specific tools and workflows, and that a
> more flexible, optional approach would be better:
>
> > Keep in mind that unhappy people quit. I don't think that unity is so 
> > important that we're willing to sacrifice project members.
>
> Others, including Soren Stoutner, argued that standardization was
> important, even if it made some people initially unhappy, as long as
> the right solution was adopted: "Unity is more important than minority
> opinions on this particular issue."
>
> ## Maintainer Workflows
>
> There were concerns that requiring specific Git and Gitlab practices
> could create burdens for existing maintainers, especially
> single-person maintainers. Sean Whitton described his own preferences
> as a maintainer:
>
> > I am happy to use salsa for git hosting and access management. I love that 
> > I can easily grant push access to my non-DD team members. But, I turn off 
> > salsa MRs for the repos of all packages I regularly upload. I would hope 
> > that this DEP can be written such as to account for these sorts of choices. 
> > Fabio Fantoni suggested allowing maintainers to specify their preferred 
> > collaboration methods in a machine-readable way, for example through a 
> > "Collaboration-Policy" field in debian/control.
>
> ## Performance and Reliability
>
> Multiple participants, including Salvo Tomaselli, Johannes Schauer
> Marin Rodrigues, Andrea Pappacoda, and Gioele Barabucci, complained
> about Salsa/GitLab being slow or unreliable at times, which deterred
> contribution. Improvements to performance and uptime were seen as
> important. In response, Otto Kekäläinen noted that the Salsa admins
> had posted about upcoming hardware upgrades and other improvements to
> address these issues at
> https://salsa.debian.org/salsa/support/-/issues.
>
> ## Machine-Readable Metadata
>
> Fabio Fantoni and Niels Thykier proposed including more
> machine-readable metadata about packaging workflows (e.g. in
> debian/control) to help automate contributor onboarding. Niels Thykier
> outlined some specific examples of information that could be captured:
>
> > Does this package use `gbp dch` (or some other mechanisms) to generate the 
> > changelog OR should I include a changelog entry with my patch. Does this 
> > package use some form of automatic formatting that I should apply when I do 
> > my changes (if `wrap-and-sort`, then which options)? Does the maintainer 
> > prefer MR via salsa or BTS with patches for when I want to submit my 
> > changes for review.
>
> ## Overall
>
> There seemed to be general agreement that improving collaboration was
> important, but the right approach was still being debated.
>
> ## Mailing list participants
>
> - Jonas Smedegaard
> - Salvo Tomaselli
> - Luca Boccassi
> - Charles Plessy
> - Marco d'Itri
> - Sean Whitton
> - Marc Haber
> - Jeremy Stanley
> - Shengjing Zhu
> - Noah Meyerhans
> - PICCA Frederic-Emmanuel
> - Fabio Fantoni
> - Kentaro Hayashi
> - Tobias Frost
> - Gioele Barabucci
> - Blair Noctis
> - Andrea Pappacoda
> - Soren Stoutner
> - Andrey Rakhmatullin
> - Paul Gevers
> - Niels Thykier
> - Simon Richter
> - Chris Hofstaedtler
> - Johannes Schauer Marin Rodrigues
>
>
> ********************************************************************************
> Summary of the 70+ comments in this
> https://salsa.debian.org/dep-team/deps/-/merge_requests/8
>
> There were some differing viewpoints on this many parts of the
> proposal, but also lots of support.
>
> **Opposition to using Salsa/GitLab:**
>
> * mirabilos strongly opposed using Salsa, stating "Salsa is inherently
> a nōn-free tool...I strongly believe forcing people on GitLab is an
> SC/DFSG violation."
> * Joachim Zobel had the opposite view of caring purely about usability
> and asking "Why is maintaining a Debian package on GitHub against
> DEP-18?"
> * Salsa could be viewed as a middle ground between the above options.
> * Helmut Grohne raised concerns about lack of consensus, saying "Given
> that there are at least two competing hosting options with similar
> adoption, I question the unilateral choice of one of them."
>
> **Concerns around merge request process:**
>
> * Louis-Philippe Véronneau pointed out "MRs really don't work well
> with some of the current git workflows...reviewing such contributions
> is a ton of work."
> * Simon Richter argued "The entire DEP except for this paragraph very
> carefully avoids making any technical recommendation...If this DEP
> should be useful at all, it needs to make a technical contribution."
> * A future version needs to list examples of packages that have
> reviews before upload to paint a picture how it works in practice (and
> that it is doable)
>
> **Support for using GitLab/Salsa:**
>
> * Guido Günther said "Fragmentation...is an issue so recommending
> salsa makes a lot of sense from Debian's PoV."
> * Andreas Tille stated "We simply loose people who are frustrated that
> its impossible to do Debian wide changes easily...Its simply not
> sufficient for say running Janitor like tools on random Vcs locations
> outside Salsa."
> * Blair Noctis argued "At this stage of the free software movement
> we...need more hands to compete with non-free things...Machines and
> tools should adapt to people, not the other way around."
>
> **Other viewpoints:**
>
> * Chris Hofstaedtler asked "Please provide a clear definition of what
> this DEP wants to achieve. Right now it lives off a headline of "true
> open collaboration" without defining that."
> * Bastian Venthur noted "DEP-14 is not accepted yet, but in the
> candidate state since 2020."
> * The discussion surfaced well what are the shared pain points in the
> packaging workflow beyond just collaboration struggles. Work should
> also continue on DEP-14, git-buildpackage, Salsa CI and other tools to
> decrease the general friction, and in many places simple documentation
> updates/overhaul is due to avoid unnecessary fragmentation in
> workflows that isn't intentional so that we later can more clearly
> focus on discussion the pros and cons of the intentionally different
> workflows.

Reply via email to