 Mr. Philip, perhaps all right. Am I on? Yes. All right. Let's see if I can Not walk over any cables All right, so this presentation is entitled 3DSD is not a Linux distribution and Whatever you take away from this presentation You should be sued by the fact that it is not a Linux distribution. Am I feeding back? Okay? It is not a Linux distribution. So you can relax calm. There's no anger. There's nothing Nothing to be afraid of it is not a Linux distribution. There is everything is fine And we've had a lot of Linux presentations at this conference I think there's a parallel track about it, and I'm just here to tell you that you know, you don't have to live this way it is in fact possible to find a Unix operating system which does not make you angry comes with all sorts of nice features and Just does not present any surprises along the way So thank you all for the introduction. My name is Philip Papps. I'm wearing many different hats The hat I wear today is the director of the free me as the foundation We previous the foundation supports the free me as the project in many interesting ways From meals to hardware We are a charity registered in Boulder, Colorado in the US and we take money from companies and individuals Who use 3bsd and feel that it needs to be improved and we spent this money on sponsoring conferences and Organizing BSD conferences and arranging travel for BSD developers to conferences around the world We also spend our funds on Hardware and improving support for free BSD for different kinds of hardware and different kind of platforms so if you actually use 3bsd is anyone in this room using 3bsd in production or Yes, good the usual suspect anyone else. Ah, good. Very good. So at least a handful of you If any of you happen to have too much money Lying around and you have fiscal incentives to get rid of it. The free BSD foundation will be happy to relieve you of this burden and use it to improve So that was the free BSD foundation. So who so you know, that was the organization. Who am I? I'm a Colonel hacker. I live in the mystical world below the system called there And I'm also a conference organizer repeat offender. I apparently I cannot attend the conference without somehow ending up Organizing it or doing something. I don't know how this happened that it just happened I'm also a consultant. So I'm in the business of Telling people that they're doing it wrong and getting paid for it but my My my domain where I live. I live mostly in device drivers. I live in real-time operating systems I also have a troubled history with electronics party 30 radios and I'm a professional paranoid So as we go through this presentation you'll find the Colonel hacker the professional paranoid and You know the hardware the simple hardware mind creeping in from time to time. So bear that in mind Also, this presentation was originally written by George Neville Neil another free BSD foundation director who has many similar Properties in his background, you know, except for the electronics bits. So on with the show What is this free BSD thing? You know, is this Linux is this some you know, is this some weird cult? We see this so, you know, you've typed free BSD into a search engine and you see this little devil guys working at you Are we some weird satanic cult? No, we're not We produce an operating system a complete operating system unlike some other open-source operating systems We feel we take a more holistic view of what an operating system is. We don't just produce a kernel We don't just produce a bunch of tools. We don't just produce a bunch of libraries We actually produce an entire operating system with all the build glue you need to Build it yourself and to build your own release of it. So if you're familiar with Linux, you might have heard the word distribution Once or twice and it makes you cry a Linux distribution is a collection of tools written by different groups of people with often conflicting interests and Priorities and somehow it works maybe a little bit Free BSD is a complete operating system produced by a team of people who feel that they are producing an operating system There are no conflicting interests in the previous the project So the people who maintain the kernel are also the people who maintain the C library the people who maintain LS and stats and all that sort of goodness, which I understand lives above the system call layer We produce our operating system and we also produce the tools to to build it and to maintain it So if you check out free BSD, we'll comment it up in a moment You get everything you need you basically if you have free BSD you are ready to code as soon as you install it Free BSD is a post it's like operating system and at last counts. We support 24,000 Third-party packages in our ports tree or our package system So any piece of software you're familiar with on other post it's like operating systems and even Linux We'll also just work on free BSD. So you package install engine X and you have engine X Just like you would expect it on another operating system And in addition to all this operating system tools and third-party glue we also document everything So I was smirking at some of the presentations earlier this morning. I think my man in particular was looking up what the you know, what does the CPU load average? What does that mean and Typed it into some search engine and then went on to stack exchange and you know many many layers of Searching later. He found out that the answer was well. Nobody really knows what the CPU load average with what that means The previous the project feels that you should not have to go through this So we provide documentation so that if you want to know what is the CPU load average you can do You know man minus K of time or some other tool that gives you the CPU load average And it will tell you the CPU load average is the weighted average of all the processes in the run queue and it is determined by Etc. So we have documentation that will hopefully make your life easier and we are also an open-source community So the the operating system does not stand by itself It's a community of like-minded individuals that produces the system and we hang out at conferences And we you know we turn up in places. So I'll tell you a bit about the community as well So Okay, who uses this 3dsd thing for five people in this room or six people in this room great I don't know if your names wrong here, but at least I hope some of these names should be familiar to you I think particularly WhatsApp is quite popular in India. I think it's a messaging application for phones They run on 3dsd Entirely so all of their servers all of their stuff runs on 3dsd and they admits to running 3dsd Another example of a company running 3dsd very successfully is NetApp if you have a lot of data does anyone use NetApp? probably Not willing to admit to it. NetApp is a big company producing storage systems for people with a lot of data Who care about data their on-tap operating system is basically a fork of 3dsd and they just track 3dsd Panasas and Dell well Dell EMC have similar service use cases. They take the 3dsd operating system they make their own builds and they call it whatever their operating system is and But really it's just 3dsd. So a lot of these names are in the storage industry. So Panasas, Dell and Whatever they are at the top that's all storage. So that's one Area where 3dsd is very popular Another area where 3dsd is popular is networking. So Juniper network says the usual example Juniper makes routers and switches and other networking equipment firewalls and other stuff that lives there and their Junos Operating system is basically a fork of 3dsd the control plane of your Juniper router is basically a 3dsd machine which talks to the actual forwarding engines other examples Yahoo Yahoo Mail runs on 3dsd still does It's remarkable that it works and then Apple is another good example of someone using 3dsd Apple takes the 3dsd user space and parts of the kernel Merges it with the mock VM system and mock ports and some other stuff at their own secret sauce and they call it macOSX I call macOSX. I call it pretty BSD. It's Unix for the desktop So, you know And Netflix of course, thank you Tom another company in the networking industry Netflix I think is responsible for about what 30 or more percent more than half the internet bits flowing across the internet on any given day All of those bits flow across 3dsd machines Netflix's gashes are basically 3dsd machines tuned to deal with this massive storage influx of moving pictures just pushed into 3dsd machine So all of these are big companies so 3dsd is not this marginal, you know thing Which doesn't really exist and it's not been dying since 1998 or whenever slash cops came up with that 3dsd is really real and is being used by Many companies and you might be wondering why are they using this? Well, you know, why are they using this? They are using it because 3dsd has a history of innovation and gradual innovation Over a longer period of time so the 3dsd project will bring something up and we'll develop it and then you know Five years or ten years later. We'll find it in other operating systems like you know the next We produce great tools The 3dsd is more than the sum of its parts and there are many companies We just like the fact that they can take a part of 3dsd and use it in their application People in this room who shall remain nameless have short parts of 3dsd in the space people who shall remain nameless have used 3dsd part of the 3dsd operating system on embedded networking devices so components of 3dsd just find their way everywhere and the tools are great and they stand alone well And 3dsd also has a very mature release model So we'll historically we released when it was ready and that didn't really work very well So about ten years ago. We started releasing software roughly every six months We say, you know, maybe it's time to roll a release So we go into code freeze and we are flush and you know We polish we add fit and polish to our operating system and then we release it and we move on So we have a branch development model, which I'll talk about a bit later And this model is easy for companies to follow. So if you are the Juniper of the world or you're a Netflix of the world You want your upstream operating system to be easy to follow if you can trust this with say Linux Where every couple of weeks someone throws a kernel over the wall and you know, maybe it works Maybe it doesn't maybe it boots. Maybe it doesn't and the kernel then goes in conflicts with the other release models of say the C library which has the same release model, you know, maybe it's ready Maybe it isn't and I could you've ever built an embedded Linux system, you know that you can get no no three versions of lip see the Linux kernel and I don't know the compiler will ever want to work together You don't have this problem in previous because all of us have the same goals. We all work towards same operating system We don't buy Companies who use review the also really appreciate our documentation and the fact that it's available in many languages George originally gave the stock in China and pointed out that hey the freebie of the handbook are our main Corpus of documentation has been translated into Chinese and it's a very well maintained Translation I took a look at the Indic languages and unfortunately The only official language of India, which has a good translation of the freebie of the handbook happens the English So if any of you like translating documentation, you are encouraged to join the freebie of the project I'll talk about that in a moment and translate the freebie of the handbook into whichever language you find useful The previous the project also has a very business friendly license, which I don't want to talk about for too long But if anyone has ever the GPL, you know that it is massive and full of scary traps and dragons The BSD license is about 300 words and basically says here's some software use it if it catches fire Sorry, if it's worth well for you great. We depreciated notes, but you know, don't feel any pressure Our community is also something I like to advertise. I Preview the project have many many mailing lists and when you join them you can usually find a warm welcome You know you send the patch and people will thank you for the patch and if the patch is wrong They'll shout about the patch. They are not going to shout at you I'll talk a bit more about the community later on. So these are all very compelling reasons to use So how did we get here? I've you know, George's is in three minutes. I'm for you need a bit more But the history of Linux is well known this guy in Finland had an itch scratch, you know That's right operating system and that's got that control a little bit The BSD history is a little bit more But they measured or a little bit more Well lengthy at least So in the beginning Dinosaurs roamed and chaos rain. That was you know, 1950s and 60s and then eventually people realized that you know We need operating systems. No sign of BSD yet But someone came up with multics, you know, everything's fine You know, provely secure everything. Okay, I'm sharing very good And then some people with a strange sense of humor said well, we've got multics. We should have Unix as well And then you know things got out of control a little bit still no sign of Still no sign of Berkeley or BSD But then after a year or two people started using this Unix thing from their labs and they discovered that hey This is fun stuff, but wouldn't it be nice if we have nice things? So some nice people at Berkeley started producing add-ons and patches to the Unix operating system from the labs People found useful like say X and PI Because the Unix editor was in and anyone who's ever used it can tell you that it's not fun X and PI are a lot more fun So that was one of the things that was on the Berkeley tool states another thing on the Berkeley tool Say it was a muscow compiler. It turns out that not everyone likes writing C But a muscow compiler was one of the Berkeley tools and other tools just came up and then in the early 70s Someone had the right idea that maybe these computers should talk to each other, you know So the people being angry at computers computers can be angry at computers so DARPA the defense advanced research project agency through some money of the Computer search group in Berkeley and says, you know built the internet, right? I don't think they set that but that's you know only got three minutes for this slide. So built the internet and out of the CSRG came things like TCP IP UDP ping And all of these protocols which we are now well we now know and love Then in the 90s, we had a bit of a pickup where the people at Bell Labs said, well, you know This is interesting, but this is actually our stuff Once you're using it So there was a lawsuit that just distracted people from DSD for a while And people started using the next evermind Eventually 3a6 DSD came up. We have PSDI and then we have finally DSD is free after all this time and It's quickly turned out that DSD was not just one thing. So we have DSD Historically a bunch of people at Berkeley. Here's the UNIX have fun with it or here's add-on tools for UNIX have fun with it When DSD was finally free of the early 90s It turns out that there were two or three different competing views on how this DSD should be free and we came up with a couple of different DSD projects We have a DSD project which felt that Well, DSD is very nice, but the best way to use DSD is on everything from your toaster to your your mainframe to everything The previous the project felt as well. Yeah, that's that's nice. We like portability But we actually would like to be fast So they disagreed with the NetBSD folks on Where the platform supports where you know where the priorities should lie so two different DSD projects forms We have an DSD project going off to be portable and it's running on different printer in the world these days And we have a free DSD project which runs everywhere In 1996 the open DSD folks have an agreement with the NetBSD people about priorities on security and portability Open DSD for soft and A few years later We also found fewer forks which forks off and less you know Let's acrimonia circumstances a PCVSD is basically a fork a previous the example true us Which takes the previous operating system just like Juniper does or just like any of the other Consumers a previous he does and they optimize it for running on a desktop Apple does the same thing they take TV as the and they optimize for running on the desktop, right? And there's some smaller All that is fine. I'm not going to talk about them. I'm going to talk about Back to our thread. What do we do? We produce a whole system. What do I mean with the whole system? I mean that we produce an operating system which comprises all of the device drivers all of the compilers and associated tools Debugging tools as well. I don't know if anyone has ever tried to debug Linux, but it's just you know, you come Certainly not as soon as it's all that you know, you cry and hope We have editors in our base system and we have a packaging system that allows you to install anything that you know It's helped there So the point of what we actually produce as a previous the project is an entire operating system that is ready to code When the install is done Obviously your definition of code will depend on what layer of a stack you operate on and our definition of code is You can write programs in C or C++ as soon as your install is done provided that your choice is either X PI or nano And you know that's ready to code when the install is done We also have a packaging system So if you prefer an editor like them or you know, like pain and you use Emacs You can just package install these things and have them But the whole system approach basically means that we What we deliver is known to work at least together with itself You never have this awkward situation where your compiler is not willing to produce anything that your assembler likes or your linker Inexplicably does not like the object by your compiler or your debugger does not understand the particular variant But else that comes out of your your linker. Those are all things I've encountered on the link by the way And we produce this as a team we work together on this and we have one bug tracker for all of these components and this allows us to You know deliver a polished operating system that just shines Very nicely. So if you write a device driver, you you don't need to go and If you write a network device driver, for instance, you don't need to go and write the tool for that network device driver to Little bits you can just add it to it can think whereas in Linux every single network device driver have Some user space to put a little bit. There's also eth tool, but there's at least four different variants than eth so if we don't have this because we have this holistic approach we produce the whole stack and It's not because you're in device driver land that you are somehow forbidden from touching it can think sometimes I wish that were the case if you think it's not my favorite piece of code But there's nothing preventing me from going into if you think and adding Something for my particular device provided of course that you know architectural constraints are met So what's you know, I'll talk a bit about what parts of stuff we have in this whole operating system We have some file systems Which I'd like to talk about which are real selling points for previously We have a whole bunch of files only two of them are really relevant We have the UFS file traditional Unix file system Which is essentially the same file system which is on Samaris or HP Unix or any other Unix Because they're basically derived from our original UFS UFS is It's a rock-solid Unix file system so it's predictable. It's not necessarily Always fast depending on workloads, but some some workloads are actually hyper Previously UFS is high performance on read and write under certain work. Are UFS also have snapshots I think Samaris is UFS also has snapshots now And we have journaled soft updates that have a terabyte of data on a UFS volume It doesn't take three weeks to FSEK But if you have a terabyte of data really what you want is one ZFS ZFS was originally developed by Sun. It was open-source that had a you know interesting history But it is the only file that you need if you care if you have a lot of data and you care about your data ZFS is really developed when you want ZFS is a file system and the volume manager combined It has snapshots which are copy-on-write take no time at all ZFS destroy is instance You can instantly destroy your data Also unlike any other file system I've encountered ZFS is aware of the fact that your disk is your enemy and it does not trust your disk in the background It snapshots all your data and it just checks that the disk is not lying to you You could this lie and every other file system just doesn't get this It assumes that the disk is telling you the truth and that data does not get violently corrupted if you care about your data You really want ZFS. I believe there's a ZFS for Linux as well I have never heard anyone Using it successfully or I've never heard anyone who's using it not complain about it ZFS also works on Illumos Sonos or Solaris or whatever they're called this week, of course But 3dsd is slowly becoming the reference in political Well, not the reference implementation, but one of the more mature implementations of ZFS So if nothing else and you care about your data ZFS would be one good reason for you to go and install 3dsd You you know you still need backups, but you might not need to restore them quite so 3dsd also has a lot of security features. We've had a lot of talks at this conference about containers and Container systems and namespaces and all sorts of things All of those are just cheap ripoffs of what 3dsd calls jails Well cheap ripoffs done wrong as far as I'm concerned So if you want lightweight virtualization and you don't want to ask the question what should pit 1 be in my container Maybe you should look at jails The so, you know for the record pit 1 is whatever the first process that you know runs in the jail is It catches sick child in your zombies will be read So jails are lightweight virtualization. Basically, it's it takes the charoot system call from previously or from Unix rather and It teaches us about networking. So it just Constrains the power of the root user of it beyond the file system It's a charoot with an IP address or any number of IP addresses We also have Mac and audit frameworks if you are in an industry that cares about security and cares about knowing what happens It's an unforgeable sort of way Mac and audit are things which should be should be familiar to you or should be You know something you care about Previously have distributed all the things so you can you know you can track every file system events every network event It's an audit stamp and that can be sent to another machine. So the log can't be tampered with Mac can also constrain other things. So I've just been reviewing a kernel module for real-time priority Constraints that you do your process you can you can use real-time priorities without having to be roots on your system So Mac can give you more privileges or remove privileges. It's like se linux, but done right We also have capsicum in previous. Yes, you know, I promise We also have capsicum in previous the capsicum is a research technology from Cambridge, which tries to sandbox individual applications So you work on a capability system and the capability is a privilege you have which you can either shrink Or or or delegates, but you can't ever expand it So once you enter a capability sandbox, you are constrained by that sandbox So use cases for this are things like decompressers or things like tcp dump where If you're running tcp dump and you're dissecting some protocol on the wire You would prefer not to have this protocol Exploited bugs in your shell and suddenly run random code on your system Capsicum allows the dissector to run in a sandbox that does not have the privilege to touch files tcp dump can still write to the terminal but the dissector can only communicate with the tcp dump itself through a well-known or well-defined and Predefined IPC mechanism same thing with compressors if you have this compressed file Which you downloaded from some dubious source and you start uncompressing it You don't want to bug in say Zlib or a bug in L.ma or whatever compressor flavor of the week you have You don't want that to suddenly go and blow up your system. So that's some of our security features We also have good compiler technology. We move to LLVM and clang years ago So GCC is no longer part of our world compilers in previous ER in the 21st century not just compilers But also debuggers. I don't think anyone here cares about C tool chains. I'll move on Detrace, I think someone asked this morning a question about how do I know what my process is doing at any given time? Previous he has detrace Which is dynamic tracing framework which also came from samaris originally? I think Todd gave a workshop on it here last year Basically detrace makes the blue smoke visible it adds a dye to all this code going on and it shows you what goes on Inside your process track system calls and tracks library calls function boundaries You can just you see what your code is doing if you try to debug on a note and on other operating system You're basically, you know, you're going to be doing print out or you're in the debugger single stepping Which really is that you don't have to live this way. We have detrace, you know What on earth is my process doing? Well, you know detrace And oh, yeah, it's doing that. Okay, fine. Cool. It shouldn't be doing that for a second So detrace is another big selling point a freebie is the and if you if you maintain complicated systems then the trace is definitely something to look out. I Believe the JVM has been thoughts about detrace a long time ago. So that might be something to look out I Ramped us earlier that previous the have their freebie is the in general has a networking history TCP and IP are Berkeley technologies Freebie is the and the in general is still the reference implementation of many networking technologies We have pluggable TCP stacks if you don't like the default TCP stack. Well, there Someone has recently distributed the BBR to see peace back. I don't really know what it does. I know Google is very fond of it We have racks. We have the usual cubic and new Reno algorithms, so if you have applications which run on TCP and you care about You know tuning congestion control in different ways Previous he makes this really easy. I think you can do this on Linux as well But every time I've looked at the Linux TCP stack that I wanted to cry We have three firewalls. You'll find that only two are listed on the slide the maintainer of one of these firewalls is right there We have IPF w which is a A very mature very good firewall. I've been around for ages The only thing that's wrong with it is that syntax is not really always as friendly And then we have pf which we we imported from open via the a long time ago It's got a much friendlier configuration syntax So you can actually you know I have done a pf workshop and I've had people type a pf configuration file without looking at a single manual page By just you know guessing what the command line syntax would be or just guessing what the configuration files of that would be IPF w is a bit more difficult and either of those compared up to IP tables Does anyone know how to add a simple network address translation rule to IP tables without looking it up? Shut up Minus j masquerade minus q jump through six hoops hope for the best Yeah Yeah, we've also got something called dummy net Which is a very useful for people who test things that run on network dummy net can pretend to be wider or narrower pipes that can introduce latency On your network, and it can also do queuing. So if you want quality of service dummy net can help you too But it's primarily a network testing tool that can introduce Arbitrary latency on your network. We have some other networking tools, but I don't have enough time to talk about all We also have virtualization, you know things like Virtual machines and things we have that many of you use Unreal hardware you live in the wonderful world of Amazon and the solution and things. That's great. That's wonderful previous the Releases are available for VMware for virtual box for QMU and for hyper V They will just work on cloud provider of your choice Since I think ten points something release. We also have official Amazon AWS images So if you are an Amazon consumer, and you would like to be of the I think it takes you five minutes from create Well, it takes you 20 minutes to create an account, and then it takes you five minutes to boot your first 3v of the machine Roughly ish and those are official 3v of the images So you can just do the usual 3v of the tools 3v of the update etc to update your system We also have beehive, which is a native virtualization tool So I already mentioned jails, which is lightweight virtualization beehive is the well I would say the moral equivalent of KVM But it's it's a lot lighter weight and a lot more consistent. So beehive does all the quality level page table So if you want hardware assistance virtualization, you should look at beehive I thought this slide earlier because I realized that you know, I need to sell this thing to all these learnings victims We also have something called system call translation. I call that Linux personality disorder If you have a Linux binary, which for some reason you cannot compile with package source, whatever it is To run on 3vSD You can just run that Linux binary on 3vSD and in the vast majority of cases asterisk asterisk It will work fine, and it might even run faster than on Linux So one of the few redeeming features of Linux is that it has a strict contract between the kernel and user space that is usually not violated And as long as the operating system presents a system call table that smells of it like Linux A Linux binary will just run so 3vSD has a system call table that smells enough like Linux to convince Linux else binaries that oh, yeah, hey, it's Linux. I'll just run and That allows you to run a lot of binary only things that are inexplicably only delivered for Linux such as Oracle's database Or various cab tools from people like mentor or eagle or it also works well for you know You've lost the source code and you only have a Linux binary. Okay, it still works So system call translation might be something as an easy sort of gateway drug into 3vSD You know, you might find that your binary runs faster on 3vSD than it does on Linux last time I saw a statistic was some game I don't remember which game it was but it ran faster on 3vSD than it did on Linux despite being a Linux binary Some newish features that are in the pipeline We scale pretty well already 3vSD is a massively scalable operating system We scale to many cores, but we have this 256 core arm thunder Machine sitting in a rack and it takes 40 hours to boot That's you know that's being worked on so scaling to multiple to more and more cores You know 200 cores 500 cores, whatever a lot of memory That's all so it works up to reasonable limits, but there's always room for improvement and that's being worked on as a priority Numa there is support for Numa in 3vSD to non-uniform memory architectures There is support for that in 3vSD. It is ever improving. We have arm64 supports if it runs I've seen it work. We also Support a number of experimental network technologies like multi-path TCP and data-centered TCP And again this this congestion control system TCP algorithm from Google Should you be running on bare metal as opposed to a virtual machine? 3vSD also supports secure boots or known as UEFI So you can run on you know constrained firmware without any difficulty. I'm going to speed up a bit. So that was What the 3vSD project produces? You know we produce this operating system all this good stuff and you should all go and use it But the 3vSD foundation also has the duty to increase the membership of the 3vSD project So let me tell you a bit about how the project works and entice you into Contributing to our wonderful project the 3vSD project has a democratically Elected core team the 3vSD developers as in the people who have commit access to our subversion tree elect nine members Among ourselves to be our core team the core team sets the guidance for the 3vSD project and this has done every I forget how many years. I think it was three You know every now and again we elect a new core team But how do you become? You know a member of the 3vSD project well We have this thing called a commit bits and a commit bit basically means you can type SVN commit and Your bugs are now everyone's problem We have a concept of mentorship which Google stole from us about 10 years ago and calls it Google summer of code Where experience members of the community will notice? People submitting patches to mailing lists and people complaining and backing up their complaints with you know actual data and they will mentor these new people into improving their Improving their code and improving their interaction with the community and we call this mentorship and For you know we ask the core team that you know you should this person should become a member of the 3vSD project He should have a he or she should have a commit bit The core team goes and looks at the track record of this developer and says yeah Yeah, these are good patches and you know plays nice with others and all that sort of good thing Just have a commit bit and then your first end commits need to be approved by your mentor After which your mentor says okay fine your go go off and roam collect your own bugs And I'm no longer responsible for anything of that The 3vSD project also has a concept of a hat You you know if you feel that you need to be a release engineer You will wear the release engineering hat and the hat you know Stays on your head as long as you do a good job if you stop doing a good job Then that will hopefully become apparent to you before it becomes apparent to anyone else And you you pass the hat on to someone else The 3vSD project has no dictator Which you know I just leave that line out there So, you know how do you become a committer? Well all of you have a task you should join the mailing list I would recommend 3vSD hackers or 3vSD currents or you know one of those It's only a couple of hundred messages a day. It doesn't hurt much You should check out our source code We use subversion as our revision control system, but we also use github as a collaboration tool because it's quite good for that So you check out the code and you discover oh no, it's broken I don't like it or you know this needs fixing and I have too much time on my hands So you submit a patch to a mailing list and you keep doing this for a while until somebody notices that you know This person is submitting way too many patches and that person will then ask you You know someone will ask you would you like to be a committer? I you know this gentleman in the front row here who's undergone this process. He's now crying You can say no But it turns out that people are foolish enough to say yes, okay fine. I'll take a commit bit So your your mentor then proposes you to the port team or to the ports team to say, you know I have this new committer can he commit please and then you you know You get a commit bit and you have to get your commit approved And then you know the cycle continues right so after a while You know this unnamed individual might Be noticing someone else on a mailing list submitting many patches and he can then go off and say okay fine You know, I'm sick of committing his or her patches Can I please have a commit bit for this person and then the cycle continues to the previous the project? Gets more and more members as time continues. I think that's about seven more minutes. Yes And you know, I'm almost at the end of my talk. I Promise not to talk too much about it, but this is the entirety of the BSD license So if you want to join Many of the popular Linux projects you need to pass a rigorous philosophical examination And have all of your moral background and fiber examined by a team of I don't know high overlords On I don't know mental purity the previous the project does not have such an examination We subscribe to the BSD license, which I have not memorized but it is short enough to fit on a slide So this is the only thing you need to agree to Well that's and play nice with others But this is the previous the BSD license. It basically says I wrote this code I think it was useful if you want it, you know use it And I'd appreciate being credited and I don't care if you submit binaries or source code or if you you know print it on a You know printed on poster size paper and display it somewhere. I don't care I just don't blame me if it blows up in your face simple enough license. I think This is the GPL Yeah It says all sorts of exciting things, but in particular it is viral So the BSD license is not viral at all Anyone can use it as business friendly you can take a BSD binary You can use it for whatever purpose you like as long as you don't blame us for it blowing up in your face We are cool with that The BSD license 200 words. It's open and restrictive non-viral also goodness the GPL You know So that was it that's all I have five minutes and 25 seconds to go for questions We have a website double up those free BSD org As I said if you have too much money and you find free BSD useful Let us know the free BSD foundation is always happy to help out with monetary problems You know well the kind where we take your money with the other kind We are on github if you are a get user you can just get a clone Free BSD from github and start hacking join a mailing list become a committer We also have forums if you like websites Freebie the hands look as I said if you like translation you're incarcerated into which language gives you pleasure We hang out on IRC It's not difficult to find type is your favorite search engine freebie of the IRC channel The end Questions comments abuse violent tears Stun violence Wait No, you are not allowed questions There are no problems with the bridge. Hello. It is perfect. Hey over here. Let's go. This guy. This guy Hey, so you spoke with a file system with the snapshots and the ZFS. Yes, right? Can you just like quickly breathe through exactly what is benefits and what is it about and like it's basically a different file system So yes, so ZFS is the the file system to end all file systems ZFS is a file system and a volume manager. It was originally written by some in I don't know like 90s or something and basically what it wants to be is it wants to be the reliable the reliable file system for a lot of data So ZFS has a volume manager built in so you have a pool of data Which just grows if you have more discs you just plug your discs in and ZFS will happily use the data It's built-in mirroring and built-in striping So things like raid you just add discs and you tell ZFS. I would like these five discs I just plugged in I'd like to be a raid volume, please which could survive one toasted disc Or you tell them that I'd like them to be a mirror Please so that if I unplug one of the discs or if fries that the other disk is exactly consistent And you can tell the pool that and the pool is just it's no maintenance so you plug in discs and it just works and It grows automatically all the storage will be available and it just works on top of that Is that a file system which uses the pool and the file system has features such as snapshots? Which are copy-on-write so you say okay fine I'm going to upgrade my operating system and I would like to be able to roll back if it blows up in my face Which in trivia the never happens But then you just do Phoebe Zedifus snapshots Zedifus snapshots and then the name of your file system and a timestamp or another Identifier that makes sense to you and you have a snapshot. It takes no time at all It's constant It's constant time and the file system is copy-on-write or the snapshot is copy-on-write rather So if you're done with that snapshot you just destroy it and it was never there if it turns out that the upgrade Inexplicably blew up in your face, which obviously is your own fault You could just roll back to that snapshot That you know the the the other fork it has never happened You could also send and receive ZFS snapshots that they're streaming support Say you have one machine with a bunch of ZFS file systems And you've got another machine somewhere that wants this ZFS file system You can just ZFS send on this machine and ZFS receive on that machine and the entire file system just goes across the wire You know you just type it across SSH or you pipe it across netcalfe or whatever you want And all of the files of the properties are kept such as you know compression ZFS has building compression any snapshots if you pass it one recursively just go along the wire Also encoding rules UTF-8 all that are all those interesting features just travel across with your file system So ZFS is basically if you've ever used Veritas volume manager or another Volume manager. It's that plus a good file system plus well minus anger That answer your question. Yeah, thank you over there somewhere, I think One minute and eight seconds before I get shredded Hey, hello It's a tough question Philip. Oh, no, no I defer to my colleague over here Why is Linux more famous? I'm not sure about that. Well, I'm not sure if there's an answer to that. So part of the answer to that historically is that in the Mid to late 90s the softcom bubble was beginning to explode The BSDs were mired in other problems Which are completely irrelevant Both at the time and with the benefit of hindsight So I think we just you know, we we were off doing other things in the late 90s and You know, Linux just took off. I don't know Also, Linux has a very Low barrier to entry in the sense that you know, you can find You know, you write some code and you just drop it somewhere and some project will pick it up And it'll end up somewhere because there's no sort of cohesion. There's no There's no no shared Goal to work towards so you can find, you know, you fix the bug in if config or you add a bug to if config You don't have to care about the kernel people that appeals to a certain hyperactive segment of the population Who care more about instant gratification? You know, I want to get that patch out there and are less I don't know less less tickled by The the satisfaction of a job well done and an integrated operating system. So I think instant gratification This whole, you know, there's a dozen people taking my patches and the distractions in the 90s really led to Linux's success I don't know. I I've you know, I use Linux for a while. I've been clean for more than a year I just don't understand it I just feel it's a fair operating system like which Linux or There's nothing wrong with Linux except for everything gentlemen in the green shirt in the back. I'm in I'm on overtime. So if Okay Well, you'll have to fight Whoever shouts loudest. Hey Hello, yeah Is there something like a chain ZFS? Is there something like high availability? Well, it is high availability by default But you mean things like You have a cluster of things and one of your machines gets destroyed. Yeah Not at the ZFS layer directly So you'd have to do something ice-caze ish or you know You have to expose your ZFS through some other means to have this high availability But that if that's by itself is pretty robust that it's you know Obviously if you want high availability for the checkbox, then you'll need to do something like ice-cazey or something from there And I think I'm out of time Yes, if I have any special requests regarding tweeting or photograph I'm not on social media. I'm I'm too social No, please If you can constrain yourself to not putting my name on any surveillance networks, you might be plugged into I would appreciate it Obviously, I have no way to know so you know use your moral judgment I would appreciate no pictures of me ending up on the Facebooks of the world Twitter's in the world Thank you. Oh Right if you must since you asked so nicely. All right So there is one topic jelly versus looks Jenny oh looks is the yeah full disc encryption. Yes I think it's something called jelly or ghillie depending on how you pronounce your G's It just works it's and actually one of the nice things about the Full disc encryption in freebie is the gentleman who added supports for decrypting discs To the bootloader has actually never written a line of assembler in his life before he committed this feature So he just felt that he needed to decrypt his discs in a bootloader So he could have full disc encryption and he just you know sat there and I think this works It was some of the most horrible code I've ever seen But people on a mailing list patiently helped him with yes, but you know, that's not how Intel really works So that's yes, we have full disc encryption and we have a good good community Two questions answered in one go Yes, and now I'm really out of time. Thank you very much