WEBVTT

00:00.000 --> 00:10.640
So, next we have Krishna Brown, and it will discuss about it, it's really not a slide,

00:10.640 --> 00:13.520
so I don't have to say it, but I don't want to give it a try.

00:13.520 --> 00:16.520
Being different takes ails at this of the endless RC.

00:16.520 --> 00:18.320
Thank you very much.

00:18.320 --> 00:21.280
So, yes, first who the heck am I?

00:21.280 --> 00:27.320
Well, I'm Richard, I've been doing open-source stuff for like 20 years now.

00:28.080 --> 00:33.600
This is like my 13th first, then I build a distro, and I'm going to be talking about the latest one that I've built.

00:37.240 --> 00:40.680
After you've got a little introduction about what the heck is this A-on thing?

00:40.680 --> 00:46.800
Anyway, I'm going to be talking about the long roads that it's traveled, it's five years old now.

00:48.080 --> 00:51.880
Some of the sort of pain points we've had as we've been putting it together.

00:51.880 --> 00:57.080
Some little sort of inside baseball stories of what's gone on behind the scenes in the community and stuff as well.

00:57.720 --> 01:07.760
And then talking about what we ever actually released the dumb thing and some kind of points to share and maybe discuss when it comes to your own projects.

01:07.760 --> 01:14.280
Or just like any open source project generally, I think some of this stuff actually can be applied quite generically.

01:15.280 --> 01:17.160
So, what the heck is A on anyway?

01:17.160 --> 01:26.280
Well first, like way back when I suddenly woke up on morning and realized all this stuff that Susan was paying me to do in my day job with enterprise Linux

01:26.480 --> 01:27.480
isn't actually good enough.

01:28.080 --> 01:33.200
You know, traditional Linux, we've been building it for years and we've built it like it's a Swiss army knife.

01:33.200 --> 01:36.760
It's great, it's flexible, you can change all the bits and pieces, it's wonderful.

01:37.560 --> 01:40.520
But it's great, it's flexible, you can change all the bits and pieces.

01:40.520 --> 01:51.080
So everybody does and they all end up with something different and it breaks and it breaks inside itself and it breaks when you start looking at other bits, just massively complicated.

01:51.560 --> 02:06.080
And the funny thing is, like as this has been done more and more people have been adopting Linux around the world anyway, you kind of see people realizing these inherent problems with that open source to the next flexibility anyway.

02:06.760 --> 02:10.160
Because what do users do when they start running Linux?

02:10.160 --> 02:20.840
Well, they take this wonderfully complicated, do everything mega flexible platform and then they tear it down into some tiny little VM image that only does one thing.

02:20.840 --> 02:48.400
Because, you know, they don't want all that change, they don't want all that complexity, making it all VMs, putting everything in containers, you know, ignoring the fact that we spend all our time in traditional digital and coming up with my life's life cycles and then they just don't patch the dumb thing and then replace it with the next version eventually, you know, you know, spending tons and tons of effort on automation and configuration management and yeah.

02:49.400 --> 03:00.400
So, you know, people know these weaknesses in Linux but we've all kind of just trained ourselves into, you know, avoiding them rather than actually really fixing the distribution at the heart.

03:00.400 --> 03:06.400
So, my view, you know, the perfect Linux should just work.

03:06.400 --> 03:12.400
It shouldn't need these sort of complicated steps of taking it and then ripping it down and making it smaller.

03:12.400 --> 03:17.400
Shouldn't need complicated policies, shouldn't need complicated configuration management.

03:17.400 --> 03:24.400
All of this stuff should just be baked in so out of the box, your Linux does the thing that it's meant to be doing.

03:24.400 --> 03:34.400
So, it should be optimized for basically what everybody's doing these days anyway, you know, it should be optimized for single purpose installations.

03:34.400 --> 03:45.400
Small amount of services on their as possible have the updates automatically happen have recovery when the updates go wrong automatically happen.

03:45.400 --> 03:54.400
Use it at scale because especially on the server side of things, you know, everyone's deploying more than one instance these days and have the whole thing ready to be orchestrated.

03:54.400 --> 04:05.400
And, you know, maybe centrally administered, but not necessarily need it because, in fact, you don't need it off the stuff that ends up working anyway.

04:05.400 --> 04:13.400
And in addition to doing all of that thing, it should be avoiding needing any manual maintenance ever being in a inconsistent state.

04:13.400 --> 04:21.400
I mean, you heard about reproduciable builds for early like, you know, whatever state it's in, you should know that's what you wanted to be and how you wanted to be.

04:21.400 --> 04:28.400
And you shouldn't need to have any of that complicated orchestration tooling even if you do support it.

04:28.400 --> 04:33.400
And I would say for servers that perfect Linux already exists.

04:33.400 --> 04:43.400
Micro OS from the Opensus project is that OS already, you know, it's a rolling release which may surprise some people when I talk about a rolling release for a server.

04:43.400 --> 04:49.400
But, you know, because it does all of that stuff I just talked about, you know, it does the automatic updates.

04:49.400 --> 04:51.400
It does the automatic repair.

04:51.400 --> 04:56.400
The fact is that we don't have a lifecycle where you have to worry about what made a version of running.

