[Samba] GPLv3 and Mac OS X

Stephen Norman stenorman2001 at me.com
Sat Oct 30 11:00:21 MDT 2010

On 31/10/2010, at 1:03 AM, John H Terpstra <jht at samba.org> wrote:

> On 10/30/2010 02:48 AM, Stephen Norman wrote:
>> This may have been raised before and if so I apologise for not being
>> able to find it.
> No apology needed. We can discuss this topic on this list.
>> I was wondering if someone on the list can please explain the
>> relationship that GPLv3 has in preventing Apple from distributing
>> updated builds with their operating systems. I've read over the GPLv3
>> (I'm not lawyer or anything) and I would guess it has something to do
>> with the patent agreements?
> Why do you believe Apple cannot make use of Samba? That is a very
> different question from why they might refuse to use it.  The word
> "prevention" implies a "cannot" element as opposed to a business
> decision not to use it. Objection for business reasons is like choosing
> not to purchase something as opposed to not being able to purchase it
> for one reason or another.
> Licensing terms form a contractual boundary to accepted use of a created
> work in order to preserve the intent (wishes) of those who labored to
> create it.
> Samba is the result of many hundreds of man-years of work that was
> freely contributed for the benefit of all, subject to the specific terms
> of use that are set out in the GPL. Even if every business on planet
> Earth should choose not to use it in their products what would be the
> loss to it creators?

"Prevention" may have been a poor choice of words here. I guess what I'm asking is, if Apple was to ship Samba 3.2 or above with their OS, what other parts of the OS (if any) would need to be released under GPLv3? For instance, if Finder used some part of Samba in it would it too need to be made available as GPLv3?

>> I'll admit that I'm not too happy with the GPLv3 and think that,
>> ironically, it is in many ways as restrictive (and in some ways even
>> more so) than closed source software. That's only my opinion though
>> and I understand where it may be useful.
> Please help us to understand what changes to the licensing terms will
> cause more people to contribute their labors to its improvement and
> assure its wider use.  What must the creators of Samba give up in order
> to be successful?  What does success look like?  How will Apple benefit
> from this change? How will these benefits help the creators of Samba to
> better achieve their goals and objectives?
> If you can convince the authors of Samba that the benefits of being more
> successful will outweigh what the world will lose you will get a certain
> hearing. In other words, what must the Samba developers give up and what
> will be their gain by doing this?

I definitely see your point here so I'll try and explain.

Apple is one of the largest users of open source software in the world, with over 50 million users each using open source software. By largest users, I mean the software is on people's machine (server side projects like Apache would have much greater numbers). That is a large number and second only to Microsoft Windows. They have been an advocate for open source software, shipping a number of technologies, including Samba in Mac OS X for almost a decade. They helped kickstart software technologies including Ruby on Rails by being the first to ship the software with the OS, something which continues to be the case today.

I'm not sure how many users use Samba worldwide, but I'd think that the potential loss of such a number would have been considered during the license transition. After all, Apple aren't going to use code in their OS that might require them to open source some of their key technologies, such as the Finder or Workgroup Manager.

Instead, Apple will be forced to either fork the old code base of Samba (something no one wants) or develop their own implementation of CIFS/SMB that isn't covered under the GPL.

GCC's change to GPLv3 forced Apple to find an entirely new compiler infrastructure, Clang/LLVM, which arguably is actually an improvement over GCC in many ways. The problem for the GCC people is that their are now going to be 50 million of their users potentially moving to a new compiler and that isn't counting other projects such as FreeBSD and other BSD derivatives. The flow on affect could be quiet large, and while GCC isn't going away any time soon, the potential for it to be superseded by LLVM is certainly there.

I'd hate to see the open source community end up being divided into a GPLv3 zone and one that has everyone else. It would then prove many anti open-source advocates (i am not one of them) a reason to show how open source doesn't always work.

In relation to Samba (I'll play devils advocat here), the question on my mind woud be, how does using software that already exists in the community and is well liked and tested useful to my project if using that code actually results in me having restrictions placed on what I can do with my code, just because I linked to some pre-existing code?

I realise a lot of the changes made in GPLv3 relate to patents, but I'd say that it would make better business sense to most companies to license a technology (such as SMB) from Microsoft and then be allowed to include it in my product, which they can then sell and support, rather than being forced to release their code for free.

Finally, companies such as Apple are going to have to deal with problems such as Windows 7 compatibilty in their products, something which the old version of Samba 3.0 seems to have trouble with, and if they find they are unwilling to update to a later version because of the requirements of the new license, then they may have to switch to a different technology or license it from Microsoft. That might make Microsoft happy but it would be a big blow for the Samba project, especially if it meant the loss of over 50 million potential users.

I hope that helps clarify the kind of direction in which I was heading.

>> Regardless of my opinion, I would like to know about GPLv3 vs. Apple
>> Mac OS X and if there are any plans (i.e. Samba 4) that would allow
>> the software to again be shipped with the operating system.
> Samba4 is part of the Samba3 code tree. All of Samba will continue to
> ship under the terms of the GPLv3 until such time as the authors see
> good reason for change.  We respect the right of anyone (person or
> company) to use or not to use Samba.
> I would like to see more people benefit from our efforts and our labors.
> I believe that the GPLv3 is the best way that our users can continue to
> receive those benefits. The Samba team has chosen to license under the
> terms of the GPLv3.

I think Samba is an amazing project and I don't want to detract from that at all. I personally think that compelling companies to release their code under the GPLv3 for using a small part of GPLv3 code is against the principals of open source software in general. After all, the original purpose (and I think the general public opinion) is that open source means I can take code, include it in my project and sell that project to customers as long as I give any changes I make to the source code of the project back to the community.

I guess the biggest problem is that no one seems to be clear on some of the points of the GPLv3. For example, if GPLv3 code is used in the Finder, does that mean that all of Mac OS X must be released under the GPL or just the code in the Finder? And how does that effect me as a a developer. If Apple produces a framework, such as CoreAudio and I link against it when I'm developing my application, and that framework uses GPL code, does that then require me to release my code under the GPLv3, meaning I cannot sell it to customers? I'm guessing that's what Steve Balmer was referring to when he spoke about GPLv3 being viral in nature.

Now all this might be for naught if I'm wrong and I may be, but I think that the uncertaintly that clouds around the GPLv3, mostly because of the wording and because it hasn't been challenged in court (yet), is going to raise some concern in the community.



More information about the samba mailing list