Love is Golden: all ideas have and always will be.

Posted 16 Dec 2004 at 23:15 UTC by lkcl Share This

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?


And "Cliffs", posted 17 Dec 2004 at 00:16 UTC by lkcl » (Master)

I forgot to mention the "cliffs" project, which is an attempt in 2000 to create auto-generated SMB parsing code (for both client and server use).

it works pretty well.

and the bits of it that i wrote are now public domain. hurrah!

Ideas are not ours by rights, but are God's by nature., posted 17 Dec 2004 at 01:51 UTC by lkcl » (Master)


Love is Golden: all ideas have and always will be
all hallowed: the things we think of last for ever more.
And again: forgot or left to be.
Thus we come full circle: "As It Was Before"

Luke Kenneth Casson Leighton - Ironically Copyright (C) 2004

Ideas are not ours, but are our manager's, posted 17 Dec 2004 at 06:57 UTC by tk » (Observer)

... 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".

That's because we don't code open source projects in order to look at manager's faces. If you're so concerned about what managers think about you, why don't you get yourself bedded by a female manager?

apologies, posted 17 Dec 2004 at 11:08 UTC by lkcl » (Master)

once again i must apologise to all readers for tk's inappropriate response: i urge all readers to bear in mind that tk's responses at this sort of base and gross level are frequently made. i'm so so sorry.

lkcl rightly apologizes for being in the wrong, posted 17 Dec 2004 at 12:42 UTC by tk » (Observer)

And my point still stands.

a bit more news later, posted 18 Dec 2004 at 17:35 UTC by lkcl » (Master)

there's quite a bit more news involved here - good news. i'll see if i can get authority to pass it on.

reasons why samba team cannot create a "SFS", posted 30 Dec 2004 at 09:43 UTC by lkcl » (Master)

i am told that there are good reasons why the samba team cannot create a legal entity with a charter: that is a great pity, but understandable.

the next best thing is to have a code of conduct and guidelines by which people are expected to adhere to.

Bourne Convention may cause problems..., posted 6 Jan 2005 at 21:18 UTC by MartySchrader » (Journeyer)

If I recall corectly, the Bourne International Convention on copywright says that copyrights on published material remain in effect once the published material becomes publicly available or something along those lines. Anyway, the point is that you may be stuck with copyrights. Also, if any of that stuff bears more than one name for authorship then the rights of the other authors is not proscribed by your disclaimer. Whatever. Let the lawyers figure it out.

Re: Berne Convention, posted 12 Jan 2005 at 18:24 UTC by alan » (Master)

I see nothing in that which would cause any problems. There are some rights you can't rennounce in various jurisdictions to do with moral rights (authorship etc) but putting code in the public domain really means those don't matter.

Its a very *dumb* thing to do in some respects but for other reasons. Had it been put under a "do as you like if it breaks you get to keep the pieces" license then you would at least keep protection from liability as far as is possible. Making something public domain in some jurisdictions doesn't imply no liability.


it's a long story, posted 13 Jan 2005 at 15:57 UTC by lkcl » (Master)

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 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.

hoold your horses :), posted 14 Jan 2005 at 11:08 UTC by lkcl » (Master)

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 should point out that just because i believed something was unfair at the time didn't _make_ it fair - or even true! much went on - much anger, many friends lost.

Public Domain is not what you think it is, posted 23 Jan 2005 at 04:50 UTC by ncm » (Master)

There's a reason why it's very rare for Free Software to be released into the public domain. It should be obvious that if it were not a really bad idea, most people would do it routinely, because public domain is much less hassle than choosing a license and stamping everything.

The reason releasing code into the public domain is such a bad idea is that once it's in the public domain you can't make the right to copy it contingent on not suing your ass into the ground for the consequences of some bug you introduced and failed to diligently discover and warn everyone about. That's why even the most liberally-licensed Free Software has a disclaimer of warranty and fitness.

I'm not sure, but it seems possible that you have already committed yourself by making a public declaration, and are now (as they said repeatedly in "Intolerable Cruelty") exposed. Probably it would be a good idea to clarify now that "am relinquishing" should not be taken to mean "have relinquished". Then, you need to choose a license that does not leave you exposed. Probably the MIT X or the BSD licenses would suffice, but I'm not a lawyer. You probably should talk to one who actually knows all about this sort of thing; if there's one thing more expensive than talking to a lawyer, it's not talking to a lawyer when you should have.

thanks, posted 26 Jan 2005 at 00:16 UTC by lkcl » (Master)

my thanks to people for pointing out the pitfalls of "public domain".

i believe that people should take responsibility for their own actions and/or inactions. should people choose to abdicate responsibility for their own decisions of using some of my code, to somehow make _me_ responsible for _their_ decisions: they will just have to live with _that_ decision - as will i.

[rereading that, it sounded complex - but in a nutshell, it involves "karma" - the law of nature that says what goes around comes around: hurt someone and you _will_ pay for it; love someone and you are empowered in the light by your actions. ]

thoughts..., posted 26 Jan 2005 at 00:18 UTC by lkcl » (Master)

i'll think about what you said, ncm. appreciated.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page