Okay, finally we're set up.
Many thanks for your patience.
Let us kick off immediately with NetBSD 10.
So as you probably know, NetBSD turned 30 years old, or 30 years young last year.
We've tremendous improved in the security support of CPU, GPU and stuff like that.
Also NetBSD is quite known for its package system.
We have here Benny with us.
Benny has been a developer for more than 10 years on NetBSD.
He's been as well with us many times at the NetBSD developer room here at FusDem.
So who better than him could talk about the 30 years of NetBSD.
So ladies and gentlemen, please welcome Benny Siegert.
Thank you for the kind words of introduction.
So welcome to this talk today.
I have mainly three topics for you.
30 years of BSD.
I want to talk about the new NetBSD release, NetBSD 10.
And are we at 50 years of BSD yet?
And that's what I want to start with.
And the answer is maybe, depending on how you count.
So one BSD, the first Berkeley software distribution was released in 1978, so that's not 50 years.
However, the work on BSD started in 1974 when the computer science research group at Berkeley
University got a PDP 11 and they installed Unix on it and they started hacking on it.
In fact, they didn't have sole possession of it.
They had shared with the mathematicians and they were using a different OS.
So twice a day they had to switch the stack of disks and reboot.
So one BSD, I don't know, isn't that interesting?
It's mostly like a collection of utilities.
You already need Unix installed and you can install some BSD stuff on it.
Two BSDs may be the interesting one, which came out in 1979 because it's kind of a full system.
And what I find amazing is that two BSD is still maintained today.
So there's a collection of some crazy folks on the internet, obviously, that are pushing out patches
for two BSD every once in a while.
The last one was less than a year ago.
And so like one BSD, two BSDs only for the PDP 11, but you can emulate one.
You can use SimH, run a PDP 11 emulator and run 2.11 BSD and see what it's like.
You can even go one step further if you're willing to do this and buy this thing here,
which is called a Pi DP 11.
It is the front panel from a PDP 11 model 70, except shrunk by a factor of three.
So it's not quite as bulky.
And in the back you stick a Raspberry Pi and it runs a PDP 11 emulator.
And all the lights and all the switches and all the key switch even work do the right thing.
So you can do this and run any of the PDP 11 operating systems, including 2.11 BSD in 2024,
that's your thing.
And then three BSD made a major change that they did, they ported it to Vax.
And at the time it was still single architecture, so PDP 11's board vanished, instead was replaced
by Vax and 4BSD was kind of the same.
By the way, this will be very abridged.
I will not go into all the details.
BSD history would be its own talk and other people such as Marshall Kirk McKewsick have
done this much better than I could.
But anyway, so I want to highlight one release, which is a bit weird.
Frankly like Berkeley is terrible at naming.
4.3 BSD Tahoe was named because in addition to the Vax it supported the new Tahoe architecture.
Now you probably have not heard of the Tahoe architecture.
That's because it was a colossal failure.
And the only, this is what the workstations look like.
The only company manufacturing these workstations went out of business about two months later.
So there are practically no surviving machines.
I don't think anybody knows much about these.
Apparently Pixar had one and they used it for special effects running BSD.
What was special about this release is that it was both for the Vax and the Tahoe.
So they separated all the bits that are specific to an architecture support.
So people took this and said like, I don't care about Tahoe, I want to run it on something
else so they ported it to all sorts of other architectures.
And this is sort of the origin of the multi-architecture nature of modern BSD operating systems.
And then again I'm leaving out a few steps.
Then it gets very messy.
There was a lawsuit involved and so on.
And at some point there was a release of BSD that ran on PCs.
It was called 386 BSD.
And the team was I think two people.
And there was a lot of buzz around it.
It was a lot of development and a lot of patch sets and stuff.
But the development of 386 BSD itself was kind of sluggish.
So people started taking matters into their own hands and that's where NetBSD comes from.
So I found the announcement from 1993 of NetBSD 0.8 for whatever reason they called their
first release 0.8.
And it starts off a bit odd like we've been wondering what I've been up to, blah, blah,
you know I've built this new system.
I'm calling it NetBSD.
Essentially what it is realistically it's the last 386 BSD release 0.1.
And all the patches that were floating around the net and that were okay, added on top.
And that's also why it's called NetBSD.
Because in 1993 not that many people had internet access but NetBSD from the start
embraced the internet as a method of development and getting patches and distributing the OS
and so on.
So NetBSD as the name implies is a creation of the members of the network community, meaning
the internet, without the net it's likely that this release would not have come about.
So this is 30 years.
This is a bit more than 30 years.
It's not quite 31 so I guess where it counts.
I want to dwell on this announcement for a bit more.
By the way there's four signatories on the bottom of the announcement.
You see CGD is the one who sent it, but there's also Theo de Rage is one of the signatories.
He was one of the founding members of NetBSD before they kicked him out and he ended up
founding OpenBSD.
But what is interesting is that it tells a little bit more about the purpose and the
plans for NetBSD.
And it's interesting seeing these and comparing what has happened since.
So I've added a few highlights here.
Why do this at all?
And it says we consider this an escape from the political wars surrounding our wonderful
operating system and we want to do a stable production quality release.
And also this bit we intend to integrate free positive changes from whoever will provide
them and we hope to create a stable, accessible system and to be responsive to the needs
and desires of the users.
So here you can see the project values laid out in short form.
No religious wars, stability, community, acceptance of patches if they're okay.
And I think these have largely held up honestly.
Like 30 years later I think the NetBSD project is holding up these values even though probably
most developers of today haven't read this thing here.
I mean I hadn't until I prepared this talk.
That's quite nice.
And then what ended up happening is sort of a Cambrian explosion and one of these aspects
of people contributing their stuff is people contributed support for the machines they
were using.
And that is how NetBSD got this reputation of running on all the things, even including
toasters.
So this was sort of the peak of NetBSD porting.
The year was 1995.
This person here is Jeff Rizzo, a NetBSD developer.
And their company Technology Systems Design presents toaster running NetBSD.
Of course it runs NetBSD.
And the point of the project at the time, so you see there's an arm board there which
is in the toaster.
But it's sort of IoT in a sense.
It had remote management and it could actually manage the toasting function.
So it could change the duration or the heat or whatever.
It has a little display which you cannot really see at the front.
So this was like famous, you know.
It runs on everything, even on the toaster.
And that was 1995.
And I want to go slightly heretic here and ask, is any of this relevant today?
Because if you look at the list of architectures on NetBSD calls and ports, there's I think
71, if I remember correctly.
And they're in three tiers.
Tier one is like the good ones.
Tier two is the ones that may have some problems, but they're sort of chugging along, maybe
not the main focus of the project.
And tier three is the ones that are on live support and basically dead.
Anyway, if you look at the tier two architectures, they all seem kind of retro in a sense.
Dreamcast, really.
Amiga, the B-Box, who here has a B-Box?
I don't think any one of you has a B-Box.
So I'm going to offer this.
I think the portability argument is more or less dead.
Because there's no modern hardware, I think, that runs NetBSD but not Linux.
If you look at say, new RISC 5 boards or something, they come with a Linux kernel.
They don't come with a NetBSD kernel.
Usually.
By the way, this is the list of tier one ports.
So the important focus things are ARM, X86, 32, 42, 64 bits, Spark, and Xen emulation,
and MIPS and PowerPC.
Anyway, so these are the tier one ports.
So it's a good list, but still.
I mean, is portability the sales argument anymore?
I don't think so.
So what remains?
Why would you want to use NetBSD?
And going back to the values we heard about earlier, so we have an accessible system, but
it's still powerful and stable.
And by accessible, what was meant then, and what I mean now is, it's something you can
understand from top to bottom.
If you're starting out with Linux, let's say, and you try to figure out how a modern
Ubuntu system works with system D and 100 demons running everywhere and things reconfiguring
themselves, it's very hard.
It's simple on the surface, but underneath hides a ton of complexity trying to make stuff
work.
NetBSD is different, I think.
It's simple throughout, and that way you can understand it, all the layers and how they
work together.
There's also documentation there.
There's a NetBSD guide, which is very long and complete and has a ton of stuff.
So you have one eBook, if you will, that explains the system to you.
You can read the main pages, which unlike in Linux, main pages are usually complete and
well written.
There's a system D, maybe some of you like that.
But I keep saying to people, why should I try a BSD operating system?
I think it's a learning opportunity.
And even if you're, say, a Linux user today, and you try BSD for a few months and you come
back to Linux, maybe you have learned something about the system.
I think that's good.
But also, NetBSD has some crazy research things in it, but it's also kind of old school unix
in some sense.
So I think it's a nice compromise between these two very different worlds.
So if you boot it today, you're going to have a graphical console.
You have graphics acceleration.
You have like ZFS, modern volume management.
You can run all sorts of software.
You can run GNOME on it.
You can run Firefox on it.
You can run Rust programs, Go programs.
It's all there.
And I think the main actual uses that people are making of NetBSD, one is on the server.
It is a very solid, very reliable server OS for things like routers and stuff, firewalls.
But also, it is kind of surprisingly useful as a desktop OS.
Maybe you might have to make some compromises here and there, but like you can listen to
stuff, listen to music in Firefox or some other player.
You can watch YouTube videos.
You can use LibreOffice, whatever you want.
It's all fine.
Or you can do things like this here.
This is a Dynabook running NetBSD with a patent input.
Again coming back to the announcement email, I keep coming back to this.
There's so much in it.
The welcoming community is also an important thing.
I think not all open source projects, not even all BSD projects, have welcoming communities.
I think NetBSD does.
This is the group photo from the 2019 package source con in Cambridge.
I don't think we have done one since COVID hit, unfortunately.
But like people are generally nice and welcoming.
I think that's very important.
And it's a good thing to have.
Changing gears a little bit, I want to talk to you about the new release.
We've done 30 years of development, but what do we have to show for it?
We have NetBC 10, which in fact is not released.
When I wrote the abstract for this talk in October, everybody was saying, you know, it's
going to be released in a month.
So I just put this as a given here.
We have the new NetBC 10 release.
I'm going to talk about it.
It's not there.
We have release candidate number three.
But it's okay.
It's all release candidate number three.
To understand where we are, I want to talk a little bit about the release timeline and
maybe also about the way NetBC development is organized in general.
So NetBC has a core team and only the people, well, has a core team and has a slightly larger
team of developers that have joined the NetBC foundation and have officially joined the project.
And they're the ones that can directly commit to the repositories.
So if you're not a NetBC developer, you cannot directly commit to the NetBC repo.
And all the development of NetBC happens on the head branch, well, on the main line.
And then what happens is every once in a while, there's a branch for the numbered releases.
And between the branch and the release of the .0 version, there can be quite a lot of
time because you find that there are some problems that you didn't notice.
Usually you know, usually once you have a release branch and you're in beta at that
point, many, many more people start using it.
And they find many more problems that you didn't know about, for instance.
So the release of NetBC 10 is probably going to be in February sometime.
But the branch of the 10 branch was in December 22.
So it's already been branched for quite a bit.
And after the branch is done, there are no direct commits by random people into the branch.
But instead it's all going, it goes by tickets and they're reviewed and there's the discussion
on them.
So it's a bit more stable in that sense.
So like, so the basis of this development is already a bit old.
It's already from 2022.
So if you have hardware that's newer than 22 and it doesn't work on NetBC 10, maybe current
is actually better.
But also the point I want to make is the NetBC 9 branch was in July 2019.
So you have three and a half years of trunk development that has also gone into this.
So I'm going to explain some things that have changed that are new, but there's like
a million other small changes that would be far too boring to talk about.
So the one thing that you might immediately notice is performance.
Performance has increased a great deal, especially file system performance, which to be fair
was not very good before.
It's good now, I think.
And the scheduler has improved a lot.
So if you have a system that has big and little cores, for example, an ARM or an Intel CPU
with performance cores, they call it and power saving ones or something, the scheduler is
aware of that.
And depending on how much like punch you need, it'll use one or the other.
That's very nice.
The graphics drivers have updated to be on power Linux 5.6.
So you have accelerated support for AMD, for Intel, for NVIDIA.
There's a new wire guard driver, which may be interesting.
So if you're using tail scale or another VPN on wire guard basis, and this is not the original
wire guard, but it's a re-implementation from the spec.
And then there's much improved DTFS, newer version, and also much improved virtualization.
For example, for Xen, I don't know if a lot of you use Xen, but in the past Xen had two
virtualization modes.
There was the HVM mode, which did not require any collaboration from the OS.
So you could run an unmodified Windows on it, but it was kind of slow.
And then there's the PV mode, para-virtualized one, where the OS is sort of aware that it
is running on Xen, and it's not actually, it's its own architecture, basically.
Like the kernel is directly written against the interface of the hypervisor instead of
pretending to talk to hardware.
And Xen folks have added three sort of in-between modes, and I think we can do them all.
So one thing you can do if you're on HVM, you can gain speed by using para-virtualized
driver for network and storage.
And these are called VIRT-IO.
So NetBeasty has those.
There's a mode called PVHVM, where you also have interrupt and timer that are, like, not
pretending to talk to some Intel interrupt controller, but to talk to the hypervisor.
This is called PVHVM.
I have that too.
And the highest performance mode these days is called PVH, which is a para-virtualized
system.
So I used the Xen kernel, not the, I don't know, AMD64 kernel, but it uses hardware support
for page tables and stuff.
So this is the highest performance mode, the PVH mode.
If you're using Xen, this is what you should be running.
And the whole thing is more multiprocessor aware.
The DOM zero, which is the sort of the host system, can be multiprocessor.
The individual VMs can be multiprocessor.
This is really nice.
This graphic here comes from Brendan Gregg's blog, by the way.
What color is the Xen?
If you don't know Brendan Gregg, you should look him up.
He does good stuff.
He's also done amazing talks at Fostern before.
And then in terms of hardware, I think the biggest amount of work has gone into ARM.
This in general, I.O. is a lot better in ARM, like if you're running it on a Raspberry
Pi, let's say, you'll notice you'll have more network throughput, more disk throughput.
That's all really nice.
There's support for the security features in modern ARM processors in the ARM V8E instruction
set.
Many of them help against the sort of return-oriented programming, like exploits.
For instance, you can authenticate, the kernel can authenticate the pointers.
The pointers are tagged with a secret tag, and only if the CPU will check if the tag is
there, otherwise the pointer cannot be dereferenced.
So you can't just take random memory and say, this is no pointer.
This branch target identification, where in the instruction set, only instruction set
level, you can say, here's a branch, but it's only allowed to jump to this address or this
address, something like this.
And there's a mode called privilege access never, where the user space can actually
forbid the kernel from accessing a page.
So while you're holding your key material, for example, in memory, you can mark it as
privileged access never, and then nobody else has access to it.
So that's great.
Crypto support, using crypto instructions if the CPU has them, and a lot of new systems.
And there's three things that might bite you if you upgrade.
So I want to mention them specifically.
One is SSL route certificates are now in the base system.
So before you had to install a package called Mozilla root certs, and that was always annoying.
Nowadays, you install, SSL will just work, certificate validation will just work.
It's nice.
Entropy management means that if you don't have entropy, if you don't have randomness,
then the kernel will not give you random data.
And practice what that means if you're running in a VM mainly and you don't have an entropy
source at all, things might hang when they ask for random data.
And that's not great.
So there's some, the config files have special support for stuff.
Also there is a VRTIO RNG driver where the host of your VM can hand randomness to the
VMs.
And so if you enable that, you may have to enable it in your QMU config or whatever you're
using, then this is better.
And finally, there's a new feature around POSIX ACLs and extended attributes.
So these are attributes on files.
And they need a new file system, or rather like a variant of the existing file system.
So by default, NetBC has FFS version 2, the fast file system.
And there's a variant now that you can choose when you install called FFS v2 EA, which has
extended attributes.
And if you do that, you should be aware that older NetBC versions cannot read it.
And also if you installed current at some point and used that, there was a flag day
where that format changed.
So you did, I don't know, there's a complicated procedure to not lose your data.
So that's by the way one reason why NetBC 10 is late because there was this file system
problem.
But FFS v2 with extended attribute is not the default, I think.
Only if you need POSIX ACLs, you can choose it during installation, but default is just
to disable it.
So now that I went through like this laundry list of things, I don't know, some of you
might be bored.
I'm going to ask, what are you going to run it on?
Maybe you say, you have convinced me, I want to try out this NetBC 10 thing.
What am I going to run it on?
And here I have a little gallery of a couple of the ARM SBCs that are now supported in
the new release that weren't there before.
The Raspberry Pi 4 is very nice.
I'm using one myself.
The 5 is I think in current, the 3 to 2, et cetera.
They're all also there.
Then you have the Odroid and N2 plus, the Quad 64, the ASUS Tinker board, the humming
board pulse, I don't know, there's various things.
They all have very specialties, different SOCs.
The Orange Pi 5 I like a lot because it has a pretty powerful processor and you can get
it with up to 32 gigs of RAM.
You see that slot at the top left, it's an NVMe slot, you can add an SSD there.
So for less than 200 euros, you can have a really powerful ARM-based workstation with
an Orange Pi 5.
Highly recommended.
So if you're using it on ARM, it used to be annoying with bootloaders.
ARM bootloaders are a bit weird in many ways.
This has become a lot better for the Orange Pi, the Raspberry Pi and a couple others.
This thing called Tiano Core EDK2.
You downloaded it for your model and you just unpack the thing onto your storage medium,
whether it's an SSD or memory card or whatever, and then it acts like a BIOS basically.
You get a UEFI shell and then you can just use a generic, like, Net-B-Ste-Arm image or
some other OS.
So that's become very convenient.
ARM-SPCs are awesome.
They're still the Pinebook Pro.
It's a laptop that is, I think it's more than $1.99 now, it's $229.
But still, it's very cheap.
It has a nice ARM processor display.
It's perfectly usable.
Net-B-Ste runs really, really well on it.
So this thing here talks about current, but now it's in 10.
So you have display, backlight control, NVMe, USB.
It all works.
It's nice.
So if you want a Net-B-Ste laptop, maybe that's the best choice.
Or how about this thing?
I don't know if I can get the video to work.
I feel like a boomer.
Can I get the video to work?
Where's my mouse pointer?
So this here is a Nintendo Wii.
And then this happens.
It turns out, I didn't know that.
The Nintendo Wii has a PowerPC processor.
So this runs the Net-B-Ste EVB PPC, EVB's evaluation board.
So we treated like an SBC with a PowerPC processor.
And there you are.
This is pretty new.
This is a few weeks ago that this support got added.
I'm not sure if it's present in 10, but it's there.
Here's Net-B-Ste.
Did you ever want to run PostFix on your Wii?
There you go.
You can also run in the cloud.
Net-B-Ste is pretty much at home in the cloud.
It runs on all sorts of virtualization things.
It itself includes several virtualizers.
So I've talked about Xen.
There's NVMM, which is a hypervisor that's integrated into QMU.
There's Hex...
I think Hexen...
I'm not sure if it's still there, actually.
But anyway, so there's various acceleration technologies that are in QMU.
You can run it under Beehive if you have a free BST host.
You can run it under KVM if you have a Linux host.
You can run it on AWS.
We have community AMIs available.
These are AWS machine images for both Intel and ARM.
The ARM ones in particular are nice.
They're very cost-effective.
There's this project here to build Google Cloud machine images with Net-B-Ste, Canon
Vulture, Oracle Cloud, many others.
So that's also an option.
Why not have Yen?
Now that you have a machine, what are you going to run on it?
This is where I slightly switch gears and talk about packages.
This is my hobby horse because I mostly work on packages.
So Net-B-Ste comes with a package collection called Package Source, PKGSRC.
And it's actually not Net-B-Ste only.
You can run package source on 18 or 20 different OSes.
You have 35,000 packages, although not all of them will probably build on all OSes.
Once a quarter, we do a stable branch with binary packages.
In fact, the last two stable branches have offered binary packages for 10.
So I think that's very nice.
You can install Net-B-Ste 10 somewhere and install the package manager and get going
immediately.
If you're on a platform that does not have binary packages you build from source, that's
very easy.
You just do make package install in the right directory and it downloads all the dependencies
and builds them in order.
If you're doing Firefox or LibreOffice, you may have to be a bit patient.
Like on the Pinebook Pro, it's more an overnight run.
But yeah, it works.
And you can also update from sources when a new branch comes out.
If you're using package in, then it's even easier to change the path to the binary packages
and do package in upgrade and it does the thing.
These 35,000 packages include all the stuff you expect, like NGINX and Apache and whatnot,
but also GNOME and, as I said, LibreOffice, Firefox, Thunderbird, they're all there.
It's pretty complete.
And also, if you find something that you would like to be available as a package, but it's
not there, you can relatively easily get access to the WIP repository work in progress and
start creating your own package in there.
The barrier is pretty low and it's sort of our gateway drug, I guess, to becoming a full-time
contributor.
This WIP thing is, I think it's a superb idea because it gives you a well-lit path to becoming
a developer, at least in the packages space.
But it's just starting to tinker there.
And it comes without warranty.
The WIP packages, they may be completely broken.
So as a user, you don't quite know what you're getting.
Maybe you want to stick to the main repo, but if you're tinkering, it's great.
And one last thing that I want to mention, you can install a package source tree in an arbitrary
prefix and you can do it without root privileges.
So if you have a machine, even if it's a Linux or a macOS machine, and you don't have root
on it for some reason, but you want to run some software that is not on there, you can
bootstrap a package source into some tree and use that.
And you can also use that the same way that Python developers would use virtual ENV.
You can have a tree that has your development environment in it and then just copy it back
and forth and use it on any machine that you're working on.
So that's also a very, very powerful thing.
It's not just for Python, it's for all software.
So I think it's great.
So to conclude, we've spent, not me personally, but the NetBeastie project has spent 30 years
on NetBeastie.
It's still going strong.
We have a new release, almost out.
A release, Canada 3 is the current one.
You should go check it out.
Thank you very much.
We're open for questions.
Any questions?
Yeah.
Hello.
Okay.
So we talked about where NetBeastie can run everywhere.
And so maybe here a question.
What is the current state about regarding the risk 564 integration?
The risk 5, is that the question?
Yes, exactly.
Okay.
What's the current state of risk 5?
Not quite there yet, I think.
There is a NetBeastie risk 5 port.
I've seen videos of it booting, but it's not as good as Armiette, I think.
Do we have any more questions?
Yes.
Hello, and thank you for your presentation.
Is there something that can be provided to the students, Bachelor of Science, Computer
Students, for, let's say, get them more involved in the project, like easy hacks and stuff
like that, to tell them, hey, do this and you can learn something.
You know OAS, but this is some OAS that you can start hacking with.
Thank you.
Okay, the question was about sort of low barrier contribution opportunities for students,
like what can you do to get into hacking and so on.
I think with Package Source WIP we've done a really good thing around packages.
I'm not so sure if there is something for NetBeastie itself.
We have the Google Summer of Code, so you can become a GSOC student and do a programming
project there.
If I remember correctly, on netbeastie.org there's a list of projects where you could
even get funding for outside of GSOC.
Like somebody has done bountains on things, but I'm not sure if they're beginner friendly,
and there's also a list of possible projects.
But maybe we could do more there.
Thanks for the suggestion.
Hi, good talk.
So I've read a blog, I think it was last year, about the status of Weyland.
Hello.
So the status of Weyland in NetBeastie, where it was sort of early attempts to get it running.
Are we ever expecting Weyland to land properly in NetBeastie, or is it going to be eight
years, 10 years, heat death of the universe?
It's a good question.
The question is about the state of Weyland support.
I think there is some Weyland.
If I remember correctly, you can run Sway as a Weyland compositor.
Various applications like Firefox are built with Weyland support by default.
But I think the vast majority of NetBeastie users are still on X11.
I'm not sure what it would take to change that, other than more manpower.
Weyland on NetBeastie is more or less like a one woman show at the moment.
So if you're interested in that, please contact us and contribute.
Maybe to add one thing that makes it hard is Weyland has a lot of Linux-isms.
For instance, the Weyland input API just takes the Linux input.h and wraps it, and that's
it.
So you get to reimplement parts of Linux APIs, which is annoying.
More questions?
Coming back to the question of NetBeastie is suitable for student projects.
I'd like to talk with the person who asked that question.
I have more information.
Hi.
So I've been in this Linux user for a while, and I'm interested in the BSD world.
Why would I want to try NetBeastie instead of FreeBSD, say, on my laptop?
That's a difficult question.
Why would you want to try NetBeastie and not FreeBSD?
FreeBSD has many of these things that I mentioned for NetBeastie as well.
FreeBSD has a lot bigger community, I think more contributors and so on.
What's in it for you personally?
I think for some, depending on what the hardware is, the support for NetBeastie or FreeBSD
might be better.
Again if you want to get involved in the community, the FreeBSD community is bigger, but the NetBeastie
community might be more accommodating.
I don't know.
I'm struggling a bit with an answer there.
I think they're both good.
You could try both and see which fits.
Questions?
Anyone?
Who was it?
For the last few years we have seen Linux take over many things.
Things we take for granted about how the Linux in general work.
There has been a lot of efforts to reimplement functionality in BSDs.
I was wondering is there any organized effort to counter that?
Not all of these interfaces are the best designs.
There's a lot of room for improvement there, but I have seen BSDs lag behind.
There's an engagement issue when it comes to companies that it's a lot easier for people
to justify contributing to Linux versus contributing to BSDs just based on license, even though
that's a bad idea anyway, because projects get founded to a point and then making things
open source of course allows the cost for the companies.
Is there anything going on to improve these situations?
I think there were several questions.
You said Linux has taken over mindshare.
If you're at a company it is easier to justify contributing to Linux than to BSD on impact
arguments, which is true, I think.
There was also the aspect about Linux folks re-implementing more and more classical things
with system D and network manager and all these things, or getting rid of the if config
command.
I think the BSD community in general just doesn't follow along in these things.
There's no system D. There's no IP route 2 or whatever it's called.
The route command still works the same way it worked in 1982.
As for the impact argument, I think if you're looking for sort of impact in that sense,
then let's say a contribution to free BSD might be more justifiable than to net BSD.
In a company it depends on what you use.
If you build your service on net BSD, then contributing to net BSD makes a lot of sense.
If you're building your service based on Linux, then it might not.
For example, Netflix, they're highest throughput streaming servers.
They're on free BSD, not Linux, because free BSD achieves a higher throughput with the
same hardware.
It all depends.
Maybe one other aspect, talking for myself personally, my company does not use net BSD
in production.
But I work on it precisely because it is not like my day job.
So I guess you partially touched the answer to my question.
I see that there is good support for Zen.
So do you have any insights about application and workloads which people using on top of
BSD under those hypervisors?
The question was, I think, what applications are people running on net BST on Zen?
Anything really.
You can get Zen hosting from a lot of places.
So get a virtual server that's a paravirtualized Zen VM.
It used to be, AWS used to be like that.
I don't think they offer that anymore.
So some of it is just like a cheap shell access for somebody.
You have a home in the internet somewhere that you can SSH into.
I've used it for web servers, mail servers, file servers, all sorts of things.
Hi, thank you.
I have two questions if it's okay to related questions.
The first one is the community looks really nice and welcoming.
But do you think it's maybe too small with the best factor of one?
And second question, how reactive is the community for incorporating new changes?
Okay, two questions.
One of them is about the size of the community.
I think it would be great if it were bigger.
Honestly, net BST is at least in some ways, I think, kind of minimal stuffing in a sense.
We could use more hands on many things.
Although it's not dead or in decline, which is good.
I regularly see new people coming in.
Maybe 10 years ago, there were a lot of really old school folks that were around since the
beginning.
There's been sort of a generational change as it's bound to happen after 20 years of
running something.
There's a lot of younger folks in here, which is nice.
People would be welcome, of course.
What was the second part of the question?
How reactive is the community?
It depends, unfortunately.
Sometimes very fast, sometimes very slow.
I don't know.
There's no SLA or anything.
What Ryan said in the previous talk, if you have people from the community working on
something together, they're going to scratch their own itch.
If you submit a patch and somebody sees it and thinks, oh, this looks interesting, they
might react to it immediately.
Sometimes you might have to ask on IRC or ping the thread again on the mailing list to get
somebody to react.
A lot of people are busy in their day jobs, unfortunately.
Many, many thanks to all for attending and your questions.
Many thanks, Benny.