04:56.400 --> 05:01.400
Yeah, you don't need to, you just deploy it, it runs, it patches itself, it fixes itself.

05:01.400 --> 05:03.400
You contain us all run, your services all run.

05:03.400 --> 05:05.400
The footprint is nice and small.

05:05.400 --> 05:08.400
I mean, mine Micro OS servers now.

05:08.400 --> 05:12.400
I think the oldest one is, well, the oldest one is actually older than Micro OS.

05:12.400 --> 05:16.400
But, yeah, so it's seven years, it's been running on its own.

05:16.400 --> 05:19.400
I never need to touch the dumb thing.

05:19.400 --> 05:24.400
But it's still running, it's still a big thing, it's still a good.

05:24.400 --> 05:26.400
But I don't just want to serve it.

05:26.400 --> 05:30.400
I mean, you know, I'm a desktop user too, and desktop's a special.

05:30.400 --> 05:35.400
You know, they're not something that you can just hide away in a data center.

05:35.400 --> 05:37.400
You're physically touching the thing.

05:37.400 --> 05:41.400
You know, if anything goes wrong with your desktop, I'd actually argue it's worse than if anything goes wrong with your stuff.

05:41.400 --> 05:45.400
If anything goes wrong with your server, because you were going to use that desktop to fix the server.

05:45.400 --> 05:51.400
You know, you can't, you're not going to run around with two laptops and be able to roll over to the other side of the cluster.

05:51.400 --> 05:56.400
You know, it's got to be more reliable than your service would be.

05:56.400 --> 06:03.400
And yeah, if you don't think does it go wrong, you really need to be get back to a working state incredibly quickly.

06:03.400 --> 06:05.400
And that's why I made A on.

06:05.400 --> 06:11.400
So today, it is just like microS, reliable, predictable, and mutable.

06:11.400 --> 06:14.400
We're opinionated, you know, it's known only.

06:14.400 --> 06:18.400
I mean, very much more of a Chromebook like experience.

06:18.400 --> 06:20.400
I'm a lazy developer than I was 10 years ago.

06:20.400 --> 06:22.400
You know, I just want my laptop to work.

06:22.400 --> 06:25.400
I don't want to be spending my time messing around with it.

06:25.400 --> 06:31.400
Deploying it is an image, so I know I'm running exactly what I built and what I should be running.

06:32.400 --> 06:36.400
Keeping the footprint on the machine as small as possible, but not so small that it's actually a pain.

06:36.400 --> 06:41.400
You know, so printing, gaming, multimedia stuff, all of that's baked in.

06:41.400 --> 06:44.400
And all of it just working straight after the box.

06:44.400 --> 06:46.400
But that's today.

06:46.400 --> 06:48.400
Wasn't where we began at all.

06:48.400 --> 06:51.400
So the history lesson now.

06:51.400 --> 06:56.400
Started this first five years, almost five years ago now, which is really weird.

06:56.400 --> 07:02.400
As a user how quick projects, user gives employees a week, giving down again to mess around or whatever they want.

07:02.400 --> 07:04.400
So we already had microS.

07:04.400 --> 07:07.400
And I was like, okay, I want to have a desktop on top of microS.

07:07.400 --> 07:09.400
It's going to be awesome.

07:09.400 --> 07:12.400
And that's basically what I built.

07:12.400 --> 07:15.400
So the microS desktop did it as a system role.

07:15.400 --> 07:20.400
So basically alternative installation option when you're installing microS.

07:20.400 --> 07:25.400
Which meant it was basically a nice simple RPM pattern that would sit on

07:25.400 --> 07:29.400
top of all the other RPM patterns, which microS was already building.

07:29.400 --> 07:34.400
Which meant it was dependent on all the stuff that microS was already building.

07:34.400 --> 07:38.400
And we shared the same installer, we shared the same ISO.

07:38.400 --> 07:43.400
I thought I was saving myself time and effort to didn't really work out that way.

07:43.400 --> 07:48.400
Because that's where the initial technical problems were.

07:48.400 --> 07:52.400
Because microS is a very server-oriented operating system.

07:53.400 --> 07:56.400
I ended up with a very server operated desktop.

07:56.400 --> 08:03.400
You know, I was having to work around all the issues of having extra drivers for the M's.

08:03.400 --> 08:06.400
I didn't care about in cloud tooling that I didn't care about.

08:06.400 --> 08:08.400
And embedded tooling that I didn't care about.

08:08.400 --> 08:10.400
And then not being able to run any of my graphics stuff.

08:10.400 --> 08:12.400
Because I wasn't on the microS image.

08:12.400 --> 08:16.400
You know, having to really have a hard time with the core configuration.

08:16.400 --> 08:19.400
You know, things like SE Linux policies.

08:20.400 --> 08:23.400
You know, that's your one policy for your entire system.

08:23.400 --> 08:29.400
And if that's written with a server in mind, it's going to bump up against a lot of desktop use cases.

08:29.400 --> 08:31.400
Really, really, really common.

08:31.400 --> 08:34.400
And you go to your security maintainers.

08:34.400 --> 08:37.400
And they're like, yeah, it could fix that.

08:37.400 --> 08:42.400
But then that's going to be way too much of a hole for everyone who's actually using microS as a server.

