# Choosing *BSD for starting point as filesystem programming



## CurlyTheStooge (Apr 26, 2014)

Hello,

I know the title may put off a lot of guys as there are literally thousands of FreeBSD vs. *BSD vs. Linux threads here and there and I have always held myself off from asking these kinda open ended questions, however things are different this time and I just need some guidance so that I can come out of the confusion I'm in and focus on what I want to do.
As I mentioned a couple of time I'm a Slackware user and though I'm in a tech support industry, I've been learning Linux systems programming(C) since last year as I've been using Linux since my college days and wanted to contribute back. However, I'm a big fan of FreeBSD as I know their history and great development over the years and that's why I keep lurking in this forum to gain knowledge from the veterans here. I've been working for a Backup and Recovery product based organization and I realized how much important a filesystem and it's features has when it comes to data protection and integrity. Working here made me realize that I can focus on filesystem programming, starting from user level implementation(FUSE), VFS and to the actual kernel level. This, in long term will at least provide me something to focus on in spite of writing random socket programs/device driver modules etc. for my friends.
Though their backup appliances uses Linux as their base which is expected and I've been reading source of the FUSE and ext2(I'm willing to start from the most basic), in long term I wish to contribute to a BSD as well as I'm so infatuated by the ecosystem. However my confusion is that I'm seriously getting confused between FreeBSD and NetBSD as a starting point to study the implementation of FUSE and VFS. Blame it on my habit of excessive reading of the web. NetBSD caught my attention because of their clean code base and better compatibility with Linux programs (as they claim) and most importantly backward compatibility. The first thing I did was to install FreeBSD 10 and NetBSD 6.1.4 in Virtualbox on top my Linux box where I found FreeBSD to suit my taste judging from the installer though NetBSD installed damn fast.

Enough of the background, now my only question is, where can I expect a better documentation and up to date help on contributing little things and even though my main platform will be Slackware Linux, where can I be more comfortable when it comes to use and develop. I obviously am inclined towards FreeBSD but I just need a push I guess.

PS: I don't care about portability on ancient machines, just i386 and later ARM, I just want to read a better code and want to read a lot.

Regards.


----------

