Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Open Source Code Finds Way into Microsoft Release 433

linumax tells us eWeek is reporting that Microsoft, for the first time, has included open source code in the release of one of their products. The Complete Cluster Edition of Windows Server 2003 will be including the Message Passing Interface (MPI) library. From the article: "MPI is key middleware that was designed by a consortia of all the supercomputing vendors in the 1990s to allow the easy portability of code. It abstracts away things like low-latency interconnect, and our focus is making it super easy for ISVs to move their code."
This discussion has been archived. No new comments can be posted.

Open Source Code Finds Way into Microsoft Release

Comments Filter:
  • strings ftp.exe (Score:5, Informative)

    by cuerty ( 671497 ) on Sunday September 18, 2005 @07:03PM (#13592252)
    What about doing a: $ strings ftp.exe BSD Licensed software it's open source.
  • by PunkOfLinux ( 870955 ) <mewshi@mewshi.com> on Sunday September 18, 2005 @07:04PM (#13592259) Homepage
    Isn't microsoft always saying that open-source software is OBVIOUSLY inferior?
    • ...Not to mention the tool of communism.
    • No - I think they have only ever said that Linux is inferior, and that they don't like the GPL type licenses all that much - that is about as far as their corporate comments have gone.
      • Re:Wait a minute (Score:5, Informative)

        by _Sprocket_ ( 42527 ) on Sunday September 18, 2005 @07:26PM (#13592385)
        Yep. GPL. A cancer. A looming danger to any commercial enterprise who even uses it. Anything the GPL touches get's absorbed. Yet Microsoft's own Services for Unix has used GPLed software for years. And they've maintained their proprietary licensing and intellectual property. Huh. Odd, that.
    • by jc42 ( 318812 ) on Sunday September 18, 2005 @09:27PM (#13592989) Homepage Journal
      Isn't microsoft always saying that open-source software is OBVIOUSLY inferior?

      They finally woke up to the fact that this makes it perfect for inclusion in MS Windows.
    • Re:Wait a minute (Score:3, Informative)

      by d_jedi ( 773213 )
      No, if you look closely, most of Microsoft's comments were directed at the GPL in particular (esp. the more colourful comments about it being a cancer, and communist - actually, I think that last one was courtesy of our friend Darl).

      The problem with the GPL is that if you use even a few lines of GPL code, you have to release the whole thing under the GPL.. which pretty much kills any commercial work (ie. for profit) on these projects (which some will argue is a good thing).

      MPI is licensed BSD, so anyone can
  • Open Invitation (Score:5, Interesting)

    by Doc Ruby ( 173196 ) on Sunday September 18, 2005 @07:06PM (#13592270) Homepage Journal
    Practically all MS source code is, of course, proprietary, closed, hidden, unknown to the public (and to most Microsofties). So who knows how much "open source code" has "found its way" into MS releases? We can say with more confidence that Microsoft has opened source included in this release, an unusual act for the proprietary giant. Of course, they got the tech, and probably much code, from the "1990s supercomputer consortium". So they might be obligated, "morally" if not legally, to release that source. Whatever's pushing them to open their code, I hope this works out for them, and therefore for us. So eventually "MSOSS" is not unfamiliar, but redundant.
    • Over 1m developers and 40+ governments can give you some measure of it... they all have access to the Windows and Office source under Microsoft's shared source program I believe.
      • Re:Open Invitation (Score:3, Informative)

        by AstroDrabb ( 534369 )
        Some students get access to a _small_ part of the Windows OS source code at some schools. The amount of code they get to see under the "shared" source stuff is very small. Governments (even the US govt.) don't even get access to 100% of the MS OS source code through the "shared" source initiative. MS is proprietary and they don't give up their code not matter what the MS-Marketing-Machine tries to say. End of story.
    • I don't think Microsoft should be morally required to release the code. But then I actually think that this version of Windows is a bit of a boondoggle. After all, who in his right mind wants to run Windows as a HPC platform? Sure there is argument about the desktop but the HPC market? Aside from the inevitable "Imagine a beowulf cluster of BSOD's" jokes, it just doesn't make sense. Windows is way too fat for this kind of work. It uses up way too many resources on your computing nodes. Why on earth w
      • The reason I put "moral" in quotes in my post was because MS is a corporation, to which "moralit" does not apply in any sense of the word. But the people at MS might have a "moral" (in the philosophical and legal, not religious, sense) obligation, if they were given the source under conditions that they rerelease it (GPL style). Or maybe the morality is just the more diluted version, where they're counting on members of that community for relationships into which to sell more MS SW, including HPC platforms.
  • uh? (Score:5, Informative)

    by diegocgteleline.es ( 653730 ) on Sunday September 18, 2005 @07:06PM (#13592271)
    Windows has included open source code for a long time. And not just C:\windows\system32\ftp.exe (run strings to that file), why is then that several microsoft products haven been affected by zlib vulnerabilities, uh? Just read the fu***** license, it's all there.
    • Re:uh? (Score:3, Informative)

      by moosesocks ( 264553 )
      zlib isn't open source in the traditional sense.

      zlib is simply released with no strings attached whatsoever. only catch is that the author's not responsible for anything that happens with it.

      most people equate OSS with the GPL or a BSD-style license. zlib is released more or less without any license at all. It's a few lines that make it VERY VERY CLEAR that the authors don't care what the hell you do with it as long as they're not implicated

      This software is provided 'as-is', without any ex
      • Re:uh? (Score:3, Informative)

        by jellomizer ( 103300 ) *
        Well it is still open source. It is just has less restrictions then other licenses. Just because it doesn't give some odd political statement it doesn't make it any less Open Source.
      • Re:uh? (Score:5, Informative)

        by Bogtha ( 906264 ) on Sunday September 18, 2005 @07:51PM (#13592517)

        zlib isn't open source in the traditional sense.

        zlib is simply released with no strings attached whatsoever. only catch is that the author's not responsible for anything that happens with it.

        Er, that is "open source in the traditional sense".

        zlib is released more or less without any license at all.

        That's obviously not true. Licenses aren't ethereal things that can sort-of-but-not-really exist. They are either there or they aren't. zlib certainly has a license, and you must abide by it if you want permission to copy it.

        It's a few lines that make it VERY VERY CLEAR that the authors don't care what the hell you do with it as long as they're not implicated

        In other words, it's fundamentally the same as the BSD license. For example, FreeBSD [freebsd.org]:

        For the simply curious, the license can be summarized like this.

        • Do not claim that you wrote this.
        • Do not sue us if it breaks.

        The idea that somehow the "right" or "traditional" form of open-source is the GPL is a myth propogated by some misinformed Slashdotters and bears no resemblance to the truth.

      • > zlib isn't open source in the traditional sense.
        > zlib is simply released with no strings attached
        > whatsoever.

        That is Open Source. It is also Free Software. The zlib license is also not significantly different from the BSD license (and it does "attach strings").

        > most people equate OSS with the GPL or a
        > BSD-style license.

        "Most people" are wrong.
      • by Nailer ( 69468 )
        The traditional sense of Open Source is the Open Source Definition, much in the same way that the traditional sense of Free Software is software that provides the FSFs list of essential freedoms.

        zlib meets all the points in the Open Source definition and can therefore be called Open Source. So can any public domain software.
        • So can any public domain software.

          Not really. In 100 years or so, the copyright may start to expire on some proprietary software. At that point it'll be public domain, but will still be closed-source because only the binary will be available.

          Incidentally, this is why all software should be open source (but not necessarily Free): because the point of copyright is so that the public can make derivative works, which can't happen without the source code.

    • Open Source Code Finds Way into Apple Release

      (From February/March of 2001)

      linumax tells us eWeek is reporting that Apple, for the first time, has included open source code in the release of one of their products. The 10.0 version of Macintosh Operating System will be including the Berkeley Software Distribution (BSD) UNIX derivative. From the article: 'BSD is a key operating system that was designed by a consortia of university students in the 1970s to allow the easy portability of information through "inte
      • Yes, but the question is - will MS contribute all its changes back, preferabbly documented and in a easy to discern format? It'd be nice to see one giant corporations follow the true spirit of open source and actually due something useful with it, because Apple sure isn't.
        Maybe one well be able to grep "@microsoft.com" out of some changelogs:)???
  • Not the First (Score:4, Interesting)

    by bheer ( 633842 ) <(moc.liamg) (ta) (reehbr)> on Sunday September 18, 2005 @07:07PM (#13592275)
    There was the NT 3.x TCP/IP stack, but that's less relevant because MS bought a 3rd party stack and bolted it to the OS (funny how /.-ers obsess about FTP.EXE when the whole darn stack was BSD-derived).

    Then there was SFU, which actually shipped GNU tools, and MS even distributed source for the GNU tools they modified.
  • Not the first time (Score:5, Insightful)

    by Sycraft-fu ( 314770 ) on Sunday September 18, 2005 @07:08PM (#13592280)
    If you get Services for UNIX (a free download now) you'll find it contains some GPL software, and notes this fact.

    Also depends on what you mean by "open source" Microsoft has used a lot of BSD code, they just don't release the modifications since they are not required to. However even GPL code they've used some of, and they you can get the source (for what it's worth, it's just things like bash).
    • by jd ( 1658 ) <imipak AT yahoo DOT com> on Sunday September 18, 2005 @11:07PM (#13593438) Homepage Journal
      ...is WHY they would choose the version of MPI that is regarded as a great reference edition but not that good for serious work. MPICH2 [anl.gov] does not support shared libraries under Microsoft's C compiler or under Windows (MPICH2's docs) or external data representations. Their version of ROMIO also hangs when using MPI threads.


      (Also, MPICH sucks when used with multiple devices - you have to compile it with the device(s) you're using, and can only configure it for one device type at a time. So if you're planning on using a mix of Infiniband, Globus and Ethernet, forget it. It won't work.)


      Probably the best MPI library out there is Open MPI [open-mpi.org], which supports the MPI2 standard, supports MPI threads and progress threads, is much more optimizable for different platforms and was developed by groups ranging from Los Alamos Laboratories (yes, the nuke place) and the LAM/MPI development team.


      Ok, you have a choice between two implementations. One is slow, has a poor release cycle and has been forked numerous times (MPICH, MPICH2, MP-MPICH, Globus MPICH, GAMMA MPICH and MVICH are all forks off the same code-base). The other is partially written in assembler, is developed by a broad consortium of MPI experts and is unlikely to fork as the maintainers are really good about integrating new code. Which would you pick?


      I am also concerned about Microsoft's history of "Embrace and Extend' - are they planning on breaking the MPI-2 specifications for their own purposes? I can't see any value in them doing so, but I don't see any value in 'Embrace and Extend' anyway.

  • Anyone know anything about MPI? How is it different from other middleware like TIBCO? If it is better and does something similar I might bring it to my CIO's attention.
    • Re:Question (Score:3, Informative)

      by hoka ( 880785 )
      I've done only initial programming in MPI for a distributed systems course I took, so keep that in mind. What I think MPI is big for is how popular it is. MPI is a very open standard, has been adopted for a long time, and is used in quite a few research projects because some implementations are heavily optimized. Some of the bonuses of MPI include the ability to make groupings and do group-messages (with all sorts of abilities to combine/redirect group messages), blocking/nonblocking sending receiving (stan
    • Dunno about Tibco. I looked at the Tibco web site, and it looked like they were in the business of synergizing world-class next-generation paradigms using xml for b2b J2EE c# managed ejb something-or-others. Frankly, I couldn't tell what it was they did.

      In any case, MPI is almost certainly not it. MPI isn't about synergizing or XML or b2b or any crap like that. MPI is a frameworks for coordinating multiple machines or processes in performing distributed algorithms.

      Those beowolf clusters you've heard so
    • My rearch group [udel.edu] does work with MPI and other C supercomputing extensions (like OMP). I've never heard of TIBCO, so I cannot really compare the two.

      As I remember it, MPI is more explicit (you explictely tell it where to do fork-join operations), whereas OMP is more transparent (you set up fork-joins at loops, for example, and specify private vs shared variables and OMP takes care of the rest). As usual, YMMV.
    • MPI is not middleware in the same sense that TIBCO is. It is for much lower-level systems/hardware interfacing stuff.
    • Re:Question (Score:5, Informative)

      by brsmith4 ( 567390 ) <brsmith4 @ g m a i l .com> on Sunday September 18, 2005 @10:21PM (#13593260)
      I've done quite a bit of MPI programming using the MPICH and MPICH2 implementations. MPI itself is nothing more than a specification that addresses issues with sharing memory between processors, whether they are in the same 'box' or connected through some fabric like Ethernet or some of the high-speed interconnects.

      The specification is focused mainly on the syntax of the API to make Fortran, C, C++, and Java (?Not sure if Java is actually part of the spec yet) codes compile and operate smoothly across different MPI implementations like MPICH or LAM, to name a couple (I've never run into an MPI implementation, personally, that has screwed with the standard. All my codes have always compiled and functioned cleanly across multiple implementations (after extensive debugging, of course ;-) ).

      MPICH and MPICH2 provide many different "drivers" to allow its use over 100Mb/GigE ethernet (ch_p4), Myrinet (provided by Myricom, ch_gm), Infiniband, ccNUMA or NUMA-like systems (ch_shmem, or lock-free ch_shmemlf), and drivers for globus systems.

      With interconnect fabrics like ethernet and low-latency Myrinet and IB, Message passing typically involves passing actual data between hosts across this fabric and the ch_p4, ch_gm drivers handle this transparently (this part of the setup, selecting the driver, is a function of your Administrator and not the developer). On large memory SMPs, MPI may pass addresses or references rather than the actual data, taking advantage of the fact that the hardware is designed to allow any single CPU to address any region of memory rather than flooding the memory bus with unnecessary transactions.

      Take parallel video rendering for example, where we might be simply gzipping each frame... on a cluster-style interconnect, each host must have a copy of the frame it is operating on so it must be passed along the interconnect to the host before work is done (or it can be read by each host from the original file, if that file is shared across the cluster or copied to each node. This becomes very I/O bound and suffers from the slowness of hard disks). On an SMP, a pointer to the beginning of that array may be passed to the thread or process trying to do the work, while the segment of that video is stored in RAM.

      Being able to share memory in such a way allows fine-grained calculations like very-large-matrix operations over slower interconnects AND SMPs (though your performance on the slower interconnects will suffer because of the bandwidth or latencies induced by the interconnect).

      As well, MPICH at least, provides excellent support for debugging parallel applications through the mpirun_dbg.* commands. It uses your favorite debuggers whether they be gdb, ddd, dbx, or totalview.

      MPI in a nut shell, provides for the easy creation of multiple process threads and facilitates the sharing of data between each thread to enable parallel processing regardless of how your CPUs and memory are connected. Don't know anything about TIBCO though, nor have I ever heard of it... Sorry if this was too much or too little info. I'm not really aware of the average /.er's experience with such things.
  • by hoovs ( 44014 )
    Ralph Giles of Xiph.org did an interview [lugradio.org], where if I remember correctly he said that Microsoft, or rather Bungie, which Microsoft owns, used Ogg in Halo 2 and Speex in Xbox Live.
    • Actually, I remember reading that ALL (or maybe it was most of?) Xbox games use Ogg. And I know for a FACT that the PC version of Halo uses Ogg - I remember looking through the files and seeing a bunch of .ogg files. I think they also said it somewhere with the copyright info.

      I wonder what would've happened with the Xbox if Bungie had released Halo for PS2 like they originally planned?

  • by Anonymous Coward on Sunday September 18, 2005 @07:12PM (#13592313)
    ...2003's HDBSOD or Highly-Distributed Blue Screen of Death.

    With previous cluster technologies, when a single server would blue screen, the cluster remained online, but with HDBSOD, the entire cluster blue screens, ensuring timely, highly-reliable, redundant creation of crash dumps.
  • by Anonymous Coward on Sunday September 18, 2005 @07:15PM (#13592328)

    Free for a limited time only,all you need to do is spend $5000 on a per processor operating system (minumum order 10 units) and we will give you, absolutely free 1 THOUSAND lines of computer code for you to use in any way you like ! imagine that

    operators are standing by for your call, dont delay for this fabulous offer
  • Open source (Score:5, Funny)

    by Ahzraei ( 915778 ) on Sunday September 18, 2005 @07:15PM (#13592331)
    Open source? Interesting innovation on microsoft's part ... maybe they should patent it.
  • Next they do is wait for KDE to have all functions envisioned to Vista, copy it, extend it and run...
  • by dtungsten ( 445338 ) * on Sunday September 18, 2005 @07:24PM (#13592378)
    Well, at least they're being honest.
  • by PAPPP ( 546666 )
    I get the feeling Microsoft is a little schizophrenic about OSS whenever I see this sort of thing. Aside from the (frequently pointedout) inclusing of BSD networking components, Microsfot has a couple other dealings with the OSS community that didnt invovle bashing. One of the stranger things I've come across has to be Allegance [microsoft.com], a MMO-like space sim that Microsoft Open Souced after it tanked commercially. Appaerntly people still play it.
  • BSD License (Score:5, Interesting)

    by saterdaies ( 842986 ) on Sunday September 18, 2005 @07:33PM (#13592422)
    Microsoft has always said that it has no problem with the BSD license (which is what this code is under). They've even suggested it for people looking to develop open-source projects. It's not like the code got in there without their knowledge and now they're going to have to open source windows.

    Hmm. . .formulates a plot.
  • One observation ... (Score:3, Interesting)

    by gstoddart ( 321705 ) on Sunday September 18, 2005 @07:37PM (#13592446) Homepage
    Does the licence of the OSS software allow for distribution in this context?

    If yes, then what is the big deal?

    If no, then somsone needs to slap their pee-pee's.
  • Does this mean.... (Score:4, Insightful)

    by zappepcs ( 820751 ) on Sunday September 18, 2005 @07:44PM (#13592479) Journal
    that the argument about quality and such of OSS is no longer valid? If MS keeps using F/OSS, doesn't that actually validate the quality and value of F/OSS?

    The more F/OSS code that is included in MS products, the more they take on the RedHat business model? Or am I just not seeing things the right way?
  • by cortana ( 588495 ) <sam.robots@org@uk> on Sunday September 18, 2005 @07:48PM (#13592491) Homepage
    I'm sure I remember a LUGRadio interview with someone from Xiph who said that DirectX (or was it Xbox Live, or both?) uses the Speex codec [speex.org] to compress voice data for in-game chat.

    Oh, here we go: Halo 2 and Xbox Live use Ogg codecs [newsforge.com].
  • Nothing new. (Score:2, Interesting)

    by Anonymous Coward
    It should be noted WMP10 uses the OGG libraries. OSS usage by MS is nothing new.
  • by Billly Gates ( 198444 ) on Sunday September 18, 2005 @08:15PM (#13592640) Journal
    Funny how the windows vulnerabilities and the vulnerabilities of Zlib appeared at the same time.
  • Last i heard that was (legally ) taken from BSD.
  • We know at least one thing about Windows 2003 cluster edition will be secure.
  • Microsoft submits a patent for a library specification for message passing proposed as a standard by a broad-based committee of vendors, implementers and users.
  • OK, so I didn't RTFA, but MPI is just a standard. There are open and closed source implementations of said standard. They can include a MPI library, and it doesn't necessarily mean that they are including open source software.
  • by oPless ( 63249 ) on Sunday September 18, 2005 @08:45PM (#13592788) Journal
    ... but I think I better post instead :o)

    Ignoring the BSD tcp/ip stack (which practically every OS uses some version thereof) and the ftp/telnet apps, and SFU (MKS utils and Interix subsystems)

    M$ Doesn't dislike Open Source, they just don't like the GPL and its viral nature. I happen to agree to that too. Every newbie seems to release (or at least seemed to a few years ago, when they made their statement) their favourite program to the world under the GPL.

    Previously these programmers would have released the code as shareware or public domain. But I've seen folk release 'trivial' (or just plain shite) software as GPL which I find laughable.

    Anyway I'll stop there before I start foaming at the mouth. Nurse! Medication Please!

    mmmmm nurse!

  • SOAP, X.500 (Score:4, Interesting)

    by SumDog ( 466607 ) on Sunday September 18, 2005 @09:35PM (#13593031) Homepage Journal
    Microsoft has always embrased open standards. They "embrace and extend." They have DHCP servers...sure some old versions of Windows don't obtain DHCP leases correctly, but they've been patches and fixes here and there and everything seems to work.

    ActiveDirectry is a standard X.500 protocol...with a couple of interesting extras which the Samba team is still trying to work with.

    SOAP, well to be honest I never liked SOAP...or XML, but Microsoft uses it and it sorta works with other SOAP implementations...sorta. (I tried using a .NET client to communicate with nuSOAP for PHP about a year ago...worked fine unless you wanted to send an array).

    The fact is with any open standard, you're gonna have problems with getting the implementations correct between ever device, OS and embedded that implements it. But back to the point, I RTFA and, correct me if I'm wrong, but it seems like they're just supporting another open standard like they've done so many times before. How is their support of MPI different than how they support SOAP via the .NET Framework?

    SumDog
  • It's like you finally convince one of your friends to come hang out at a nudist beach and then you point at their genitalia and laugh.

    So maybe they're warming up to the idea. That's cool. We don't have to make them uncomfortable.

    Send them a beer and say "Bully for you!" :-)

You can be replaced by this computer.

Working...