08:42.400 --> 08:44.400
Like it's meant to be, right?

08:45.400 --> 08:53.400
And also then we would have weird and wonderful interactions because microS has some of these additional patterns for things like cockpit and remote attestation.

08:53.400 --> 08:59.400
People will try and mix and match and play around with wood and wonderful combinations, which I guess is quite fun.

08:59.400 --> 09:07.400
But it just always broke and I was never in a position to really fix either because, you know, I'm not going to go fix cockpit to one on a desktop.

09:07.400 --> 09:10.400
It doesn't really make sense.

09:10.400 --> 09:22.400
And yeah, sticking with the same ISO and the same RPM installer, you know, we were stuck with some very basic common workflow.

09:22.400 --> 09:26.400
You know, on the server it makes perfect sense to always have a router count.

09:26.400 --> 09:29.400
I wanted to just have a user account with pseudo privileges.

09:29.400 --> 09:31.400
Could I tell the installer to not do that?

09:31.400 --> 09:32.400
No.

09:32.400 --> 09:37.400
You know, for a different product, maybe, but for the same product with the different pattern,

09:37.400 --> 09:41.400
it doesn't magically know that you press that one button to install that one pattern.

09:41.400 --> 09:47.400
So completely stuck there, completely stuck when it comes to deploying images.

09:47.400 --> 09:53.400
And then when I got the old thing installed, I couldn't actually tell if you've installed microS, the desktop or microS, the server.

09:53.400 --> 09:57.400
Which also then started causing weird and wonderful confusion.

09:57.400 --> 10:03.400
There's people started actually adopting this and talking about on forums and it's like, okay, I'm running microS or which one.

10:04.400 --> 10:07.400
Where does this book report actually go?

10:07.400 --> 10:12.400
And also we had sort of applied from the technical stuff, you know, community problems.

10:12.400 --> 10:17.400
Because it was a system role, which is an installation option in the asked.

10:17.400 --> 10:22.400
We had community members that kind of went, yeah, cool, I'm going to, you know, I don't like known.

10:22.400 --> 10:25.400
So I'm going to contribute my favorite desktop environment instead.

10:25.400 --> 10:32.400
And, in fact, what I kind of really did was I'm going to make Richard maintain the desktop environment because I'm going to disappear immediately afterwards.

10:33.400 --> 10:35.400
Which, yeah.

10:35.400 --> 10:40.400
And that's how microS desktop KDE was born.

10:40.400 --> 10:45.400
And where had to rename microS desktop to microS desktop, no.

10:45.400 --> 10:49.400
And that bought tons of problems.

10:49.400 --> 10:52.400
There was the technical ones.

10:52.400 --> 10:57.400
We, because, you know, there's a lot of stuff that's common between desktop, so you thought, okay, fine.

10:57.400 --> 11:00.400
Instead of having microS desktop as one pattern,

11:00.400 --> 11:03.400
you have a common pattern and a KDE, you want to know one.

11:03.400 --> 11:08.400
So suddenly, there's an argument of which package goes in which pattern.

11:08.400 --> 11:11.400
And, you know, where's the right place to actually put it, which was always pointless.

11:11.400 --> 11:17.400
Because it always ended up being being the same team, maintaining all three package patterns at one point.

11:17.400 --> 11:19.400
But, yeah.

11:19.400 --> 11:23.400
And then, you know, you put it in the wrong one and half the desktop's break.

11:23.400 --> 11:29.400
We ended up with lots of attention from the KDE user based in OpenSuser, which was great.

11:29.400 --> 11:35.400
But one extra contributor in several years doesn't actually help.

11:35.400 --> 11:39.400
And kind of muddied the water of what we're trying to do here.

11:39.400 --> 11:44.400
You know, meant to be this nice, simple, you know, we provide, you know, provide you a desktop.

11:44.400 --> 11:50.400
And suddenly, like, which one now, and, you know, you put instead of this nice vision of a perfect polish desktop,

11:50.400 --> 11:54.400
you would certainly do a more questions and more options in front of our users,

11:54.400 --> 11:58.400
which can't undermine the whole point of what we're trying to do.

11:58.400 --> 12:02.400
But I didn't just drop it. Well, I tried.

12:02.400 --> 12:07.400
The contributor, who originally made it, then suddenly appeared after disappearing for several years,

12:07.400 --> 12:11.400
and went to the OpenSuser Board and made a big stank.

12:11.400 --> 12:15.400
And even though the OpenSuser Board technically shouldn't be directing developers,

12:15.400 --> 12:17.400
we were directed to keep it in the project.

12:17.400 --> 12:19.400
So, we did.

12:19.400 --> 12:21.400
But it was unmaintained.

12:21.400 --> 12:24.400
We kind of hung around for years.

12:25.400 --> 12:29.400
We steadily went along with the known side of things, doing an alpha and a beta.

12:29.400 --> 12:35.400
And everybody scanned it a 12 KDE sort of, just stayed there where it is.

12:35.400 --> 12:39.400
So, yes, talking about alpha's and beta's and stuff.

12:39.400 --> 12:41.400
I realize it's a loaded terms.

