Hi Otto, and all the others participating in this thread :)
Il giorno sab 27 lug 2024 alle 15:38:40 -07:00:00, Otto Kekäläinen
<o...@debian.org> ha scritto:
I have drafted a new DEP at
https://salsa.debian.org/dep-team/deps/-/merge_requests/8 titled
"DEP-18: Enable true open collaboration on all Debian packages".
Thanks for your work on this. Trying to unify aspects of Debian
development is one of the things I think we need to do to not only
"enable true open collaboration", but also to attract more new
contributors.
While the proposal has good intentions and goals I agree with, it tries
to achieve it with tools which, to my eyes, don't really enable "true"
open collaboration, which Jonas has expressed really well already.
The issue to me is when you add the word "Salsa", or more precisely
"GitLab" to the mix. Don't get me wrong: these days development *has*
to be done with Git and with CI workflows, but having to use GitLab
just to have these two things is overkill.
Before a certain way of doing things can be mandated or "warmly
recommended", the technology has to be as flawless as possible - and
today I wouldn't call Salsa "flawless", would you? Issues with
Salsa/GitLab:
1. It is so slow that it makes me want to close by browser and do
something else instead
2. It doesn't support email-based workflows
3. It has a lot of features we don't need. Or rather, it has more
features we *don't* need than we do.
4. Its user interface is confusing, it's often hard to find what I'm
looking for
5. Did I mention how slow it is?
6. It is developed by a company who's philosophy and interests are
misaligned with Debian's
7. The product it tries to mimic, GitHub, is also misaligned with
Debian's philosophy and interests
While performance is something we could reasonably do something about,
all the other points are part of GitLab by design, and we're stuck with
them.
It has also been mentioned that email-based workflows are for
"dinosaurs". Well, I'm 21, so I'm a living example that that's not
necessarily true :)
But the point isn't that much about being able to use emails
specifically, it is about having the possibility of having a software
forge which is interoperable with a wide range of tools and can stay
out of the way if wanted. With GitLab, you either use the full package
(which includes browsing, reviewing, and commenting) or you get a
sub-optimal experience. But it doesn't have to be this way.
I'll now talk a bit about SourceHut. Not to suggest that we should use
that instead, but just to point out how things *can* be done.
1. It is really lightweight
2. It places emphasis on email-based workflows, while also providing a
web interface which can be used to view and interact with email
submissions.
3. It is modular. If you don't want the mailing list manager or the
issue tracker you can simply not install them.
4. The web interface exposes few things, maybe even too little
5. Yes, it's fast
6. Its developers truly value software freedom, just like Debian does
7. It tries to offer an independent product, without following GitHub's
lead
Since I'm lucky enough to still go to university, I conducted some
small scale experiment with a handful of students which were new to
software development. For their first Git group project, I let them use
SourceHut instead of GitHub, to see how accessible SourceHut was to new
users. They've been able to use it without issues, and I was happy.
Some time after this, they also had the opportunity of using GitHub,
which is not a surprise given its dominant position. The interesting
part though is that these students, when starting a new personal
project, chose to use SourceHut even if they also knew GitHub. They
found it more usable!
In conclusion, I think we should aim at providing a set of tools which
provides a "normalized view/workflow" which anyone can use, while also
giving the possibility to individuals to use their own preferred
personal workflow for their own work. GitLab provides this normalized
workflow, but by making it the only viable option. Just like how dgit
provides a canonical "dgit view" while letting maintainers user their
own packaging workflow, an ideal Debian code forge would provide, for
example, a canonical web UI which can also be interacted with by
email/command line, just like the rest of Debian's infrastructure.
I would've liked to provide concrete solutions, but for now I'll limit
myself at exposing problems :)
Bye!