The upcoming release of Mac OS X 10.7 Lion Server will remove the formerly bundled open source Samba software and replace it with Apple's own tools for Windows file sharing and network directory services.

Apple began bundling Samba with Mac OS X 10.2, enabling Mac users to connect to Microsoft's Windows file and network directory services based on SMB (Server Message Block, a protocol also known as Windows File Sharing).

In both Mac OS X Server and client editions, Samba enables Macs to share files with Windows clients on the network and access Windows file servers. It has also later allowed Mac OS X Server to work as an NT Domain Controller to manage network accounts and make roaming profiles and home directories available to Windows PC users.

However, the Samba team has moved active development of the project to the more strict GPLv3 license, which prevents Apple from realistically using the software commercially.

Developers report that Apple has internally officially announced that it will pull Samba from Mac OS X Lion and Lion Server, and replace it with Windows networking software developed by Apple. The new replacement for Samba is said to be named SMBX, and supports Microsoft's newer SMB2 version of its proprietary but openly published protocol, which was originally released in Windows Vista.

While Mac OS X's previous Samba only supported the original SMB1, Microsoft's new SBM2 is both faster and more efficient, reducing the number of commands and subcommands from over a hundred to just 19, while adding pipelining of commands (to more efficiently transact over slow links), support for symbolic links, caching of file properties, and larger storage fields supporting better performance of large file transfers over fast networks.

Apple's Windows file sharing software in Lion will continue to allow Macs to both provide and access Windows-style file shares, but reportedly will not support the NT Domain Controller features of Samba, which relate to Microsoft's 1990's, NT-era directory service supported prior to Active Directory, which was released alongside Windows 2000.

Despite its age, some networks still use NT Domain Controller configurations because of its relative simplicity compared to Microsoft's more modern Active Directory. Apple is now said to be recommending Active Directory to users who are still dependent upon the older NT Domain Controller network directory services.

On the other hand, the version of Samba Apple had been using prevented Macs from seamlessly working with modern PCs running Windows 7, which include security changes in how encryptions protocols work. Apple's own software won't be constrained by the design limitation of Samba.

End users could conceivably obtain Samba on their own and integrate it into their Mac OS X environment themselves, but Samba does not currently provide ready to use binaries for Mac OS X, and a pure port of Samba would lack Apple's easy to use user interface and tight integration with other Apple software, including Open Directory, the company's own directory services solution.