12:41.400 --> 12:45.400
So, when I come to using them, these are my nice helpful,

12:45.400 --> 12:49.400
hopefully human understandable definitions of what I mean when I say an alpha.

12:49.400 --> 12:53.400
You know, when the microS desktop was an alpha, it kind of worked.

12:53.400 --> 12:56.400
It was mostly broken most of the time.

12:56.400 --> 12:59.400
When I started calling it a beta, it was almost complete.

12:59.400 --> 13:01.400
There was a few things I knew were missing,

13:01.400 --> 13:05.400
and it mostly worked, but they could occasionally be issues.

13:05.400 --> 13:07.400
And release candidates, which is where we are now.

13:07.400 --> 13:09.400
You know, it's complete, at least,

13:09.400 --> 13:12.400
complete as far as I believe it to be at that day,

13:12.400 --> 13:15.400
because definitions changes that you're going to see.

13:15.400 --> 13:19.400
But whatever it worked, it's reliable, but may have some rough edges.

13:19.400 --> 13:22.400
So, release really is just a complete sort of,

13:22.400 --> 13:26.400
it works, it's very, it's done.

13:26.400 --> 13:31.400
So, the first release in microS desktop known land was,

13:31.400 --> 13:37.400
well first, yeah, release candidate was early 2023.

13:37.400 --> 13:40.400
Pretty good state of things.

13:40.400 --> 13:43.400
You know, we had a very minimized no installation.

13:43.400 --> 13:46.400
No RBM applications in the base of OS,

13:46.400 --> 13:49.400
apart from software, stack, and terminal.

13:50.400 --> 13:52.400
Everything being flat-packed from flat-up,

13:52.400 --> 13:54.400
out of the box for GUI applications,

13:54.400 --> 13:59.400
distra box being out of the box for command line applications,

13:59.400 --> 14:03.400
desktop notifications for the background updates,

14:03.400 --> 14:08.400
and whatever possible we started avoiding the need

14:08.400 --> 14:10.400
for the shared microS installed.

14:10.400 --> 14:14.400
So, whatever possible we'd have in no initial setup do the work

14:14.400 --> 14:18.400
and try and kind of get ourselves away from being stuck in that workflow.

14:19.400 --> 14:24.400
MicroS desktop at the time is, you know, for, and still is today.

14:24.400 --> 14:27.400
But was it really an RC by my own definition?

14:27.400 --> 14:30.400
Well, kind of, those rough edges were a bit rough,

14:30.400 --> 14:33.400
than they should have made them maybe.

14:33.400 --> 14:36.400
You know, we were still dependent on the patterns

14:36.400 --> 14:40.400
and the policy kits and the system D presets and all that stuff.

14:40.400 --> 14:42.400
Thank you very much.

14:42.400 --> 14:45.400
So, we had a fair bit of croft in there.

14:45.400 --> 14:48.400
You couldn't run every flat-packed properly, especially like steam,

14:48.400 --> 14:51.400
because I see them as we get in the way and moan about it.

14:51.400 --> 14:54.400
You know, you had to still have a separate route password.

14:54.400 --> 14:58.400
Studio policy wasn't right, and all kit was constantly asking you

14:58.400 --> 15:01.400
to enter the route password when you wanted to change a printer

15:01.400 --> 15:03.400
and know which is fully annoying.

15:03.400 --> 15:06.400
You couldn't actually turn off automatic reboots,

15:06.400 --> 15:08.400
so, you know, you left your laptop running,

15:08.400 --> 15:10.400
it would magically reboot in the middle of the night,

15:10.400 --> 15:13.400
just like a microS server, which really was not fun.

15:14.400 --> 15:17.400
Still couldn't distinguish between microS server and microS desktop,

15:17.400 --> 15:20.400
which was hard for me when I wanted to put a patch or a fixed adjust.

15:20.400 --> 15:25.400
One of them couldn't stop users from going into gas

15:25.400 --> 15:28.400
to the open-suset installer and completely messing with the potitions

15:28.400 --> 15:32.400
and making an installation that was completely nonsensical.

15:32.400 --> 15:36.400
Couldn't stop them from trying to install KDE and gnome

15:36.400 --> 15:38.400
and 20 other things at the same time,

15:38.400 --> 15:40.400
and then wondering why they didn't work.

15:41.400 --> 15:44.400
Yes, and we still had the sort of community confusion of,

15:44.400 --> 15:46.400
you know, why aren't you supporting KDE more,

15:46.400 --> 15:49.400
because none of us were working on it.

15:50.400 --> 15:53.400
So I decided to kind of throw the baby out with the birth order

15:53.400 --> 16:00.400
and the microS desktop project officially renamed in May 2023

16:01.400 --> 16:04.400
to A1 as it's now good.

16:05.400 --> 16:08.400
Partly an excuse just to have a nice reset

16:08.400 --> 16:11.400
and a clearer definition of, you know, this is a gnome

16:11.400 --> 16:14.400
only desktop only, you know,

16:14.400 --> 16:17.400
we're doing this and just this and this is the name for that.

16:17.400 --> 16:19.400
And if you want to do something else and take our code,

16:19.400 --> 16:21.400
you can do whatever you want with our code,

