Why doesn't Apple ship and support FOSS drivers for NTFS write capabilities?

Solution 1:

I certainly don't speak for Apple, but to me a simple reason is that any code that Apple ships is installed across the globe and the code could have vulnerabilities, bugs or worse in it. Even perfect code has support costs associated with integration and end user support. Unless you want to pick a specific library, let's assume the popular OSS packages are no more or less buggy than OS X at this point to a first approximation.

There is a cost to even including the work even assuming no effort is made to test or support it. Apple provides free support to anyone at the genius bar, so there is a real business and opportunity cost for Apple shipping product that causes end users trouble. There also is a cost to train support personal to explain that OS X only ships with NTFS read support, but my estimate is that is trivial compared to what it would cost to even integrate the NTFS code let alone support it once it ships.

Apple doesn't go out of it's way to prevent users that want alternative filesystem code to run, but I can see many reasons why they don't incorporate even more open-source code then they do already on the ZFS/NTFS/extfs front.

Solution 2:

Microsoft changes NTFS in whatever way they like because it is their filesystem. The only way to be certain that you handle all edge cases, new features, and have little to no risk of corruption is by licensing the driver directly from them (if they would even offer such a license).

Remember: NTFS is far more advanced than HFS+. For example, it supports filesystem transactions with rollback (not just simple journaling), encryption per-file, compression per-file, and reparse points (which allow plugins to hook a file/folder to provide custom behavior). It also supports volume shadow copy, which is essentially a time-machine like snapshot view of the filesystem as it existed in the past, except not using hacks.

Can you truly be sure that the volunteers working on the open-source NTFS driver fully understand how to mount the filesystem when it has pending non-commited transactions in the log?

What happens when someone re-mounts the disk on a Windows system and the NTFS driver didn't use copy-on-write to preserve the volume shadow copy snapshots? Or worse, accidentally modified old snapshots, silently corrupting history?

Apple doesn't ship with write support enabled because they don't want to be responsible for some bug destroying people's data.