Olivier Cochard-Labbé, the original founder of FreeNAS, shares with us a presentation outlining the history and beginnings of what would become the world's most popular storage operating system.
http://www.ixsystems.com
http://www.freenas.org
3. Go back to 2005: at home
Divx
files
Documents Photos & documents
4. Go back to 2005: My needs
• Divx files
• Documents
& Photos
backup
5. Features list
Software RAID5 to
reach 240GB with
4 x 80GB disks
IDE 1, master
IDE 1, slave
IDE 2, master
IDE 2, slave
OS installed on 16GB USB flash
disk (needed to think about
limiting read/write access)
128MB RAM
6. ∗ NASLite (www.serverelements.com)
∗ Boot from a floppy disk
∗ Openfiler (www.openfiler.com)
∗ Full Linux distribution (doesn’t fit on 16MB)
NAS software available in 2005
7. ∗ Associate Degree in network and telecommunications
(1998)
∗ Cisco Certified Internetwork Expert, routing & switching
#14041 (2004)
∗ As network guy:
∗ Automated network configurations using bash script and Perl
∗ Daily Linux user
∗ Personal goal
∗ Learn more about UNIX systems administration
My technical skills
(in 2005)
8. First message about
Hi,
I’m looking for a GeeXboX equivalent but dedicated to NAS in place of a
media center.
I didn’t found existing solutions that fit my needs.
So I would like to know:
- How many personal time investment take a project like our ?
- Can we start without being a developer ?
- Do you think this idea can be useful to other people ?
- Can I customize GeeXbox toward my needs ?
Thanks
9. First clue
You can do wonders with with busybox + uClibc + toolchain
GeeXboX is easy to customize because well designed.
You can download NAS edition of GeeXboX (into Arch tree).
It’s an old project I’ve started sometime. But still lot’s of work
to do.
10. I was unable to:
1. (Using GNU arch) to download GeeXboX source code
− I thought:
“Why do I have to use such a complex tool to just
download source code?”
2. Compile busybox from scratch
First try: Failed
11. Revelation came when configuring my firewall
The Dawn of FreeNAS
Run on PC Engines WRAP:
• 16MB Compact Flash
• 233 MHz AMD Geode
• 64MB SDRAM
12. m0n0wall Developers' Handbook
∗ http://doc.m0n0.ch/dev/
Building custom m0n0wall can be resumed in:
1. Installing a “funny Linux” called FreeBSD
2. Creating a disk image file
3. Copying system files into
4. Copying PHP code (no framework, so easy to
understand) into it
The Dawn of FreeNAS
13. The Dawn of FreeNAS
I’ve started a project under BSD license.
It’s small OS offering NAS features.
Technically speaking it’s based on FreeBSD 6 with PHP Web GUI
from m0n0wall.
I’m looking fkor contributors, more info here: http://freenas.org
15. ∗ 1st month, already received some contributions:
∙ 1 logo
∙ Full documentation by a native English speaker
∙ 5 user requests for help or new features
∙ 1000 downloads at the end of the month
∗ 2nd month:
∙ 3 appliance sellers asking authorization to sell servers with FreeNAS
installed
∗ 3rd month:
∙ A webmaster joins the team which already include 5 regular contributors
∙ 2500 downloads/month
First 3 months
16. First big surprise
∗ WMware “Ultimate Virtual Appliance Challenge” (2006)
− Second prize ($50,000): “The Trellis NAS Bridge
Appliance makes it simple to access files across the
network regardless of location, operating system or
type of file sharing technology (SSH, NFS, SMB, etc.).”
● This project was just a fork of FreeNAS with features
limited to SCP
− Consumer prize ($5,000): FreeNAS (LOL!)
18. Protecting the name
∗ Need to protect the name by registering trademark
− France (January 26th, 2007): cost 250 €
− USPTO (May 21st , 2007), paid 400$ but was rejected
Explanation given during the phone call with USPTO:
“When you type freenas on google, you have more than
1,000,000 results, so it's a generic term and you can't
trademark a generic term.”
19. ∗ Managing the community and project became very
time consuming
○ Was impacting family life
∗ Was volunteering for a crazy job in Afghanistan with
very limited internet access between 2007 and 2009:
○ Transferred project management role to the
main contributor (Volker Thiele)
Pause and reassessment
20. ∗ Needed to focus on NAS-only features: no print-server or BitTorrent
clients, etc.
∗ But as open project, still needed to allow user community to write their
own plug-ins
∗ Current compressed MFC base didn’t make it easy to add plugin feature
∗ Started a PoC using nanobsd+webmin, but not enough personal time to
finish
∗ I asked myself: “Am I still the “right” person to do this job?”
− I’m not a storage administrator (never touched a real NAS)
− How can FreeNAS innovate and not just follow user requirements
with only me in charge?
Needed to rewrite FreeNAS
21. ∗ FreeNAS public forum discussion:
− Volker (working on Linux on his day job) proposed to
switch to Linux because he was more confident with Linux
than FreeBSD
− My answer: “why not”
Buzz effect
23. ∗ Received an email from Matt Olander
∗ My answer: “Here is the trademark, domain names, and admin
account to become the new project leader”
iXsystems proposal
25. BSD Router Project
∗ Target
∗ Medium size Ethernet router (10Gb/s)
∗ Not for home user: OPNSense or pfSense domain
∗ No Web GUI
∗ Keep close to real FreeBSD
∗ Compliant with SCM (Ansible, puppet, etc.)
∗ For network admin
∗ Be managed as an appliance (one firmware)
https://bsdrp.net
29. ∗ To start, you just need an idea: Skills are not
important because you will learn them.
∗ Useful book I should had read earlier:
Producing Open Source Software
∗ http://producingoss.com/
Lesson: Challenge yourself !