16:21.400 --> 16:23.400
but you know, call it something else, please.

16:23.400 --> 16:27.400
We started addressing the technical deaths that we'd build up

16:27.400 --> 16:29.400
with all of our previous choices

16:29.400 --> 16:31.400
and pursuing the kind of freedoms we had about,

16:31.400 --> 16:33.400
okay, this is a new thing and you start, you know,

16:33.400 --> 16:35.400
what do we do if we kind of,

16:35.400 --> 16:37.400
not starting from zero because we're still going to inherit

16:37.400 --> 16:39.400
everything we had previously,

16:39.400 --> 16:43.400
but we had not be tied to any previous decision we made.

16:43.400 --> 16:46.400
And so we kind of retroactively now call

16:46.400 --> 16:50.400
microS desktop as A1, but yeah,

16:50.400 --> 16:53.400
we then started working on our C2.

16:53.400 --> 16:57.400
And it took pretty much 366 days

16:57.400 --> 17:01.400
before we did A on our C2,

17:02.400 --> 17:05.400
where we have now a brand new installer

17:05.400 --> 17:07.400
that we wrote from scratch,

17:07.400 --> 17:11.400
using basically, it's a very fancy

17:11.400 --> 17:13.400
Zenity wrapper around systemly rebut,

17:13.400 --> 17:15.400
but, you know, it looks pretty.

17:15.400 --> 17:16.400
It takes an image,

17:16.400 --> 17:18.400
deployed to the disk,

17:18.400 --> 17:20.400
it's wonderful, it's modular

17:20.400 --> 17:23.400
because it's just a lot of bashing the installer really.

17:23.400 --> 17:25.400
So you can add your own install steps

17:25.400 --> 17:26.400
or repap the bits you don't want,

17:26.400 --> 17:29.400
which obviously I was having a lot of pain with.

17:29.400 --> 17:31.400
Complete support for ignition and combustion,

17:31.400 --> 17:33.400
because we've talked, you know,

17:33.400 --> 17:35.400
we're one of these affordable districts of nice having

17:35.400 --> 17:39.400
a tool chain where stuff takes care of itself on first boot.

17:39.400 --> 17:41.400
And it's a really nice party piece,

17:41.400 --> 17:43.400
I wrote a module in tick,

17:43.400 --> 17:45.400
which analyzes the operating system

17:45.400 --> 17:47.400
it's about to annihilate when it images.

17:47.400 --> 17:50.400
And if you happen to have a BTRFS home

17:50.400 --> 17:53.400
subvolume on there, like we do on all of our districts,

17:53.400 --> 17:55.400
then it copies that to the USB stick,

17:55.400 --> 17:57.400
because I made the USB stick rewrite

17:58.400 --> 18:00.400
and back up your Wi-Fi passwords,

18:00.400 --> 18:01.400
and your SSH keys,

18:01.400 --> 18:03.400
and everything that's remotely interesting,

18:03.400 --> 18:04.400
and then,

18:04.400 --> 18:05.400
you can see the image in them,

18:05.400 --> 18:06.400
but, like now, again,

18:06.400 --> 18:09.400
which is a nice factory reset,

18:09.400 --> 18:11.400
that can be really quite extreme,

18:11.400 --> 18:13.400
so I can totally change the layout on the disk

18:13.400 --> 18:15.400
without stopping my life,

18:15.400 --> 18:17.400
which is really quite nice.

18:17.400 --> 18:19.400
In A on itself,

18:19.400 --> 18:20.400
outside the installer,

18:20.400 --> 18:23.400
we got rid of the root password,

18:23.400 --> 18:26.400
we got the pseudo permissions all changed,

18:26.400 --> 18:28.400
like Paul Keaton, Essie Linux, all tuned up,

18:28.400 --> 18:30.400
all with tons of views

18:30.400 --> 18:32.400
and help from the Caesar security team,

18:32.400 --> 18:35.400
because the fact that we were doing this under a new name,

18:35.400 --> 18:37.400
as a new thing, with a clear focus,

18:37.400 --> 18:39.400
was suddenly all the things they were worried about,

18:39.400 --> 18:40.400
like, it's a desktop,

18:40.400 --> 18:42.400
but, okay, we get it, we're fine, do it,

18:42.400 --> 18:43.400
it's like, hey, cool!

18:43.400 --> 18:44.400
I mean, okay,

18:44.400 --> 18:46.400
also, maybe we could package it separately too,

18:46.400 --> 18:49.400
so you're not going to accidentally get those policies

18:49.400 --> 18:51.400
on an open-suza installation,

18:51.400 --> 18:53.400
it worked out really nice, actually.

18:54.400 --> 18:56.400
We got rid of the automatic rebooting,

18:56.400 --> 18:57.400
and yes,

18:57.400 --> 18:58.400
like I said,

18:58.400 --> 18:59.400
identifiable as A on,

18:59.400 --> 19:01.400
not as much for us.

19:01.400 --> 19:02.400
And then,

19:02.400 --> 19:04.400
because feature creep is a thing,

19:04.400 --> 19:06.400
we also took care of a whole bunch of stuff,

19:06.400 --> 19:08.400
which we hadn't cared about a year before,

19:08.400 --> 19:10.400
so,

