Dear Mr Gates,

Posted 20 Oct 2001 at 12:09 UTC by lkcl Share This

we're looking at your technology in Windows NT and, as you probably know, i am so impressed by it that i would like to interoperate with it. i was wondering, therefore, if you could send me all IDL files and other technical information sufficient to implement programs such as exchange server and the MAPI API, SQL, NT domains version 4 and 5, Active Directory.

everything, really.

i have asked this question before, and i did get a response back of "no". however, that _was_ over a year ago, and i was wondering if you'd changed your mind at all.

also, i do have to apologise in advance because, i have to make this message publicly. the reason for that is that if you still say no, then under European Law, Council Directive 91/250/EEC, i would be allowed to do a considerable amount of work - far more than is sensible - to perform "interoperability" analysis.

what would _you_ get out of this? well, ask the team at secure@microsoft.com. whilst i was working on samba, from 1996 to 1999, you received numerous really rather important and obscure security reports. one of these resulted in the deployment of the Netlogon "Schannel" (don't know its real name) in NT Service Pack 4. this was a critical first step to ensuring that the entire SAM database would not be decoded by a hostile party who had access to BDC - PDC SAM Sync, for example!

so you would get a full, comprehensive analysis and independent testing of all your core-level products. and that's utterly priceless. and price-tag-free, too.

now, _why_ should you give us access to technical specifications? well, reasons i can think of off the top of my head are:

- it would generate an incredibly large amount of good-will

- some of this technology is old enough (DCE/RPC) such that it's been in use in Microsoft for so long that the people who implemented it originally are retiring, and the "new crowd" don't understand it, don't get it, and are implementing ".net" instead.

therefore, it really shouldn't matter: it's nearing the end of its life-cycle. SOAP is All The Rage. dot net is All The Rage. passport dot com is All The Rage.

- you've _had_ ten years head-start on this, surely that's more than enough to ensure market leadership, can we join in, now? pleeease?

- releasing some of this info may help reduce market share to below a level where the U.S. Dept of Justice will not bother you again.

anyway, i hope to hear from you soon, but if i don't, that's okay too.

many thanks,

luke


90/EC/250, posted 20 Oct 2001 at 15:41 UTC by lkcl » (Master)

well, i'm hoping to get a reply, but if not, it doesn't matter, because of these "Whereas" clauses, which are like "exceptions" to the Directives at the end of the document [use google, search for the above-subject]:

Whereas the Community is fully committed to the promotion of international standardization;

cool! international standards are protected.

Whereas the function of a computer program is to communicate and work together with other components of a computer system and with users and, for this purpose, a logical and, where appropriate, physical interconnection and interaction is required to permit all elements of software and hardware to work with other software and hardware and with users in all the ways in which they are intended to function;

okay. soo... let's take Exchange as an example. you purchase Exchange, and find that it doesn't work unless you also purchase Windows 2000 Server _plus_ licenses which costs you five times more than Exchange does.

because Exchange interacts with Windows 2000 over a network, you have the right to work out the communications, and the the right to reverse-engineer all parts of it that are necessary to get your legally purchased copy of Exchange to work.

_in all the ways in which the software is intended to function_.

that's so cool!

Whereas the parts of the program which provide for such interconnection and interaction between elements of software and hardware are generally known as 'interfaces`;

okay, so unlike above, which is network-user-hardware-software components, this is hardware-software, hardware-hardware, software-software.

so, a biometrics reader, smart-card, Crypto Card, Television Card or any other peripheral, you're allowed by law to go after the API to be able to use the hardware in another Operating System.

cool!

Whereas this functional interconnection and interaction is generally known as 'interoperability`; whereas such interoperability can be defined as the ability to exchange information and mutually to use the information which has been exchanged;

so not only is it legal to perform interoperability reverse-engineering but it is also specifically allowed for users to _use_ the software reverse-engineered, which is really quite important.

*grin*

Whereas, for the avoidance of doubt, it has to be made clear that only the expression of a computer program is protected and that ideas and principles which underlie any element of a program, including those which underlie its interfaces, are not protected by copyright under this Directive;

urr.... okay... sooo.... i think that means that the *actual code* - the binary program, the DLLs, etc. are protected by Copyright law, but if you examine the program, produce a document explaining how it works, then that is ALLOWED.

coool.

in other words, the people who wrote the program may have some really super-duper "fast" algorithm implemented, or they may have access to better Compiler technology than you do: you are NOT allowed to cut/paste parts of the binary executable into YOUR program, that is violating copyright and You WIll Get Seriously Beaten Up In Court.

Whereas, in accordance with this principle of copyright, to the extent that logic, algorithms and programming languages comprise ideas and principles, those ideas and principles are not protected under this Directive;

logic. algorithms. programming languages. all these things you are allowed... errrr.... my brain hurts. i can't interpret this one.

Whereas, in accordance with the legislation and jurisprudence of the Member States and the international copyright conventions, the expression of those ideas and principles is to be protected by copyright;

error. brain does not compute. [out of cheese error. redo from start.]. i think this is the same as the "Whereas" two above from here, except as applied to logic, programming languages and algorithms, rather than somebody's program.

i.e. you can't cut/paste parts of someone's compiler, but you can do an analysis _of_ the compiler to find out what makes it tick, and publish that.

anyway. i wonder how the EEC are getting on, given that this analysis of the DMCA declares it to be "unconstitutional".

i always hated that stupid law, and i'm glad to see that some professors have analysed it and found it to be illegal.

i mean, there's a clear and immediate conflict between these "Whereas" clauses and the DMCA provisions, which do things like make it illegal to even have the _tools_ to analyse programs, such as a debugger like gdb, just in case someone _might_ use them to work out some pathetic little anti-competitive hardware device?

pffh.

marketing, posted 20 Oct 2001 at 22:43 UTC by Malx » (Journeyer)

There is one thing I dislike in MS:
On their marketing seminars they talking about "Win vs Unix integration" and use Samba package as argument. :-(
Still they do nothing for this to happen.

ms getting support calls about samba, posted 21 Oct 2001 at 00:22 UTC by lkcl » (Master)

it was quite funny to hear stories about how, when people upgraded their version of windows, they get on the phone to _microsoft_ support who tell them they can't help because their third party software (samba) doesn't work any more.

if samba does its job properly, it saves _microsoft_ money in not having to take those calls.

i wonder how they're going to get on with Windows XP now that they've enabled "SChannel = Required"? this terminates any possibility of samba being a DC for Windows XP until full details of the NETLOGON "Schannel" are available.

the samba archives are currently full of reports of Windows XP not working: it's the "EnablePlainTextPasswords" registry modification Saga all over again...

... and with good reason, because NETLOGON _without_ the Schannel is badly insecure.

lkcl: What I think they are saying, posted 21 Oct 2001 at 13:29 UTC by maswan » (Journeyer)

Whereas, in accordance with this principle of copyright, to the extent that logic, algorithms and programming languages comprise ideas and principles, those ideas and principles are not protected under this Directive;
logic. algorithms. programming languages. all these things you are allowed... errrr.... my brain hurts. i can't interpret this one.

Whereas, in accordance with the legislation and jurisprudence of the Member States and the international copyright conventions, the expression of those ideas and principles is to be protected by copyright;
error. brain does not compute. [out of cheese error. redo from start.]. i think this is the same as the "Whereas" two above from here, except as applied to logic, programming languages and algorithms, rather than somebody's program.

Well, what I interpret that they are saying is the basics of copyright law, the ideas (algorithms, interfaces, protocols) are not protected but their expression (source and binary code) is.

Computer programs are a bit different som other forms of copyrighted materials, but the basic protection of form, not ideas is still there.

According to a thesis written by a law student around here article 5.3 in that directive (right to observation) also includes to use tools, like debuggers, memory dumps and so on. But this isn't totally clear.

The right to decompile a program is much more limited (article 6), but it is allowed under some circumstances. But only if you can't obtain the interface specifications some other way (like the vendor providing them).

Remember that you have to have legal copies of the software you want to reverse-engineer, and that the purpose is interoperability.

thanks, posted 21 Oct 2001 at 18:35 UTC by lkcl » (Master)

thanks for that explanation, maswan: my head was beginning to hurt, late at night, from having to negate those whereas clauses :)

GPL'ed Windows NT Clone in the Works, posted 22 Oct 2001 at 08:19 UTC by goingware » (Master)

A nice fellow wrote me tonight to tell me about ReactOS, which aims to be a high-quality compatible replacement for Windows NT. It uses the GNU GPL.

Whereas Linux (before the development of emulators for other Unixen) is source code compatible with Unix, and Linux drivers are their own world, pretty much independent of Unix drivers, ReactOS aims to be binary-compatible for both drivers and applications - at least for x86 and Alpha boxes; interestingly it opens up the possibility of the NT API being brought to other processors that Microsoft has never supported.

There doesn't seem to be an Advogato project for it, and I'd never heard of it before tonight. I just joined a couple of their mailing lists, I'll see if any of them are on Advogato.

IDL data for WIndows, posted 26 Oct 2001 at 00:40 UTC by alan » (Master)

According to microsoft's own public documentation they compile the IDL into the end of the relevant DLL's in order to avoid huge parsers written in C. So I suspect all you have to do is figure out how to find and dump the tables.

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!

X
Share this page