I am delighted to be able to tell you that I have taken a decision to relinquish Copyright ownership of all Samba-related code that I have ever written.
I would like to take this as an opportunity to formally request the Samba Team to reopen the case for forming an ASF-like "Samba Software Foundation".
As you are no doubt aware, I started work on NT Domain analysis in 1997, with Paul Ashton. We succeeded! Since then, the transformation, acceptance and usefulness of that knowledge into Open Source Projects has met with limited success, and there are many many reasons for that.
It is my sincere belief that if the research had taken place under an umbrella organisation such as the ASF (or similar), that the utilisation of the initial research would have borne far richer fruit.
There are many definitions of what is a "Successful" Open Source project. number of lines of code. number of users. number of developers. useability. conformance to standards.
... Not many Open Source projects measure "success" by "the look on manager's faces when they are told they have another choice other than windows".
In the case of Windows compatibility, the issues are unbelievably layered, complex, many-hydra-headed and many-headed-hydrad - and Microsoft would not have it any other way. As an example, in order for Mono, the Open Source .NET clone, to support authenticating to NT Domains, if they were to start from scratch i estimate that they would need to reverse-engineer nearly HALF A MILLION lines of code.
Microsoft has businesses by balls that businesses (and U.S Depts) didn't and don't even know they'd sold you.
Now, it is very very unfortunate that, at the time I was working on Samba, i had - and to some extent still have - very little understanding of social interaction. You can research that to your heart's content: it's not pretty reading, and there is no benefit to relaying it here.
The _consequences_ however _are_ worthwhile iterating here. The consequences are that the acceptance of various ideas that would have opened up the Microsoft-dominated arena to users and developers were... stalled. Key strategic opportunities to put in special "outsourcing" interfaces were lost. That may require some explanation: Microsoft's approach is to layer data within other layers - effectively and literally to build on last year's success with yet more success - both in technical terms _and_ in strategic lock-in terms.
By analysing their network protocols and implementing them, it becomes possible to "interact" at higher and higher levels, and for yet more Open Source (and proprietary!) projects to Interoperate.
Where i failed was that at a key interface point - known as the "NT Named Pipes" interface (see Microsoft's MSDN "CreateNamedPipe" API) i could not persuade the samba team to allow other projects to "Interoperate" at this level.
You see the similarity? Namely that your options were to use Microsoft with all its warts and risks but full functionality and closed-source proprietary lock-in, or to use a more secure, robust, worthy - but limited and _equally_ locked in open source clone!
You only have to look at the Wine Team's attempt to reimplement the Network Neighbourhood due to 1) bugs in the Windows NetBIOS stack 2) License incompatibilities between Samba and Wine to recognise that Samba's design is in some ways _more_ restrictive than using Windows!
At least on Windows you _can_ write your own Project - Open Source or Proprietary - using the Win32 CreateNamedPipe API or the Win32 NetBIOS API, whereas with Samba you must take the source code and modify it or you must reinvent it (10 to 20 man-years of work, if you're lucky).
I am reiterating a point that I have made many times before, so I will stop here.
In a recent post to the Samba Mailing lists, I offered the Samba Team an incentive to initiate a Samba Software Foundation. It looks like the offer was rejected. So, as a gesture of goodwill, in order to demonstrate that i really AM serious about how important I believe it is that an SSF exists, I really really AM relinquishing all copyright of all Samba-related source code that i have ever written, and am placing all that code into the Public Domain.
Specifically, but not limited to, that includes the code in samba which made its way into nmbd (dating right back to 1.9.15.p6 and before, and also including the nmbd_multiworkgroup version), all modifications of smbd that made their way into versions of 1.9.15 and up, all versions known as samba_ntdom _and_ Samba TNG, the code that i cut/paste over to FreeDCE to integrate a NamedPipe Interface plugin and also the FreeDCE NTLMSSP authentication plugin i worked on.
i think that just about covers it...
[by the way, if anyone knows of any formal / legal incantations that must be met for that to be recognised, please contact me, i need to know what they are].
oh - one other quite important thing: a couple of people donated or assigned copyright to me on the condition that the code was made available to the Open Source community. i assume that those conditions are still met by "Public Domain". i doubt very much if their contributions - which date back to 1997 / early 1998 - still survive in any recent version of samba.
i mention this for completeness and leave it up to you to make up your own mind as to what and what not to use: if nothing else, there still exists a GPL version oh. hey, how does that work? code that used to be GPL, and now it's public domain?
what transpired in 2000 was that i believed my code was, by virtue (and by my own fault) of being incorrectly labelled as copyright to other people who had nothing to do with its development, but who were, in my mind, reaping the benefits of it (sponsorship, shares from dotCOM open source companies, employment), being effectively ripped off.
i therefore threatened at the time to put the copyright "into dispute" if the matter was not resolved. this would have caused a massive problem for a lot of people, which was the whole idea: if they weren't considerate enough to have put money my way (which was desperately needed at the time and, i believed, deserved) then i figured it was time for a stick rather than a carrot.
as you might imagine, even though i believed that i was justified in _saying_ what i did, even _mentioning_ it caused a lot of harm.
after four years, the goalposts still have not moved (not by free software developers, anyway) but they have been moved further away by microsoft.
we still do not have a free software development environment that includes a Win32 "Named Pipes" transport, nor a free software DCE/RPC development environment that can do NT Domain authentication, nor an exchange server, nor an RPC over HTTP transport, nor an RPC over "Named Pipes" transport, nor an Active Directory server including replication, nor a .NET server that can authenticate against Active Directory - the list goes on, and every year microsoft keeps upping the ante.
just recently, we became aware via slashdot that microsoft dropped support for NT 4.0 server on Dec 31st 2004 - twelve days ago.
that means that, from a microsoft perspective, for those people who have NOT heard of samba, they are FUCKED - completely fucked. they MUST upgrade those NT 4 PDCs otherwise if they fail, they have had it.
and _if_ they upgrade, then they are locked into Active Directory without a free software interoperable solution for the forseeable future
(yes there is XAD from www.padl.com but it's not free software)
now _that's_ what i call seriously problematic pressure on businesses.
and thank goodness for the EU case against microsoft, mandating that they must release documentation and specifications sufficient for interoperability on AD and Exchange that's all i can say.