Slashdot Mirror


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.

22 of 803 comments (clear)

  1. Just for kicks... by IsleOfView · · Score: 4, Informative

    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 :-)

    1. Re:Just for kicks... by sllort · · Score: 2, Informative

      Here's a direct link to the rating page for the license. You appear to be able to rate it as a "1" as many times as you want.

  2. Clearly! by EXTomar · · Score: 4, Informative

    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.

  3. patents? by splorf · · Score: 5, Informative
    Section 1.6
    1.6 "Necessary Claims" shall mean those claims of a patent or patent application, including without limitation, United States Patents Nos. 5,265,261 and 5,437,013, which (a) are owned, controlled or sublicenseable by Microsoft without payment of a fee to an unaffiliated third party; and (b) are necessarily infringed by implementing the CIFS communication protocol as set forth in the Technical Reference, wherein a claim is necessarily infringed only when there are no technically reasonable alternatives to such infringement.
    indicates you can't implement CIFS without a license for those patents. The "Royalty-Free CIFS Technical Reference License Agreement" is the patent license, but it has an anti-GPL clause, and nothing else licenses you the patents.

    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.

  4. Re:Isn't this a bit like... by Chester+K · · Score: 5, Informative

    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
  5. Re:I guess the point is... by Armchair+Dissident · · Score: 2, Informative

    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.
  6. Re:No kidding. by anthony_dipierro · · Score: 5, Informative

    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

  7. Re:And the good news is by Anonymous Coward · · Score: 1, Informative

    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?

  8. Patent claims make this license more dangerous by dark-nl · · Score: 1, Informative

    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.

  9. Comment removed by account_deleted · · Score: 3, Informative

    Comment removed based on user account deletion

  10. Re:Microsoft just violated the DMCA! by DarkEdgeX · · Score: 5, Informative

    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.
  11. Re:Samba for windows by jrumney · · Score: 2, Informative

    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.

  12. Re:So? by lamont116 · · Score: 3, Informative
    So, we could theoretically read the document all we like and summarize it for the Samba developers.

    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.

  13. Re:Not just GPL by zsmooth · · Score: 3, Informative

    Wrong, you can charge for redistribution of BSD licensed software. Link

  14. Re:Not just GPL by Harinath · · Score: 2, Informative
    The GPL requires no such thing. Read the clause:
    any license that requires in any instance that other software distributed with software subject to such license..
    (notice the emphasis on the word "distributed with")

    The GPL has no problems with being distributed with non-free code (as opposed to, say, the old Artistic License).

  15. Re:No kidding. by Sir+Tristam · · Score: 2, Informative
    There is a difference. What Microsoft is licensing here is access to the Technical Reference to their protocols, so people are saying that developers could just decline the license agreement, not access the Microsoft techincal reference, and reverse engineer the protocols. (There's some discussions about one person agreeing to the license agreement, then letting somebody else who hasn't look at the reference, but there's a redistribution clause that this would violate.)

    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

  16. Re:Invalid License by Jeremy+Allison+-+Sam · · Score: 5, Informative

    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.

  17. Other nasty provisions in the license by Vancouverite · · Score: 2, Informative
    If you havent read the license yet, you should at least look it over. (before my comments, I should place the standard IANAL disclaimer)

    That said, look at section 7.7 of the license:
    Construction. If for any reason a court of competent jurisdiction finds any provision of this Agreement, or portion thereof, to be unenforceable (other than Sections 3.3, 3.6, and 3.7), that provision of the Agreement will be enforced to the maximum extent permissible so as to effect the intent of the parties, and the remainder of this Agreement will continue in full force and effect. In the event that a court of competent jurisdiction finds that Sections 3.3, 3.6 or 3.7 are unenforceable, this entire Agreement shall be rendered null and void. Failure by either party to enforce any provision of this Agreement will not be deemed a waiver of future enforcement of that or any other provision.
    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:
    3.6 Reciprocal Patent License. To the extent Company owns, controls or can sublicense without payment of a fee to an unaffiliated third party, any patents that are required for Microsoft or its licensees to implement CIFS as set forth in the Technical Reference and distribute such implementations, Microsoft and its licensees are hereby granted a license to such patents solely for the purpose of implementing CIFS as set forth in the Technical Reference and distributing such implementations. emphasis mine
    Now, isn't the bolded section a 'Viral License'?!?
    --
    We are the Music Makers, and We are the Dreamers of Dreams...
  18. Re:Gonna be an interesting ride... by Anthony+Boyd · · Score: 3, Informative
    Consumers overwhelmingly chose netscape until MS made it a violation of their OEM license agreement to preinstall netscape.
    Netscape was always a choice. It never went away. YOu could always choose Netscape

    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.

  19. Re:I guess the point is... by mpe · · Score: 3, Informative

    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.

  20. Re:How to get around this nonsense. by ThaReetLad · · Score: 2, Informative

    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
  21. Re:Microsoft just violated the DMCA! by Jeremy+Allison+-+Sam · · Score: 4, Informative

    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.