Welcome to the final talk, wow.
So lots of people want to know where to go from here.
Welcome Clayton Craft.
We are really happy.
His plane made it barely despite bad weather and all that.
So some might know him as Crafty Guy in some chat rooms.
Well, I don't need to introduce him here.
Welcome and yeah, glad to have you here.
Thank you.
Yeah, so I'm Clayton, also known as Crafty Guy.
You might recognize me from some of my contributions to Post Market OS.
Or you might recognize me from my avatar, right?
I started contributing to this distribution back in 2017,
mainly because it had initial support for the Nokia N900,
which was the first Linux phone I owned.
And by 2017, I was really tired of the two options for mobile operating systems.
I wanted something that could run a recent Linux kernel,
that had a familiar user space,
and most importantly, wasn't trying to exfiltrate personal information all the time.
And I still feel that way today, which is why I'm here,
because I think that we as a community need to try to answer the question,
where do we go from here?
Because here today, the situation is quite a bit different
and has improved in some ways from the last few years.
For example, there's a number of phones out there now that can run Linux,
some of them out of the box, which is really exciting.
However, when you look at how many phones exist out in the world today,
thousands and thousands of them, and only a small handful can do this.
So I think there's some improvement there, obviously.
There's also a lot more distributions, both Linux and, as you saw in the previous talk,
other alternative operating systems that can boot on these phones.
However, I think there's not a whole lot of coordination between distributions today,
because a lot of these distributions are targeting the same hardware.
They also are targeting some of the same use cases.
And so a lot of them are trying to solve some of the same problems
and have some of the same goals.
And a lot of distributions are kind of doing it on their own
and not really comparing notes and trying to work collaboratively to solve these things
in cases where the work being done to solve the problem
could be used by multiple distros, for instance.
And another exciting thing I think today is there's a lot more applications
that have been created both with some of the work from Purism
and other folks in the community that lets these applications work pretty well
on mobile form factors.
However, when you consider non-technical end users and what they expect
for a modern smartphone, there's still a lot of missing functionality there.
So again, more room for improvement.
And I think there's a lot of people both inside and outside the community
who are really interested in what we're doing.
And I think a lot of them are kind of asking the same questions.
Specifically, one question I think everybody's asking, no matter who you are,
is what's it like, right?
What's it like to have a phone that can run Linux and use it as a daily driver?
What's it like to depend on that for navigation and communication?
And obviously whoever's asking this is...
The answer to that question depends a lot on who's asking it
and where they're coming from.
For example, an end user, when they ask, hey,
what's it like to use your phone that's running Linux,
they want to know can they message grandma on WhatsApp
or can they use it to navigate from your hotel to the Fosdum conference
and stuff like that.
I think myself as an OS developer, when I think about this question,
I tend to think about a lot of the problems I run into
with developing and maintaining an operating system on Linux phones
and how a lot of these problems, again, are shared between distributions
because, again, we're targeting a lot of the same hardware and use cases.
And I think about how hard it is today to create or solve problems
that can be reused by other distributions
without a whole lot of rework on their part, right?
A recent example of this is a Libram5 user, Chris Vogel,
last week was trying to work around a problem on the Libram5
and he created some patches for this workaround, submitted them to Purism,
and I actually just happened to come across the patches
because I was trying to address the same problem on PostMarketOS.
And his patches look good from the context of PurOS,
but they were pretty much unusable for me on PostMarketOS
because of just differences in the distribution, right?
His patches were relying heavily on SystemD services
in order to trigger things to apply workarounds,
and I don't have SystemD in PostMarketOS,
so that was a non-starter right there.
I was able to talk to him and give some tips on how he could redo it
so that it would work across multiple distributions,
even ones without SystemD.
And I think this is kind of like the current happy situation
where he's off creating something now that could be reused, right?
But I think there's a lot of cases where because people don't know
there's other distributions or know what they need,
oftentimes people run into problems like this
and they create something which works totally fine for them,
but is not usable or not even known to other distributions
with the same problems, right?
So, like, I might end up recreating or redoing a lot of the work
and then it's inefficient, right?
I would rather spend the time not solving problems
that have already been solved elsewhere,
but, you know, adding new functionality or supporting users
who are using the distribution that I'm hoping to develop.
And I think, like, we need a number of things as a community
in order to address some of these inefficiencies
with, like, maintaining distributions
that target a lot of the same hardware
and use cases.
It'd be really nice if, like, in that previous situation
I just spoke about, there was a place for a developer
like Chris or myself or anyone, right,
to ask for feedback directly from the community
and be fairly confident that they're reaching, like, you know,
critical mass of the community, right?
And also where distributions can sort of, like, provide this feedback.
So when people do solve problems that they're experiencing
or when people are trying to implement things
that they could really use,
that they have the opportunity to provide feedback
and, you know, the person doing the work
can take or leave the feedback,
but at least know that they're getting input
or have access to this input
so they can create something that's usable by everyone,
and we don't have these cases where people
are just kind of one-off doing the same thing, right?
I think it would also be really nice
if we had as a community a list of priorities that we care about,
both, like, goals and also, like, these shared problems.
The main purpose of this is, like, when contributors come along
and they want something to work on or not sure what to do,
they could see this list of priorities
and, you know, if we come up with it as a community,
we can put stuff up there we care about, obviously,
and when people choose to work on these priorities,
then we all benefit, right,
because they're working on things that we said are important to us.
And so, you know, maybe it'll provide some motivation
or inspiration for folks that want to contribute
and aren't necessarily certain how.
And I think by kind of addressing the first two things,
we'll inherently create a stronger relationships
within the community, right, between individuals and projects,
and I think that these strong relationships are critical.
Like, if we want to have any chance of convincing, you know,
businesses or governments or what have you,
or even just end users, right, like...
Like, if I want to try to convince, you know,
a new group of users or something to give this a shot,
we need to be somewhat organized
and have an idea for, like, what we're trying to accomplish
and be able to communicate that well externally
so people know what we're all about.
And these strong relationships, I think, are necessary for that,
and, I mean, it's great, like, meeting people here at FOSM,
but it's, like, very one-off, right, and we need to maintain that,
and I think we maintain that by better organizing
and, you know, trying to implement some of the things here
I think we need.
So, I'm here to propose forming a committee.
I'm not even sure if committee is the right word for this,
but bottom line is we need to somehow be more organized than we are.
Not necessarily, like, you know, dictatorial or anything like that,
but in some ways, at a higher level,
just addressing, like, you know, having a place for people to get feedback,
and I think a committee or some central place where distributions
and projects are represented could be a place like that.
I also think, like, as a developer,
I'm not necessarily, like, the greatest at communicating when I'm working on
and, like, what my motivations are for working on this
and what Linux on mobile or FreeSoft on mobile have to offer.
So, I think we should also, like, work on our public representation
and having a committee or whatever you want to call it
to be sort of the single point for communicating to the world
what we're doing and why we want to do it would be important.
Like, I know why I'm here, right?
I don't want to have a corporate centralized device
that's leaking personal information
and I want the freedom to hack on this thing
and, you know, do what I want, more or less.
But, again, I think a lot of us are developers or engineers
and we're not necessarily, like, the best at communicating that
to non-technical users specifically.
So, I think, you know, having some central thing
where we can kind of work together to create something
that can educate the world about us is, you know, nice to have.
Now, I know what you're thinking, like, who is this guy?
Why would I want some oversight committee thing,
like, authority telling me what I can and can't work on
during my free time?
Because I know a lot of people here, myself included,
are working on this during our free time.
And, yeah, the last thing I wanted somebody to be like,
here's the priorities for you.
You know, when are you going to have them done by?
Because that's silly.
And I completely agree.
That's not the purpose of this.
And the question, like, the point is, I don't really know
what this looks like when it organizes,
but I think we need to organize.
And I created a working group.
There's a link to the matrix room on the slide
where I would invite everybody here, everybody listening online,
everybody in this community to join in
and let's figure out how we can become more organized.
And, oh, I'd like to thank my employer, Gallia,
for sponsoring my travel to come here to give this talk.
And, yeah, any questions, comments, opinions?
Pretty short talk, but...
Yeah, go ahead.
Thank you very much.
Yeah, that's one of the motivations
for why I spent way too much time thinking about this.
Yeah, for problems like that that exist across distributions
and whatever, it'd be nice to know about that, right?
If you're also trying to work on supporting a new device
or, you know, improving something in your distro
and you want to know if other people have had this problem.
And right now, it's like, you have to kind of know
what other distros are out there who might be working on this thing
and then, you know, know where to find information
and then go search, like, a million different GitLab instances
or whatever to figure out, like, is this a problem
that other people have seen or not?
And it's kind of a mess, right?
And the same goes for, like, a lot of other problems
I've come across.
And so, yeah, that's the idea, right?
Have kind of a central place where people can...
where problems like that can be expressed
and people who are working on them,
no matter what distribution you're in,
work together on these things.
Yes?
Yeah.
Yeah, that's tricky, right?
Because, like, in the desktop world,
there's some focus towards, like, flat pack
and other ways to sort of package the runtime.
So then it kind of doesn't matter what the distro is, right?
You can reuse the same runtime
and then you write your application
and you target that thing and...
I don't know if that's right for us,
but, like, that's a specific thing,
but I agree, like, there should be a way
that people can talk about these things
within these distributions we have.
And, like, I think there's a fine line,
like, we don't necessarily want to try to...
I like that there's a lot of distributions
and I like that they're all doing their own thing, right?
Because, like, PostmarketOS was started by Ali
for a very specific reason
and, like, people started Mobian
because they wanted to run Debian on their device
and there's less focus on, like, what the runtimes are there,
but I think it's a good thing that there's so much, like,
distro diversity or whatever within the community
and I wouldn't really want to try to, like,
shoehorn any particular runtime mechanism
or whatever you want to call it.
On the other hand, I know that's, like...
I know it's hard for application developers, right?
Like, as you said, so...
On the disk of Linux, for example,
you can expect it to have some, like, Q or GTK or something.
And this still is not the given on the...
Right.
...like some sort of Q, some special GTK
or even some something of the custom.
Yeah.
It's not, like, if you can even count on, like,
common QE library...
So would it be nice if you had a way to ask distributions,
like, hey, what version of GTK3 are you running or something, right?
And be able to get input directly from them.
So that way, at least, you know, like,
here's the minimum version I need to support.
I know it's not the ideal situation where you just, like,
support whatever you want, but...
Yeah, basically, the idea is, like,
you'd be able to go and say, hey, Linux mobile distros,
I want to target this version of GTK4 for this application.
If you care about this application,
is there, like, a version I should look at targeting or something?
And so today, if you wanted to do that,
you'd have to, like...
You'd have to know what all the distros are
that might be interested in using this thing you want to create.
And then you need to know how to contact them.
And even when you do, the people who have an opinion
might not even be online or, you know,
might not be available or maybe you asked the wrong person
or something.
So it's not great, right?
See, what I'm proposing is, like,
have a way that you could ask for feedback
from all the folks in the community
and people who care about what you're doing
can be like, yeah, here's a version I use,
or, like, maybe, you know,
maybe this person is, like, representing their distro
and they take it back to the person who knows
that's working on their distro
and then they, you know, give you the answer back or whatever.
So it's a way to convey information, basically,
to and from people who are interested in, you know,
solving those problems.
Yes?
I like that you mentioned the public representation.
Yeah.
Yeah, sure.
I mean, I get reminded daily, right?
My wife's like, what are you working on exactly?
And I'm like, oh, some phone stuff, you know.
But I know, like, there's a lot of people, friends, family,
whatever who have tried to search online
for, like, what this Linux mobile thing
or free software mobile thing is all about.
And they tend to see, like, you know,
posts by people and projects who are the loudest
talking about what they're doing specifically,
but not, like, what the whole thing is about, right?
And, yeah, so, like, if a business or you
or somebody's interested, you kind of just get, like,
this hodgepodge collection of information
and it's hard to, like, figure out
what exactly is going on here.
Yeah, it's like you're interested in
and you follow the trail of information
and you end up at some point
and then you start that point
and maybe you could go to another.
And it's fine like that, but it's a big effort
for the public.
Yeah, yeah.
For now, it's for the techies.
Right.
And it's okay because it started from that group of people
and we need to ask people otherwise it wouldn't exist,
but I think it's something that should be ensured.
Yeah, thanks for proving my point.
Yes.
How is this different than, like, Linux in general?
I mean, a lot of people use phones
and in a way that they're not very aware
of what the operating system is, maybe.
How is it different?
Has Linux succeeded where mobile Linux is in or something like that?
Yeah, I mean, defending on how...
You've already had this kind of central place,
but I don't think it does really.
No, no, no.
Desktop Linux is what I call it, I don't know.
Yeah, you know, like Red Hat and Canonical and those folks
who are doing desktop and server distributions.
Those communities are kind of dominated by certain companies
who are out there to make a product and sell support
and sell services and sell products and whatever.
I mean, there are some OEMs who are doing stuff
that are selling products.
Purism is the obvious one,
but we don't really have any big corporate participants
in this community yet.
I honestly don't want to see that happen
because I think there's a lot of history
with trying to run this type of environment on phones, right?
And I think that some of the past failures were due to big corporations
getting involved, dumping a ton of resources in.
You could argue whether it was done effectively or not,
but then kind of just giving up when they lose interest
because, you know, it didn't turn a profit
as fast as they thought it would or whatever.
So, like, I don't want to recreate that.
And I also realized, like, we don't have, you know,
a ton of money pouring into this right now,
which could be a good thing.
So, I mean, this is my attempt to, like,
try to organize without waiting around for somebody to be like,
hey, that's a business model I need to throw money at
and then just overwhelming us with, you know,
like one option and, you know, one or two devices
and sort of just like pigeonhole
in the whole community in that way.
So, I'm hoping that by bringing this discussion up now,
we can kind of prevent that from happening.
And, yeah, it'd be cool if, like,
desktop Linux had something like that.
But I think we're also kind of in a more unique situation,
like people that want to run Linux on their desktop.
The hardware is kind of boring, right?
Like, it's mostly x86.
It's kind of a solved problem.
Every so often, you'll get, like, a Wi-Fi module that acts up
and, like, oh, wow, you know, unsupported hardware.
But on phones, it's like, oh, wow, the whole platform doesn't work,
right?
And then you kind of, like, start from the ground up.
And it's getting better as, like, Luca was talking about.
And the work that people are doing on Mainline Linux,
it's getting better, right, with device spring up.
But there's still a lot of, like, weird hardware out there.
And so, yeah, I think, like, a lot of the organization can
benefit some of that, because, again, a lot of these distros
are targeting some of the same hardware.
So, like, when you run into a problem, it's almost certainly
going to be specific to, like, some device model
or some family of SoCs.
And so, like, as distros, we want to know what those problems are,
so we're not having to try to solve them individually.
Hope that answers your question.
Yeah.
I did think there's at least two things, you know, proposed.
No, I think those are two things I'd like to see happen.
I think they're very much related, right?
What I mean by that is if the distros can get their shit together,
then the end user experience gets better, right?
I think, in my opinion, people who develop applications
for distros and don't necessarily have to think too hard
about the distros or can at least, like, you know,
get the feedback necessary to make something
that works everywhere, gives end users more choices.
They can run more distributions based on,
and they may not care, right, in some cases,
but also, like, it kind of sucks using a phone
and running into a problem that's, like, distro-specific, right?
And you kind of want your applications to work the same,
regardless of what distro you have, right?
Because you don't want to have a phone
that's running post-market OS that supports, like,
you know, these applications and these features and whatnot,
and then have a device running Manjaro or Mobian or something else,
and, you know, you have a different set of things that work there,
and then you have, you know, another phone with some other distro on there
with, you know, some different set of applications
and stuff that work there.
So I think by getting all the distros kind of, you know, organized,
and I don't think it's just distros.
I think it's also OEMs, too,
and other projects that are in the community,
I think, should also be a part of this as well.
And by kind of getting our stuff together,
then we can help with providing a more consistent experience
for end users who, you know, that's what they want.
They want their phone to work.
That sounds like a great closing statement.