When you run
smbd -V on your Snow Leopard installation, you’ll see it’s running SAMBA version 3.0.28a-apple. While I’m not sure how much difference the “-apple” makes, version 3.0.28a is old. Very old. In other words, it’s riddled with bugs. Apple hasn’t updated SAMBA in 3 years, and for Lion, they’re dumping it altogether for something homegrown. The reason? SAMBA is now GPLv3.
Apple has included SAMBA for file sharing in Windows networks since 2002’s Mac OS X 10.2. However, recently, SAMBA switched to version 3 of the GPL, which includes protections against patent threats. As the GPLv3 quick guide states – “Whenever someone conveys software covered by GPLv3 that they’ve written or modified, they must provide every recipient with any patent licenses necessary to exercise the rights that the GPL gives them. In addition to that, if any licensee tries to use a patent suit to stop another user from exercising those rights, their license will be terminated.”
As a patent-happy company, Apple obviously doesn’t like this, and as such, they didn’t have much of a choice. This also explains the truly irresponsibly old version of SAMBA Apple is still shipping with Snow Leopard; SAMBA switched to GPLv3 for version 3.2.0, released July 2008. SAMBA 3.2.0 was the next version after 3.0.x. It doesn’t explain, however, why Apple has ignored 9 more point releases in the 3.0 branch, but alas.
Anyway, Lion will include a homegrown replacement for SAMBA, AppleInsider reports, called SMBX. SMBX supports Microsoft’s new, more efficient and faster SMB2 protocol, used by Windows Vista and Windows 7, but doesn’t include support for NT Domain Controller. The SMB2 protocol is proprietary to Microsoft, but the specifications are freely available. SMB2 support is coming in SAMBA 3.6.
Considering the dangers associated with using such outdated software as SAMBA 3.0.28a, this move is better than nothing. It will open up a whole new can of bugs, as when it ships with Lion, it’ll be largely untested, but at least it’s not 3 years old. I would’ve preferred Apple stuck to SAMBA, but heck, realistically, nobody ever expected Apple to work with GPLv3 software.