Hacker News new | ask | show | jobs
by sudosysgen 1751 days ago
It's sad that apple doesn't just give up and use SAMBA.
3 comments

They do, under the hood. (or did at one point.) the problem is it doesn't work. it's functional, but just doesn't give the level of performance needed at the top end (where wifi isn't a good enough connection).
They used to, a very long time ago, and when they did it was an outdated version. Nowadays they have a proprietary alternative that sucks.

Modern Samba is limited by the TCP stack. You can get 10gbps to work as long as your TCP stack is performant enough with very basic tuning on the server side. The client "just works".

macOS stopped shipping Samba with 10.7 Lion. Even before Samba was outdated.

I think it is highly unlikely that will happen as long as Samba stays GPLv3 licensed.
Not to get political but I always thought it was a mistake to make "modern" samba GPLv3. All it did was make all these hardware vendors either stick with the older GPLv2 stuff or... I dunno what else they can do besides write their own implementation.

Samba is too much of an "infrastructure" codebase. It should have been BSD licensed. Vendors would have strong incentives to merge changes back into the mainline... none of them want to have their own wacko implementations.

Samba operating on the application layer and working the way it does means you can totally ship a computer that runs Samba with the immediate tooling around Samba also bring GPLv3 and the rest being proprietary.
I don’t think there’s enough jurisprudence on GPLv3 to make that confident a statement.

I certainly can see the likes of Apple not wanting to take the risk that somewhere, a court will decide differently.

Even when they did, somewhat 10+ years ago, it is still far from perfect for whatever reason. But no one cared much because we were all taught to just use AFP.
Ten years ago Apple abandoned Samba. But Samba back then was much worse than Samba today, which is of equal quality to the Windows Server stack but harder to configure.