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