19:10.400 --> 19:13.400
using system D-boot as our bootloader,

19:13.400 --> 19:15.400
tidying up the boot process,

19:15.400 --> 19:16.400
so it's completely silent,

19:16.400 --> 19:17.400
there's no flickering,

19:17.400 --> 19:19.400
it just boots up,

19:19.400 --> 19:21.400
doing Z-RAM by default,

19:21.400 --> 19:23.400
and B-T-R-F-S compression by default,

19:23.400 --> 19:25.400
turning off SSH,

19:25.400 --> 19:29.400
being really fancy with X-864 B-3 libraries,

19:29.400 --> 19:32.400
and also updating D-Tboot's automatic.

19:35.400 --> 19:38.400
And life is good for a couple of months,

19:38.400 --> 19:40.400
and one of the things we wanted at the time,

19:40.400 --> 19:42.400
it took a little bit longer,

19:42.400 --> 19:45.400
was doing for this description by default.

19:45.400 --> 19:48.400
I talked more about this earlier today,

19:48.400 --> 19:52.400
where now A on offers two separate modes.

19:52.400 --> 19:53.400
One,

19:53.400 --> 19:55.400
if your hardware is good enough,

19:55.400 --> 19:57.400
TPM backed automatically and logging,

19:57.400 --> 19:58.400
so,

19:58.400 --> 19:59.400
yeah,

19:59.400 --> 20:01.400
it just works pretty quite nice.

20:01.400 --> 20:04.400
Make sure you're booting the system that you meant to be booting,

20:04.400 --> 20:05.400
and then, actually,

20:05.400 --> 20:07.400
means you can rely on stuff like your password,

20:07.400 --> 20:09.400
in Linux to be secure,

20:09.400 --> 20:12.400
because no one's accidentally booting you into a different shell.

20:12.400 --> 20:13.400
Or,

20:13.400 --> 20:15.400
if you have a really old laptop,

20:15.400 --> 20:17.400
you get lugs for the passphrase,

20:17.400 --> 20:19.400
yeah, just like every other district.

20:19.400 --> 20:21.400
It worked really really well,

20:21.400 --> 20:24.400
but that has basically been the rest of the store for 2024,

20:24.400 --> 20:26.400
because the technical part was easy,

20:26.400 --> 20:29.400
and then we realized there's lots of really different laptops out there,

20:29.400 --> 20:31.400
with lots of really different UEFI,

20:31.400 --> 20:35.400
and people mess around with different configurations.

20:35.400 --> 20:37.400
So it's taken as a little bit of the rest of the year

20:37.400 --> 20:39.400
to kind of bed that down,

20:39.400 --> 20:42.400
change exactly which bits were measuring into the TPM,

20:42.400 --> 20:44.400
and get it working,

20:44.400 --> 20:45.400
but it's kind of,

20:45.400 --> 20:46.400
it's actually,

20:46.400 --> 20:47.400
it's really kind of there,

20:47.400 --> 20:48.400
and ready now.

20:48.400 --> 20:51.400
Oh, I thought it was getting FW update

20:51.400 --> 20:55.400
to actually handle the fact that we used the system reboot,

20:55.400 --> 20:58.400
because FW update was completely confused by the fact

20:58.400 --> 21:01.400
we were a distro that didn't identify ourselves

21:01.400 --> 21:03.400
as a distro in our own bootloader,

21:03.400 --> 21:05.400
because we used system debugging.

21:05.400 --> 21:08.400
So it got very confused about where to do firmware updates,

21:08.400 --> 21:09.400
which,

21:09.400 --> 21:10.400
yeah,

21:10.400 --> 21:12.400
was a bit of a problem.

21:12.400 --> 21:15.400
So will we ever actually release A on?

21:15.400 --> 21:16.400
Yes,

21:16.400 --> 21:19.400
but there's one thing that I've got left

21:19.400 --> 21:21.400
that I've really mastered rest is,

21:21.400 --> 21:22.400
you know,

21:22.400 --> 21:24.400
it does work technically speaking,

21:24.400 --> 21:25.400
but we can't prove that

21:25.400 --> 21:27.400
because I haven't got ran to write in the open QA test yet.

21:27.400 --> 21:28.400
So,

21:28.400 --> 21:31.400
if you want to contribute anything to A on right now,

21:31.400 --> 21:33.400
that's the number one burning issue.

21:33.400 --> 21:34.400
As soon as we have open QA tests,

21:34.400 --> 21:38.400
that we will throw into the open user pipeline for releases,

21:38.400 --> 21:40.400
then I'll probably be able to say,

21:40.400 --> 21:41.400
I'm released,

21:41.400 --> 21:42.400
because we can prove then,

21:42.400 --> 21:43.400
you know,

21:43.400 --> 21:44.400
it's always working,

21:44.400 --> 21:46.400
it's always building job done.

21:46.400 --> 21:48.400
However,

21:48.400 --> 21:50.400
that feature creep things still happening.

21:50.400 --> 21:51.400
You know,

21:51.400 --> 21:52.400
I mean,

21:52.400 --> 21:54.400
the first time this list has already got even longer.

21:54.400 --> 21:55.400
You know,

21:55.400 --> 21:56.400
so meanwhile,

