foreign
[Music]
today we have Sam Bishop presenting
opening up the final frontier expanding
collaboration open source Aerospace
software
Simon's professional software developer
amateur rocket scientist and astronomer
after observing that Linux and open
source are thriving in space they
wondered why they never seen a pull
request from SpaceX
today Sam will discuss why this is the
case and what we use the open source
Community can do about it round Applause
so yeah I'm Sam contact info as usual is
on a slide
um and yeah there's quite a large amount
that goes into why this situation is
what it is but I'll start with a bit of
background on myself so at the start of
covert I like a lot of people was kind
of in a lockdown and was like what do I
do with all this extra time when I'm not
traveling to work and I was like okay
maybe I'll just build like a little
satellite I've watched these like high
school students do it surely I can do it
I've got way more brains than a bunch of
high school students I've got all this
experience they don't have and I've got
money that they don't have I can do it
and then I rapidly learned a lot of the
reasons why those high school students
can do it and I couldn't and some of
that will be part of the talk but I
worked out that it would actually be
easier to start a company doing
construction robotics in space than it
would be to launch my own personal one
because it turns out the whole industry
is not designed for individuals it's
designed for groups which is why even a
group of high school students can do it
but an individual will struggle so if
any wants to talk about space robotics
with me there's that info but I'm going
to get on to why space is hard and it's
not just because sometimes you drop the
satellite and these poor Engineers
discovered that day yes that is actually
a expensive expensive weather satellite
that was tipped over on its side
accidentally and they actually fixed it
amazingly enough it was cheaper to fix
than rebuild but
so the actual hard Parts not the fun
parts of dropping things is that you
actually have to deal with a lot of
physical challenges in the space
environment and they have some logical
effects and some Hardware effects and
since I'm covering open source in the
general sense both hardware and software
I wanted to cover some of the things
that are relevant in the hardware
context as well so things like how in
space you have no thermal management
other than what you can radiate away so
you actually have to be very careful
about how much heat you produce which
means you've got to pay attention to all
of your thermals very very religiously
you've got to be careful that you don't
make your circuit boards out of Coatings
that contain gases that could outgass
and destroy your instruments or gas
bubbles that could cause traces on the
pcbs to lift up and short-circuit and
all of these kinds of things come
together in a way that makes these extra
details important and then you get more
obvious stuff like radiation well yeah
radiation is pretty easy to deal with
you just have to have redundancy and
redundancy and redundancy So Physical
redundancy consensus algorithms giving
you logical redundancy and then
reprogrammable Hardware like fpgas and
cplds to give you extra Hardware
redundancy but controlled by software
because if a heavy ion strikes into your
circuit and completely destroys a gate
well do you want that to be completely
hosed no you'd like to be able to do
something with the rest of the millions
of transistors in that expensive
component so things like having the
ability to reprogram the rest of that
silicon device that spent hundreds of
thousands of dollars buying is kind of
valuable which is why we see a lot of
fpgas in space and then there's the
communication challenges of being in
space you can't just keep an SSH
terminal open to your satellite well you
can but you need a very big budget for
that and if you don't have that massive
budget you'll be dealing with things
like communication delays and
communication windows and orbital
phasing meaning that sometimes you may
only have on a very cheap Mission
something like 30 minutes to an hour
total to communicate with your satellite
anywhere between once a day and several
weeks so you might have to work out your
software so that you can send a batch of
updates nicely compressed in order to
all six weeks of the next set of charms
out to that satellite
and then wait for the results in six
weeks time and then you might decide
okay well I can do that thing up but I
need more data down so I'll muck around
and I'll work with something like
Optical or laser Communications on the
way down because it's easy to go down
than it is to go back up because you
have a hard time putting very large
receiving telescopes on the bottom of
small cheap satellites but they could
put lasers really easily on there
because lasers can be nice and small but
other things that are coming down the
pipe are satellite to satellite
communication people have done
experiments with using like iridium
modems so like you'd get with a SAT
phone you can just buy they put that on
their little satellite and then they
actually have a very low data rate but a
consistent one and that gives them
another way to get around this problem
it's great for these persistent
connectivity scenarios but this Hardware
isn't widely available because despite
being fairly standard Hardware it's not
open it's the behest of a company with
the licensing and a lot of radio
regulations which is one of the things
that I learned in that process of why I
can't do it individually radio
regulations are not designed for
individuals when it comes to Aerospace
then there's the power which comes back
to The Thermals but the power is the
driver and it's one heavy solar panels
are weight and batteries are even
heavier and you'll find that even on a
professional large satellite you will be
dealing with a significant percentage of
the mass that isn't fuel will be your
power because if you want to do anything
useful you've got to have the
electricity to do it and then when
you're not necessarily going to have Sun
such as if you have to turn the
satellite to point The Big Dish at
something well then you need batteries
to have enough power to do what you're
doing and particularly with radio that
becomes important if you need a high
bandwidth link to send down big pretty
pictures you might have to aim that dish
or that antenna and if you're aiming it
that means that your
solar panels will not necessarily be in
the right place depending on the time of
day with all of those previously
mentioned orbital phasing timing things
which means you might need a really
decent burst of battery power why once
every six months but if you don't have
it your satellite dies so you have to
pay attention to all of these things and
as nicely available as the batteries are
getting you can just literally use like
the the 18650s for a lot of the smaller
satellites and they do get widely used
for cubesats and sort of project SATs
that lithium-ion technology is now quite
well accepted
as well as the fact that Electronics
getting better and better all the time
means that we can use thermal management
and power management lower States and
all of the great stuff that we get for
these tiny embedded controllers to save
every watch that we don't want to use
when we run our tiny projects on coin
cells which is great but at the same
time
with a project this much stuff needing
to be checked off and cared for you
don't want to repeat yourself
that's a diagram of the logical system
part of The Logical system from one of
NASA's open source projects that looks
after a satellite software not even the
hardware just the software and all of
those pieces interact with different
bits of hardware subsystems and
as a developer I look at a diagram like
that and I never want to do that twice
if I build that for myself
I never want to do that again because
that is a significant amount of time and
investment that is operating system
levels of time and investment and while
you know a Linux conference an open
source conference we have lots of
example operating systems to point to
that individuals have done there are not
many individuals who have done that
multiple times
because it does represent that level of
investment that a person does not want
to do alone repeatedly it is bigger than
one person to do this kind of software
correctly and to do the hardware
correctly absolutely shouldn't be done
alone and that gets into the height of
challenges about this being a
environment where you have to work with
other people and those are the harder
challenges in this kind of an
environment for open source it's the the
Social Challenges it's the things like
how in a traditional context an
aerospace company has a lot of layers of
management there will be managers and
managers and Engineering managers and
Engineering review managers and process
control managers and managers to manage
the process control the supply chain and
and all of the layers up and down and it
makes sense once you know how many
things go into a large project but these
companies truly do live and die by this
kind of process control because
they're building gigantic things and if
someone who's outside the organization
say they open source their flight
software and anyone in the world could
contribute to that flight software well
how are they going to stop someone in
the wrong Department who knows nothing
about it messing up what they're doing
for their project let alone someone on
the other side of the world they don't
want their drone falling out of the air
they don't want their plane falling out
of the air they want to make sure that
that software is fully controlled and it
gets harder to deal with the people
inside the organization because you
can't just say oh every commit from
someone who doesn't have a whatever.com
email address has to be double checked
well the rest of your stuff might have
the same domain name the rest of the
staff might not know what they're doing
but think they know what they're doing
and put commits in there is management
complexity that these companies are
afraid of and are not necessarily
prepared to take on to manage open
source in their kind of an environment
and it really does come down to the
numbers because if you look at something
like a 747-400 so that's from 1988 was
the first time that got off the ground
and that had four hundred thousand lines
of code in its flight Control software
city is in the future we're on the 777
it takes off being flown by two and a
half million lines of software
and that's mid 90s it has definitely
gotten bigger it has definitely gotten
more complex there are little niches and
places where these systems interact
between layers and air gaps and things
like well how do I put the where is the
plane now info into a system so that the
really lower security environment of the
iPad in the back of the plane so that
someone can watch their you know movie
for three hours can still see where the
plane is on a pretty map still how do
they render that out of the navigation
software that you don't want someone
being able to hack from the plane Wi-Fi
there are complexities in these that
warrant this level of management
but it can be improved for an open
context and that is part of the economic
problem there is an economic cost in
moving forward to that kind of a change
you need to accept that those costs will
both have benefits and negatives there
will be risks things like if you're a
defense contractor selling support for a
proprietary package to a military well
if that becomes open software you aren't
going to be able to sell it anymore
they're just going to be able to get it
so you can't have that kind of a thing
anymore in an open source
environment that way you have to write
that Revenue off and focus on other
things or you cannot open source that
software and things stay the same and
there's a risk of the competitors that
they work with so if you have you know
Boeing Lockheed and all of these
companies they compete quite viciously
for contracts and they are genuinely
going to be concerned that if they
publish their own work openly their
competitors will take that work undercut
their bid and put them out of business
they don't want to have that and that
gets more and more aggressive the
smaller these companies get when you get
down to the kind of small Innovative
companies working on like small Man
portable drone systems for you know
inspection or you know cattle checking
these these ones are very very
competitive and probably leveraging open
source more than the bigger ones do but
at the same time the fear is there and
they will be leveraging it one way it
goes in it does not come back out
and part of that is regulatory
this is more of an issue with space than
air than the Aero part specifically
every country generally speaking has
some kind of export controls for the US
it's itas or the international traffic
and arms regulations the UK has the
export Control Act the Australian
government has the defense trade
controls act and while some of this does
not apply to open source because in
particular America have done a good job
of clearly cutting open source out you
know there is a relatively
straightforward way to determine if it
is or is not under these for the case of
software there is ambiguity here well
covered in the paper that I actually
pulled that slide from referenced in the
top corner there and that regulatory
ambiguity is where things get dicey for
a company that wants to try and publish
their open source software uh the state
department have a lovely definition
because they are the ones who have their
directorate of trade control that looks
after this and that is that itar has a
list of services and articles and
related technical data that are the
defense articles and then that technical
data definition includes software
directly related to defense articles
creating a nice little circular
reference which means that when time
comes and you have this stuff assessed
to is this or isn't this suitable for
inclusion well
you actually have to have a human go
through it you can't just say for
certain because there is this circular
Loop of world does it come under it
under this interpretation back through
the chain or well when we've applied it
to the thing that it's not used on it's
technically a input for something that
is and that makes it more or less and
it's very ambiguous very manual very
human interpreted over and over and that
is where a big part of the risk for
these companies is and one particularly
annoying little detail is that itire has
a process for marking something as
public so that that half of there where
it's exempt and you don't have to worry
about itar restrictions on your lovely
project but crucially of the eight
mandated ways to make it publicly
available and publicly available is a
noun in this context
putting it on the internet is not one of
them
so you can't just publish the code to
GitHub and have that pull request count
as publishing to the public access in a
way that means it's itar free no you
actually have to have a gatekeeping
mechanism some kind of an extra step in
there do one of those other eight things
first and then it can be public
otherwise you run the risk of breaching
itar which is the kind of thing that you
do not want to do if you want your
company to stay alive if you aren't say
Boeing because they can get away with it
with a bit of a slap on the wrist and a
large large fine but if you're you know
trying to make drones and you breach
that because someone nicked your
software and you didn't do all the right
dotting of eyes and crossing of T's well
you you might not just walk away with no
company you might walk away with jail
time they take that pretty seriously
um and part of that is where we get to
the last part of this the liability in
general risk the liability is a huge
factor for these companies these
companies are very very embedded in a
liability World they are that is you
know they build planes they people's
lives are in their hands and and that
matters to both them and to the people
who make the laws that they have to work
within and those kinds of liability
risks are legal risks to the companies
lawyers they they are unproven legal
risks they are untested by precedent
there is no case law for them to point
to when they are asked a question is it
safe for us to whatever the lawyer's
answer will be I have nothing to say it
isn't therefore it is not safe
and there will be a very big long
process to try and change that
can be improved and it has been improved
in some places in other Industries
already and that legal liability is part
of the reason that open source licenses
in general are being used in a one-way
fashion the code goes in they review it
to their own internal satisfaction they
can
basically look at that little bit at the
bottom of the MIT license that says no
warranty no liability if you screw up
it's on you that part they take the
burden off and all the work they do
internally to take the burden of that
is valuable to the company
it's them doing hard work to accept the
liability and that's part of their value
proposition in using open source
software and to open things up more they
have to contribute back that work in
part even if not in full but in part by
way of trust that they actually use that
code if they publish what they use it
means that that code was actually
verified good enough
and that creates a moral implication if
not a legal implication and that's where
things get more complex for the
companies and it becomes more of a
quagmire for them to try and get dragged
out of by the open Community because
it's very difficult to avoid the risks
of them winding up in a crab mentality
if you make a small light aircraft and
you borrow the code for the navigation
display and a pilot flies it into a
mountain
well the people who put the code in
there they're not actually responsible
for you making sure that that won't fly
someone into a mountain because the GPS
is backwards you are because you made
the plane you put the code in but
you can very easily if you want to avoid
your own legal liability your own
lawyers probably recommending this to
you every time you ask them something
they will be like blame everyone you can
other than yourself because that spreads
the blame and that helps your case and
so they will probably say it may have
been in people who gave us code
and you get the crab mentality you get
one company dragging the other into the
bucket again and everyone looks at the
code and goes we can't trust this it's
not good enough we shouldn't do it this
way because look at that thing that just
happened it taints the entire perception
around using open code in this kind of
an environment where safety is critical
liability is absolutely absolutely lives
are on the line level of liability and
it is going to take time for us to
overcome this but
in the long run it's better because
I kind of don't want to die in a plane
crash because some really smart person
worked out how to mess with the flight
controls by jumping at air gap on the
Wi-Fi from the plane to the navigation
systems because he worked out he could
use some length of wire with as a radio
like I see air gap breaches come through
on the little fun list of random hacks
that I get shown by some people I you
know follow and I'm like wow that's
insanely clever I can't believe you did
that with the hard drive speed noise or
the PC speaker or the LED light and a
camera somewhere else in the room the
amount of ways you can jump into your
Gap just defies belief and when your
entire security model consists of well
we didn't link these two directly so
surely that's secure enough
I kind of don't like that at the back of
my mind in a part that I just try and
switch off every time I bought a plane
and it would be nice to know that more
people were looking at this that that
code was being opened up that we are
actually making those bugs shallow that
we are answering the classic why of what
makes open source software worth it it's
that many eyes make all bugs shallow it
makes the software better because it's
not just the one person doing it and we
have an example of where this has been
done before we've got Automotive grade
Linux now Automotive grade Linux was
started in 2012 so it's 10-year
anniversary last year and it's a
collaborative project that drags in a
bunch of the automotive companies from
around the world so Jaguar Ford General
Motors all of these companies and the
half of them that are subsidiaries of
the other half and they collaborate on
an open source Linux distro that is
suitable for their needs generally
across the entirety of what a car uses
these things for it's not just the
display that shows your cool Android
games it's the the infotainment system
for the rest of the car playing things
in the back seat displays while the
front seats can control them with
parental controls it's having the
connectivity for things like having the
car with a built-in Wi-Fi hotspot it's
for things like having the telematics so
that your car can gather the data to go
okay the tire pressure is low on the
front right side I need to include a
little icon in the top right corner of
my lovely little display Dash rather
than having an ugly light on the main
section all of that data gets golden
process through Linux based systems in
some of these modern cars because the
automotive grade Linux Foundation has
actually stepped up and made one that
they are happy to trust
and they've done that by encouraging
them to share their resources they've
got these companies to go look
we'll let you know what we're getting
wrong and what's wrong we'll give you
some money to even fix it and they've
built this collaborative organization
together with those companies to try and
Foster a community first company is able
to pull from open project and it's made
a difference our cars are generally more
secure now when they use this kind of a
stack because people are actually
checking it and that leads to a large
part of what makes them actually a good
example to pull from is that they're
actually testing the damn stuff
and that is no small fee because they
build their own test Hardware because if
you're testing a headless board in an
embedded context and you might be doing
over-the-air updates via a third-party
wireless network provided to you by the
car manufacturer whose pays and Telco
you know a lump sum up front for every
car that's solds like here's 15 grand
for the next 50 years make that modem
work so we can push updates which is the
kind of thing they do in this
environment you want to know that every
time you push an update over that
potentially unreliable cell phone
network it will work which means that
you have to have silent always not going
to fail on you a b updates working on a
headless environment you have no ability
to go in and inspect
and they test for that they build test
Hardware like those SD mux cards and the
SD wire board that you see on the on the
right hand side there and that lets them
do device under test headless boot
testing and other low-level Hardware
testing to guarantee that their Hardware
that that software is designed for that
they say it's good enough for a car to
rely on for its safety features
they're putting the hard work into
testing that and that is absolutely
critical to have that kind of exhaustive
expensive labor-intensive
absolutely necessary testing done for it
to make a difference in the Aerospace
context if your drone is going to fall
out of the sky because the battery is
low and it lags and you don't know the
battery is low
well you don't want that to fall on
someone's head do you you want that to
land safely and it won't be able to do
that
if it's not tested properly it can't
miss signals it needs to never miss the
signals that are important and unless
the testing gets done you can't be sure
of that which means you can't get a
safety certification
and then you can't sell which is why the
companies care and why the companies put
money into the project and why the
project can afford to design their own
test Hardware like this
and that matters it affords their CI
infrastructure a large part of the there
was a talk earlier today about the
kernel CI Pipeline and a contributor to
that effort has been the automotive
grade Linux project because they care
about making sure that the kernel is CI
tested all the damn time because unless
it's tested all the damn time
One update goes wrong
one firmware rollout goes wrong
one safety critical system goes wrong
and someone may if it's a good day wind
up in a ditch if it's a bad day wind up
off a cliff and the car companies don't
want that so they pay and they make it
work
but the community had to move first
which is why I think we need to start
moving in this direction for Aerospace
software we need to actually begin
building a community group like the
automotive grade Linux Foundation
for Aerospace because we have this world
where drones are being flown around with
Linux on board we've got multiple
systems coordinating cameras and flight
software on Linux powered drones that
hobbyists are doing certainly but
probably the commercial companies too at
this point because well if the code is
up there and I want to make my drone for
under a hundred dollars how am I going
to do that as easily as possible I'll
just go yoink
and it's probably happening yesterday
and that means that the risk is already
out there in a
strict sense but not a practical sense
because the companies don't have any
liability right now there is no openness
they aren't talking about how they've
built these things internally because
there's no incentive for them to do so
all of the things I was saying before
are why no one says that these things
are being used this way there is a
reason why I have not been able to find
a single pull request from SpaceX it's
because when they used Linux on the
starlink satellites on the dragon
spacecraft there is liability for them
massive commercial money on the table
liability lives on the line important
liability that they pay a team of
lawyers to look after
and if they ever publish what they're
using
that gets worse for them
because they're the ones on the hook for
it not the people who originally made it
not the people who were in a position to
publish it openly in a collaborative way
under those kinds of itar restrictions
that would be all their burden and they
don't want that burden which is why
you've never seen a pull request from
SpaceX and why we can do something about
changing that if we try and set up an
organization to Steward this kind of
work and try and create a lack of a
better name for it and Aerospace Linux
group
probably have to find a better name
because automotive and Aerospace same
acronym but
something like that is needed if we want
to try and move this forward because
Starship is going to have Linux on it
SpaceX use Linux everywhere
every time they launched a batch of
their styling satellites back when they
were launching them 60 at a time
they were launching 4 000 Linux
computers into space they were literally
launching 75 separate Linux computers on
every one of those satellites
75 computers in a tightly coupled
supervisory control domain dense
embedded network doing millions of
things all the time flying around up
there with engines that could slam them
into other people's satellites or God
Knows Why
and we have no idea what's going on with
it we just have to accept that they've
done their hard work and that's for the
most part fine
but should forever remain that way do we
want it to remain proprietary do we want
it to remain behind closed doors like
that or do we want to actually try and
push the industry forward like we did in
Automotive
and one of the ways to do that is to
start building that organization start
building that group and start working on
the important projects to make that more
valuable for the companies so that they
might choose to adopt it because that is
what the Automotive Group did they
spearheaded tizen that's actually where
it came from first not the phones it
actually came out as part of this this
Core group and ties in one of those
first wins was Automotive for the
display and the infotainment system and
then they expanded it they built a lot
of work on top of it to make it reliable
and robust and they did that testing
work and they've built it up so that it
is able to do the infotainment the
telematics all of this stuff
simultaneously to a level where they are
happy that it's good enough and we have
to do the same thing for Aerospace
software or else the companies can't use
it and start the cycle because they're
not going to take their old code it was
a footnote in one of the earlier slides
but I don't think they're ever going to
open source what they've written right
now because if they were to open source
what they've written right now that
would be a risk to them that they cannot
stomach if they took that software that
was already flying and let other people
see it
you look back at something like the 737
Max
that was a software problem
100 a software problem there was some
Hardware involved but it was a software
problem that killed people
quite a lot of people for a plane crash
kind of thing actually
and
if Boeing had been open about that
software they may have been
worse out there there may still be worse
in that code and we don't know they
probably have some idea but calculated
risk management is what it is for large
companies like that
and they will never want to open source
that kind of code because that is too
big of a risk for them
and that is just how business Works they
have to stay solvent or else well they
stop being a business so they won't open
source that software they will
potentially adopt new code new code that
has been proven good enough
but we're not going to get a big code
dump we're not going to get someone
going here is the last 30 years of hard
work to make amazing thing because
fundamentally it is like deciding to run
through a plate glass window for these
companies that is utterly insane levels
of risk and they will not take it on the
community has to move first and we have
to start doing things like having
significant testing on the real-time
preempt kernel set it's almost all the
way in now there's just a few little
extra patches left and that's a big win
over the last 12 months 12 months ago
there was still mostly unmerged but
ready for merge now it's merged mostly
and just a little bit living out that is
a big win because a lot of Aerospace
stuff needs real-time systems it needs
extremely precise timing response it
needs to acknowledge updates in a very
important Fashion on hierarchy you need
to have I must know now and I need to
know really soon and everything else can
wait after that
and unless you have those kind of
patches you can't get that guarantee in
the Linux kernel it's just how it works
and so that's a crucial component that's
the kind of thing that could be tested
more exhaustively there are some other
open source projects that are in this
Aerospace domain that could definitely
deserve more Community attention from
people who aren't already working at
large companies there's qbos which tried
to make an open source operating system
for satellites you can actually build
that one still on a Raspberry Pi it's a
great little project but the company
shifted away from it because they
weren't making much money off that
compared to how much development time it
took for them to do the kind of testing
and work that was needed to make it
useful they shifted into running a
management software stack that they had
built side by side with it so kind of a
grafana for your satellite kind of a
thing and that's fine they've opened
that code which is great it's there as a
good example but it's not one people can
just pick up and use right now it has
missing pieces that were previously
proprietary to do with radios and all
sorts of other components but it could
be a starting point if a project wants
to pick it up and then there's NASA's
core flight system that's actually
running real satellites
but once you learn how that patch
process works and how that review cycle
goes you really do get a very quick
lesson in how Aerospace software works
if you want to contribute to that
project you're basically proposing a
contribution not actually giving them
one they may rewrite it completely
because
if you're from a certain country or from
a certain place or a certain there's a
million reasons why they may completely
rewrite it based on your suggestion
or they just may review it and
potentially include it it's a heavily
gated process because well NASA actually
used that to fly satellites so they're
damn careful with it and rightly so but
there is a good bootstrapping project
the open sack kit that gets that all
running up on a Linux you know Linux
environment and a virtual machine and
lets you play with it but Linux isn't a
first class platform for them
because it's not reliable enough in
their View
well we could try and make it more
reliable we could try and push that
forward to get it to the point where
they considered it a first class
platform and not just a good enough for
a VM on your desktop
there's F Prime that's actually flying a
helicopter on Mars we
are openly on regular stuff on Earth we
could see more drones being developed
with f Prime in an open way not in a
closed way because I wouldn't be
surprised to see a lot of commercial
drones using F Prime if they ever told
us what they used
and absolutely critical is maintaining
that real-time preempt Aerospace
software has a very strong need for real
time I cannot emphasize this enough when
you have to move out of the way of
something while moving very quickly at
like
hundreds of kilometers an hour or even
worse thousands of kilometers a second
you need to know about it right now
otherwise you could be in serious
trouble
and
really that is where the bigger picture
is it is testing it is having a cohesive
group to manage that testing to deal
with the funding of that testing and to
Steward the group as a whole like how we
have already done with automotive and I
think we can push this forward it just
needs to start and unfortunately for me
I'm in the same position as some of
those companies so I can't start it I
need to try and encourage the community
to start so I can join
so with that and 10 minutes left I'll
take questions
so did you actually end up building a
satellite oh yeah but I can't fly it
works on my desk
since we already have Automotive grade
Linux could the scope of that be
expanded to cover Aerospace or are there
do they need to be maintained as two
separate and largely overlapping
projects it could but I don't know how
well that would help the organization
for their needs they do have a very
different set of needs and while there
is significant overlap at the core I
don't know how much benefit there would
be in the long run to those peripheral
interests the whole infotainment portion
is a great clear-cut example there you
know all the Aerospace stuff broadly
speaking outside of very specific niches
like large airliners where you might
have a whole infotainment system in them
outside of that there isn't really a
need for large chunks of what those
people are building and testing and
making sure it works so
potentially it really does come down to
how much is done better as a
collaboration between two peer
organizations or whether it would be
better to make it part of their overall
mission and whether they want to adopt
that they are funded at the moment by
majority car companies
those car companies may not want to have
other people you know butting in
they want that control potentially
because that serves their needs they're
paying for that
so it may be but potentially no
any more questions
you said if I remember correctly that
NASA didn't trust Unix for Linux for uh
most things yet apparently they trusted
it for helicopter on Mars how did that
that's got an interesting story actually
um in in that particular case it kind of
came down to they were forced to
um the the better example is that they
were willing to trust the cameras on the
on the landing portion of that mission
to Linux
because with the helicopter they were
forced to take that one because the only
way they could get enough compute power
to do that mission to have that
helicopter fly keep that under the
weight threshold to make these able to
lift off with the very tight power
budget they had that the thing is right
on the razor's Edge in terms of how much
weight they were able to get on there
and how much power they were able to
store and how much they needed to fly
was to run with a Linux board and their
decision was based on okay we can either
try and port a whole thing over to this
or we can take what's already on there
that's good enough that was in fact
actually supported by the the air the
automotive grade Linux so they were able
to use a quite robust hardened kernel
tested line of code it was all custom
down but they could start from somewhere
that trusted and tested they were able
to take that and still build a mission
and then on the other side of it on the
receive side there's actually another
little computer on the Rover that
listens to the helicopter that also runs
Linux just mainly because it was
convenient for the team to do it all on
Linux as one stack and that one actually
talks via a uart to the main Rover
operating system and it's not like that
actually gets to talk back to earth when
they get files from the helicopter when
it's done with a flight it just
literally writes them out to a Serial
buffer and then if the Rover is happy
with that it will then write that into
memory and later do its thing with it
there is layers and gatekeeping in this
process
that is part of their willingness to
accept Linux in this context is because
it's behind safety's not in critical
places was the only option to get it
done on a deadline they were kind of
forced into it and willing to accept
that under certain key circumstances and
that's not to say it was a bad choice
it's a good choice it flies that thing
well
but under other circumstances such as
for instance one of the new missions
that's currently under development
that's going to do a large I think it's
a hexacopter I might be remembering that
wrong but a very large multi-rotor
copter being sent to Titan
that probably won't run Linux that's
probably going to be running a real-time
operating system and a lot of custom
stuff on top
because they can't risk it this is going
to be a nuclear-powered flying
helicopter on you know Saturn's moons
they don't want anything to go wrong
and they won't trust Linux there and
this is the thing that needs to try and
change but with the Imaging cameras that
was an interesting one they couldn't get
all of that to work without using a
regular computer they had too much data
so the Imaging cameras the the wonderful
videos that we have this time as opposed
to last time when Ingenuity was Landing
this time was because they actually took
an industrial control computer that was
used for managing you know regular
production lines one of these little PC
104 kind of embedded boards but a modern
one with lots of bandwidth
made sure it was good enough for the job
the G's and the red hardening and
everything
and then they plugged a ton of USB
cameras into it
so all of those wonderful multi-views of
it as it's coming down and all the
photos that we get from where it's
dropped things and stuff's coming behind
it and all of the wonderful multi-camera
reviews we have of that seven minutes of
Terror
they came in from one single Linux box
because it was the absolute right tool
for the job
because if they tried to do that with a
real-time one they would have had to
basically build half of Linux from
scratch to do all of that for themselves
they had to send that data they had to
do jpeg processing to compress it down
so they could send it back they had to
manage the multiple i o streams they had
to do USB controlling from multiple
points and you know all of that stuff in
an operating system a full one that does
lots of stuff on desktops and even more
stuff on servers
it already does that and that was the
solution that was right for that job
that's a good example of where Linux was
the right tool and they willingly chose
it
but it doesn't get as much publicity
because it's not a cool little Rover or
a awesome amazing helicopter that's like
holy crap it's flying
but it is making head roads and that's
why I'm optimistic that we can change
this
cool anybody else
okay this will be the last question
in this space What competition does
Linux have to deal with
um remembering from early 2000 or early
to late noughties Windows CE was on a
bunch of cars and that was just
horrendous for most part
I don't know if it's as much a matter of
competition as it is a matter of
establishment
the the biggest thing that you see when
you look into the decision-making
process is that they go with what they
can trust and they trust what they know
and right now they don't know Linux well
enough and that's part of the things
there's a good interview with one of the
lead development people behind the
Ingenuity helicopter uh yeah the injury
helicopter and he actually is a Linux
person from JPL and he helped get Linux
into JPL uh it's it's an episode on the
Linux unplugged podcast it's a quite a
long interview if you want to go find it
in their archives and and he outlines
quite in detail how Linux got into this
environment and and why he was able to
get them to trust it and it was a long
process Linux was in use at JPL for over
a decade before this project they were
using Linux on their desktops but for
the flight Hardware they were compiling
to these other environments they were
compiling to things like rtos or any one
of these other environments like VX
works is kind of falling out of action
but it's still quite a dominant one like
all of the Mars rovers that are still
moving uh they all run VX works and and
I don't think that it's wrong to assume
that critical missions in the future
will probably also still run VX works
for a while because VX works is one of
those supported platforms for the CFS
they have a history with this they know
that they can make it do the job and
until we get to the point where they can
also feel that confident in Linux
it won't be in the decision tree and
that is really where it comes down to
that organization that testing
that putting it out on the table and
saying look we all trust this look how
much work we're doing to make it so that
you could too
and then it will become a matter of well
why don't we pick Linux because it is
easier to work with they're already
using it in so many other places but
choosing to Crush down into these more
tightly constrained environments like
real-time operating systems that don't
have full posix layers and things like
that because they trust them more
and if they don't have to do that work
well why would they want to
so I think that it's uh it's a shifting
trade that will definitely improve over
time it's not as much a direct
competition kind of a thing
case in point they ripped all of the
windows off the Control software of the
ISS in about 20 I want to say 12. it was
in a slide from last year if you're
curious because someone accidentally
brought a worm onto the International
Space Station on a floppy
that was a bit of a bit of a red you
know a bit of a black eye and they were
like you know what
we're just going to make all of these
laptops that actually do the system
displays about what's actually going on
on the space station Hardware you know
what they'll just be Debbie and Linux
now
because that's good for the job and it's
on a regular laptop and IBM can provide
support or someone else it's
trusted in that niche
it was good enough even back then
but it's all about those niches and
where they can trust them
what everybody final clip for Sam Bishop
[Applause]