Netflix and FreeBSD: Using Open Source to Deliver Streaming Video [pdf]
fosdem.org
fosdem.org
To me this boils down to how you see humanity: if you think we're essentially good and willing to help each other, permissive licensing makes more sense. If you think morality has to be enforced by contract because we cannot trust one another then GPL is the only choice. I chose permissive licensing because I don't see my fellow humans as essentially evil.
Had Linux and GNU not been GPL, and we would all be using Aix, HP-UX, Solaris, ..., because none of the BSDs would have gotten back the contributions like it happened to Linux, and BSDs would still be just another UNIX derivative among many.
Just look at the optimizations that some embedded OEMs, or even Sony, don't contribute back to LLVM. And speaking of Sony, not everything from PS4 OS has gotten back to BSD.
Sony also helped spawn "ToyBox". A BSD licensed replacement for the GPL "BusyBox" https://en.wikipedia.org/wiki/Toybox
sendfile(2)'s benefit is that it doesn't require transferring the data back and forth between kernel space and user space. You point it to a file descriptor and a socket, and it simply copies the bytes -- all in kernel space.
Linux has gotten in-kernel TLS? That's slightly horrifying. Seems like it's hard enough to get right without being allowed to overwrite any user page you'd like.
It also contains a LOT of different things in there, whereas "just" a TLS stream with limited ciphers should be a lot simpler.
Part of the allure, uniqueness, and awesomeness of the *BSDs is that they _can_ be modified and forked in this way because of the license. So the fact that FreeBSD has made an amazing code base that can and does serve as the foundation of Netflix's distribution network is great; it gives visibility to the OS and also meaningful code contributions from a large player who pushes it to the limits. We may not get all of those _right_now_ because of NDAs and the realities of life, but it is all helping to make it more awesome.
There is no "distribution" happening; all of Netflix's use of BSD is internal. Even if they had chosen to modify Linux instead, there would be no requirement to share their changes.
They co-locate them at ISP as a form of extremely distributed peering. Netflix, however, owns the boxes.
In the context of licenses such as the GPLv2, distribution happens when software transfers from one party to another. This doesn't happen: the software always stays on Netflix owned devices.
Is there any actual evidence for that claim?
I'm a Linux guy so my view is probably biased. All I'm seeing is BSD licensed projects being ripped off by corporations left and right. Maybe we mean different things with the word, sharing. Netflix using FreeBSD and their idea of giving back to the project is telling them this will lead to their code being tested really well? That sounds to me like "please create a web page for us for free, it will lead to more exposure for you".
Why does FreeBSD then not have your TLS sendfile code? Linux has TLS sendfile. It was contributed by a corporation, as far as I know.
Personally, I have always really liked the BSD projects. The people working on them have been nothing but professional and yet courteous, they tend to fix their security issues quickly. I would love for them to get paid properly.
With money. Not with "exposure" or "we'll test your code".
Where are you seeing these corporations ripping off FreeBSD? Netflix has contributed code in the past, currently over a thousand commits in FreeBSD, and there's no reason to doubt their intention to continue doing so.
That being said, unless you are already a committer, it's gonna be very difficult to get your code blessed...
Are there examples of this? Since I see people sending patches that aren't committers. I honestly would want to see some actual data.
but they aren't. GPL forces to release source, not contribute.
It's not like FreeBSD has a shiny DE courtesy of Apple...
(There is Lumina, in terms of DEs.)
However, that is clearly not the case, since Xfce and KDE and so forth work on FreeBSD. Further, there is even a DE developed for TrueOS, which is FreeBSD-based: Lumina ( https://www.lumina-desktop.org/ ).
So, considering FreeBSD has no desktop environment, and likely little desire for one, how are they being ripped off by Apple's failure to give them their DE?
Right, a DE is not part of the kernel, or even perhaps the base install. But DE is something people do use with FreeBSD - there are people who run DEs.
> FreeBSD has no desktop environment, and likely little desire for one
The development of Lumina is a BSD-associated endeavour, so the desire part does't seem quite true.
> how are they being ripped off by Apple's failure to give them their DE?
The DE is just an example of something that could have been useful. The point is that Apple hasn't really contributed back to FreeBSD - the real-world behaviour of large corporations highlights the drawbacks of non-reciprocal licences.
The base install is FreeBSD, it is the code and system the team created and what the FreeBSD foundational raises money to support. If Apple ripped off FreeBSD, it would these people that are getting ripped off. You can install a wide variety of other software on your computer alongside FreeBSD, but that doesn't make them a part of FreeBSD.
>The DE is just an example of something that could have been useful. The point is that Apple hasn't really contributed back to FreeBSD -
As far as contributing back unrelated things that would be useful, they have contributed back LLVM.
>the real-world behaviour of large corporations highlights the drawbacks of non-reciprocal licences.
This wasn't real world behavior, and FreeBSD using the GPL wouldn't have forced Apple to give them their DE. A program, say a DE, on a GPL operating system does not need to be distributed under an open source license.
Depends on how the DE integrates with the other components.
Real-world behaviour: the ecosystem that has a GPL-licensed kernel has much wider adoption that the ecosystem which uses primarily BSD licences. I know this isn't fully attributable to licensing, since the BSDs were afflicted with legal issues during the time when Linux was taking off, which surely contributed to the situation, but still the BSD licences encourage certain types of entities to take without contributing back the ecosystem. Though I admire the idealism of BSD-type licences.
They are on their right though, that is what the BSD licence is all about, code for free no questions asked.
Yes, they have contributed back and I referred that in another thread, just not what they were supposed to under a copyleft license.
Pretty much this. The BSD community doesn't see code being used in proprietary solutions as "ripped off".
It's pretty much impossible to get anything significant in BSDs without a commit bit, Linux is much more open to external contributions. Moreover, any "large" work is mostly discussed privately and only a huge patch (ie. thousands lines long) will be published publicly. Reviewing such patch independantly is pretty much impossible.
What I really wished was I could have a CDN based on BSD. Even though you can't actually use BSD for lots of other reason, you could at last contribute a little by having some infrastructure that is built on top of BSD and you are paying for it. As far as I know only Limestone CDN are on FreeBSD, but unfortunately they only offer business to Enterprise.
Additional reference:
- https://news.ycombinator.com/item?id=8077594 ("…but caching is futile.")