21:56.400 --> 21:57.400
you know,

21:57.400 --> 21:59.400
I'm almost certainly going to start using UKI's

21:59.400 --> 22:01.400
for booting,

22:01.400 --> 22:03.400
because literally all the problems I was

22:03.400 --> 22:04.400
moaning about last week

22:04.400 --> 22:06.400
have been fixed in conversations in the court

22:06.400 --> 22:08.400
or this weekend.

22:09.400 --> 22:11.400
This self-healing improvements.

22:11.400 --> 22:13.400
I want to get rid of the TTY consoles,

22:13.400 --> 22:15.400
because the booting flick of three,

22:15.400 --> 22:17.400
but you do still like to see the TTY form

22:17.400 --> 22:19.400
for a split second before GDM kicks in,

22:19.400 --> 22:21.400
and I just want to get rid of that.

22:21.400 --> 22:22.400
And,

22:22.400 --> 22:25.400
ignases added a new feature into

22:25.400 --> 22:26.400
transactional updates,

22:26.400 --> 22:28.400
where we can deploy OCI images,

22:28.400 --> 22:30.400
and I kind of just want to use that as another way

22:30.400 --> 22:31.400
of reinstalling A on,

22:31.400 --> 22:34.400
because it just seems like fun.

22:34.400 --> 22:35.400
So,

22:35.400 --> 22:36.400
but to be honest,

22:36.400 --> 22:38.400
if we get the European QA testing first,

22:38.400 --> 22:40.400
I'll probably just call it A on release,

22:40.400 --> 22:41.400
and we can do all that stuff.

22:41.400 --> 22:46.400
I don't really think any of that's blocking the final release.

22:46.400 --> 22:48.400
So,

22:48.400 --> 22:50.400
lessons learned.

22:50.400 --> 22:51.400
I would say,

22:51.400 --> 22:52.400
you know,

22:52.400 --> 22:53.400
any project these days,

22:53.400 --> 22:54.400
in this day,

22:54.400 --> 22:56.400
and it really needs to be aware of,

22:56.400 --> 22:57.400
like,

22:57.400 --> 22:59.400
how well defined are your project goals?

22:59.400 --> 23:00.400
This was the mistake we made

23:00.400 --> 23:02.400
in the Minecraft desktop at first, right?

23:02.400 --> 23:03.400
Like, a great idea.

23:03.400 --> 23:05.400
Door wide open for anyone to contribute,

23:05.400 --> 23:06.400
anything they want,

23:06.400 --> 23:08.400
and then we literally end up spinning our wheels

23:08.400 --> 23:10.400
for two to three years,

23:10.400 --> 23:13.400
because other people dive in

23:13.400 --> 23:16.400
and kind of start mangling with that scope of the project.

23:16.400 --> 23:17.400
So,

23:17.400 --> 23:18.400
you know,

23:18.400 --> 23:19.400
know the scope of what you want to do,

23:19.400 --> 23:20.400
what you're prepared to work on,

23:20.400 --> 23:21.400
and,

23:21.400 --> 23:22.400
and,

23:22.400 --> 23:23.400
or,

23:23.400 --> 23:24.400
be prepared for,

23:24.400 --> 23:25.400
like,

23:25.400 --> 23:26.400
some way of redefining it,

23:26.400 --> 23:27.400
or aesthetically,

23:27.400 --> 23:28.400
if you really,

23:28.400 --> 23:29.400
really have to.

23:29.400 --> 23:31.400
It doesn't have to be so painful,

23:31.400 --> 23:32.400
we did it.

23:32.400 --> 23:34.400
Along with that lesson,

23:34.400 --> 23:35.400
you know,

23:35.400 --> 23:37.400
a one thing I really took away from this story,

23:37.400 --> 23:39.400
is don't always listen to your community.

23:39.400 --> 23:40.400
You know,

23:40.400 --> 23:42.400
it's great to have lots of people

23:42.400 --> 23:44.400
giving lots of really good ideas,

23:44.400 --> 23:46.400
but the ideas are great,

23:46.400 --> 23:47.400
the contributions,

23:47.400 --> 23:48.400
matter more.

23:48.400 --> 23:49.400
Yeah,

23:49.400 --> 23:50.400
you know,

23:50.400 --> 23:52.400
and if you've already got enough on your plates

23:52.400 --> 23:54.400
to get what you want done,

23:54.400 --> 23:56.400
focus on what you've already decided,

23:56.400 --> 23:58.400
you don't always need to add everything.

23:58.400 --> 23:59.400
All the time,

23:59.400 --> 24:00.400
because otherwise,

24:00.400 --> 24:01.400
you'll just spend all your time

24:01.400 --> 24:02.400
coming,

24:02.400 --> 24:03.400
and commenting all these cool new ideas,

24:03.400 --> 24:04.400
like I've been doing,

24:04.400 --> 24:05.400
it's a year five,

24:05.400 --> 24:07.400
and I'm still in a release candidate stage.

24:07.400 --> 24:08.400
You know,

24:08.400 --> 24:10.400
this future creep thing is a blessing,

24:10.400 --> 24:12.400
because my laptop's awesome,

