Microsoft Tech Specs Prohibit GPL Implementations
abartlet writes "As described in this Advogato entry, MS is trying to pull a swifty with their latest 'release' of their CIFS (the networked filesystem Samba implements) Technical Reference. The licence specifically prohibits any GPLed or (or LGPLed) program from implementing it, defining it as an 'IPR Impairing Licence'! Fortunately the CIFS community is about to release its own Technical Reference based on earlier MS documents and long experience in attempting to interoperate with the MS product." Microsoft's claim is completely ungrounded - nothing written by a third-party can take away Microsoft's intellectual property rights. But it makes a good (read: confusing to the general public) justification for preventing others from interoperating with their software.
Comment removed based on user account deletion
This isn't my area of experise... but would it be possible for an open source implementation to be made for Windows? Samba for windows? If it is good enough, then the growing numbers of companies out there that want Windows and Linux to interoperate will have an alternative from the M$ machine with all the benefits of the free (both senses) world. The implementation could be independent on any M$ specification and thus be free from any M$ restriction completely
I suspect that they are worried that a bit of GPLed code will somehow make it into a bit of the windows codebase - intentionally or otherwise.
;)
It only takes one programmer on the MS campus to fuck up and that could happen. I imagine that they're worried that then people would start taking them to court to gain access to the code.
C'mon - if you heard that MS has some GPLed code in Windows - which would you put your weght behind:
a) They just take the code out
b) They are forced to open their codebase
Yup - though so!
Comment removed based on user account deletion
This has some far reaching effects.
Many manufacturers of NAS (Network Attached Storage) use GPLed OS that have been modified or reduced to their basic components to NAS appliances. I have seen many instances of Linux NAS devices, BSD NAS devices, and yes, NAS devices bases on Windows 2000 for appliances.
A little background:
A NAS device is an appliance dedicated to providing storage on the IP network. It's basically a stripped standard server with ease-of-use features added, and form-fitted into a smaller box. Extremely easy to set up, extremely easy to use.
Companies that make them:
Quantum Snap! www.quantum.com
Maxtor www.maxtor.com
Network Appliance www.netapp.com
IOMEGA www.iomega.com
Blue Arc www.bluearc.com
and the list goes on and on.
They all provide CIFS and NFS shares, some of the also provide Apple shares, and Novell shares. The point here is that many of them are based on GPLed OS. While their final product may be commercial, this development may restrict their use of CIFS. These products RELY on CIFS. Frankly this may be a ploy by Microsoft to sell more copies of Windows 2000 for Appliances, and take a heavy swipe at the Open Source community.
If NAS vendors can't use CIFS, and the latest CIFS has changed to mess up connectivity, they are dead in two years, as the OS upgrades catch up.
If there is a somebody who could clear that up a bit, that would be great.
I, for one, hope that continued compatibility for the CIFS standard continues in the Samba package. For Linux to lose that functionality, it would kill a lot of possible server implementations.
This "LISCENCE" is for the documentation NOT the protocol.
True.
Hell have a friend agree to the terms, read it, then TELL you how they do what they do...
Is there some sort of non-disclosure in the license in addition to just the bits about "don't implement this in a GPL app"? I'm not legal savvy enough to understand even the quoted bits of the license in the article. Is it somehow implied that telling somebody else what the protocol is after you've read it, is a violation of the license?
Unix is user friendly, it's just selective about who its friends are.
DMCA(f) reads:
`(f) REVERSE ENGINEERING- (1) Notwithstanding the provisions of subsection (a)(1)(A), a person who has lawfully obtained the right to use a copy of a computer program may circumvent a technological measure that effectively controls access to a particular portion of that program for the sole purpose of identifying and analyzing those elements of the program that are necessary to achieve interoperability of an independently created computer program with other programs, and that have not previously been readily available to the person engaging in the circumvention, to the extent any such acts of identification and analysis do not constitute infringement under this title.
In other words, the DMCA requires that programmers be able to access parts of a computer program "to achieve interoperability of an independently created computer program with other programs" (i.e. porting a windows program to linux). If that access isn't provided then the programmer can legally circumvent a technological measure that controls access to the essential parts of that program for the purposes of porting.
I say we should rally the EFF and call them on it.
That's what Microsoft tries to achieve: get developers to read the text, then wait until a patch from one of these developers appears in the samba sources.
Wait a bit, then sue. The difficult part is proving that the patch author has read the CIFS docs, but Microsoft has enough money to find an expert that proves that a certain information was not found through reverse engineering.
The Samba team must document every reverse engeneering step.
US software patents apply anyway. No doubt over time you will see microsoft try and eliminate free software from the USA. Quite what they think will happen when software is 100 times cheaper abroad than the USA I'm not sure.
It does maybe also explain the US governments position and desire to look the other way and not punish microsoft. Perhaps they think that a combination of draconian patent lobbying world wide combined with Microsoft co-operation will let them suck all the money out of foreign developing nations by enforcing windows (plus NSAKEY and the like) on any that threaten to become the new economic powers.
It seems pretty straightforward: if you want to read/access the document you must be agree to the terms. Samba reverse engineered its implementation, and so, therefore, does not need to follow this license or view the documment.
Not in patent law. Microsoft has patented methods used to authenticate users in their networked file system. Microsoft can deny ANYONE the right to use this authentication mechanism using any terms they like. Reverse engineering is fine for circumventing methods decsribed in copyrighted works; it is useless against patent protection.
I didn't read fully the gist of what Microsoft did, but it certainly seems like they just made it illegal to use a GPLd SAMBA that uses their patented authentication, and forced anyone else to get a license from them to use the SMB protocol.
Forget about the fact that Microsoft's attempts at restricting open source implementations are bogus. Let's ask: why even waste time on CIFS? Is enabling Windows clients to talk to non-Windows servers even the right thing to do? And if it is, why use CIFS? It seems to me that developing an installable file system driver that speaks a high-quality open protocol (NFS doesn't qualify) would result in something that's both easier to maintain and would work better than trying to reverse engineer Microsoft's latest protocol hiccup.
Interestingly enough, the GPL itself doesn't require any of those things. The key phrase is "requires in any instance that other software distributed with software subject to such license". The GPL specifically excludes aggregation. That is, I'm free to distribute my non-GPL'd software on the same disk as GPL'd software.
Of course, the MS license specifically excludes by name the GNU GPL and LGPL, but it seems to me you could write your own version of the GPL, call it "Fred's GPL" (or whatever), and license under that. (Note that making a derivative work of GPL'd software is an entirely different thing than merely distributing software with (along side of) GPL'd software.)
(And if necessary, I'm sure you could get FSF's permission to make a "derivative work" of the GNU GPL in order to create Fred's GPL for this purpose.)
-- Alastair
There's an easy bypass to such nonsense.
The Microsoft license doesn't prohibit BSD-like licenses (MS loves swiping BSD code). So, developer A uses the specs to implement a bare-bones BSD version, and releases that code only to developer B. Developer B then makes a derivative work of that, fleshing out the details, making it much more useful, etc, and releases that version under the GPL. (Nothing in the BSD prevents this.)
Now, of course, anyone is free to use the original BSD'd code in a non-GPL manner -- if they can figure out which code that is! Since the original BSD version was never publicly released, they have no way of doing that, so they have to use the GPLd version.
(Usual IANAL disclaimer applies, though.)
-- Alastair
Sue for what? What if a university or college student did this on his own time, for instance? Students usually don't own much property, they MIGHT have a car, but they probably take the bus or maybe cycle to school. They probably rent an apartment rather than have a mortgage, and they are probably getting further in debt every year from borrowing money through student financial assistance. So as it sits, most students are probably teetering on what many would consider bankruptcy already. What would Microsoft, or any company for that matter, have to benefit from suing such a person? As far as I can see, they would have _nothing_ to gain. Of course, they could wait until the guy was out of school, has a good job, and _then_ sue him, but if the guy's only in second year or so, that could be a somewhat longish wait. I wouldn't be surprised it there was a statute of limitation for something like that.
File under 'M' for 'Manic ranting'
Comment removed based on user account deletion
Sure you can. The harm to consumers is in directly denying them their choice. Consumers overwhelmingly chose netscape until MS made it a violation of their OEM license agreement to preinstall netscape. Microsoft's actions harmed consumers by denying them their choice.
Key to financial independence: Spend less than you earn. Save and invest the difference. Do it for a long time.
Yeah, but this isn't aimed at everyone. This license is aimed squarely at the Samba team. MS knows exactly where they are and likely have lawyers waiting in the wings for Samba to make the wrong move with this. The Samba team has three choices right now:
1. Continue to reverse-engineer CIFS and releasing Samba under the GPL. In which case they violate the DMCA, which states that reverse-engineering is legal as long as the interoperability info is not readily available.
2. Read the Doc and implement the spec, but release under GPL anyway. This would save the Samba Team for the DMCA problems of #1, but would expose them to a lawsuit based on the violation of a licensing agreement (however, ridiculous its terms are).
3. Switch the Samba license to a BSD-style license. This may not be possible, because many people have contributed code to the project over the years. In other words, the Samba team may not have the legal right to change the license.
So, from what I've been able to figure, the Samba Team is ROYALLY screwed right now. No matter which way they turn, they will be doing something wrong.
Microsoft is kicking back having a really big laugh right now.
Just some comments:
Patent number 5,265,261
Unless I'm misreading, they appear to have patented the notion of client-server communication over a persistent channel? (at least, as it relates to SMB) Amusingly, they call the client a "consumer".
I think the twist may be that it's zero-copy and headers aren't used. Nothing particularly exciting.
Patent number 5,437,013
This looks like pretty much the same deal. Both are obfuscated to make them look more complex, I think.
Anyway, I don't know what a lawyer would make of these, but they look silly to me, which probably means they're completely valid.
Daniel
Hurry up and jump on the individualist bandwagon!
Then, when's the last time MS has gave BACK source (patches on software, kernel fixes, and the like), in which was NOT related to promotion of yet another monopoly (recent rotor givings was to promote .NOT only). And if you didn't notice, MS is on the Apache board. They just sit there and absorb all good ideas.