Slashdot Mirror


Microsoft's Code Contribution Due To GPL Violation

ozmanjusri writes "While Microsoft presented its recent embrace of the GPL as 'a break from the ordinary,' and the press spoke of them as going to great lengths to engage the open source community,' as is often the case with Microsoft, it turns out they had an ulterior motive. According to Stephen Hemminger, an engineer with Vyatta, Microsoft's Hyper-V used open-source components in a network driver and the company released the code to avoid legal action over a GPL violation. Microsoft's decision to embrace the GPL was welcomed by many in the open source community, but their failure to honestly explain the reason behind the release will have squandered this opportunity to build trust, something which is sadly lacking in most people's dealings with Microsoft."

5 of 508 comments (clear)

  1. Re:Well.. by Sockatume · · Score: 4, Informative

    They were caught and asked to turn it over to open source. Someone pointed out that the drivers mixed GPL and closed-source code and that they would have to release the closed-source components.

    --
    No kidding!!! What do you say at this point?
  2. Re:Makes the GPL real in their eyes. by gigabites2 · · Score: 5, Informative

    Well, there is the Free Software Foundation. Perhaps you've heard of them?

  3. Re:sooo... by Sancho · · Score: 3, Informative

    Copyright isn't viral. If you integrate your code and someone else's code (to which you do not have a license), there's nothing viral about that. You simply violated copyright and neither party has rights to the combined code.

    The GPL is viral, but that's ok. It's meant to be. The only problem is that the word "viral" has a negative connotation. That doesn't change the fact that the description is perfectly apt.

  4. Re:MS: Damned if they do, damned if they don't. by malevolentjelly · · Score: 5, Informative

    Here is what Microsoft said in the initial press release:

    Q: Why release the code?

    A: Because we have utilized Linux code, Microsoft has an obligation to open source the device drivers. This is the process outlined by the Linux community.

    Q: Why open source the code?

    A: Because this is a requirement of the community, and critical in ensuring that as the Linux Kernel evolves, and as Hyper-V evolves, that the Hyper-V Linux Device Drivers evolve as well.

    Source: http://www.kroah.com/log/linux/microsoft-linux-hyper-v-drivers.html

    So... when was there a cover-up? Seems to me like it simply wasn't reported because no one considered it relevant to report, given that it was in the press release.

    It's not something you brag about, just a reality. They wrote some linux drivers, and that's a huge waste of time and resources to maintain in a closed source fashion unless you have a really good reason (like Nvidia, who have to re-engineer much of X to allow modern graphics technology in Linux).

    It's rare that Microsoft should have to touch GPL code for any reason, but now that they have to for Hyper-V, they're adhering to the GPL. At one point does this story become sinister or scary?

  5. Re:sooo... by amorsen · · Score: 3, Informative

    Normally, DHCP servers and BOOTP relay agents attempt to deliver DHCPOFFER, DHCPACK and DHCPNAK messages directly to the client using uicast delivery. The IP destination address (in the IP header) is set to the DHCP 'yiaddr' address and the link-layer destination address is set to the DHCP 'chaddr' address. Unfortunately, some client implementations are unable to receive such unicast IP datagrams until the implementation has been configured with a valid IP address (leading to a deadlock in which the client's IP address cannot be delivered until the client has been configured with an IP address).

    A client that cannot receive unicast IP datagrams until its protocol software has been configured with an IP address SHOULD set the BROADCAST bit in the 'flags' field to 1 in any DHCPDISCOVER or DHCPREQUEST messages that client sends. The BROADCAST bit will provide a hint to the DHCP server and BOOTP relay agent to broadcast any messages to the client on the client's subnet. A client that can receive unicast IP datagrams before its protocol software has been configured SHOULD clear the BROADCAST bit to 0.

    That's from RFC 2131, published March 1997. Guess what? Vista apparently has a deficient IP stack which "cannot receive unicast IP datagrams until its protocol software has been configured with an IP address.". At least it sets the BROADCAST bit. It gets even stupider, because Vista actually HAS a modern IP stack, and CAN receive unicast without having an IP address. You just need to set a registry entry.

    Needless to say, not every router vendor supported the BROADCAST bit in their DHCP servers. Well now they do.

    --
    Finally! A year of moderation! Ready for 2019?