24:12.400 --> 24:14.400
and I'm really enjoying the OS on there,

24:14.400 --> 24:17.400
but it's still not quite released yet.

24:17.400 --> 24:18.400
So,

24:18.400 --> 24:19.400
yeah,

24:19.400 --> 24:20.400
just,

24:20.400 --> 24:21.400
it's kind of,

24:21.400 --> 24:22.400
keep worth keeping in mind at some point,

24:22.400 --> 24:24.400
I guess you need to say no.

24:24.400 --> 24:26.400
But also,

24:26.400 --> 24:27.400
like,

24:27.400 --> 24:28.400
there's no absolute tennis,

24:28.400 --> 24:30.400
like we've gone from being really strict

24:30.400 --> 24:32.400
to then constantly redefining it.

24:32.400 --> 24:33.400
Yeah,

24:33.400 --> 24:34.400
this district development stuff

24:34.400 --> 24:38.400
is always a little bit nebulous and fun.

24:38.400 --> 24:42.400
And I have shot through that perfectly time for five minutes.

24:42.400 --> 24:43.400
So,

24:43.400 --> 24:44.400
any questions,

24:44.400 --> 24:45.400
open discussion?

24:45.400 --> 24:46.400
I've got a couple of prompts.

24:46.400 --> 24:47.400
There's one in the corner.

24:47.400 --> 24:48.400
Perfect.

24:48.400 --> 24:50.400
I think the guy that's responsible for that now,

24:50.400 --> 24:51.400
where there's just some people,

24:51.400 --> 24:53.400
and obviously there's some more.

24:53.400 --> 24:54.400
Okay.

24:54.400 --> 24:55.400
So,

24:57.400 --> 24:58.400
so,

24:58.400 --> 24:59.400
you're the guy who's responsible for

24:59.400 --> 25:00.400
system D-booting.

25:00.400 --> 25:04.400
So,

25:04.400 --> 25:06.400
before I put in solid,

25:06.400 --> 25:08.400
but it wasn't really complicated.

25:08.400 --> 25:09.400
So, what was the question?

25:09.400 --> 25:10.400
Could you just say it in the microphone?

25:10.400 --> 25:11.400
I don't say it.

25:11.400 --> 25:12.400
Sorry.

25:12.400 --> 25:13.400
I said,

25:13.400 --> 25:14.400
are you responsible for that system D-boot

25:14.400 --> 25:15.400
works on obscenity?

25:15.400 --> 25:16.400
There are almost just there.

25:16.400 --> 25:18.400
There are more people than me

25:18.400 --> 25:20.400
who have made that magical thing happen.

25:20.400 --> 25:23.400
I'm one of the heavier consumers of their work.

25:23.400 --> 25:24.400
Yeah.

25:24.400 --> 25:25.400
But yeah,

25:25.400 --> 25:27.400
because there's various,

25:28.400 --> 25:30.400
depending on the scope of what you want with system D-boot,

25:30.400 --> 25:31.400
in open-suser,

25:31.400 --> 25:33.400
there's various different options.

25:33.400 --> 25:36.400
You can have a very vanilla installation,

25:36.400 --> 25:39.400
or you can have one with FD-boot-U-Tool,

25:39.400 --> 25:41.400
where it does all the funky ploughing

25:41.400 --> 25:44.400
with all of the open-suser B-T-R-Fest snapshots.

25:44.400 --> 25:45.400
Yeah.

25:45.400 --> 25:46.400
All that cool stuff.

25:46.400 --> 25:47.400
Anyway,

25:47.400 --> 25:48.400
I'm not a criminal.

25:48.400 --> 25:49.400
If you want me to tell you about your talk,

25:49.400 --> 25:50.400
it was great.

25:50.400 --> 25:51.400
It was a lightning.

25:51.400 --> 25:52.400
Thank you.

25:52.400 --> 25:53.400
Thank you.

25:53.400 --> 25:54.400
Some phrase.

25:54.400 --> 25:55.400
Anyway.

25:57.400 --> 25:59.400
Anything from anybody else?

26:01.400 --> 26:03.400
Anyone have any thoughts on these topics?

26:03.400 --> 26:05.400
Anyone think I'm completely wrong

26:05.400 --> 26:07.400
when saying you should ignore your community?

26:07.400 --> 26:09.400
No.

26:09.400 --> 26:12.400
Yeah.

26:12.400 --> 26:13.400
Yeah.

26:13.400 --> 26:14.400
And that's part of it too, actually.

26:14.400 --> 26:15.400
Someone just said,

26:15.400 --> 26:17.400
depends on how many you're working on the project.

26:17.400 --> 26:18.400
Yeah.

26:18.400 --> 26:19.400
This started as a passion project.

26:19.400 --> 26:20.400
Yeah.

26:20.400 --> 26:21.400
Okay.

26:21.400 --> 26:22.400
We have 300 people in the telegram group.

26:22.400 --> 26:24.400
So we're not a tiny project anymore.

26:25.400 --> 26:26.400
But yeah, it's still,

26:26.400 --> 26:30.400
we have a still only a limited number of people working on this sort of stuff.

26:30.400 --> 26:32.400
Well, okay.

26:32.400 --> 26:34.400
And so, thank you very much.

