Files

716 lines
63 KiB
Plaintext
Raw Permalink Normal View History

Episode: 3329
Title: HPR3329: Linux Inlaws S01E29: The (one and only) Linux Kernel Contributor Panel
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3329/hpr3329.mp3
Transcribed: 2025-10-24 20:57:41
---
This is Hacker Public Radio Episode 3329 for Thursday, 6th of May 2021.
To its show is entitled, Linux in laws S0129.
The one and only, Linux kernel contributor panel and is part of the series Linux
in laws it is hosted by Monocromic and is about 84 minutes long and carries an explicit flag.
The summary is an eclectic panel of Linux contributors,
discuss technology, anger management and other things.
This episode of HPR is brought to you by Ananasthost.com.
Get 15% discount on all shared hosting with the offer code HPR15.
That's HPR15.
Better web hosting that's honest and fair at Ananasthost.com.
This is Linux in laws, a podcast on topics around free and open source software,
any associated contraband, communism, the revolution in general and whatever else,
fans is critical. Please note that this and other episodes
may contain strong language, offensive humor and other certainly not politically correct language.
You have been warned. Our parents insisted on this disclaimer.
Happy mum? That's the content is not suitable for consumption in the workplace,
especially when played back on a speaker in an open plan office or similar environments.
Any miners under the age of 35 or any pets including fluffy little killer bunnies,
your trusted guide dog unless on speed and Q2T Rexes are other associated dinosaurs.
This is a season one episode 29 of something called Linux in laws Martin Howe things.
Howe things. Things are great. We have some avians land and they wanted to join the show apparently.
Really? Looking forward to that one.
So much for hosting.
Which I'm a little confused about because we have this exclusive round of kernel contributors
on a panel talking about of course Linux and kernels and stuff.
So without further you sorry aliens you have to wait.
Just simply send a mail to gig at linuxin laws.eu or even better to sponsor at linuxin laws.eu if you
want to sponsor us and you thought you out right away so you can appear on a further future episode.
And without further you as I said let's get rolling and welcome the panel.
So tonight we have an eclectic panel of kernel contributors around a virtual table.
And the idea is that you shed some light on the on Linux itself as the biggest open source
project on the planet but before we go into the details why don't we do a short intro round.
Darry why don't you start?
Sure. So hello everyone. I am Dario. I am from Italy and I live in Italy.
I currently work for a Sousa individualization team and I guess I'll say that I started doing
kernel hacking some 12 see 12 years ago and I was told back then by the whenever different person
that what I was working on was bullshit but I'm still here. That's it.
Excellent. Very interesting. Mr. Jan Engel.
Yeah I'm as you may know just by the name German currently working and living in the US for 10 years
or so started kernel hacking think around 2000. At the time I wanted to some sort of
versioning file system basically I wanted version control the file system which
is a horrible idea but it got me into kernel hacking and 20 years later I'm still doing it
about half my time. Wow. Okay. Yes. On to Harylian. Sorry. Sorry. Sorry. Yes.
That's fine. So as the name suggests maybe for some people. I'm French. I work for Sousa as well
from Nuremberg in Germany. I work on the SMB stack at Sousa so I maintain the
the Samba server and I slowly migrate it over the years or over to the kernel clients to mount
remote chairs. Okay. Dave, over to you.
I'm Dave Frankler. German living in France were tired. I'm been hacking a kernel since I can't
remember. My main mission is to support the test and measurement drivers. So I support the
USBTMC driver in the mainstream tree and then I support a whole bunch of added tree drivers in
the GPIB Linux package. Okay. Chocopo. Yeah. I'm back. I'm sorry. I keep dropping off. No worries.
So it's my time. Sorry. I missed that. Yeah. Sorry. Just introduce yourself. Okay. Hi again.
I'm Jakobo. I'm Italian. I live in Italy as well and I'm doing a kernel development in
for like five years or so. So I think I'm the newest one. You're probably. I didn't mostly work
in the multimedia subsystems for camera integration. So I do mostly driver development to the kernel
and I still find it very funny even if I'm doing some more open user space development recently.
So I can mix back and so yeah, I'm still enjoying that and even if it's not been too long. So I
also sent my first batch to Greg with Thunderbird and I was arguing with him that I was right and
he was wrong for like three or four emails but then I'm still around so I think it's a good
side. Okay. Thank you. Look. Hi. Yeah. So my name's Luke Leiden. I actually started on
Samber. This was 1995 and I downloaded a Slack worth 3.1 by walking in on also raised into
the Cambridge computer lab and downloading it on 150 floppies. Then I did my first
reverse, after that reverse engineering that I did my first actual Linux kernel hacking was
the HTC Linux product, the Xanadux project, well reported. Reverse engineer 9 HTC smartphones and
got in a row and got the Linux kernel 2.420 something up and running on it and then later on
ported to a Syroslogics 90 megahertz CPU 2 that was 2.6. That's the 2.6 kernel so it's about 2003.
So quite a few long-term contributors around Xanadux. I think the only one that is missing
is Carlos from a completely mistaken but Carlos doesn't seem to be around so. Okay, cool.
Yeah, yeah. Let's start with a little bit of history. Given the fact that Linux has just turned
26, I think, there's a little bit of history about this whole thing. What do you consider the most
the most important achievement over this period of time and anything goes here. It doesn't have
to be technical. It can be, it realizes change can be the fact that ARM entered the architecture
mix in whatever was it, 94 or something. Anything goes. The floor is yours.
First off, I think it's 30 years, then it started in 91. Thank you.
Obviously, the fact that it's running at all as a major contribution project this size.
I mean, I read a piece about a couple of years back that this is the only operating system running
right from tiny embedded systems running up to mainframes. So I reckon the architecture
choice would come to mind. But again, people may have different views on this.
I would say it was the opposite. For the first 10 years or so of Linux existence,
it was largely in X86 PC thing and there was this NetBSD that was the portable operating system
that claimed to be running on 100 different architectures or something like that.
And then around 2000 early-ish, I ran the numbers and realized that actually Linux
by now ran on more systems than NetBSD. Well, that that trajectory hasn't changed. Linux runs
on pretty much everything. But it didn't start out with a claim to be this portable operating system.
It was very much written for X86. We still have code in the kernel that assumes
that the FSGS segment stuff that we inherited from the 386 is still around 30 years later.
It's gone now. Oh, it's gone. So it lived for a long time and I think it was even used
in other architectures or at least the names were being used for things that were clearly not
the same registers. The difference is more, it make it work at you. The first part of Linux
happened because someone at deck decided to send Linux a machine and Linux then had the
spare machine sitting around and got it working. And most ports afterwards were pretty much
okay, we have this extra machine and let's just copy the X86 or power PC or whatever
arch directory and fix all the bugs that were this particular architecture happens to be different
from the one we copied. And then that is very interesting. So that is very interesting that
you say it's X86 legacy because from the when device tree hit that was very, very clear that
people didn't understand the difference between an ARM embedded system where all the peripherals
are part of the actual computer and it's a comprehensive system where they expect it to be
PC like where everything was self describing a i.e a PCI express bus or a USB bus.
Yeah, in fact if I could say something it's to me what's really interesting it's not only the
portability across multiple architecture that is stunning it's also the different
use cases that say it works because we may have tiny embedded system not so tiny embedded
system like mobiles for super computers which might even be the same architecture sort of at
the end but they are very different use cases and links runs on all of them and it's all the same
care different configurations you are but it's all the same care now. Do we have any Linux RT people
on the call? I used to be one. When I was told that what I was doing was bullshit it was
the percentage was real time is bullshit and I was doing real time scheduling back then I'm doing
virtualization now so now I mean on this very common I found this very interesting because
if you take a look at Linux history the z architecture of 390 x as an s390 x support started as a
hobby project in bubbling in where some IBM engineers but it simply took the kernel and
in their spare time so the log goes anyway see if they could make this work as a I think initially
as a logical partition on the main system and then marketing it came along a few years later
in the rest of history right up to Linux 1 or what is called Linux 1 these days and so I fully
concur with the fact that yeah let's take the arc tree and let's see if we can get this running
on our beloved particular platform hardware platform. I think on the mainframe
took a while for marketing to take over but one of the what was he principle engineer or something
like that fairly quickly saw this Linux thing and thought that was a good idea
and gave or not precise the management support he was sort of on the technical side but he was
the sort of person that no manager really wanted to pick a fight with so effectively the
the small garlic village that tried to run Linux on the mainframe fairly early on had support
which helped a lot and then when IBM realized how many systems they managed to sell because Linux
ran on it that also helped quite a lot. The broad extent you think that the portability of Linux is
actually attributable to to Unix because I mean even Dennis Ritchie and Ken Thompson
ported the first Unix system on to IBM mainframe. It's like being a really simple operating system
Unix compared to you know like VMS or VM36370 that kind of stuff like a file system and everything
is part and parcel of the operating system. On the device that I did the porting it was for
the Xenodox project. We actually uploaded busy box via initial RAM disk over a serial link
believed or not using a tool called handheld reverse engineering tool which you ran on the
pda under wince gave it the two files the in the Linux kernel and the initial RAM disk
and slowly over time I worked out how to put ssh and x11 r3 into the initial RAM disk
in order to get graphical things so we could actually do some exploring and actually run applications
on it and then finally we reverse engineered the the nandflash drive from where they put things
onto the onto the device itself but yeah busy box was key for that not so much whether it was
when it was actually Linux or a posix subsystem itself. No interesting observation and I think
this is what makes the panel pretty interesting because you all seem to come from different
background. Since I don't have interesting stories that goes that back in the past to be
interesting but I might have a question if I look at the landscape right now. Do you think
is there any other space in software that might not be covered by Linux development or
whatever brought to the development development mentality Linux or is it more interesting the
space which is opening like with things like a risk five and open open software hardware basically
and open power. Don't forget open power. Open power. Nobody stood using this.
Yes me. I'm developing an open power processor. That's a very good point. I think you know we're
going to see more and more specific hardware architectures with accelerators and GPUs and stuff
like that. And yes you know we'll operating systems evolved to actually provide support for this.
Well the labours project was I'm heading is designed as a hybrid 3D GPU VPU CPU
you know single in a single processor it's actually extended the open power instruction set.
Interesting observation there because you clearly have the counter
revolution for one of a better expression the shape of Android right. If you take a look
at the at your tip of the Android spec there's more likely that there's more likely than not
an arm compatible architecture like Snapdragon or something with blobs put on top of this
put on top of the architecture in terms of SOC support as a system on the chip and
system it's just let me finish here as a system on the chip but apart from the kind of
proprietary SSE implementations this is pretty much AOS AOS P is an Android open
a source project. There's not much deviation going on here never mind innovation and
any thoughts on this. Well I think I have you started no.
If I can make an observation and that's maybe the perspective from someone who was
worked for also middle-sized business that when you choose to make a product with something you
get you get the BSP and what I've noticed is that is that basically maybe the last 10 years you
get an Android BSP which is designed to work in ways that optimize the GPU space for doing
nasty things in user space and distributing binary blobs and basically making the current
interfaces empty layers that just drives the right values to register basically I've seen that
from camera architecture there is really weird stuff out there and I think that one of the
damages that Android made it's giving a lot of space for doing this kind of things which
have brought many people to work with very old current version or very cripple current version
there was a statistic from Greg that says like a quadcom current is like four million
lines of code different from the main line one and I think one of the important things that might
happen is that give possibility to people that works with devices to work with a kernel which is
close to main line so they can contribute back instead of being old in that very best and I think
an Android has a tiny tiny it's been a force is the driving force is that I don't know if my
perspective is correct any thoughts you just reminded me so you know Intel sold the PXA
processor to Marvel that was the PXA series was ARM did a deal with Intel where they said
will give you a license for a hundred thousand pounds because we're really out of money
I think but they promised to provide modifications to that to the chip back but they when they
looked at it they found that the ARM 11 was so bad that they started from scratch and that was
and sold to Marvel who then bless them when they released the finally released the learning
kernel modifications that they've been keeping in house it was a tarball of seven zip files
where they had the developers had just abandoned the previous one they hadn't done a single commit
ever it any of the things they just taken whatever the latest learning kernel tree was
and it made entry modifications of no commits at all it's stunning so yeah it starts
some of the the disparate stuff of debt of old kernels and dating back comes down to the
to the the the the manufacturers of the processors not knowing what the hell they're doing
and goodness now the narrow started up
but this wasn't the cause for the advisory system was it
no no um that that's another story which I looked on with dismay from having um
uh from the reverse engineering of you know nine smartphones
and none of them shared any hardware and I'm looking at this is easy thing and thinking
what the hell is going on everybody's loving device tree but when you've got a hundred thousand
peripherals none of which are different and only you're only only going to going to have a seed
one then it's kernel device device driver for it because that chip is a one off for that product
and it's going to go end of life there's no freaking point in having a device tree
before before we continue maybe for the one for the few listeners who are not familiar
with the Linux kernel with Linux kernel source content source distributions maybe we should
explain what the device tree system or what the device tree is more than happy to do this
myself understand the other volunteers okay essentially it's a type of parameterization
for hardware descriptions inside the kernel as people already pointed out the little scums
from an inter background but the idea is and this is basically what was just described
with the advent of more and more SOC architectures and other stuff the ecosystem became
quite complex let's put it this way and the device tree was the idea to parameterize
the description of said devices to some extent and this is what exactly what you see basically
with the with the majority of arm architectures smart phones embedded systems you name them
more often than not these kernels would have a an associated device tree explaining or the
defining rather describing the hardware architecture the hardware ecosystem running on
so meaning that you don't have to hard code these these parameters into the kernel but rather
supply them as a config file for one of the better expression but sorry do go ahead just a
just a clarification for all listeners yeah where the assumption is that it's going to be shared
across multiple devices correct but if if I mean I don't know if you were the the the HTC
universal was basically a micro laptop with an embedded 3g modem in it so imagine your
um uh your your your laptop in size only five inches in size we think of course back in 2004
that was just amazing nobody had it anything like it but um it they ran out of pins on the processor
that GPIO pins on the processor bear in mind it's got 110 GPIO pins they hand hat to you
I had a high tech corporation had to do their own custom ASIC we called it ASIC 3 it had 64 more
GPIO pins plus some SPI and iSquedC and STMC ports and things and they ran out of those GPIO pins
and had to use the Ericsson 3G ROM communicating over the serial bus to use 16 more pins this is a
phone that had seven speakers an audio parts um and but it was a custom one off it absolutely
no point whatsoever in having device to it for something where you've only there's only ever one
chip yeah custom unique chip across the whole thing uh Martin do you want to take the next question?
oh yes sorry um yeah so we talked about uh that we've had the history and before we move on to
future opinion it's how you guys see it's um just wondering why did uh you all start doing
bits of kernel development and what did you do before that?
what was the motivation really behind contributing to an open source project
who would like to go first? I've told quite a lot so
it was the proverbial itch to scratch um okay I had a problem the uh only decent solution for the
problem was to write kernel code so okay the kernel is just software I uh was a student at the time
I knew how to program software how hard could it be um turn out to be fairly hard but eventually you
go through with it excellent you'd be doing it ever since yes yeah okay is is that how are we all
started? if I have to mention one motivation is that well whatever reason you get into that the
quantity of code which is available and the average how deep is that? I think when you try
when you start managing all that that gets really exciting and if you ask me why I've started I
cannot tell probably it was a university project but once you get that I think I got stuck into this
it's it's like reading a lot of books every day and that's if you if you enjoy this kind of
things of course it kind of pleasure and pain but I think the the diversity of Linux
is what makes it interesting at least I'm mostly considered the subsystems which I'm into I
cannot tell the real code part maybe that's nester but I think that that's why it's still funny
at least yeah I mean it was kind of the same for me I would say I was studying at the
university computer engineering but even since the beginning of studying university maybe even
before I always wanted to write system software let's say and so the chance came then during the
phd or actually doing some scale development and yeah that area sorry you're a little bit
quiet could you perhaps talk a little bit louder yes I'll try I think you're still very
faint faint somewhere just turn it up a notch and please repeat us because I could really understand it
okay yes I was saying that it was okay sorry go ahead sure it was kind of the same it's kind
of the same for me at what Yaku said the the the amount of stuff that it's the area of very
different things it's what keeps me still excited about doing it I always wanted to write
system software that was staying and the chance to actually act on the Linux schedule it was
the schedule back then came during the phd but then yeah still find it exciting and they
had even if I changed the systems okay excellent and I think all in the end well how did
you start and why did you start more importantly what was your motivation to start doing in the school
I have a bit of unusual path I guess I studied the computer graphics in university so like 3D rendering
video processing is sort of stuff and I couldn't find a job and I did this Google summer of code
saying on the summer project and yeah I did pretty well I think and once I was done with with
my studies so my mentor who worked at the time sent me an email saying no one like we don't have
any good application this year would you like to apply again so since I was finished I was done
with my studies I couldn't apply I wasn't understood anymore so I said yeah I'm not a student anymore
but I'm looking for a job and I couldn't find anything you know computer graphics related around my
area so he said oh yeah I'll you know just send your CV over and it will take your look and the rest
is history as they say so I got the the job that's with me working on the SMB SMB stuff
mostly standby in the beginning since that's what I knew but you know how so we have a lot of
books to work on and eventually we had kernel bugs related to CIPS which is the name of the module
doing the kernel clients for SMB and so little by little I started working on kernel bugs and
now that's mostly what I work on I don't really touch the server side anymore so much
so yeah interesting with with 25 to 30 years in the making given the fact that Linux is already
apparently on a planet called Mars these days where do you see this going
you're asking me or no I'm asking this depending in general and of course you're more than welcome
to take this to take this question oh I forgot to I forgot to say the previous question
so I love that you are working on the CIPS stuff I'm already on because I was the person who did
the network reverse engineering of the anti-domain protocol back in the 96 to 2000 I think your name
is familiar somehow I think yeah yeah you must know James McDonough
we're James was 22 years ago now so my name is getting quite quite rusty I'll not
on that one I got into the Linux in general because of the yawning chasm between the windows and the
and the and the unix world and sambal was the the strategic choke point for that but after
the things didn't really go well because it's quite difficult I don't know if anybody else has
done any reverse engineering of device drivers and and things don't prove reverse engineering
of peripherals but imagine that you are looking at some network traffic and you're literally
just copying and pasting the you implement the client and send it at the remote server so
then then you get a response back and you copy that and you put that into the server and then
you get a client to talk to your server and then you go into the next packet so it's a bootstrap
mechanism and you have no idea what the hell the traffic is doing and then you present that to
you're the rest of the team and they ask you okay so now it's time for a review what does this do
I don't know I think so what does this packet do I don't know it's reverse engineered all I know
is that after 10,000 network packets it just works so it didn't go down very well and I had to
leave the team but then later I got into reverse engineering of smartphones win smartphones for
exactly the same reason that I could see that there was going to be with with the win smartphones
there was going to be exactly the same divide between people who had windows windows see smartphones
and anything else so and then 2006 Andrew came out so I stopped doing that cool
so just to go ahead just to complete the list of how do we get into kernel hacking or kernel
development for my part I used to work for Hillary Packard a lot of test and measurement stuff and
I also tried to reverse engineer a driver for a GPIV or HPAV board from Windows NT
it was extremely difficult because you know it was going by a PLX PCI bridge and then to an FPGA
which had to have the code loaded into it and eventually I managed to get information from
the manufacturer as to what the code is to put on to the FPGA and once I got my driver working
on my decided to contribute it back to the to the community and that's how I ended up becoming
a maintainer for the GPIV at least up I then bought myself a USB to a oscilloscope only to find
that the USB TNC driver from Linux didn't support the IEEE for 8.2 standard so I implemented the
missing code and contributed back again and learned what it was to try and get past the kernel police
that sounds yeah that sounds like Glasgow by the way yes
as a next question how difficult is it to get past the kernel police
anybody having the quality of your code
I wanted to answer the last question regarding how do you get into kernel development
oh my case I started using Open Solaris back in the day and they had very good
documentation but I have a cheap MP3 player they have an F32 partition so that that I couldn't
mount that partition on the Open Solaris so looking at the kernel I guess I realized that
the block size was calculated in the kernel so I changed that to be able to mount the device
so it was more for necessity to go into the kernel development but after that I went to the
I had I had a job that was more sort of a trial by fire because I have little knowledge I was
as a student and my assignment was to port or integrate the avi patches into the kernel that was
to that for that at that time to be able to run cobalt micro focus cobalt from Linux
to cellular Unix into the Red Hat version that was 4.0 so that was a learning experience and
I'm really frustrating experience using gdv s2rs just to find out which code was missing on the
avi patch to make this cobalt finally work and those years yeah Linux didn't have bpf ebf
understand but sorry has the so the trace so yeah I have experience on solaris at that time and
and I was kind of frustrated that I couldn't use the trace and after 12 years now we have bpf and
all this observability that so I had on those those years but we're really good now regarding those
years okay I'm going back to my original question people where do you see this going
in terms of it's it's the biggest it's the biggest open source project in the planet you have
at least more than a thousand steady contributors there's a guy seriously affected or potentially
seriously affected by the bus vector sorry bus vector of course being if Linux is run
over by a bus of course you there are kernel kernel source commentators but ultimately he called
the shots if I'm a completely mistaken what goes into a kernel and what doesn't
needless to say he's very outspoken about certain commodity issues but that would peak my next
question but let's focus on on where do you see this going first anything goes that's the
endora question I guess well I think there's a a desire to start cleaning the kernel I get rid
of the the crafty stuff you know we talked about set a phase get a phase going you know so the hangover
from the 286 to 86 days they've just dumped a whole bunch of ymax code because there aren't very
many ymax users in fact there are none so I think you know where's is going to go we're going to
need to do a lot of cleanup in order to you know get Linux or keep Linux as agile to adapt to new
environments as it has been I think that more than technical issue that that might be many and I
think also the push for removing all the architectures it's maybe due to that it's how well that
that this thing will continue to scale because in in the last year there's been several talks and
presentation about how maintainers doesn't scale in example and the number of contributors keeps
growing but some subsystem are really there is people which is bottleneck and that's not
their fault it's just the structure which is is not scaling fast enough probably and now to make
it scale in a way which is consistent for something like it's what remains of a community because
it's it's huge and it's very hard to keep it together somehow how to scale and out to multiply
the responsibilities which means not to also maintain code but testing also and also how to make
that I think it's where past the professionalism time where it's it's it's it's harder to
contribute to the kernel as a single individual so most maintainer now I have a paycheck for someone
which has a lot of power in in Linux to take decisions and also I so I think scaling in a way which
is not letting grow organically it's a key to keep the community functioning now and be less
independent and to in respect to some pushes that has been in the last years probably
and that's of course as technical repercussion like what you said removing all the
architecture in the body in the body maintains that there might be uses but maintaining an
architecture it's a lot of job and now it's probably harder than than 20 years ago
yeah the Linux doesn't scale threats started I think in 2001 so scalability issues are nothing new
and in spite of the doom and doom in 2001 we survive and we're still around so I'm not that sceptical
so this is what you remember the the Cambridge Linux
Linux meeting where Linux asked all of the kernel maintainers the heads of the kernel
kernel maintainers to to to turn up and there were 36 people at the meeting 18 of them were
armed people and then I said what are you doing here you're armed people go away and come back
when there's only one representative with for the whole of arm and it's like oh my god thank
it's not recognizing that you know at the time there were a thousand licensees for the
arm architecture they're all different they happen to use the same instruction set or
actually they don't because you got arm 7 9 11 the weird Broadcom version arm hard arm 11 with a
hard float thing and then you got the cortex they're all completely different and very sadly
Russell King it's Russell still around as they are maintainer
he's still around whether he's still around us the arm in China I'm not so sure yeah because
when I when we submitted our team submitted the the patches upstream we had done we divided
down into separate files in a subtree below the main arm thing this is when there were only
200 files in the 100 files in the arm kernel device tree device tree directory
Russell asked us to submit it under the current structure which to put everything in a flat in
one directory and was so embarrassed by this because it would have dropped 250 because we have
the nine smartphones that we've been reverse engineering it would have dropped 250 files into that
directory and completely overwhelmed it and I was we were so embarrassed that we just didn't
didn't submit it we didn't take it further because they don't want to embarrass or overload Russell
that I think connect with the fact that for the perspective of being relatively new to the thing
and looking at a bit from the external as I feel myself and still wondering what I'm doing here
I think 20 all the story about people which is very close to Linus and that direct interfacing
with Linus work when the system most broke this motor and now we have people which is indeed
core maintainers and core developer of Linux which is direct access to the maintainers meeting
but there is there is a lot of work that needs to be done inside the subsystem and there has
been a push with the subsystem maintainers book sure maintainership like the RMKMS is doing
and so I'm not concerned about the the the fact that core developer could scale and access to Linus
and a functioning way of keeping it going I'm more concerned about the fact that a lot of people
has a lot of responsibilities and that it's it's bad for their health in session time because
there is people which is very overwhelmed and also it may be hinders a bit the the contribution
weight of some of some part of the kernel or make it less reliable and testing or blah blah and
I think growing in a number of contributors and but also people which has smaller responsibilities
a key for first scaling in a way which is sustainable and maybe you made maybe you see that
happens we've not concerned I think a problem there is always
code review in a way you have way more people that have written some code and send it upstream
wherever upstream is and now upstream you have far fewer people that get to take a look at that
code decide to merge it or more likely decide to say you could have done this a little bit differently
and review is not that much less work than writing the code in the first place depending on the
quality of the code it may actually be more work so you tend to have reviews that are overwhelmed
or then from the contributor point of view review is not happening or it's not happening fast enough
and I'm sending my patches and get no response and getting people to actually send good patches
where the review is very simple and eventually you build up trust and all this comes from Jens
Expo I will merge it because everything has been fine most of the time and if it isn't I
complain loudly once and he will learn getting these people is important but you get obviously far
more people that do one kind of patch in the lifetime it never come back or do a few things or
just don't have the quality or don't have the time they are willing to commit and the botanac tends
to be on the one run up the people that are reviewing code to maintain us and they can spend 90
hours a week and still not get done so there's an issue and I think this was very well
connected with the previous question how hard is to get past the current police I think the
real question is how hard is get to be the current police look at you sometime for contribution
because there is shortage of people doing reviews and that plays a role something like
I think it's still the imposter syndrome sometime it's happened and the very beginning when you start
contributing look at patches and say yeah it's okay for me but who am I to send a review by tag
which is instead very helpful for the community to know that someone are looking to that and maybe
and there's been a discussion recently I guess if it's not worth to make it the review tags
reach it like say yeah I'm looking at this part I have no really idea what this part does but that
part I look into that and it's fine to me and that might make it easier for people to feel like
not embarrassed to say yes I've reviewed that I take it the authority to say I've reviewed that
which I think plays a role in the fact that people may be reached code but does it really feels
like saying that that's okay for me I take responsibility to say so because who am I to say so
it is there a particular reason why something like Garrett is not being used I mean will it
is it just the sheer size that the whole thing would fall over or require a massive super computer to run
you mean Garrett the the code review system the patch review system yeah I think because that's
opened a never-ending discussion about why people would not never give up the best review by email
and I'm totally I do love that I do love that absolutely but we've seen several several time we've
seen some system moving to get left here I can't ask you just I have used Garrett for other
projects the luminous issues in Garrett now a free svvv is using a regulator and often this V just
use send the patches to the tech list and you're done but yeah mostly think that the current
way of doing things today is fine maybe and just just do it but I have used all the systems that
for those for those karnosan I think is the review by email is pretty good yeah I agree with
you Carlos and the other thing is that you know there are so many trees that different patches are
going to go into depending on what area you're providing you're submitting a patch on it's not
like your patches are going into one place they'll go into sort of you know usb next and then into
usb and then into linux next and then into linus is tree so you know automated code review system
is not going to be able to deal with the diversity of trees and which tree feeds which are a tree
subject to which conditions etc etc it would fall over we'll acquire a super computer to run
yeah well if if nothing else if you wanted to make changes you have to acknowledge that it's
distributed and you need the ability to make local changes while still being compatible with the
interfaces to the unchanged part of the infrastructure so basically feel free to use Garrett in your
subsystem but then send patches via email or whatever or send full requests to the next
sprung up in in the tree structure yeah sorry go ahead I mean if if Garrett ends up being a good
thing and everyone is just raving about it it will spread and if it's if people don't like it that
much it will not spread it's very organic well that's the usual evolution called the
the survival of the fittest right which you by the way see outside the kernel in the
in the ecosystem as well and changing tack a little bit not to show how many of you have followed
the last years linux plumber conference because something very interesting happened there
a few people made a proposal to introduce a second program in language in the kernel called rust
now when I review the slides of the of the presentation I came across a remark from linux himself
saying that and I'm over simplifying things but entering c++ won't happen let's put it this way
there's a very interesting mail on the little kernel mailing list outlining the rational behind
this and as usual linux was quite explicit on this but linux actually blessed subsequently
the potential use of rust in the kernel as a safe alternative let's put it this way to see
so given the fact that this is a major change or can be a major change let's put it this way
after about almost 30 years of programming in c what are your views on the introduction
of this new program in language given the fact that this is mostly aimed at the moment if I
understand this correctly a driver development and that's kind of instrumental sub systems like
schedules and so forth I think it's an interesting attempt but it's still an editorial state I think
at this point there's so many stuff to to need it to make it work that I need some likely to see
anything interesting and you know for the at least two or three years I don't know couldn't
conquer more at the moment it only runs on 64 bit inter architectures you need a special c-lang
version for this you need a nightly installation of the rust compiler and and a few other bits
let's put it this way always gonna need a nightly version of the rest of my life but I consider this
to be the first step as you rightly said and given the fact that it took almost 30 years because
until now pretty much the kernel has been done in the semiconductor and c and that's where it stops
I think that's an interesting interesting developer let's put this by especially given the
traits that rust has in comparison to plain c I think it was it's surprising how Linus was
convinced to emerge this I didn't expect it to go that smoothly well yeah me too at least a
certain extent then the entirely personal opinion that I've grown about this is that
I mean at some point I was to say I mean kind of a lot of people are pushing not not
necessarily from inside the head of the community but even outside and what happens outside in
I don't know matters to certainly really so multiple examples of that so I rode opinion that
since there is a lot of attention of these there is a lot of motion these then at some point
probably fighting toward against something like this would just have been not only perceived as
bad but also required a lot of effort while letting it in in this way and waiting for seeing whether
people will ever be able to do anything useful with it which perhaps yes but perhaps no
was the least resistant path maybe I don't buy I don't buy that at all that's not how Linus states
if he thinks that the code is crap while the design is ugly or use any other curse words
he will say so very publicly and if half the current community disagrees with him but he still
believes that he's right he will not back down so this is not based on popular opinion this is
Linus is at least somewhat intrigued by what rust offers memory security in the set type safety
and things yeah whether he's entirely convinced I'm not sure but he's at least intrigued
yeah I think it's strange because you know he's been very adamant about how he dislikes
C++ because it's very complex and other things but rust is also very complex I think compared to
the simplicity of C it's it's not that easy like there's a book to know as a as an exercise to
so the book is about implementing linked list it's a whole book dedicated to different ways
of implementing linked list in rust because it's not that straightforward and actually to do it
properly you know with the language so yeah it's really surprising I think for me
that's the first reason why there's a component in the standard library coming with rust to
implementing lists and but I get your point the thing is the learning curve and I've mastered
that much of a few years back and I wouldn't consider myself for us expert by no means
it's quite steep full disclosure I see was the third language I learned even before starting
university and she has basically been been following me let's play this way for for to bet
expression and so I'm not saying hunting me but C has been basically with me for my for the
better heart for the better part rather of my professional life and I still regard this as one of
the well let's put it this way not complicated languages but you see rust has one big advantage even
Vince the grass compiler to generate code for you code for you you're rather there in terms of
there's not much left in terms of final QA of the code whereas in C once you kind of
convince the compiler to generate code then the real fun starts and give the fact that I'm talking
to currently developers I don't have to explain what an oops is so this is my take on the situation
I mean I agree with you but at the same time I mean C++ also had some arguments you know
some ways to do check compile checks and things like it's not as advanced as rust but still had
some features for that and the latest solid was you know too complex where he couldn't I remember one
of his argument was when you write C you know that a few lines you write you have you have an idea
of how they would compile to you have an idea of the instruction getting generated and such
and for us it's like C++ you don't really know one line could generate a lot of things you have
not really there's no guarantee on that so I think it's very complex language
yeah but I think it's really more complex than rust because of the
processing of operate we have a loading language I've known of people who
why is my code running slow it's C++ is because they did so many operator overloads and somebody
helped them single step through it and they were horrified what they produced
I think what I think is rust allowed in the kernel and that produces more people that could
contribute or maybe more drivers that I think that is when when should we do it for for all
means more drivers maybe more laptops are supported and more more devices are supported
I think rust is a good language I learn first C then list then C++ then go then I'm learning rust I
think it's a good language is yeah it's more obviously more competency but I think choosing
between C++ and rust I choose rust rust I think one of the beauties of C is actually if you
if you're using it long enough you pretty much have a good idea of what the assembly looks like
once you code in a statement and see that is not the case as you just said with C++ rust I think it's
halfway in between let's put it this way complex or what complex I think the safety argument can
make the real difference compared to C++ because it might they might be more or less complex
one of each other but one guarantees you safety for some for most of the of the the meaning that
you can now you can assign to safety the other one doesn't guarantee you that so that's a win
exactly you just have to take a look at the at the at the ownership concept because I'm doing rust
and I think we'll figure out two technical depth and these metrics I would reckon are come into
factor come into come into play a play certain role here because essentially it's talking about
how many million lots of code these days the kernel itself about 20 million last time I check
but it's been a while okay so reckon it hasn't well the last couple of of releases have seen a
certain vanishing of subsystems but I reckon it's right to say it's still a complex beast and
factors or metrics like technical depth and especially if you refactor power portions of such a
large significant code base then any little tiny help you can get from a from a from a from a
development ecosystem like like rust and carbon all the rest of it I reckon do factor in big time
well it's interesting as you mentioned cargo there that's one of my biggest concerns is that
whatever is behind hard cargo gets hacked when I did a very comprehensive review of
the the requirements for secure code distribution I was it took about a month and I found I came up
with 17 separate and distinct requirements to do the full chain of trust and it is concerning me
that rust developers are heavily reliant on cargo which downloads code from completely random
locations that they've never even checked where crates that I would be a go to resource needs to
say you can reconfigure this yep but what if crates.io got gets hacked this happened with
or some location gets replaced like Arch Linux had a package that was replaced by a GitHub
user developer had closed their account a hacker had registered that same exact same username
and created the exact same package and managed to get get a Trojan uploaded into into us Linux
that is of course the danger with centralized package distribution
infrastructures but at the same time it has happened to part why and I think it took it
it took about what seven hours for these I don't know how many I pass of eyes to spot this
and to eliminate this grant as it wouldn't happen with Debian because they they use the
what a webed a chain of trust to to to do GPG signing of the things it would never happen with Debian
well for free just submit a poor request for for cargo for cargo or for for great
oh here no jokes I hear you absolutely Debian has had other security at night may as that
shall not be named so I won't hold up Debian as a final example okay guys okay final final
question are reckon because we we have to close the show at some stage Linux itself Linux of
course is a bit of a of a colorful character let's put it this way and especially if you take a
look at something called the Linux kernel main Linux you'd see quite a few runs you'd see quite
few examples of very strong language that split this way there was this hiatus thing where he went
actually out of I would say out of business but what's the bottom for into a temporary time let's
put it this way I think a few years back came back there were rumors on the street that actually
went to the therapy he admittedly did say about himself that he's that is coming from a dysfunction
background but then he sees nothing wrong with being abrasive outspoken never mind insulting it
at times what is your view on this hmm if I if I may so is anybody seen misbusters is anybody
else a fan of mythbusters I love it I watch every every eight months I would watch all 250 episodes
of a period on a cycle and one of the episodes they had what is the effect of swearing on pain
because you know if somebody hurts themselves they swear right so they they studied
scientists did a scientific control study of whether if you swore with where your hand was in
an ice bucket which is a unknown way to to to to induce pain whether you will be able to tolerate
pain more if you were swearing and it turned out that you can and I think that's sort of people
misunderstanding why people are swearing on the mailing list it's because they are relieving stress
and that's a yo to to to be intolerant of people because they are doing so is completely
misunderstanding the neurophysiological effects of the the extraordinary complex job that they're
doing I fully appreciate that concern on the other side they're basic social protocols which
you violate when you become that abrasive that insulting because that's normally not how society
is work isn't there a bit of responsibility is around that about all the custom chatting that
happens around allliness as as called this guy on the mailing list and you go there there's
four onig say here's the middle finger to it to someone isn't that a bit responsibility to
it made too much gossip around that what we care is actually working I am trying to play
devil's expert advocate yeah but no I'm in general not the specific I'm in general about
the initial characterization of that here is the background the feelings and that opens
totally different argument and the definition of people there were quite a few developers who left
the ecosystem because of his behavior if my results correct on the other side you also have
developers that have left or not joined various new projects because quite frankly the culture
doesn't fit absolutely without taking sides you have a certain culture in a certain project and
if you are okay with that culture free free to join that project contribute have fun
if you don't like that culture go find a different project
I think I'm one perspective that sorry but I've been talking about it with a friend
a few days ago so I'm sorry to interrupt you but I understand what you say but it told me you
have to consider people liking different cultures when being schooled in public it's like public
communication and so you have you have a developer for from a culture where that perceived being
schooled in public or being salty in a way which is it's not a fending for me something like
that hands his career especially in Japan or exactly I would think about Asia
there were similar issues in the airline industries where exactly those
different cultures where our saving phase was a big thing had airplanes crash because the
co-pilot settings like who the weather looks bad which would have been translated to your flying
into a storm and you're going to kill us all but because culturally it was not acceptable to be so
frank the co-pilot tried to warn the pilot in also many words and the pilot didn't get it
and the plane crashed and 200 people died and there were I think multiple instances of that
so now it may be bad for your career but but it also has consequences to be more polite and
in the airline industry people actively went to a more confrontational it's paid as it's paid
culture is that a good thing or a bad thing it's harder to say for the colonel but
somebody else's career made me it not be the most important thing in the world
somebody else's life might be more important the quality of the product might be more important
I still feel your right it is important to recognize the responsibility of getting things wrong
especially with Linux now being used in embedded systems mission critical systems
frank but insulting is really crossing the line of things especially when you're communicating
by text you don't know there's no need to insult a thing so to over simplify things the more you
use rather but in the code get the code gets especially in embedded systems
I'm just I'm just over simplifying things here I think it is really important to understand that
when somebody is shouting like that that they are releasing stress and they're it's a way of coping
for them just off and spread okay we're wrong yes I'll fully see that angle
I mean this I get this when it's happening in like when you're talking with your voice but when
you're writing typing I I don't buy it I don't think this releases any stress by typing insults
especially after the fact maybe Linux has a voice to space system it does review like that
yeah I've done it I've done it many times really all right I mean he's he's not the only one right
maybe he's the worst but quite a few people are quite a pretty outspoken whenever I'll
fully start I don't read the LKM regularly but ever whenever now then I do take a look and
quite a few people quite a few contributors don't beat on the bushless British way especially
when they have a concerned voice okay any final thoughts before we wrap this up
I think that one was quite a quite an interesting thorny thorny topic I do wish I would like to see
that there was it was a how can I put it a conflict resolution series of procedures that people
would would felt safe to call on in in three separate projects that everybody was happy to to use
maybe it's more a diplomatic process you know voting or something I don't know
but the one I mentioned this I did it with JT and the open source this what open source voices
one there's a website called CRNHQ.org which has some great conflict resolution things and
there's also the Aldi Institute you know the guy from MASH who helps people to scientist to
communicate and these these procedures but the processes that the CRNHQ anybody can read them
they don't need voting it's it's about empathy and people acting in a role of mediator should they
choose to do so to to listen to what the other person is saying I think it's very interesting
I do wish that more free software projects actually use this include
for Linus's case and he's a personality that we've lived with with a very long time I mean he's not
he's not surprising the way he is and you know he has a model of the benevolent dictator and he's
not going to show empathy with something he thinks is a bad idea ever you know so you just got
a look where that all just you know find another project that's my opinion how do you
sorry to ask you a question no I appreciate we'll wrap up but how do you square that
when you see it as a duty or responsibility to fix something fix as in you have a bug in your code
or fix as in you have a bug in your culture a bug in a culture or a systemic systemic problem
that I think for example with the the whole reason why I got into sambal was to fix the
yearning chasm between the windows world and the and the and the unix and linux world where
people would get trapped running windows and couldn't convert over to running on a unix system
a unix fast system well if you follow the discussion about the introduction of CFCI I think was
mostly about that moving from a code of conflict like the Linus kernel that to a code of conduct
which is punitive and the other implications I think it's part of this of this process between
trying to adapt the culture to be and which not being insulting doesn't mean accept in bed code
but sometimes also saying like no this is wrong asking why did you do that it in reviews makes
difference and maybe people is sensitive I know and sometimes you have to the feeling that people
they think to seriously grow but I think when the introduction of code of conduct and removal
of code of conflict or all the day made that it arose around the proposal communication
standards in lavella it's part of this kind of evolution and the empathy that you've been talking
about probably okay we had a code of conflict and I mean the rules were already there but they
were not enforced like you have not to do these things and that and that was not enough so
probably shows that something was not totally okay with that that's a big for another time that
one is a whole dollroom ever so absolutely I know that it's not that the end of the right answer
for the last question let me share yes and there will be a continuation of this at results
you will you will get the right answer no worries okay Martin you would like to do the other
to wrap this up yeah that's like to say great contributions from everybody and a great bunch of
experience that you all have in in developing Linux and obviously there's many many systems
relying on your contribution so great job everyone and thank you from myself and likewise from
Chris I'm sure yes thank you very much for participating and thanks again for participating thank
you for your life thank you
well that was a very eclectic discussion don't you think yeah it's great insight into the
well into the the biggest and longest longest running not entirely sure probably the longest running
open-source project right so is there any other one running longer I can't remember
of course ebex ebex never mind ti yes our favorite ever so excellent indeed
and what I'm particularly interesting was the discussion at the very end about swearing and
lowering paying levels and all the rest of it yeah I agree that that's a bit of a common theme
amongst well especially if the for people who are considering contributing considering patches
right on on any project what are the the levels of you have to or the hurdles you have to overcome
to do this and why would you do one if you're just going to be shafted out to put it simply
and then but then only on the flip side you have the case of a recent episode which is yet to be
released where you know your code is public and by the way this is a rust episode coming up
your code is public and people will dig into it and people will find holes in it therefore which
is the great thing about open-source many so holds in rust okay not not in rust itself but in the
application of it I see I mean this is yeah this is the usual dilemma right because as as the
discussion turns out yes there may be indications of swearing lowering paying levels I get it
but on the other side that violence basically basic social protocols so when so you essentially
you're working a fine line between lowering your paying level and pissing off contributors as
in fellow contributors and that's exactly what happened because quite a few people actually left
the project right right there was some intel girl lady details will be in the show notes of course
who left for that very reason and I can at least recall one subsystem in here now defecting for
the same reason because he was simply not having it with regards to the behavior of certain
benevolent dictators for life as a speaker fails of the project as you put it it's a certain social
protocol was I mean just take a look at at a self-confessed artist called Richardson Stormman
hmm yeah it's if if people choose to break those protocols and they do so for a reason and as you
say maybe for their own reasons but then that from the contributor side you have to consider
is it worth this I mean okay you may not agree with it but what are you trying to achieve with your
contribution right so that is maybe the main thing that is important here rather than
whichever way people communicate you have to be beyond that right I mean this is this is the
reason why I suppose that many many many many projects now and you'll see this happening with events
as well now I have something called the Court of Conduct which explicitly outruled such behavior
right that's very sensible yeah yeah and I think someone made the point about
the fact that it's done via email right so you know if you swear in a moment when something happens
and its reaction to a certain event or a pain or whatever is then that makes sense but if you
do an email it's it's a thought process that you can easily reconsider or not apply and let's
put it that way plus the fact that either for example the Linux kernel mail-inness gets archived
so your rands your swervings your your your operas are there for eternity to everywhere for
everybody to read not great no I agree with that yeah yeah so yeah but I think we had a number of
people who well actually we had the people in both camps right indeed yeah and and most of them
most of the panel were on have been contributing for many many years right apart from a few relatively
new guys as in five five years I think some of that but um all the others have been doing it for
many many years so they obviously you know as I said CB on that or or put up with it or whatever
you want to call it yeah indeed yes for a bigger bigger project right maybe they're just born
to suffer no I'm joking people this is not this is not this is not this is not how I see things
actually I see both sides but I think society and this is a broader philosophical statement now
so td has got to the states where it's in and of course that is a subject for debate for the
other whole different show not by swearing but rather by cooperating and facilitating and stuff
and social basic social protocols played a very important part in this part in this
indeed indeed and we are at every end right or any final passing remarks
well the final passing remarks apart from that that last topic that I found it yeah interesting to
me people that have been everything at that kind of level since since the year zero pretty much
yep pretty impressive and that brings us to the end of sad show season one episode 29
the big kernel panel and see you next time bye bye this is the Linux in-laws you come
for the knowledge but stay for the madness thank you for listening this podcast is licensed under
the latest version of the creative commons license type attribution share like credits for the
intro music go to blue zero stirs for the song summit market to twin flames for their
piece called the flow used for the second intros and finally to select your ground for the
songs we just use by the dark side you find these and other details licensed under cc hmando
or website dedicated to liberate the music industry from choking copyright legislation and
other crap concepts
the
You've been listening to Hacker Public Radio at HackerPublicRadio.org.
We are a community podcast network that releases shows every weekday, Monday through Friday.
Today's show, like all our shows, was contributed by an HBR listener like yourself.
If you ever thought of recording a podcast, then click on our contributing to find out
how easy it really is.
Hacker Public Radio was founded by the Digital Dove Pound and the Infonomicon Computer Club,
and is part of the binary revolution at binrev.com.
If you have comments on today's show, please email the host directly, leave a comment
on the website or record a follow-up episode yourself.
Unless otherwise stated, today's show is released on the creative comments, attribution,
share a like, 3.0 license.