GPLv3 is an ideological move divorced from the reality of the GPL. It essentially allows the FSF zealots to retroactively change licencing agreements (although I believe the final version may have toned this down a bit.

I believe, and someone correct me if I'm wrong, but the primary idealogical difference comes down to "source code must be available" covers in derived works. In GPLv2, you can use a source work, if you modify it then you have to provide source for those modifications, but if your code just works with it then you don't have to open-source your own code. Under GPLv3 you can't use an open-source component without being entirely open-source yourself.

GPLv3 is more strict on CopyLeft. One exception of not CopyLeft but GPLv3 is Apache 2. In short, Apache agreed to the GPLv3 terms to make it compatible. Apple refuses to agree to the terms.

GPLv2 is less restrictive on the Copyleft requirements.

Eventually, any an all pieces of software that moves to GPLv3 will no longer be included in OS X as part of the Operating System. You'll have to install those packages on your own and thus lose the former integration.

about the reasons you think it's explaining why apple remove samba you are wrong : GPL 3 ask the same thing than GPL 2.

it just has new provision to protect the goal of GPL 2 in remote web services (it was a way to circuvment the GPL 2 : put the modified source code behind a web interface and "voilÃ*" : no need to distribute a binary and then to provide the source code to users !"

but for pratical use for Apple, it's NOT what you think.

if apple has a problem with GPL3 _OR_ Samba, it's not the reason you think.

-
it seems difficult to believe Apple can recreate a complete cifs stacks from scratch.

it's surely a fork of the samba project. else : wow !

-
Linux Torvalds is not against the gpl 3. He had doubts of the need, nothing else.

For the Linux Project, you have to understand EVERY contributors to the kernel KEEPS their property of their own source code.

So if you want to change the licence of the whole linux kernel project, you should ask the permission of all contributors. (it's a lot of people and companies)

And, the gpl 3 doesn't bring useful (or urgent) protection to the health of the linux project, so the kernel maintainers are not interest in re-licence to the GPL 3.

it's nothing else.

-
others project as samba or gnu (and others) ask contributors to give the property (or permissions) to the foundation managing the project to contribute to the main official trunk of the project.

it has advantages and defaults, it's a choice suiting whatever needs the project has.

-
please, you don't need to romance things or to add polemics to be excited by changes.

GPLv3 does not prevent anyone to use the software commercially. It just has conditions that Apple finds unacceptable.

The biggest changes to GPLv3 that make it anti-commercial are:
1. Patent Indemnification. If you use GPLv3 you give up the right to sue anyone for any patent which may cover or be substantially similar to anything you've ever GPLv3'ed.
2. DMCA. If you use GPLv3 you are forbidden from doing anything with that code or derivative works which would enforce copyrights.
3. Anti-TiVOization. Any GPLv3 software (or derivative works) must be modifiable and the modified version be usable like the original. No locking out modifications on your hardware.

These, combined with expanded definitions for that consitutes a "derivative work" push the GPLv3 far beyond the original "if you use this code you have to share your modifications" intent of the GPLv2. Almost no corporation will touch GPLv3 with a ten-foot pole, causing a GPLv2 fork or a commercial re-implementation of the few innovations from the GPL world.

The end result has been much less free software work and much more investment in proprietary software. Nice work, FSF.

I believe, and someone correct me if I'm wrong, but the primary idealogical difference comes down to "source code must be available" covers in derived works. In GPLv2, you can use a source work, if you modify it then you have to provide source for those modifications, but if your code just works with it then you don't have to open-source your own code. Under GPLv3 you can't use an open-source component without being entirely open-source yourself.

I believe this is correct.

Quote:

According to Stallman, the most important changes are in relation to software patents, free software license compatibility, the definition of "source code", and hardware restrictions on software modification ("tivoization").[17][18] Other changes relate to internationalization, how license violations are handled, and how additional permissions can be granted by the copyright holder.

A second major area was how to deal with software patents. We decided that the implicit patent licences that we were relying on in GPL version two, were not solid enough so we put in an explicit grant of patent licence on the part of whoever distributes the software.

[Richard points at audience member] If she gives you a copy of the program, she is implicitly giving you a patent licence for any patent that she has or controls that you would need to infringe in order to use the software or use its output.

This follows various other free software licences that came out during the 90s.

Sure. Whatever Richard.

Oddly, Apache2 has the GPLv3 blessings but includes in their license :

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

This is the only reason Apple includes Apache 2 in their OS. Apache has basically given all rights of patented code up to the community but does not require third parties using Apache 2 to give their patents and copyrights of their derived work up to the greater community, which makes sense.

about the reasons you think it's explaining why apple remove samba you are wrong : GPL 3 ask the same thing than GPL 2.

it just has new provision to protect the goal of GPL 2 in remote web services (it was a way to circuvment the GPL 2 : put the modified source code behind a web interface and "voilÃ*" : no need to distribute a binary and then to provide the source code to users !"

but for pratical use for Apple, it's NOT what you think.

if apple has a problem with GPL3 _OR_ Samba, it's not the reason you think.

-
it seems difficult to believe Apple can recreate a complete cifs stacks from scratch.

it's surely a fork of the samba project. else : wow !

They are "WRONG" huh?

And you are right, despite not providing any reference or insight.

Oh, and your (bad) english and syntax, does not inspire much confidence in your understanding of licences...

1) GPLv3 has MANY, MANY changes pertaining to derived works, patents etc, that are troubling enough for a company like Apple to steer clear of the licence.

The beginning of your comment is pure rubbish, Apache License 2 was published in January, 2004, GPLv3 came out in June, 2007. ASF did not "agreed" with the FSF...

Anyway, you can continue...

Quote:

Originally Posted by mdriftmeyer

GPLv3 is not compatible with Apple's Open Source Licensing Policies.

GPLv3 is more strict on CopyLeft. One exception of not CopyLeft but GPLv3 is Apache 2. In short, Apache agreed to the GPLv3 terms to make it compatible. Apple refuses to agree to the terms.

GPLv2 is less restrictive on the Copyleft requirements.

Eventually, any an all pieces of software that moves to GPLv3 will no longer be included in OS X as part of the Operating System. You'll have to install those packages on your own and thus lose the former integration.

You're probably wasting your breath, the GPLv3 crowd I think is stuck in their utopian fallacy where everyone just shares software code for free & you never have to pay for anything ever again. OpenSource has been a huge success in large part because of the willingness of corporations to contribute to it, now with GPLv3 it will go the way of the hobbiest again & we'll go back to the old days or proprietary solutions that don't work together well. Congrats, you just gave Microsoft their comeback, they're already locked into the proprietary game.

I am naive when it comes to this, but does this mean SMB is going to be a lot more reliable?

No because SMB won't be part of Mac OS X as SMB refers to Samba.

This is going to be super interesting and Lion is getting awesomer and awesomer in my eyes.

I had a feeling Mac OS X Server was going to be rolled into Mac OS X and distributed as a simple server for home networking. I felt it when Apple released it with the Mac Mini Server, it felt more likely when the iPad was released, and seemed to make more sense when Apple ditched the XServe.

I wonder if it would have made a difference if Samba was LGPL based? At the same time the limitation of GPLv3 is with any sort of patent or DRM that would limit implementation. This could have caused a road block for Apple in adding certain missing features b

SMB is not Samba. SMB stands for Server Message Block, which is the protocol developed by IBM and Microsoft for networking on Windows and OS/2 (at the time it was being developed). Samba is the open source project that reverse engineered the protocol.

Just because Samba 3.x will not be included in Lion, it does not mean that SMB/CIFS support will be excluded. As stated in an earlier message, Apple could write their own code, license additional code from Microsoft, use the SMB2 spec which is documented by Microsoft to add SMB functionality, or fork the earlier version of Samba that is GPL2 licensed and add in their own code modifications under that license. Apple already uses some of the SMBFS file system that is licensed with the BSD license in Mac OS X, so there are a lot of options available.

So SMB performance and reliability could be improved in Lion, depending on the implementation method Apple uses.

So, how will Lion interact with Linux (or other Unix) computers? Which protocol can or will be used to connect to server shares on a Linux/Unix machine? And which protocol will be used to connect to Mac running Lion from a Linux/Unix machine?

So, how will Lion interact with Linux (or other Unix) computers? Which protocol can or will be used to connect to server shares on a Linux/Unix machine? And which protocol will be used to connect to Mac running Lion from a Linux/Unix machine?

For Linux/Unix I'd imagine you'd use NFS. OS X can share and connect to afp:, smb:, and nfs:.

I wonder if it would have made a difference if Samba was LGPL based? At the same time the limitation of GPLv3 is with any sort of patent or DRM that would limit implementation. This could have caused a road block for Apple in adding certain missing features b

That would have made a big difference.

It all matters on the software license of the software from Apple's stack and how it interacts with the shared software from the non-Apple stack.

Open-sourcing
On June 7, 2005, Safari developer Dave Hyatt announced on his weblog that Apple was open-sourcing WebKit (previously, only WebCore and JavaScriptCore were open source) and opening up access to WebKit's CVS tree and the bug Database tool.[13] This was announced at Apple's Worldwide Developers Conference 2005 by Apple Senior Vice President of Software Engineering Bertrand Serlet.

In mid-December 2005 support for Scalable Vector Graphics was merged into the standard build[17] and in early January 2006 the source code was migrated from CVS to Subversion.

WebKit's JavaScriptCore and WebCore components are available under the GNU Lesser General Public License, while the rest of WebKit is available under a BSD-style license.

That's very interesting. But are we sure, that this mean that the Lion Server has it's own AD Service included. Or does that mean, that the Lion Server will have some simple File sharing / mounting facilities and that a separate Windows Server has to be installed to run and handle the AD service functionalities?

New development for CIFS has been under GPLv3 for three or four years already. I can't believe Apple hasn't been working on this at least that long. In addition, there are several commercially available CIFS stacks. Apple is a $300B company, with $60B in cash in the bank: if there were a problem, Apple would just buy a CIFS implementation.

> "but the primary idealogical difference comes down to "source code must be available" covers
> in derived works. In GPLv2, you can use a source work, if you modify it then you have to
> provide source for those modifications, but if your code just works with it then you don't have
> to open-source your own code. Under GPLv3 you can't use an open-source component without > being entirely open-source yourself."

No, that's not true. You can easily use a GPLv3 component without being entirely open source. Google uses Samba, IBM uses Samba, EMC uses Samba, most of the small NAS boxes you can buy use Samba, all under GPLv3.