Facebook Seeks Devs To Make Linux Network Stack As Good As FreeBSD's 195
An anonymous reader writes Facebook posted a career application which, in their own words is 'seeking a Linux Kernel Software Engineer to join our Kernel team, with a primary focus on the networking subsystem. Our goal over the next few years is for the Linux kernel network stack to rival or exceed that of FreeBSD.' Two interesting bullet points listing "responsibilities": Improve IPv6 support in the kernel, and eliminate perf and stability issues. FB is one of the worlds largest IPv6 deployments; Investigate and participate in emerging protocols (MPTCP, QUIC, etc) discussions,implementation, experimentation, tooling, etc.
This does pose the question: (Score:1, Insightful)
Why not use FreeBSD? It's already there and at least as good as linux. Or have they perhaps hung themselves on systemd?
Why not just use FreeBSD then? (Score:2, Insightful)
LOL, so why not use theirs? (Score:5, Insightful)
Look, this is FreeBSD ... why not just take their damned code?
It's not like you're not allowed to do that. That's what is great about the BSD license.
If FreeBSD's network stack is what you aspire to, why reinvent the wheel?
Re:LOL, so why not use theirs? (Score:5, Insightful)
FreeBSD network stack (Score:5, Insightful)
Re:LOL, so why not use theirs? (Score:4, Insightful)
Been years since I read the license, but the BSD licenses are pretty permissive, to the extent you can take BSD stuff and use it as a basis for commercial products.
BSD has always been about writing awesome code, and letting people do what they want with it, as opposed to imposing ideology on people.
I'd be surprised if Linux doesn't already have code from FreeBSD in it.
Re: Remember Microsoft Windows? (Score:0, Insightful)
BSD doesn't use tricks, at least not any that Linux doesn't use.
The problem with Linux is two-fold. 1) feature creep. Look at the Linux code and then at the FreeBSD code. Linux is totally convoluted, partly because of the million random patches that have touched the code. BSDs are much more systematic when adding or changing features. It's a tighter knit community.
2) Linux has had a ton of real-time patches applied. Generally speaking, real-time algorithms and tweaks will run slower overall. There's often a tradeoff between efficiency and low-latency.
Corporate Contributions to OSS (Score:5, Insightful)
I don't understand why there's all these comments saying they should just use FreeBSD. There are many reasons to despise Facebook but their desire to improve the Linux networking stack is admirable. We should be encouraging corporations to contribute to OSS, not telling them to just use that other thing that is better in some ways but not others. Kudos to them for contributing back to the projects they use.
Re:Biggest troll on Slashdot ever (Score:2, Insightful)
Yes, but Facebook. Somewhere between working for the SS and Big Tobacco.
Re:This does pose the question: (Score:5, Insightful)
Don't you think it's easier and cheaper to optimize the network stack of Linux rather than writing tons of hardware drivers for FreeBSD? Hardware which, most of the time, will be undocumented. Furthermore, when you change your servers, yay, more drivers to write...
Re:This does pose the question: (Score:0, Insightful)
The binary package manager is a pain in the ass in FreeBSD. Linux and FreeBSD are a royal pain in the ass to recompile from source and mix binary packages, as there's entire chains of dependency hell you have to go through if you need X but not Y.
FreeBSD's hardware support isn't quite as diverse as Linux, but that's mostly in the "desktop" department. I'd say the hardware support is superior on FreeBSD for server platforms, as there's less "cooks in the kitchen"
Where Linux is terribly weak though is on networking. There is no support for network card features designed to improve performance or reduce buffer bloats. Linux insists on doing absolutely everything on the CPU, and as much in user-space as possible, so from a security point of view it has some advantages in that design, but from a performance point of view, this is what makes it awful as a virtual machine OS, because there's multiple layers of virtual CPU's doing things in software that it should be doing in hardware.