Slashdot Banner
Stories
Slash Boxes
Comments
typodupeerror delete not in

Comments: 493 +-   Did Microsoft Borrow GPL Code For a Windows 7 Utility? on Saturday November 07, @11:22AM

Posted by Soulskill on Saturday November 07, @11:22AM
from the free-as-in-gimme dept.
windows
microsoft
software
Goatbert writes "Rafael Rivera over at WithinWindows.com has found evidence that Microsoft has potentially stolen code from an open source/GPL'd project (ImageMaster) for a utility made available on the Microsoft Store to allow download customers to copy the Windows 7 setup files to a DVD or USB Flash Drive. If Rivera's evidence holds up, this could be some serious egg in the face for Microsoft at a time when they're getting mostly good press from the tech media."
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • The code in question seems to be called into scrutiny because the two areas of code bear the same name (ReadBytes) and operate similarly.

    The longer you work in the development of software, the less magical it all becomes. The first time you plugged some code into a terminal and it worked, it seemed like an amazing amount of wizardry and behind-the-scenes stuff that you could never fully fathom. Compilers, binary code, arcane source languages, electronic signals. It's amazing to a neophyte just how much stuff is going on.

    But the longer you plug away at it, the more you realize that it's just code. Nothing special is really going on. You're mostly moving data from one area of memory to another. It's almost a form of Nirvana once you reach this point.

    So when someone comes along and says "OMG YOUR READBYTES METHOD IS JUST LIKE THIS ONE IN SOME GPL CODE!!!!11", it kind of pegs that person as someone who doesn't really have much experience with real programming. Sure, they may use a lot of tools, and know how to recompile their kernel, but they really don't have a firm grasp of what and why they are doing what they are doing.

    • by caffeinemessiah (918089) on Saturday November 07, @11:38AM (#30014746) Journal

      The code in question seems to be called into scrutiny because the two areas of code bear the same name (ReadBytes) and operate similarly.

      (bold mine)

      Actually, if the function is just something called "ReadBytes(char *buf)" or similar, then that's a bit strange. If it was truly Microsoft-written, it would be:
      WINAPI DWORD ReadBytesW(LPCSTRWRAAXA szCharBufW_x, struct READBYTESINFO *srbinfArgs).

      • by jdkane (588293) on Saturday November 07, @11:45AM (#30014784)

        Except that a truly Microsoft-written ReadBytes method on the .NET Framework can be that simple, for example one int parameter http://msdn.microsoft.com/en-us/library/system.io.binaryreader.readbytes.aspx [microsoft.com]
        So I wouldn't even jump to conclusions based on the signature of the method in question as to who it might have come from.

        • by caffeinemessiah (918089) on Saturday November 07, @11:49AM (#30014806) Journal

          Except that a truly Microsoft-written ReadBytes method on the .NET Framework can be that simple, for example one int parameter http://msdn.microsoft.com/en-us/library/system.io.binaryreader.readbytes.aspx [microsoft.com] [microsoft.com]

          There's a difference between a calling a method, where the object has internal state, and a C Win32 API function call, i.e., sans objects. I absolutely guarantee that you won't see many pretty signatures in the Win32 API. I'd bet that 99% of the Win32 API function SIGNATURES won't make it through a standards-compliant compiler without Windows.h. Anyway, my comment was supposed to be funny, but on second thought, it might actually deserve that informative mod.

          Don't even get me started on the dual-version ANSI and Unicode functions, although given the mess that the Win32 API is, it's probably an elegant solution.

          • Re: (Score:3, Informative)

            Except that a truly Microsoft-written ReadBytes method on the .NET Framework can be that simple, for example one int parameter http://msdn.microsoft.com/en-us/library/system.io.binaryreader.readbytes.aspx [microsoft.com] [microsoft.com]

            There's a difference between a calling a method, where the object has internal state, and a C Win32 API function call, i.e., sans objects. I absolutely guarantee that you won't see many pretty signatures in the Win32 API. I'd bet that 99% of the Win32 API function SIGNATURES won't make it th

          • Don't even get me started on the dual-version ANSI and Unicode functions,
            Transitioning from a system where strings were assumed to be in the local legacy encoding to a unicode based system (a transition all operating systems relavent today have had to go through) is a difficult problem with essentially no good soloution.

            The way unix-like systems went for is to use UTF-8 and treat it as if it was just another legacy encoding. The problem with this approach is that it means that systems configured for unicode and systems configured for legacy use different encodings which tends to break stuff.

            The way windows went for is to introduce duplicate APIs for unicode, this has the advantage that nothing that worked before breaks but requires all apps that want unicode support to be updated.

            Can you think of any better soloutions?

        • Someone who knows that the real version would be called ReadBytesEx() because the first version didn't properly support some of the options required and they needed to maintain ABI compatibility.
    • The code in question seems to be called into scrutiny because the two areas of code bear the same name (ReadBytes) and operate similarly.

      The ReadBytes code was just one example

      If you read TFA (yeah, I know...) you'll see the author has updated that original example with others [withinwindows.com].

      It looks like Microsoft's defence will be that the EULA says "“You may not reverse engineer, decompile or disassemble the software". They'll probably charge the guy with a DMCA violation...

      • by kjart (941720) on Saturday November 07, @02:46PM (#30016300)

        If you read TFA (yeah, I know...) you'll see the author has updated that original example with others [withinwindows.com].

        OP clearly did read TFA since he was criticizing the specifics provided. I'm not sure why you're taking a shot at that since the update was clearly made after the comment was posted.

        It looks like Microsoft's defence will be that the EULA says "“You may not reverse engineer, decompile or disassemble the software". They'll probably charge the guy with a DMCA violation...

        Why does it look like that exactly? Are you getting this from anywhere or just pulling it out of your ass?

    • by noidentity (188756) on Saturday November 07, @02:40PM (#30016272)
      I've just written my first program, and I licensed it under the GPL. Guess what? A bunch of people have already ripped me off! So I can understand this guy's situation. Here's the source, BTW:

      #include <stdio.h>

      int main()
      {
      printf( "Hello, world!\n" );
      return 0;
      }

        • by eggnoglatte (1047660) on Saturday November 07, @05:22PM (#30017240)

          a) I am not the one making wild claims about out somebody - the author of TFA does. I mean I get it - we don't like MS here on /., blah, blah. Still, if he makes claims, the burden of proof is on him, not on people not on everybody else to disprove him.

          b) I don't run windows, so getting everything set up with a .NET architecture would in fact be quite a pain in the ass.

  • Knee jerk (Score:5, Insightful)

    by Romancer (19668) <romancer@NOsPam.deathsdoor.com> on Saturday November 07, @11:31AM (#30014706) Journal

    So the evidence is a ReadBytes snippet?

    I'll wait till there's evidence before even commenting about the ramifications of something like this. This is just wild speculation at this point.

    • But this is Slashdot!

      Without wild speculation there wouldn't hardly be any stories at all! And of course you have to get the 2-minutes hate for Microsoft going early.

    • Re:Knee jerk (Score:5, Insightful)

      by Timothy Brownawell (627747) <tbrownaw@prjek.net> on Saturday November 07, @12:17PM (#30015012) Journal

      Moderated 'Flamebait.' 0 points left.

      Seriously, whoever decided that we just get one dropdown and no 'confirm' button needs to be taken out back and shot. And I'd just used my other points on some actual trolls upthread, too. :(

    • by Dr. Evil (3501) on Saturday November 07, @12:19PM (#30015026)

      Oh no. Evidence is not required in this case. This failure to comply with the GPL means that Microsoft is governed by Copyright law in this matter.

      Their Internet service provider must be notified so that their Internet connection can be terminated.

    • Re:Knee jerk (Score:4, Interesting)

      by megabunny (710331) on Saturday November 07, @12:46PM (#30015308)

      The new example is much clearer. Basic structure follows well. All the magic numbers in the code that I looked at matched too, and there are quite a few. Looks like it was massaged at least a bit, probably just to fit in with the local code environment not to obscure it.

      But ...
      The article points out only two weaknesses in this code borrowing. MS did not feed back any (unknown at this point) enhancements to the source. And they did not offer the source under the right license.

      It is a real but very minor issue. If it wasn't MS it would not even be interesting.

      MB

  • by Tankko (911999) on Saturday November 07, @11:55AM (#30014856)

    Come on people, you can't have it both ways. If you can't "steal" music, you can't "steal" code. MS "stealing" this code didn't deprive the Open Source community from using the code (i.e. stealing my car), or at least that's the argument /.er use whenever the word is used in conjunction with music and movies. Eat your own dog food.

    • by liquiddark (719647) on Saturday November 07, @12:12PM (#30014978)

      I don't think everyone here believes you can't steal music, first off. I believe you can steal music, books, printed art, all kinds of artwork. I come from a fairly serious artist background, and I know folks personally who have been scraping by for years on the meagre earnings of an average artist. It's not a fun life.

      I believe large record syndicates are creeptastic and digital media is equation-changing, but that doesn't mean there's no evil in stealing non-physical works. Artists, unless they happen to be the pretty-close-to-literally one in a million shot, make almost nothing and they make a huge difference in how livable a society is. That's not changed by the fact that they can deliver media via digital channels; only people's expectations of the cost involved is changed. The number of consumers shrinks, but so does their expected price point. It's one of the reasons why there are still a lot of physical-media artists (the others including nobody's come up with good, cheap 3 dimensional sound, graphics, or texture delivery systems, physical media still work in some contexts, and art is large a physical act).

      And if you can steal art, you can certainly steal code. Of course, in this case it's probably going to have no repercussions because you'd have to educate people on the struggle of open source in terms that wouldn't make a lawyer cry before you could really even get into it, but those of us who've self-selected have at least a notion of the violation and its meaning. And, happily, the irony - if MS really is using open source in its first "better" product in a long time, that's a fun little fact to know.

      • I don't think everyone here believes you can't steal music, first off.

        Speak for yourself. I do believe you can't steal music.

        You could steal the original copies. You could steal a famous painting. But "stealing" music? For instance, what IS music? It's nothing but a mathematical concept involving harmonics and sound.

        What are words? You can't "steal" what I said. This isn't like the little mermaid where you could steal someone's voice and leave him/her mute.

        Non-physical works CANNOT be stolen. Unless you're talking about a PHYSICAL COPY, you cannot steal it by definition. Copying a work? That's completely different. But if it's a non-destructive process, you're not stealing it. You're just COPYING it.

        If you want to use an appropriate term for what Microsoft supposedly did with this GPL code, it's called plagiarism [wikipedia.org]. Sure, it's called "stealing" nowadays, but using this word is oversimplifying.

    • by Junior J. Junior III (192702) on Saturday November 07, @12:24PM (#30015074) Homepage

      This is the correct argument, but you have it backward. If it's OK for MS to "steal" (by the definition that MS accepts for the word) then MS should allow people to "steal" Windows, and stop complaining about, trying to stop, prosecuting, software piracy. They should amend their EULA to allow users to decompile, reverse engineer, and modify their binaries.

      Besides, it's not as though GPL code is anti-copyright.

  • by Ironsides (739422) on Saturday November 07, @12:10PM (#30014954) Homepage Journal
    Seriously, what he shows to be evidence looks like code that was written straight from reading the ISO disk image specification. Next up, school math class accused of mass cheating for solving math problems in similar ways.
      • by Ironsides (739422) on Saturday November 07, @02:37PM (#30016260) Homepage Journal
        Actually, it does suggest class and type names. Start here [osta.org] Now, show me more than 15 lines and I'll start to believe it was copied. Say, show me what called RealLogicalDescriptor (and all of RealLogicalDescriptor too) in combination with all of UdfReader.cs. Preferably in text and not in an image. Actually, just give me the MS code and I'll line it up to the ImageMaster code myself.
  • With the amount of "evidence" in the article, the same accusation could be made against the GPL project. Perhaps the author of that project illegally gained access to Microsoft code and used it as a starting point for ImageMaster.

    • Re:not sureprised (Score:5, Interesting)

      by WED Fan (911325) <<ten.liamhsart> <ta> <egihaka>> on Saturday November 07, @11:54AM (#30014852) Homepage Journal
      How many developers took code they wrote for their company and used it in a GPL project afterwards?
      • Re:not sureprised (Score:4, Insightful)

        by BrokenHalo (565198) on Saturday November 07, @11:57AM (#30014866)
        Microsoft is evil. Always has been. Always will be.

        Maybe you're very young, but I seem to recall that Microsoft was at one time held as a sort of liberator from IBM's hegemony. I guess it's all a matter of perspective...
        • Re:not sureprised (Score:4, Insightful)

          by NeverVotedBush (1041088) on Saturday November 07, @12:02PM (#30014900)
          That was a very short period of time. As soon as Microsoft had established itself - even before Windows - they started their campaigns against any competitors.
                  • Re:not sureprised (Score:4, Insightful)

                    by Simon Brooke (45012) <stillyet@googlemail.com> on Saturday November 07, @10:13PM (#30018822) Homepage Journal

                    "But IBM *did* actually reform."

                    Really, how so?

                    IBM really were a malign force in this industry when they were dominant, using grossly unethical tactics against competitors and stifling innovation to an extraordinary extent. Between 1960 and 1980 IBM were the evil empire - probably worse than Microsoft have ever been. These days, ethically, IBM seems to be an 'average company'. It does some good stuff, it acts on the whole as a good citizen, it contributes to standards processes and mostly abides by the standards that are agreed. Of course, this may simply be because it no longer has the power to bully and intimidate like it once did - but this is nevertheless a huge change.

                    However, 'better' does not necessarily mean 'good', particularly if you start from where IBM started from.

                    And being 'not quite as bad as IBM at it's worst' doesn't make Microsoft good, either - they have always, from the very beginning, been an exceptionally unethical company.

        • Re:not sureprised (Score:4, Insightful)

          by ozmanjusri (601766) <aussie_bob@ho t m a i l.com> on Saturday November 07, @12:04PM (#30014914) Journal
          I seem to recall that Microsoft was at one time held as a sort of liberator from IBM's hegemony

          By whom?

          My memory of the early days of Microsoft was surprise that their nasty behaviour was tolerated.

        • Microsoft is evil. Always has been. Always will be.

          Maybe you're very young, but I seem to recall that Microsoft was at one time held as a sort of liberator from IBM's hegemony. I guess it's all a matter of perspective...

          Bill Gates' open letter to hobbyists [wikipedia.org]. Any questions?

            • Re:not sureprised (Score:4, Insightful)

              by HiThere (15173) <charleshixsn@ear ... t ['hli' in gap]> on Saturday November 07, @02:43PM (#30016290)

              You are believing "facts" quoted by Gates that you can't check. (I'll believe that he hired people for $2 / hr. I won't believe that that was *his* recompense...though he *might* have been living on his family.)

              Still, his "open letter" wasn't as bad as his business practices at the same time...though that got a lot less publicity.

              Companies that trusted MS tended to go out of business even then. MS was still small, though, so many of them just had trade secrets stolen, and their going out of business was delayed until MS became a more significant competitor. Also: Gates didn't invent dumpster diving, but he practiced it.

              Still, there was a period when I though MS would be a less abusive company to deal with than IBM. And for around five-seven years it was true. This was probably because IBM wasn't allowed to compete by a consent decree, so IBM basically ignored the personal computer.

        • Re:not sureprised (Score:5, Interesting)

          by Anonymous Coward on Saturday November 07, @12:31PM (#30015154)

          >> Microsoft is evil. Always has been. Always will be.

          > Maybe you're very young, but I seem to recall that Microsoft was at one time held as a sort of liberator from IBM's hegemony. I guess it's all a matter of perspective...

          Maybe YOU are very young. IBM was taking a beating and didn't manage to get their own PC done.

          So they assembled a task force and said go and get us an IBM PC.

          They did it -- without IBM parts!

          The processor was from Intel and the OS from a small company who had to buy it from someone else, because they couldn't do it in time (little did we know then what these guys were up to).

          In summary, there were a lot of good computers with other OSes, the main ones being CP/M and AppleDOS (not necessarily the better ones).

          So:

          1) M$ actually helped IBM (for money, of course) and
          2) M$ is known to innovate after others innovated first.

          I could cite sources, but this way we can argue longer. 8-)

          Not that anyone reads ACs here anymore...

        • Re:not sureprised (Score:4, Insightful)

          by jbengt (874751) on Saturday November 07, @02:25PM (#30016172)
          The difference being, when IBM was threatened with anti-trust action, they tried to please thr justice department, but when Microsoft was threatened prosecution, they defied the justice department all the way, until a "business friendly" administration dropped the ball.
        • Re:not sureprised (Score:4, Informative)

          by chrysrobyn (106763) on Saturday November 07, @05:50PM (#30017382)

          Maybe you're very young, but I seem to recall that Microsoft was at one time held as a sort of liberator from IBM's hegemony. I guess it's all a matter of perspective...

          Maybe I am very young, but I seem to recall Gary Kildall having a few words to say about both Microsoft and IBM in this era of liberation you speak of. Something about Microsoft stealing CP/M through a thinly veiled Seattle Computer Products?

            • Re:not sureprised (Score:5, Insightful)

              by Blakey Rat (99501) on Saturday November 07, @03:44PM (#30016622)

              I think most people think Outlook is pretty bad, until they actually have to *use* Notes... believe me, if you believe Outlook sets a low bar, Notes' bar is underground.

              I'm certainly not going to suggest Outlook is perfect, or even good. But compared to the alternative, it's incredible.

      • Re:not sureprised (Score:5, Informative)

        by McGiraf (196030) on Saturday November 07, @12:05PM (#30014918) Homepage

        Copyright infringement is not stealing. No mater who does it.

        • Re:not sureprised (Score:5, Informative)

          by Abreu (173023) on Saturday November 07, @12:12PM (#30014972)

          Ok, then... If MS used GPL code, then they did not "Borrow" it either

          They used it in violation of copyright

          • Re:not sureprised (Score:4, Insightful)

            by kill-1 (36256) on Saturday November 07, @01:18PM (#30015570)

            No, there is one major difference. If I steal your car, you can't use it any more. If I copy your software, you can still use it. I don't take something away. In most cases, the copyright holder doesn't even notice.

            It's the copyright holders that are trying to mislead people and contort the English language by saying stealing is the same as copying.

          • Re:not sureprised (Score:4, Insightful)

            by HermMunster (972336) on Saturday November 07, @01:33PM (#30015726)

            The differences you fail to make clear is that copyright infringement isn't stealing something physical as in all your cases. Copyright infringement is making a copy without the permission of the copyright holder. It isn't like you denied the copyright holder any of their possessions as NO ONE can guarantee that the infringer would have bought the work to begin with. This is well a established precept.

          • Re:not sureprised (Score:5, Insightful)

            by schon (31600) on Saturday November 07, @02:29PM (#30016200) Homepage

            Copyright infringement IS stealing

            No, it isn't. Here is a handy guide illustrating the difference. [cslacker.com]

            it just has a different legal definition.

            And you know *why* that is? Because *IT'S NOT THE SAME*. If copyright infringement *WAS* the same as theft, we wouldn't need a special law dealing with it - it could be covered by theft laws. The fact that it isn't should tell you something.

            It literally fits the non-legal definition.

            No, it doesn't. It fits the propaganda term. Just because some media trade groups misapply a term as an act of propaganda does not make it so.

      • Re:no big deal (Score:4, Insightful)

        by Blakey Rat (99501) on Saturday November 07, @12:03PM (#30014912)

        Uh, they kind of have to *prove* that Microsoft actually copied their code first. You're missing a crucial step to the process in your scenario.

        • Re: (Score:3, Informative)

          well i think that the gpl only requires you to serve up the source code *upon request*, so MS has not yet broken the law, i suppose.

          You also have to offer the source code - you can't keep your mouth shut and hope nobody ever asks for it.

      • Re:Gpl violation (Score:4, Informative)

        by arose (644256) on Saturday November 07, @12:46PM (#30015310)

        True, and it's interesting how the FOSS movement delightfully and intentionally has made every piece of GPL3 code a trojan horse that can destroy a company's business model if a single programmer without the knowledge of the business copies a snippet of code to make his job easier.

        Not really, they just don't accept the license and deal with the copyright violation instead, just like they would if the programmer copied a piece of proprietary software.

Wake up and smell the coffee. -- Ann Landers