Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The True Story of FreeNAS


Published on

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.

Published in: Software
  • Be the first to comment

The True Story of FreeNAS

  1. 1. The True Story of FreeNAS by its author (Olivier Cochard-Labbé)
  2. 2. FreeNAS today
  3. 3. Go back to 2005: at home Divx files Documents Photos & documents
  4. 4. Go back to 2005: My needs • Divx files • Documents & Photos backup
  5. 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. 6. ∗ NASLite ( ∗ Boot from a floppy disk ∗ Openfiler ( ∗ Full Linux distribution (doesn’t fit on 16MB) NAS software available in 2005
  7. 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. 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. 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. 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. 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. 12. m0n0wall Developers' Handbook ∗ 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. 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:
  14. 14. FreeNAS website in PuTTY style
  15. 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. 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!)
  17. 17. Second big surprise ∗ AMD Donation (2006): Tyan big Transport GT24 server
  18. 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. 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. 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. 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
  22. 22. Buzz effect
  23. 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
  24. 24. Spreading Historical branch Main developer (new project using Debian) Transfer and rewriting
  25. 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)
  26. 26. Subproject : EINE
  27. 27. Subproject : EINE
  28. 28. Subproject : EINE
  29. 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 ∗ Lesson: Challenge yourself !