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.
Go to the linked MSDN doc, and "Rate this Page". We can at least register our disgust that way.... (It's already at 1.3 out of 5, 1 being the lowest possible :-)
It is well known that one of the places that Window's succeeds in is small/middle sized network configurations. You plug in hardware, install (costly) software, and everything nearly automagically works. Files are shared. Printers are shared. With a little domain administration you can even tightly control it.
The fact that the Samba Team has created such a successful implementation of the same smb/cifs kills this completely. Note the "(costly)" part in my previous paragraph goes away if you use Samba instead of a WinNT Server. And no goofy licenses either(how many seats do I need to buy?). And now that Samba has set their sights on implementing recent features like Active Directory why wouldn't Microsoft be running scared? Take away this feature from Windows and you've undercut their monopoly on administration software of Windows networks.
It's an antimatter version of the GPL, like a GPL from the parallel Star Trek universe where everyone was evil.
Microsoft has gone ballistic. It has begun.
Kodak saying no one else can make a set of chemicals that develop their film if they plan to give them away for free?
This is like Kodak giving someone the recipe for the official Kodak set of chemicals, then telling them that they can't give that recipe to other people.
Microsoft is well within their rights under Copyright law here. Microsoft is giving people the opportunity to implement the CIFS specs, but not to redistribute them in a form which makes sublicensing compulsory.
The hole in the situation is that someone could implement the spec and release it to the Public Domain, since MS isn't forbidding ALL redistribution, only direct redistribution with compulsory sublicensing. That code could then be folded into a GPL'd product by a third party since they received the original code as PD, not under Microsoft's agreement.
NO CARRIER
As has been pointed out many times before: It depends upon how you define "IP-impairing". The GPL license requires you to open-source any software written that uses code from another GPL'd license. Indeed it enforces the rights of the original author of open-source code, by ensuring that no work can be created that simply rips off existing GPL'd code. In this respect, the GPL is IP-enforcing.
MS make much mileage by demonstrating principles of the GPL that simply do not exist. For example: If I were to write an application that works on Linux, I am under no obligation to open my source code. On the other hand, if I write code that uses code from a GPL'd product, then I am using someone elses intellectual property, and - just as MS require you to abide by their license in order to use their IP - I am required to abide by the license under which the original codes author has licensed their work.
If you believe the FUD that MS have been throwing around regarding the GPL - then you've obviously never read it.
The ways of gods are mysteriously indistinguishable from chance.
Usually you have to accept the license, because nothing else gives you right to use or copy the software.
Umm, nothing except USC 17, Chapter 1, Section 117
Microsoft is againsr GPL's viral nature and the communist position(s) memebers of the FSF have expressed so far.
Microsoft participates in the OSS movement by introducing a licensing system different to the GPL, in a way similar to other OSS licensing systems.
I saw Microsoft releasing tones (~700,000) of OSS code and that makes me happy. Microsoft just does not to work with GPL people, which is what the rest of other-than-GPL-advocates OSS developers do nowadays.
Quite frankly, don't OSS teams produce comercial closed source software, or am I wrong. Do you wait till these developer's CS products get quite large and viable till you start bashing?
If you read the license carefully you will see that it's also a license for U.S. patents 5,265,261 and 5,437,013. These patents are pretty similar, and the second seems to be an update of the first. They look to me like bogus software patents, covering the stunning invention of single-copy network drivers.
The Big Questions:
Will Microsoft attempt to enforce these patents?
Can Samba be implemented without infringing these patents?
A quick read of the patent gives the impression that adding an extra copy step would do it, in which case a user-space implementation should be safe. But I'm not sure. It depends on what level of abstraction they can get away with for "receiver" and "transport" and so forth. And it might be that any "computer system" with an mswindows client on one end infringes. IANAL.
Comment removed based on user account deletion
Their license covers the documentation, NOT the protocol itself. Clearly they can't license something that exists only in abstract (here, let me license you some air). If you want to implement SMB, you have two choices--
1) Download the CIFS documentation from Microsoft at the URL provided, and agree to the terms of the license.
2) Reverse engineer (through packet sniffing, etc) the protocol, never touching/reading any of Microsoft's documentation (eg: figure it out on your own).
The section of the DMCA you cited prevents software makers from limiting a customer from reverse engineering a product for compatibility purposes; Microsoft can claim all day long that you can't reverse engineer their OS (and I'm sure they include packet sniffing in their 'reverse engineer' definition), but the law says you have a right to circumvent any measures they put in place to stop you, and (in parts not quoted by the parent) even PUBLISH your results amongst peers.
All I know about Bush is I had a good job when Clinton was president.
I'm sure a Cygwin port would be possible, perhaps even trivial. The difficult part would be disabling the built in Windows SMB support, but I think Samba can be made to run on non-standard ports if this proves impossible.
Many years ago I began an OS/2 port of Samba (since SMB support was not included in the base OS/2 2.1 installation and my employer was migrating everyone to Windows 95 and didn't want to spend money upgrading those of us who chose to stick with OS/2). It was not particularly difficult to port, although Samba has no doubt grown in size since then. AFAIK it is still being maintained by someone else, so could provide some useful tips to someone wanting to do a Windows port.
No, what this says (as a practical matter) is that you are not licensed to implement the "inventions" disclosed in the listed patents ("Necessary Claims") under the GPL or related licenses. I don't see the problem, if the patents are valid (which is questionable) - a patent by design gives the holder the right to exclude others from implementing the technology it discloses. Overall, MS is more or less licensing the patents freely to the extent that one might wish to develop a full non-Windows implementation of the spec described in the Technical Reference so long as the implementation does not fall under a so-called "IPR" license (and so long as you agree to cross-license back to MS any patents you hold that a MS CIFS implementation would infringe).
MS apparently thinks that you cannot implement the described spec without infringing the patents.
Wrong, you can charge for redistribution of BSD licensed software. Link
The GPL has no problems with being distributed with non-free code (as opposed to, say, the old Artistic License).
In the case of GPLed software, the license is to access the acutal code/program, and not a technical reference about the software. If you don't accept the GPL license, you can't (legally) have access to what's licensed, which is the code. However, you could still reverse engineer something and make a program that operates just like the GPL program; with that program you could do anything you want.
Summary: Microsoft license is for documentation; don't agree to license, don't read documentation. GPL license is for source code; don't agree to license, don't read source code. Both instances, reverse engineer to replace what you lose by not agreeing to license.
Chris Beckenbach
Don't be silly.
:-).
This spec is a *subset* of what Samba already implements.
The SNIA CIFS spec (which we helped to create) already
documents far more than is in this spec. (Not that I've
read it this spec, obviously, but I've spoken to people
who have read both).
This spec. is an irrelevence. Try implementing it to
the letter and see how many Microsoft clients actually
*work* against you. (Hint - none
Jeremy Allison,
Samba Team.
That said, look at section 7.7 of the license:This is effectively a 'poison pill' provision. Section 3.3 details IPR Impairing License Restrictions. So, 7.7 says that if the Judge in the antitrust trial says "no, that's monopolistic, you can't do that", then MS pulls the entire license, and no one gets to play!
Sections 3.6 and 3.7 (Reciprocal Patent License and Defensive Suspension) combined prevent anyone from filing suit for patent infringement if they (a) hold patents, or can sublicense patnts without a fee, that apply to CIFS, and (b) implement CIFS.
In fact, section 3.6 is very important:Now, isn't the bolded section a 'Viral License'?!?
We are the Music Makers, and We are the Dreamers of Dreams...
You're talking about downloads. Mjh is talking about preinstallation on computers with Windows. I remember this -- at one point Dell and Compaq would give you a system with Netscape's icon right on it, then suddenly they weren't offering that anymore, and IE came by default. I still have a 100mhz laptop from Compaq with Win95 on it, and it still has the Netscape that came preinstalled with it. Mjh is right. Microsoft blocked such preinstalls, and got in trouble in court for such activity.
My Greasemonkey scripts for Digg &
As has been pointed out many times before: It depends upon how you define "IP-impairing". The GPL license requires you to open-source any software written that uses code from another GPL'd license. Indeed it enforces the rights of the original author of open-source code, by ensuring that no work can be created that simply rips off existing GPL'd code. In this respect, the GPL is IP-enforcing.
There is also the "Unamerican" claims. When if fact the GPL has a lot more in common with the US Constitution than just about anything the likes of Microsoft, RIAA, MPAA, etc have ever come up with.
If I were to write an application that works on Linux, I am under no obligation to open my source code. On the other hand, if I write code that uses code from a GPL'd product, then I am using someone elses intellectual property, and - just as MS require you to abide by their license in order to use their IP - I am required to abide by the license under which the original codes author has licensed their work.
Not quite you can use GPL code in any way you see fit. The conditions of the GPL only take effect if you distribute it, regardless of if you are an individual or a megacorp. (If you were a megacorp you could use modified GPL software world wide with no obligation to tell anyone how you had changed it.) Microsoft will tend to want to tell you how you can and can't use the software.They may want to impose diffent conditions depending if you are a person or corporation.
Also GPL tools are "non-viral" any original work you create using them is subject to whatever licence you may choose. Certain Microsoft tools attempt to impose on your copyright privileges.
But M$ still owns the original patent, re-releasing the code under BSD or GPL or whatever would mean using patented material in an unlicensed manner and so would likely result in a swarm of lawyers breathing down your neck.
You can't win Darth. If you mod me down, I shall become more powerful than you could possibly imagine
This comment is plain ridiculous (not +2 insightful) !
There is nothing in this spec that Samba has not already
implemented.
This spec is irrelevent to Samba.
As to the "will have to switch to a BSD license in order
to add features to Samba".... words fail me !
If you want new features (such as a recycle bin or the
new NT-ACL code) then just keep doing a CVS update from
samba.org. Next release will be 2.2.4.
Regards,
Jeremy Allison,
Samba Team.