Thursday, 10 August 2023

Flutter Installer and CUPS Frustrations

Hi all,

I didn't know who exactly to email, so sadly, the entire developer list
gets this email and it gets to be public. Please know this comes from a
good place but yes, it's out of frustration and passion. I mean this
with good intentions to hopefully get some balls rolling and I don't
want anyone thrown under the bus, I just want improvement.

Here we are, one week out from Feature Freeze, and we're not at a point
with Ubuntu Studio's system installer, or Edubuntu's installer, where
we want to be (using the Flutter-based installer), so chances are it's
not going to happen. This is not a failure on either of my team's
parts.

With Ubuntu Studio and Edubuntu, we've been keen to use the new
Flutter-based frontend to Subiquity for the installer. After showing
interest nearly a year ago at Ubuntu Summit, I have been receiving
close to radio silence.

With Ubuntu Studio, beginning with 23.10, our plan was to move to the
new installer with the contingency of switching back to Ubiquity.
Calamares has been giving us a ton of frustration due to a bug in which
auto login is not properly set on the KDE Plasma desktop (you read that
correctly, a Qt-based installer is not setting auto-login for KDE), [1]
and the upstream doesn't seem keen to fix it [2]. Furthermore, there's
UI issues that simply cannot be ignored [3].

So, with 23.10. I have switched the Ubuntu Studio seed back to Ubiquity
GTK since the Qt version is hard-coded to Kubuntu. I'd rather not deal
with the mess of a gigantic MR to have it read from a config file to
get its branding which would also inconvenience Kubuntu. While the
theming of the GTK version is picking up the Materia theme correctly,
I'm struggling with ubiquity-dm picking up the wallpaper correctly.
That's very much work-in-progress, but very frustrating as it appears
as though everything is where it needs to be.

But what I'm most frustrated in is the lack of communication to the
flavors about being able to use the new installer at all in any form. I
had volunteered to work with the team, but have been ghosted. In fact,
I raised an issue on Github months ago that seems to be ghosted as well
[4]. This also affects Edubuntu as I would be implementing this there
as well, so that's at least two flavors affected by the silent
treatment.

Even if unintentional, this feels highly anti-collaborative, and
neglect has the same effect.

To quote the Code of Conduct [5]:

Be collaborative


What we produce is a complex whole made of many parts, it is the sum
of many dreams. Collaboration between teams that each have their own
goal and vision is essential; for the whole to be more than the sum
of its parts, each part must make an effort to understand the whole.
Collaboration reduces redundancy and improves the quality of our
work. Internally and externally, we celebrate good collaboration.
Wherever possible, we work closely with upstream projects and others
in the free software community to coordinate our efforts. We prefer
to work transparently and involve interested parties as early as
possible.

...

Open meritocracy

We invite anybody, from any company, to participate in any aspect of
the project. Our community is open, and any responsibility can be
carried by any contributor who demonstrates the required capacity
and competence.

I see neither of those things happening with this installer.

Furthermore, the switch to the CUPS snap is also affecting the flavors,
as this was done without any notification via proper channels (any
channel, really) before it was implemented. I understand there was a
discourse post, but I could not find any date as to when the
implementation would occur, so imagine my surprise when all the sudden
every single CUPS package was being removed.

Right now, there's no transition package, so daily .iso images are
simply being built without CUPS or any printing system unless flavors
add the following line to their seeds, and this is only an educated
guess on my part (!!!), so I could be very wrong:

* snap:cups


My solution to all of this is this, and this isn't even a complete
solution, but I hope it's a start:

* Communication with the flavors needs to be improved. Full stop.
Mauro has done a fine job with the flavor sync meetings, but those
are video calls and happen every other month. When things happen
that affect all flavors, those need to be communicated. Best method?
Probably this very ML, but maybe we should all find some place to
agree on since some flavors see themselves (erroneously, in my
opinion) as separate distributions from Ubuntu.


* If someone is blocked on something (like, say, an installer) and
asks for help, don't ghost them. I'm not sure who is monitoring
github issues, but when it's a known flavor lead asking for help,
shouldn't that get a little bit of priority?


* Collaborate with people who want to collaborate and have had those
conversations. When I volunteer for something that is core to
improving the user experience of my project, please don't ignore me.
I'm passionate about this and that passion can turn into
frustration. Make time for people.


* When making a system-wide change, ask yourselves if it's going to
affect flavors, and if it is, notify the flavors. If we're going to
be pedantic, I realize that CUPS might not be system-wide since it
might not affect Server, Cloud, etc., but believe it or not, changes
like that have wide effects, especially on the flavors since they
are all built for desktop use.

I understand everyone is under time constraints, but you have to see
the big picture and look beyond yourselves when working in such a
collaborative project (see [5] again). Overall, I'm disappointed with
the way this cycle has gone, and I hope you all understand. All I
wanted was a better user experience, and now I feel like I'm unable to
deliver.

TL;DR: I'm frustrated because I asked for help and I got none, and
communication just plain isn't happening.

[1] https://launchpad.net/bugs/1984136
[2] https://github.com/calamares/calamares/issues/1757
[3] https://launchpad.net/bugs/2013250
[4] https://github.com/canonical/ubuntu-flavor-installer/issues/17
[5] https://ubuntu.com/community/ethos/code-of-conduct

--
Erich Eickmeyer
Project Leader - Ubuntu Studio
Technical Lead - Edubuntu

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel