Apparently some of my peers were talking about it today, and I was wondering what was so special about this file system that makes it the choice behind a lot of distributed file systems, as opposed to many others that exist.


The reasons are largely historical and pragmatic and date back to the technology that was incumbent in the 1980s and 1990s when much of the work on distributed systems architecture was being done:

  • NFS is an open standard and is supported on pretty much every unix system built from the late 1980s onwards.

  • Unix and NFS were the incumbent standard in the 1980s-1990s when much of the distributed systems research that spawned this technology was being done. You could also get a source licence from the vendor. Linux did not have a robust networking stack until the mid-1990s and BSD unix was mired in IP litigation issues then as well. Unix-like systems on commodity hardware were not really a mature platform until the second half of the 1990s.

  • NFS is an order of magnitude simpler than CIFS and the standard is fully documented. This makes it much easier to implement.

  • Although SMB was originally a standard, the Microsoft dialect used by Windows was full of proprietary extensions and was not fully documented.

  • PC networking was mostly based on proprietary protocols such as NetBeui or IPX. DOS had no built-in network support. Windows did not support networking at all until WFW came out in 1993 and did come with an IP stack until Windows 95. Netware on IPX or SMB on NetBeui were the incumbent standards in the PC world until MS brought out Windows 2000.

  • Unix is much easier to write system software for than Windows. Windows was justifiably regarded as an unstable toy until Windows 2000, which was arguably the first really stable version (you could possibly make this case for NT4 from about SP4 onwards but that did not come out until the latter part of 1998).

  • Anything else such as SNA or DecNet was proprietary and often dependent on hardware that was even more expensive than Sun workstations.

  • As far as I am aware, Unix vendors almost never charged for client access licenses on file servers. PC unix vendors such as SCO or ISC tended to sell just 2-user ('workstation') or unlimited user licenses. Hardware vendors such as Sun, DEC or SGI made their money on the hardware.

  • Unix vendors tended to offer steep (40-50%) discounts to academic users to encourage them to stay in the fold.

  • Many university campuses were already customers with incumbent IP-based network infrastructure. IP (and thus NFS) could be routed over existing network infrastructure, which was not necessarily the case with 'cheap' johnny-come-lately vendors such as Novell and Microsoft (for example early versions of IPX did not support routing and were restricted to a single contiguous network.) In 1990 a router was more likely to support IP and LAT (a DEC transport protocol) than NetBeui or IPX.

  • In operation, NFS/NIS is much simpler to implement and maintain than AD/CIFS. A moderately loaded NFS/NIS server setup is pretty much fire-and-forget unless it runs out of disk space or something equally drastic happens. It's also quite idiomaticlly unix-y, and plays nicely with Unix-based network infrastructure. Retrofitting AD/SMB support to a unix system is also much easier than retrofitting NFS/NIS support to a Windows server.

The net result is that before (say) 1995-2000 working with IP and NFS was much easier than pretty much any other protocol available. If you ask an old unix geek they will probably regard this era as a bit of a golden age for systems software.


There are multiple reasons, including NFS good performance and design but the main one is probably that most (if not all) other distributed file systems are/were proprietary and implementing them require to reverse engineer their protocol. On the opposite, NFS specifications were provided by Sun Microsystems for free to anyone wanting to support them ( http://tools.ietf.org/html/rfc1094 ) leading that file system to largely dominate this area. NFS has also evolved significantly a couple of times to adapt to new requirements.


Possibly because NFS is really simple to use, even if it isn't the most secure (without extra setup and work). You install NFS, add your directories to /etc/exports, exportfs -ra and you're done.

I tend to use samba a lot more than NFS myself though, and I would imagine in environments where you must deal with Windows that samba is used more.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.