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.

30 of 803 comments (clear)

  1. Comment removed by account_deleted · · Score: 5, Interesting

    Comment removed based on user account deletion

  2. Samba for windows by Glorat · · Score: 5, Interesting

    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

  3. "Nothing... can take away Microsoft's [IP] rights" by EnglishTim · · Score: 3, Interesting

    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! ;)

  4. Comment removed by account_deleted · · Score: 4, Interesting

    Comment removed based on user account deletion

  5. NAS Vendors Effected by Gedvondur · · Score: 5, Interesting

    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.

  6. Re:Ok so what.... by Shagg · · Score: 3, Interesting

    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.
  7. Append the GPL to form a special MS-GPL by karlmiller · · Score: 2, Interesting

    The most effective strategy I can think of to fight such legalese is to amend the GPL to allow for a special MS-GPL, which would essentially allow you to release an otherwised GPL'd software that interacts with a Microsoft patent, as a special MS-GPL which would require you to still make the source code available, as well as all changes, but would also *require* you to charge $0.01 per copy of the binary code that the software developer releases, thereby negating the free-of-charge stipulation under Microsoft's IPR clause.

    Microsoft will most likely amend their agreement to forbid releasing the software under the MS-GPL code, as well. However I would think it would be more legally difficult to distinguish an MS-GPL from a regular software license.

  8. Microsoft just violated the DMCA! by Gulthek · · Score: 4, Interesting

    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.

  9. Re:So? by tlk+nnr · · Score: 5, Interesting
    Not so: anyone can read the document. Go there and download it. (Really, try it.)
    No. Don't read 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.
  10. Re:XPL by FatRatBastard · · Score: 2, Interesting

    (For the record, IPR sounds more like an Apple licenesing idea, what with the iMac, iPod, and tons of iSoftware.)

    I think it sounds very Microsoft. They are the kings of Newspeak. They make damn sure everyone who deals with the public drop the same phrases over and over again to push their point. Remember these gems:

    "Freedom to innovate"

    "Intellectual Property Destroying"

    and now

    "Software Ecosystem"

    Microsoft buy into the whole "manage the message" theory. It seems that everyone who deals with the press has been briefed on what "phrase of the month" they must try to get across.

  11. Re:Not just GPL by Anonymous Coward · · Score: 2, Interesting
    I wonder if the FSF would be interested in creating an MSGPL that gives the licensee two options:
    • Standard GPL terms
    • BSD-ish terms, if the licensee makes a donation of such-and-so amount of money to the FSF (pick any Dr. Evil-esque value, with appropriate pinky motions)
    In other words, promote Free Software either by distributing Free Software (a la GPL) or by giving the FSF the ammunition to promote Free Software itself.
  12. You're missing the point by wrinkledshirt · · Score: 2, Interesting

    Microsoft has never tried to make GPL illegal. They dont like it. They do like the idea of free code though. They make it plainly clear that they support the BSD style license.

    And I can bet you ANYTHING that if it was one of the BSDs that was threatening to take over their marketshare, they'd be singing a different tune about the BSD license.

    --

    --------
    Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...

  13. It may have already been said but... by crawdaddy · · Score: 2, Interesting
    this sounds like a ban on ALL open source implementations...on NON-WINDOWS operating systems.

    First, let's take a look at their little clause on you not implementing this:

    3.3 IPR Impairing License Restrictions. For reasons, including without limitation, because (i) Company does not have the right to sublicense its rights to the Necessary Claims and (ii) Company's license rights hereunder to Microsoft's intellectual property are limited in scope, Company shall not distribute any Company Implementation in any manner that would subject such Company Implementation to the terms of an IPR Impairing License.


    Pretty straight forward, but keep in mind that individuals fall under the category of "Company" since they're using the term interchangeably with "the undersigned." Here's where it gets really interesting is in the definitions of their terms:

    "IPR Impairing License" shall mean the GNU General Public License, the GNU Lesser/Library General Public License, and any license that requires in any instance that other software distributed with software subject to such license (a) be disclosed and distributed in source code form; (b) be licensed for purposes of making derivative works; or (c) be redistributable at no charge."


    Yes, it specifically names the GPL and LGPL, but it isn't limited to those two! It applies to any license requiring an open source distribution, the ability to derive something else from it (whatever they mean by that....), or requires the implementation to be free!

    Ok...so we alrady knew that M$ has it out for open-source, but it seems they're trying to be a little sneaky about it in the next part...here's where anti-competitive tactics come into play(yeah...I know...we already knew about those too).

    Let's now look at their definition of "Company Implementation" as used in Section 3.3 above.

    1.2 "Company Implementation" shall mean only those portions of the software developed by Company that implement CIFS for use on Non-Microsoft Platforms.


    What's this mean? Well, it means that M$ has a way of getting out of being "totally" against open source development by basically saying "Hey...we want you to still distribute free/open source implementations...just make sure it's only for an MS OS." Obviously, this is also an attack on Linux and any other OS, as well as popular implementations of CIFS on these platforms, such as SAMBA.

    If it weren't for "double jeopardy" laws, Microsoft would probably be in and out of court on a daily basis, purely for anti-competitive business tactics.

  14. Patents by Alan+Cox · · Score: 5, Interesting

    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.

  15. Re:XPL by einer · · Score: 2, Interesting

    I think that reusing code is a great idea. Unfortunately you're correct, using other people's code is getting to be a burden. There needs to be some kind of license dependency checking proggie that looks at all the software you incorporate, how you incorporate it, what kind of license you want to release your code under, and tells you whether that's okay or not. Like RPM dependency checking, only not really at all... ;)

  16. Re:Gonna be an interesting ride... by Shadowlion · · Score: 2, Interesting

    1) Microsoft is not on a crusade against Open Source, or Free Software. It is on a crusade against the GPL. Notice the BSD license is perfectly valid under this license.

    I wonder... would it be perfectly legitimate to write a BSD-compatible version of the protocol/software, and then simply relicense it as GPL?

    I mean, the original license is compatible, it's just that the BSD not only allows open source software to move to a more restrictive, closed license but also to move to a different open source license.

  17. Re:So? by blakestah · · Score: 4, Interesting


    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.

  18. Why waste any more time on CIFS anyway? by mmusn · · Score: 3, Interesting

    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.

  19. Re:Isn't this a bit like... by AJWM · · Score: 3, Interesting

    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
  20. How to get around this nonsense. by AJWM · · Score: 5, Interesting

    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
  21. Re:I may have found a bug in it by mark-t · · Score: 3, Interesting

    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.

  22. Comment removed by account_deleted · · Score: 3, Interesting

    Comment removed based on user account deletion

  23. Re:Gonna be an interesting ride... by mjh · · Score: 3, Interesting
    How can you prove harm to the consumers? You can't.

    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.
  24. Re:Invalid License by clone304 · · Score: 3, Interesting


    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.

  25. Re:patents? by Daniel · · Score: 3, Interesting

    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!
  26. Re:This is great! by josh+crawley · · Score: 3, Interesting

    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.

  27. Re:patents? - may not apply to Samba by Anonymous Coward · · Score: 1, Interesting

    I took a quick look at the claims in both of the patents. Now, IANAL, but to me it looks like the patents describe optimization techniques to avoid copying network data buffers within the networking client, not the server or the network protocol. If that's true, then Samba doesn't have to worry about infringing these two patents.

  28. typical hypocricy by Anonymous Coward · · Score: 1, Interesting
    MS has long been unable to innovate, but instead found ways of drowning out others through lawyering and marketing.

    Back in the 80's, a very popular company was the sort that existed solely to buy and sell stock, and thus was basically a company of stock owners. They produced nothing, and until the early 90's offered no services... however they made tons of money. Now we would refer to them as sort of a commodity broker, or perhaps just the middleman. Microsoft is becoming more and more like this, and it is hard to refer to them as a technological firm anymore. Rather they are more of a technological middleman. They do still produce things, but more in the publisher scheme anymore. They put so much into marketing and lawyering that it might just be better if they formally reorg'd and announced themselves as technological brokers.

    Lets look at it from a newspaper business. They don't report on the news, nor do they operate the printing presses. They do not edit, nor do they perform the image and layout changes. They do not run the paper mills of course and do not make ink. They do not package the papers, nor run the database that holds the subsciber information. They do not deliver the paper either. What they would do is be the upper management in certain positions of the newspapers corporate office (mainly for marketing and legal). They would probably wait by your lawn, and take your paper from your doorstep, convert it to a format THEY want you to read (and laugh if you ask to see the native format) then throw it into a pile of dog poop in your neighbors lawn. (which btw is farther of a walk then your door where it originally was placed). They will also intercept all calls you make to the classifieds and 'tweak' your requests into something you don't recognize in order to 'help you'


    If they notice a special interest newsletter (perhapst the 'rock gardener monthly' ran by your elderly neighbor) they will break into her house and repeatedly threaten her until she either quits, sells to them or dies. Once they then acquire her business, they will then claim it was their own 'innovation' while changing it 'embrace and extend' to be nothing like it used to be. It will no longer be available to everyone, but only people who have 'Mailbox 2000'.

  29. How about a 180? by Anonymous Coward · · Score: 1, Interesting

    Instead of reverse engineering SMB and Active Directory why not release new GPL licensed Windows components to replace the authentication and file sharing components in Windows?

    There are already published APIs and hooks for this. Examples would be the Netware login and the commercially available Windows NFS clients.

    Release Login and file sharing protocals that install onto Windows PCs and replace those functions (with push-button install and headache free useability).

  30. It doesn't matter by borgheron · · Score: 2, Interesting

    Books on these protocols are published all the time by third parties which do not require a license agreement to read their documentation. Despite the fact that these are not from the "horse's mouth" some third party reference docs have been know to be just as complete as those coming out of Redmond. Use those to implement the protocols, without fear.

    Also, I very much doubt that MS could enforce such a license since they would need to PROVE that you learned the information from their documentation.

    GJC
    P.S. I am not a lawyer, these are just my opinions.

    --
    Gregory Casamento
    ## Chief Maintainer for GNUstep