Microsoft Agrees to Release Work Group Protocols
UnknowingFool writes "Groklaw is reporting that the Protocol Freedom Information Foundation (PFIF) has signed an agreement with Microsoft to release their protocols relating to Windows Work Group Server. The Foundation agrees to pay MS $10,000, and the agreement does not cover patents. This agreement apparently was made to somewhat satisfy the EU Commission complaints. With PFIF's objective to aid open source, this agreement means that the Samba Team may finally get the information they need to fully interoperate with Windows AD servers."
Are you sure about that? Workgroup is often designated as software separate from their Enterprise or Domain integrated stuff. Are you sure that releasing their workgroup protocols includes Active Directory access?
"I use a Mac because I'm just better than you are."
Couldn't or wouldn't? When they were under pressure earlier this decade, Microsoft spent a lot of money lobbying/buying off US state and federal governments, creating fake "grass roots" campaign sites and paying for press releases from pro-corporate lobbyist groups such as the cato institute (source1 source2).
Correct me if I'm wrong but, reverse engineering for compatibility purposes is legal. IIRC, that's why OOo is able to handle .doc.
that EU did something the US government wouldn't.
There, fixed it for ya.
They way it will work is as follows. We'll read the docs and work on creating client-side test cases and embedding them into Samba4 smbtorture. Once that's in place, any competent engineer can create the server-side implementation without having to have access to the actual docs. We need the test cases anyway (remember, untested code is broken code), so this is the way we've been going about doing things anyway. This should just open up new protocols and new protocol areas to implementation by others.
Jeremy.
Totally legal in the United States. In other jurisdictions, the law is not so clear-cut. In Europe, the right to reverse engineer is not sacrosanct. Then again, Europe doesn't (yet) have software patents.
Standard IANAL disclaimers apply, of course, but I've worked for several companies that relied on reverse engineering precisely for the purpose of compatibility with undocumented file formats. In one such company, I was informed by management (after advice from legal counsel) that it was actually legal not only to reverse engineer the file format, but it was even legal to reverse engineer / decompile the code for the application that generated the files in order to see how they were written -- the caveat being, you could only reverse engineer the code to insure compatibility, not to plagiarize it. (Usually you do a clean room reverse engineering process to insure that the people who reverse engineer the code write a clean spec that the people who write your code then use. The people doing the reverse engineering shouldn't be writing code based on that process, to avoid even the appearance of impropriety.) Of course, that particular employer's policy was to not reverse engineer the code of the applications themselves, only the files they wrote, but if we had the resources and we needed to, we could reverse engineer just about anything we wanted.
The legal climate in the U.S. was shaped in part by the outcome of a case where IBM sued Compaq for reverse engineering the BIOS of the IBM PC. Clearly, Compaq prevailed, and the clone PC market was born.
Samba has been developed without the actual documentation of the protocols. The team has done a remarkable job of reverse-engineering them as much as possible. The end result is that Samba is mostly compatible with Windows servers and clients. But there have been some missing pieces because the protocols haven't been open. For example Samba can operate in an Active Directory (AD) domain but cannot be used as a primary AD server. It could be used to make a Linux Primary Domain Controller though.
Well, there's spam egg sausage and spam, that's not got much spam in it.
Primary Domain Controllers died with NT4. As of server 2000, the concept of "primary" was removed and everything was made multi-master.
To that end, no, samba has not been able to *fully* function as a "domain controller" - as that is a separate technology from that of a "primary domain controller." They share some characteristics, but they are not the same thing.
Well there are the FSMO roles, and the one I think he is referring to is the PDC Emulator role, which there can be only one.
Insert funny smart-ass comment here.
The shell company and the subcontracted developers (Samba etc) cannot release the documentation.
BUT, they can create a reference implementation with normal source code comments and release that without any limits. This will effectively document the protocols. The hoi polloi just can't read Microsoft's documentation directly.
And if the documentation is incorrect, there are recourses.
And if patents come into play, there are recourses.
And if the documentation gets out of date, there are recourses.
And if you read the docs you are only NDA for three months (patents, not so much, as ususal)
This actually looks really good. Fingers crossed the inevitable gotchas are small and can be lived with.
MB
I am a viral sig. Please copy me and help me spread. Thank you.
You'll be disappointed. They don't use Lisp.
Most importantly though,
Under the agreement, Microsoft is required to make available and keep current a list of patent numbers it believes are related to the Microsoft implementation of the workgroup server protocols That means Microsoft must tell Samba which patents apply to the protocols, and keep telling them. The developers will be able to avoid any patent traps."I've got more toys than Teruhisa Kitahara."
> That means Microsoft must tell Samba which patents apply to the protocols, and keep telling them. The developers will be able to avoid any patent traps.
;) Believe or not, Novell/MS deal was like godsent boost for Linux here. As we don't have braindead software patents here - stuff like Mono (+ those "evil" patented apis) and OpenXML support etc, do only good here.
;) Even if EU would approve software patents later it wouldn't really matter (As everything before that point would go under 'prior art' and they would need to come up with new stuff and they couldn't apply for all these insane "innovations" they have patented now)
Those patents apply only in the US.
Hello from EU by the way
Shame that you guys there have to suffer from software patents
Yeah, they can do the same, so long as they follow the well-established clean-room procedure, as they have done previously and are still doing. And the current (and next) Samba already has a lot of AD in it, just not stuff that's useful to managing networks like Group Policy etc. which IS covered by this agreement. AD auth is already in most samba's distributed. However, if you want to work out all the corner cases, all the undocumented stuff etc. then you need specs. Or else you can spend (literally) another decade, not to mention a lot of money on people's wages, to figure out how it all works using a bit of cleanroom reverse-engineering by which time it's obsolete and outdated.
It's a hurdle on all three counts - there are patents (but with this agreement MS has to tell us what they are and if they get any new ones that affect licensees), there are legal problems (making sure the code is CLEANLY reverse-engineered for starters) and there are technical issues (it's a whole heap of a mess and it's taking years to find out useful information that you can put in a nicely programmed version, it requires literally throwing educated-guess packets at a Windows server and trying to replicate it's response depending on the state of the entire network, the packet and the server databases).
Joe Llywelyn Griffith Blakesley
[This post is in the public domain (copyright-free) unless otherwise stated]
Reverse engineering is legally protected within the E.U. courtesy of directive 92/250/EEC on the legal protection of computer programs. In the UK this is implemented in the Copyright (Computer Programs) Regulations 1992 (S.I. 1992 No.3233). Basically I get to reverse engineer any hardware/hardware, hardware/software or software/software interface.
Apart from EMCA bits to do with circumventing *effective* copyright protection, I am aware of nothing that overrides this directive.