Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Microsoft

MS Releases .NET Source, Sort Of 87

cam_macleod writes "A friend at Microsoft (he's a nice guy, really!) pointed me to their release of the Common Language Infrastructure (CLI) source, which builds successfully on Windows, FreeBSD, and MacOS X 10.2 -- he says Linux too, but their website strangely doesn't mention it!"
This discussion has been archived. No new comments can be posted.

MS Releases .NET Source, Sort Of

Comments Filter:
  • Security (Score:5, Funny)

    by Trusty Penfold ( 615679 ) <jon_edwards@spanners4us.com> on Tuesday November 05, 2002 @10:03PM (#4604572) Journal
    Remember "many eyes".

    If there are any security problems with .NET it all your fault.

    (I'm blind, don't blame me!)
  • Nothing new. (Score:4, Informative)

    by cd_Csc ( 151701 ) on Tuesday November 05, 2002 @10:07PM (#4604590) Homepage
    This is not new. Microsoft released this long ago in an effort to show that .NET really *is* cross platform. Here are the changes (as listed on the website):

    Support for Mac OS X 10.2.

    Additional code clean-up and bug fixes.

    Debugger improvements.

    Class reference documentation (separate archive) and additional samples.

    Build system improvements and additional test cases and tool improvements.
    • by Anonymous Coward
      Of course, what's not mentioned is that the .NET being implemented is ECMA .NET, not Microsoft .NET.

      ECMA .NET is little more functional than POSIX. Microsoft .NET includes other things like WinForms, remoting, ASP.NET, ADO.NET, etc. Basically, their .NET ports don't allow you to do 90% of what you'd want to do with .NET, so what's the point?

  • CLI (Score:3, Interesting)

    by m0rph3us0 ( 549631 ) on Tuesday November 05, 2002 @10:21PM (#4604676)
    I'm not that familiar with the .NET infrastructure, but does this mean that I can take a .NET application that works on my Windows box and uses the Win32 GUI and have it work on my Linux Box? Just wondering if this thing actually "works" or if its just part of the whole picture.
    • Re:CLI (Score:5, Informative)

      by bellings ( 137948 ) on Tuesday November 05, 2002 @10:47PM (#4604814)
      No. Timothy is a moron, and doesn't really understand what the download is. You can't download the source to the .NET framework. You can download the source to a Common Language Infrastructure implementation.

      The Microsoft .NET Framework includes an optomized implementation of the Common Language Infrastructure. But, the .NET Framework also includes a huge .NET class library, including the Windows Forms classes, the ASP.NET classes, the ADO.NET classes, WebService classes, and a host of others. Most "useful" .NET programs are going to use some of the .NET classes.

      The .NET framework includes more than this, but the classes are the important part for portability.

      Basically, think of CLI as essentially just a compiler and a small standard library. To build a complete application, you're still probably going to use a lot of additional libraries. Microsoft hasn't gone insane, and they still understand that their Operating System is valuable. They haven't started distributing kernel32.dll for free yet, and they aren't going to be distributing the .NET class libraries for free, either.

      I should point out, though, that C# and the CLI are pretty damned cool all by themselves. They're rocking sweet technology, and there's no reason a good portable class library couldn't be put on top of them, like Sun has done with their Java implementation.

      However, I sort of wonder if MicroSoft hasn't pissed off too many of the big players in the world -- I don't expect Oracle or IBM or Netscape to pick up the CLI and run with it, incorporating it in all of their new products, like they did with Sun's JVM. Ooops, did I say Netscape? Nevermind.
      • The .NET framework includes more than this, but the classes are the important part for portability.

        Didn't Intel create their own version of the .NET libs? I remember downloading it to test under Mono at some point and now can't find the link. For the record, I was probably doing something wrong, but never got Intel's libs to work with Mono.

      • I don't expect Oracle or IBM or Netscape to pick up the CLI and run with it, incorporating it in all of their new products, like they did with Sun's JVM.

        I don't believe that IBM will pass up any viable technology.

        Expect them to go all out on .NET while they continue with everything else.

        • IBM already has a cross-platform virtual machine implementation. I don't think they will learn much from Microsoft's implementation.
      • by Otter ( 3800 )
        While this compiles under OS X....

        ..since you seem clueful about this -- can you suggest any example code (preferably GUI code) that will build and run on the base CLI? I'm not familiar with MSDN, so I may well be missing something, but I don't see anything aimed at non-Windows platforms.

    • Forget running win32 gui apps on linux with this....will this even compile on linux?

      I get this:

      checking for pthread_resume_np in -lc_r... no
      checking for pthread_mach_thread_np... no
      checking for thr_suspend... no
      configure: error: Don't know how to suspend and resume threads on this platform
      configure: error: /bin/sh './configure' failed for pal/unix/
  • Evil licensing.. (Score:4, Insightful)

    by Ogerman ( 136333 ) on Tuesday November 05, 2002 @10:34PM (#4604753)
    Read the license here [microsoft.com]

    This is nowhere near Open Source / Free software. The license specifically states that you cannot use the code for any commercial purpose whatsoever--even writing your own software to use for your own purposes in running a business. Furthermore, the license states:

    You may use any information in intangible form that you remember after accessing the Software. However, this right does not grant you a license to any of Microsoft's copyrights or patents for anything you might create using such information.

    In other words, they're trying to use software patents to keep people from writing their own implementations of C# / CLI libraries and software.

    Which all boils down to: Microsoft wants a programming language for which you have to pay them royalties just to use, with the exception of academic use. They realize that their monopoly on operating environments is crumbling so they want to "own" and control the "next C++ or Java". My opinion: boycott this crap.
    • Re:Evil licensing.. (Score:4, Interesting)

      by informer ( 20888 ) on Tuesday November 05, 2002 @10:51PM (#4604843) Homepage
      In other words, they're trying to use software patents to keep people from writing their own implementations of C# / CLI libraries and software.

      This is a completely bogus interpretation of the goal. The stated goal of allowing people to view and study the source is to gain acceptance for the .NET platform, and to kick-start an understanding of the technologies, and to permit and encourage other implementations. Why have they not started legal proceedings with dotGNU or Mono? Please spare us the doomsday senario's. Evaluate the .NET / C# licenses and technologies and use them if they provide a benefit, otherwise ignore them.

      C# is an open standard. The CLI is an open standard.

      There are many libraries included with the microsoft implementation of .NET which are *not* part of the standard, and these become more like the Java libraries. Many of those classes and features which are not part of the standard are not included in the SSCLI.

      My opinion: boycott this if you want, but dont use bogus arguments for doing so.
      • Re:Evil licensing.. (Score:3, Interesting)

        by Anonymous Coward
        This is a completely bogus interpretation of the goal. The stated goal of allowing people to view and study the source is to gain acceptance for the .NET platform, and to kick-start an understanding of the technologies, and to permit and encourage other implementations. Why have they not started legal proceedings with dotGNU or Mono? Please spare us the doomsday senario's. Evaluate the .NET / C# licenses and technologies and use them if they provide a benefit, otherwise ignore them.
        1. Reasoning that they won't pursue legal action because they haven't isn't logical.
        2. Reasoning that Microsoft's motives of releasing the source is about learning the .NET platform is only your guess at real motives you do not know. You're repeating press releases.

        As Bill says, patents allow the giants to set the entry price for new competitors. Will a key part of the .NET platform require RAND licencing fees?

        You're not being logical :)

        • Yes.

          We have little information to work with. I'm not sure of MS's goals in doing .NET (the language part, that is).

          Given the amount of money they put into it, I'd be very surprised if they didn't expect to get a healthy return on it. And given their infamous past record, I doubt that they're playing nice.

          I'm a little dubious that MS is planning to play legal games, crying patent infringement. They haven't tried "legal attacks" as a comprehensive strategy before, and I doubt they're going to start. They're interested in using market leverage and compatibility to lever them into new markets.

          It could be as innocent as MS wanting a language that is easy (even strongly pushes you to, perhaps) use Windows-specific extensions. Remember that adding Windows-only extensions was what they were working hard to do with Java, and got in hot water over. If they get a lot of people using C# (which, from what I've heard, is a reasonably well designed applications language), and they essentially control the language and a significant number of programmers use their Windows extensions, -- and .NET becomes the standard application platform, Linux becomes little more than a less reliable, less effective .NET platform.

          MS already tried to do it with IE and the Web...
          • Given the amount of money they put into it, I'd be very surprised if they didn't expect to get a healthy return on it. And given their infamous past record, I doubt that they're playing nice.


            I suspect that their goal is simple: remove the stickyness from Linux & make their Office monopoly ubiquitous. (If you're running Linux on your computer for whatever reason, MS can either see you as not a potential customer--and thus get blasted by anti-trust again--or they can see you as a potential customer of their non-Windows software.) .NET becomes the standard application platform, Linux becomes little more than a less reliable, less effective .NET platform.

            Sounds like a good plan to me.
        • Re:Evil licensing.. (Score:2, Interesting)

          by informer ( 20888 )
          1. Reasoning that they won't pursue legal action because they haven't isn't logical.

          I did not reason that they will not pursue legal action at all. It is logical to assume they have not yet pursued legal action because that is not the goal in this case.

          2. Reasoning that Microsoft's motives of releasing the source is about learning the .NET platform is only your guess at real motives you do not know. You're repeating press releases.

          Exactly. I did not reason with anything once again. As i mentioned, those are the *stated* goals. Deviating from those clearly stated goals would be a huge mistake, as many many industry partners including Borland, IBM, etc, would shoot them (microsoft) down.

          You are reading things in my post which I did not write.
      • by Anonymous Coward
        They've clearly stated their motives over and over, including in one famous memo:

        Embrace ...

        Extend ...

        ... Extinguish


        You've been embraced.
      • C# is an open standard. The CLI is an open standard.

        I am not sure you are using the word "standard" properly.
    • Re:Evil licensing.. (Score:4, Interesting)

      by Twirlip of the Mists ( 615030 ) <twirlipofthemists@yahoo.com> on Tuesday November 05, 2002 @11:03PM (#4604902)
      In other words, they're trying to use software patents to keep people from writing their own implementations of C# / CLI libraries and software.

      Hey, that's quite a scoop there. You've stumbled on the fact that this is exactly what patents are for. They are a limited monopoly on an invention or innovation. Until Microsoft's patents expire, you can't do any of the stuff described in them without an explicit license.

      I always get such a kick when people post this sort of thing to Slashdot with such indignation. "They're trying to use patents to keep people from doing things!" How dare they.

      My opinion: boycott this crap.

      Given the degree of insight inherent in your first observation, I'm not sure how much I value your opinion on this matter. But rest assured; if it's crap, a boycott will be quite unnecessary. In the computer industry moreso than any other, bad ideas wither on the vine.
      • I always get such a kick when people post this sort of thing to Slashdot with such indignation. "They're trying to use patents to keep people from doing things!" How dare they.

        That's right. How dare they. Software patents are wrong, immoral, unjust, and IMO unconstitutional. If you don't believe this, frankly, you're a fool.
        • Re:Evil licensing.. (Score:5, Interesting)

          by Twirlip of the Mists ( 615030 ) <twirlipofthemists@yahoo.com> on Wednesday November 06, 2002 @12:41AM (#4605522)
          Wrong? Immoral? Unjust? No. Patents on software, just like patents on anything else, exist to encourage innovation. Without the promise of a monopoly-- temporary though it will be-- there would be no incentive to innovate. Of course, the average Slashdot poster would respond that innovation will come from hobbyists and other creators of open-source software, who believe themselves to be acting philanthropically. The average Slashdot poster hasn't the foggiest idea how the world actually works, and has no respect whatsoever for the power of the profit motive.

          And unconstitutional? Please refer to Article I, section 8: "The Congress shall have Power... To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries." All patents are fundamentally constitutional, as long as they are granted for a limited time.
          • Did you derive the "Average slashdot poster" by taking the arithmetic sum and then dividing by the highest user number? Or did you sort them and choose the one in the middle position?

            This is a transparent attack on a strawman position. I agree with other posters who have replied that necessity (not the profit motive) is the mother of invention. People invent techniques and devices in order to solve problems other people buy an invention because it's cheaper to buy a finished product than to create their own. Intellectual property protections such as patents are a recent innovation, compared to the history of human invention. People were busy inventing and creating long before the USPTO or its overseas equivalents started taking applications.

            This is a point about which reasonable people can disagree - your position would be better served if you substituted reason for addle-pated bombast. In short, the statement that anyone who believes any innovation can exist without the USPTO in it's current state must be a brainless automaton who hates money and wants to nationalize the software industry doesn't count as evidence.

            Oh.. please do tell me "how the world actually works". That should be amusing.
            • Oh.. please do tell me "how the world actually works". That should be amusing.

              Okay. (Dim the lights and cue the old-timey piano music.) Let's say you have an idea for a steam-powered film stretcher. You believe the world needs a steam-powered film stretcher. So you start working on one in your barn.

              Six months later, you run out of money. Your idea of a steam-powered film stretcher is in danger of dying on the vine.

              So you find yourself an investor, a person with money, literally, to throw away. You tell him that you need $500,000 to build your steam-powered film stretcher. He agrees to give you the money, in return for a cut of your profits from selling steam-powered film stretchers.

              With this infusion of new capital, you're able to finish building your steam-powered film stretcher. You take out a few ads and wait for the orders to roll in. For the first few weeks they do, and both you and your investor are happy. Then the orders start to dry up, apparently for no reason. The next day you learn that another company is selling steam-powered film stretchers, functionally identical to yours, for only $39.95. They stole your idea! Oh, well. Nothing to be done about that but to lower your price. But at that rate, every film-stretching plant in the world will have to buy two of your film stretchers before you get anywhere close to making your investor's initial $500,000 back. The investor does the math, realizes his predicament, and reluctantly writes off his investment. You're unhappy, he's unhappy, and most importantly, he's learned his lesson. It'll be a cold day in hell before he sinks any more money into wacky ideas like yours. He'll invest in dependable blue-chips instead, like Congreves Inflammable Powders and US Hay.

              If only you'd had a patent on your steam-powered film stretcher. Sure, you personally don't care about the profit of the thing, but inventing costs money, and investors want to see their investments come back to them and then some. If you'd had a patent on your idea, you would have had a temporary monopoly on steam-powered film stretchers, which would have given you enough time to get your investor's money back, plus a tidy profit, which in turn would have encouraged him to invest in the next wacky idea that comes along. In the meantime, economies of scale would have kicked in that allowed you to gradually lower your prices, so that you can be competitive with other companies who simply copy your idea once your patent runs out. But without that all-important patent, your investor is out $500,000, you're out of luck, and you'll never work in this town again.

              Patents don't encourage inventors directly. They encourage the investors who make innovation possible. Without patents, all the good ideas in the world won't amount to a hill of beans without the capital to bring them to life.
              • Solid reply. Thank you. I will give you two counterexamples which I believe will highlight the problem with patents.

                The first is a problem with the current implementation of the patent idea as it exists in the US: The PanIP story [slashdot.org] just covered here yesterday. I think even a strong supporter of Intellectual Property rights will agree that this sort of patent hijacking is an indictment of the USPTO's poor track record in researching patents before granting them. As I said, this is a problem of implementation rather than a fundemental flaw in the idea of Intellectual Property.

                An older slashdot posting highlighting a New Republic article on pharmaceutical patents [slashdot.org]. Highlights what I believe to be a much more fundamental problem with the idea of Intellectual Property. The efforts to patent the results of basic research in biology and medicine have had a major chilling effect on scientific communication between universities. Interestingly, one possible solution to the dilemma mentioned by the article dovetails nicely with the ideas presented by open source apologists, "... five companies are supporting the work of Alfred Gilman, who is trying to build a complete online model of cellular signaling that could dramatically speed drug development while keeping all the data in the public domain."

                Your characterization of open source development as being philanthropically motivated is an oversimplification. There may be some open source developers who are motivated by philanthropy, but many developers are motivated by enlightened self-interest. The idea is that the work required to solve a widespread problem can be divided among the people who have both means and motivation to create a solution. The profit motive becomes a savings motive.. savings of cost, savings of time and effort, etc.

                To recast your example in patent free terms, and still save the happy ending, consider a manufacturer whose manufacturing process can be improved by the installation of a steam powered film stretcher. This is the person who, before the intellectual property system was imported to the US, would have invented the steam powered film stretcher. His installation of the device would have allowed him to produce his end product [more cheaply | more quickly | with higher quality]. He could alternatively have gleaned higher profits, or undercut his competitors. Progress is made, nobody has to "own" the idea. The problem with this, as another poster has pointed out, is that the manufacturer is highly motivated to keep his device a secret, preventing other manufacturers from realizing the same savings as he does. The independent inventor, hawking his idea to venture capitalists is an idea which sprang up after the patent system decoupled the inventor of a device from the device's eventual users.

                As seen here [slashdot.org], the patent system, even in it's early days, was not a guarantee that the inventor of a device would ever make a penny from it.

                Regardless, the profit motive, was never a significant driver of innovation in computing during it's most innovative periods. The catalog of fundamental innovations that were created and freely distributed during the 70s and 80s have basically defined the landscape of modern computing. Only Xerox PARC, the inventors of the GUI, and mouse were performing basic research for a commercial company who hoped to turn the researchers ideas into dough. The rest of the work was either sponsored by the federal government as a way to streamline or safeguard their own operations (the Internet), or by user's of the those facilities who answered their own personal needs by developing and freely distributing software (email).

                I believe that the concept of intellectual property has been a very successful generator of wealth for people who've filed patents, and for patent lawyers, but I'm not sure that it's been a significant source of wealth for inventors, or an enabler of progress. I'm certain that it's been a hindrance in the field of computing. I'm not sure of it's benefits in the areas of goods manufacturing.
                • If it's all the same with you, I'd rather not get into an argument about the USPTO. Let's just agree that the patent office is not perfect and leave it at that. Otherwise it becomes a big nitpick party, and that's boring.

                  But in reference to the New Republic article you cited... I would admonish you to be critical of your sources. The editorial slant of that particular outlet is well known. Consider, if you will, a real-world counterexample. My girlfriend is a doctor-- I've mentioned her here on Slashdot many times. She is an ear-nose-and-throat surgeon who also does medical research. Right now she's working with a team researching the effectiveness of delivering antibiotics across the eardrum for the purposes of treating severe ear infections. (We've all had minor ear infections, but the really severe ones can cause permanent deafness. They're a big deal.)

                  Her research is sponsored by... I'm drawing a blank. The drug company that makes Cipro. Hello, Google? Oh, yeah. Bayer. Her research is sponsored by Bayer, and if it plays out just right, that company could be first to market with an effective antibiotic ear-drop that can be used to treat even severe ear infections. The commercial potential of her research has had zero stifling effect on her work. In fact, just last month she submitted an abstract to one of the journals-- don't know which-- describing her work.

                  In at least this one example, the exact opposite of your assertion is true. Bayer's commercial interest in developing an antibiotic ear-drop has led to their sponsoring academic research that would not have been done without their investment, and that research is being shared with other professionals through the normal channels.

                  Regardless, the profit motive, was never a significant driver of innovation in computing during it's most innovative periods.

                  Yes, that's true. I think the computer industry in the 1970's is analogous to the drug industry in the early 1900's; i.e., there basically was no commercial involvement. With the discovery of penicillin, the rush to find new and better drugs began. It slowly picked up steam over the decades to the point where medical research is now about 60% commercial (or at least commercially sponsored) and 40% purely academic. Computing is starting to go through that transition, too. Xerox PARC was, despite its corporate sponsorship, basically a pure research facility, and they came up with ideas that we still depend on today. But now the research is being done in the commercial world, and patents are more important now than ever to encourage the continued growth of that research.

                  I don't agree with your assertion that patents have been a hinderance to the computing field. I just see no evidence that this is true.
                  • I've read this thread and I generally agree with your position on pantents. The patent system was conceived to protect and foster invention.

                    However, I personally believe that software, algorithmic, and business process patents should not be granted. Patents in these disciplines are already protected from outright theft via copyright law (and in many cases, by the compiler). Reimplementation from scratch or reverse engineering requires tremendous expense by competitors, and therefore patent-based protection is not required.

                    The vast majority of software patents are evolutionary. By evolutionary, I mean that they would eventually be discovered by any competent developer who was faced with a similar situation. One can argue that this extends to other fields of innovation as well, but in the case of software, it is of exponentially greater concern due to the pace of the industry.

                    It is my belief that the above statements, which I take to be facts, coupled with the rampant abuse of the patent system and the 17+ year duration of patents will have the eventual effect of stifling innovation in software rather than encouraging it.

                    Your example of Mr. Film-Stretcher-Inventor goes a bit differently in my opinion in the case of software. He won't bother trying to invent the film stretching machine, beacuse if he does, he'll get sued in the process by a company that just invented a "method for removing steam from a closed barn", otherwise known as a hole in the roof.
                    • Reimplementation from scratch or reverse engineering requires tremendous expense by competitors, and therefore patent-based protection is not required.

                      That's simply not true, though, at least not in many cases. Consider Amazon's one-click patent. Clearly their innovation was not obvious before they created it, but it's pretty obvious now. How long would it take one skilled programmer to implement a one-click shopping cart for his web site? A day? A week? Patent protection for those sorts of innovation is absolutely required, because reimplementing them is essentially trivial.

                      The rest of your post just comes across as sounding like sour grapes, frankly.
                    • Consider Amazon's one-click patent. Clearly their innovation was not obvious before they created it, but it's pretty obvious now.

                      "One click", is in my opinion, and I believe the vast majority of the software development community, representative of the exact type of software patent that should not be granted. I'll defer to Tim O'Reilly as to exactly why, as he composed a well-written piece offering a tidy explanation:

                      http://www.oreilly.com/ask_tim/amazon_patent.html [oreilly.com]
                    • It has often been said that the employees of the patent office are not qualified to evaluate whether technology patent applications are valid or not. I assert, in this case moreso even than others, that the opposite is true. In fact, technology people aren't qualified to evaluate whether technology patent applications, such as the application covering "one-click," are valid.

                      The key criteria for a patent grant in this case is non-obviousness. If "one-click" shopping carts were as obvious as some people say they are, there should have been a rich library of prior art. In fact, there was none. Anybody who looks at a "one-click" shopping cart will say, as Tim does, that it's a "completely trivial application of cookies." In fact, it's a simple but decidedly non-obvious application of cookies, database integration, periodic tasks, and other software components.

                      The "one-click" shopping cart patent is an excellent example of something that the USPTO got right.
                    • I am not stating software patents are illegal, as such an assertion would be incorrect. My argument is that they should not be granted, because the net effect is not congruent the intentions of the patent system: software patents do not promote innovation.

                      If "one-click" shopping carts were as obvious as some people say they are, there should have been a rich library of prior art.

                      Being the first to implement does not make something not obvious. I believe prior art must be shown to have existed one year before the date of the patent application. Given that this patent was filed September 12, 1997, it is somewhat understandable that when it was first "noticed" in early 2000, it was difficult to find any implementation of it from three years prior. E-Commerce barely existed in 1996.

                    • My argument is that they should not be granted, because the net effect is not congruent the intentions of the patent system: software patents do not promote innovation.

                      Your argument is flawed because your premise is false. What evidence is there that patents on software and software methods affect industry and innovation any differently than any other sort of patents? Not "Tim O'Reilly said," mind you, but rather actual evidence? (As much as I respect Tim, his opinion is still just that: an opinion.)

                      Being the first to implement does not make something not obvious.

                      No, not being obvious makes it non-obvious. That much is... obvious. (Sorry.)

                      One-click shopping carts are not an obvious idea. Not now, and not in 1996. If you have a different opinion on this matter, then we'll just have to agree to disagree. But the hard evidence is in the prior art, and there isn't any. Just because an idea is simple in hindsight doesn't make it non-obvious.

                      I remember using Amazon's one-click shopping cart to buy some Christmas presents in November or December of 1997 or 1998. (I'm judging the year by what I remember buying, and who I bought it for, but I can't remember which of those two years it was.) When I saw it, I thought, "Hey, that's a neat idea. I've never seen anything like that before." I'm sure some people looked at it and thought, "Pff. I could have done that," but that alone isn't enough to make Amazon's patent claim unreasonable or invalid.

                      And there's no evidence to date that Amazon's patent has done anything to squelch innovation in electronic shopping-cart design, except in the case of disgruntled pundits who spend their time complaining about how unfair patents are instead of sitting at their drawing boards trying to come up with the next brilliant idea. But I expect these same people would be complaining about something else if it weren't for the patent issue, so I don't count them.
                    • Your argument is flawed because your premise is false. What evidence is there that patents on software and software methods affect industry and innovation any differently than any other sort of patents? Not "Tim O'Reilly said," mind you, but rather actual evidence? (As much as I respect Tim, his opinion is still just that: an opinion.)

                      E-commerce. Hyperlinks. Multitasking. Listboxes. E-mail. DNS. Command line completion. Bubble sort.

                      Every one of these concepts is certainly more novel that 1-click. Everything you see today in computer software was at one time a new idea. A great portion of what you see in software today was invented less than seventeen years ago. It's my personal opinion that having to negotiate a license for every line of source code might be somewhat detrimental to progress.
                    • I'm not seeing your point. Are you saying that patents make it impossible for people to use patented technologies without a license? Well, yeah. That's the idea.

                      That is not, however, what this argument is about. This argument is about whether patents on software processes and methods should be granted at all. I say they should be, because they serve to promote progress and innovation. I have offered a theoretical argument to explain why this is true. Others say they shouldn't, because they stifle innovation. I have yet to hear any argument at all-- either theoretical or empirical-- to explain that position.

                      Saying that patents make it impossible to use patented technologies without a license has absolutely nothing to do with innovation or progress. If anything, it encourages progress, albeit in a slipshod and mostly ineffectual way, by those who wish to avoid paying license fees. These folks are forced to come up with new and different ways of accomplishing their goals. That's progress.
          • Without the promise of a monopoly-- temporary though it will be-- there would be no incentive to innovate.

            They say that a little bit of knowledge is dangerous. In this case, that'd be your Economics 101 class. Try reading something more recent than the Wealth of Nations. Yeah, it's a good book, but Adam Smith, like any economist, grotesquely oversimplified. There are many non-monetary reasons to innovate, not the least of which being necessity, desire for knowledge, community building, even entertainment..

            The average Slashdot poster hasn't the foggiest idea how the world actually works, and has no respect whatsoever for the power of the profit motive.

            Now that's some good flamebait.

            And unconstitutional? Please refer to Article I, section 8: "The Congress shall have Power... To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries." All patents are fundamentally constitutional, as long as they are granted for a limited time.

            They key phrase here is "to promote the progress of.." Software patents do not promote progress. This has been cited by software companies themselves, such as Oracle. Furthermore, software patents trample on first amendment rights. Would you support patents on literature? mathematics? There are certain areas where patents are detrimental to society because they constrict the free flow of ideas (which is ultimately more important to progress than ANY profit motive).
            • Software patents do not promote progress.

              Saying so doesn't make it true. You're going to have to post some pretty compelling evidence if you're going to convince me of that.

              Furthermore, software patents trample on first amendment rights.

              This issue is so dead it stinks. Software is not speech. It enjoys no first amendment protection at all.
              • This issue is so dead it stinks. Software is not speech. It enjoys no first amendment protection at all.

                You're so full of shit I can barely keep a level head discussing this. Software is most definitely speech, in one of its truest forms, no less.

                The First Amendment gives and protects the rights of Americans to express ideas in a public forum through a variety of media. It gives us the power to speak ill of and contradict the interests of various establishments. It helps entities pursade others -- either individuals or groups -- to a particular point of view. It allows us to freely express knowledge and information. It allows us to freely entertain and seek entertainment freely. Now, you tell me how software does not fit into the category of free speech.

                When it comes to speech, the language is irrelevant. It does not matter if you're speaking the Old English, Nihon'go, or C++.

                Software is, in all senses, a collection of ideas and/or methods for doing any number of the things I mentioned previously. You're expressing them using a more formalized language than spoken languages, true. But nonetheless, you're trying to convey thoughts, information, entertain, etc.

                If we conceed that software is not speech, a vast majority of what we take for granted today could easily be surpressed (anything open-source) or even made illegal to use (DeCSS, Adobe eBook readers, etc). Hopefully the courts will not see it as you do.
    • The patent statement is not what you think.

      It's there because it HAS to be there?

      They are saying that just because they are letting you at this stuff doesn't mean they are granting you rights to any patenst that MAY be involved.

      What's the alternative? "Microsoft grants you all rights to all patents that it owns if you create them with things you learned from this software? "

      They aren't trying to do anything; if they have patents, they still have patents whether they say so or not.

  • by linuxghoul ( 16059 ) on Tuesday November 05, 2002 @10:39PM (#4604775) Journal
    The license [microsoft.com] seems refreshingly simple and short, esp. for microsoft. They do seem serious abt trying to make CLI a common standard...

    the only "funny" part of the license is "you may not distribute modifications of the Software under terms that purport to require the Software or derivative works to be sublicensed to others", a very straight, and extremely amusing ("purport"??) attack on the GPL. M$ maynot be a lot of good things, but they certainly ARE FOCUSSED! ;)

    also, can someone please explain to me the impliations of

    1. "You may use any information in intangible form that you remember after accessing the Software. However, this right does not grant you a license to any of Microsoft's copyrights or patents for anything you might create using such information".: does it mean i can use techniques learnt from this code in my own code, as long as i dont copy the code verbatim (i understand abaout patent violation, am confused abt the copyright part)
    2. "That if you sue anyone over patents that you think may apply to the Software or anyone's use of the Software, your license to the Software ends automatically.": What does this really mean? what are the practical implications? why do they need to have it in there?

    Can someone please enlighten me?

    LinuxGhoul

    • by spongman ( 182339 ) on Tuesday November 05, 2002 @11:33PM (#4605091)
      it's not so much an attack on the GPL, it's just saying tht you can't relicense derivatives under something like the GPL. In much the same way as you can't relicense derivatives of GPL work under any other license.
    • Well, I think it means

      read a function and work out what it does, and remember it.

      (second later) re-write the function.

      repeat until all functions are completed.

    • "you may not distribute modifications of the Software under terms that purport to require the Software or derivative works to be sublicensed to others", a very straight, and extremely amusing ("purport"??) attack on the GPL.

      Well, I don't think the GPL requires that derivative works are sublicensed to others. It allows derivative works to be sublicensed to others, and requires that if you do so, the license must be the GPL, and the source code (or at least an option to get it) must be included.

      Actually, I don't know of any license that requires sublicensing, so the above clause doesn't make any sense to me.

      However, you haven't quoted the complete clause:

      "You may modify this Software and distribute the modified Software for non-commercial purposes, however, you may not grant rights to the Software or derivative works that are broader than those provided by this License. For example, you may not distribute modifications of the Software under terms that would permit commercial use, or under terms that purport to require the Software or derivative works to be sublicensed to others."

      Since all free software licenses grant broader rights and allow commercial use, this is effectively an anti-software-freedom clause (not just anti-GPL). However, it's quite understandable that Microsoft doesn't want their software to become free simply by someone downloading and re-licensing it, so I don't think the clause is unreasonable.

      • Their point is very valid; they do not want the code licensed under terms any broader than the ones they set out, and that goes for works based on their code as well.

        IT does require sublicensing; the only way you can distribute modified works based on GPL code is under the terms of the GPL. (or with permission from the copyright holders, of course)

    • Statement 1 means that you can learn whatever you want from reading their code, and do what you want with it... however, they want to be clear that they are NOT granting you any sort of copyright license or patent license in the process.

      Statement 2 is also quite common.. it basically means that if you start a patent lawsuit against anythign related to this code, they revoke your license to use it.

      The first part is not an attack on the gpl; their original work is not gpl, and they want others to NOT be bound by the terms of the gpl. So if you create a derivitave work and want to distribute it, that's fine, but you cannot compel others to distribute work based on your stuff (which is based on microsoft's stuff) by any terms other than those set out in this license, or more restrictive.

    • For starters, the original term that says "Any derivitive works must include the terms of this license", and one of those terms being "absolutely no commercial use" makes it gpl incompatable anyway.

  • Source Code (Score:3, Interesting)

    by glenstar ( 569572 ) on Tuesday November 05, 2002 @10:51PM (#4604844)
    It is interesting to note that many of the files have a comment with a date of June, 1999.
  • I'm trying to build it under 10.1. buildall fails with:
    checking for strtok_r... no<br>
    configure: error: strtok_r is required<br>
    configure: error: /bin/sh './configure' failed for pal/unix/<br>
    sed: confdefs.h: No such file or directory

    confdefs.h is in the working directory. I do have an strtok_r.h but only because it came with PHP. Any ideas?

    Alternatively, is there a binary release? I don't see one on MSDN.

  • I feel dirty. (Score:5, Interesting)

    by subuni ( 264682 ) on Wednesday November 06, 2002 @01:44AM (#4605793)
    I feel dirty. I started by downloading a tarball from Microsoft, and after extracting the tarball, I ran a shell script that built a Microsoft product from source. I then invoked a Microsoft compiler from a UNIX shell, am greeted with a Microsoft copyright message, and get an .exe file as output. And then I ran the .exe file on a UNIX based Mac.

    Something about that experience felt really... dirty.

    And for the unofficial 'benchmarks' on my G4/800 (because printing out "Hello World!" is a valid benchmark :) ):
    # time clix hello.exe
    Hello World!
    1.240u 0.460s 0:03.28 51.8% 0+0k 0+9io 0pf+0w
    # time java hello
    Hello World!
    0.200u 0.190s 0:01.72 22.6% 0+0k 2+14io 0pf+0w
    # time perl hello.pl
    Hello World!
    0.000u 0.000s 0:00.02 0.0% 0+0k 0+0io 0pf+0w
    # time ./hello
    Hello World!
    0.000u 0.000s 0:00.01 0.0% 0+0k 0+0io 0pf+0w
    • Re:I feel dirty. (Score:3, Insightful)

      by km790816 ( 78280 )
      Of course we all know that Microsoft did little or no optimization for the "shared-source" CLI.

      It's pretty clear that this work is purely acedemic. Having a base infrastructure that can be compiled and run on many platforms is a great way for people in Research to play with, cretique, extend, and break the CLI.

      It also gives them something to play with besides that silly Java stuff. :-)
      • It also gives them something to play with besides that silly Java stuff. :-)

        That would be the reason they did this IMHO. The fact that the source is out there too will give people no end of pleasure too, especially teachers. I think they're trying to convince the acedemic world that they're really a kinder, nicer, more open company now.

        They may well be that.... I can hope can't I?!

        I dunno what to think anymore. I know Java has some definite advantages in terms of being open, but there again, we're essentially at the mercy of vendors who will support open (or shared - whatever) source supporters as long as it suits their purposes in the market.
    • I hate to be an ass, but please run the benchmark again. Then again.

      The first time you run it, the CLR JIT compiles it. The second time you run it, the CLR checks if anything needs to be reoptimized for your system. So first time around, it always sucks cock, but on subsequent runs it's much faster...
      • Re:I feel dirty. (Score:2, Interesting)

        by subuni ( 264682 )
        Actually, I had ran it multiple times, and had pasted the best times for each language (I know, not a true benchmark -- hence the quotes around the word benchmark). But pasted here for giggles:
        # repeat 10 time clix hello.exe
        Hello World!
        1.320u 0.400s 0:03.28 52.4% 0+0k 0+20io 0pf+0w
        Hello World!
        1.230u 0.470s 0:03.60 47.2% 0+0k 0+6io 0pf+0w
        Hello World!
        1.250u 0.510s 0:03.97 44.3% 0+0k 0+0io 0pf+0w
        Hello World!
        1.240u 0.490s 0:04.19 41.2% 0+0k 0+6io 0pf+0w
        Hello World!
        1.340u 0.500s 0:04.91 37.4% 0+0k 0+9io 0pf+0w
        Hello World!
        1.290u 0.430s 0:06.44 26.7% 0+0k 0+6io 0pf+0w
        Hello World!
        1.240u 0.510s 0:04.33 40.4% 0+0k 0+0io 0pf+0w
        Hello World!
        1.230u 0.490s 0:03.84 44.7% 0+0k 0+5io 0pf+0w
        Hello World!
        1.200u 0.570s 0:04.33 40.8% 0+0k 0+5io 0pf+0w
        Hello World!
        1.330u 0.480s 0:03.46 52.3% 0+0k 0+0io 0pf+0w
      • Re:I feel dirty. (Score:2, Informative)

        by elphkotm ( 574063 )
        I like being an ass... so I'll tell you how the command-line JIT really works. The compiled class is JIT'd every single time you run it. You're mistaking the way the command-line JIT works (like Java) with the way ASP.NET works (like JSP). ASP.NET compiles and JITs the source every time the source is changed, but doesn't require subsequent recompiles, as long as the source stays the same and the server stays up.
      • I doubt the shared source implementation of the CLR does any executable caching like the Windows version does.

        I thru a HelloWorld benchmark together on my WinXP box and it came back instantaneously the second time I ran it... less than a second the first time.
    • I know how you feel. Every time I play around with Mono, I get a vague feeling that I'm helping Microsoft in some way. I can't pin it down; it's this general feeling of unease.

  • by fluor2 ( 242824 ) on Wednesday November 06, 2002 @02:20AM (#4605974)
    (from readfirst.html)

    What is the Microsoft Shared Source CLI?" The Microsoft® Shared Source CLI is a working implementation of the ECMA-334 and ECMA-335 standards (known to us mortals as the Common Language Infrastructure and the C# programming language). The source code in this distribution builds on FreeBSD, Mac OS X, and Microsoft® Windows. (There are instructions on how to do this, as well as hardware requirements, below.) Besides the CLI and the C# compiler, this distribution contains a JScript compiler written entirely in C#, as well as a wide variety of tools, utilities, managed classes, and samples. It is intended to be an appealing new platform alternative for people who want to learn, to teach, to tinker, or to experiment more formally with computer languages and computer language infrastructure.

    This copy of the Shared Source CLI is being distributed as source code under a Shared Source license. It is important for you to read through the brief license that is included with your copy of this distribution now, because once you examine the code or use it in any way, you will be bound by the terms of this license. For more information about the Shared Source program at Microsoft, take a look at the Microsoft Shared Source Initiative Web page at www.microsoft.com/licensing/sharedsource or search www.microsoft.com for "Shared Source".

    This is the third release of the Shared Source CLI, and it is for non-commercial, experimental use only. Microsoft will be updating this distribution periodically. The distribution is completely unsupported, although the development team will be checking in on the microsoft.public.shared_source.cli newsgroup.

    By default, the build scripts in this distribution produce an optimized debug build of the tools and runtime. This is because we believe that most of you are programmers, and that you will want to be spelunking around in the debugger but you still want reasonable execution performance. If you want maximum source debugging support you should choose a checked build which will turn off optimizations and allow better source-level debugging. If you want to get more performance, you can build a free build, which will execute code considerably faster. For instructions, see the detailed build instructions in building_sscli.html.

    Colloquially, we refer to this project as Rotor. Why? Well, you'll find the following definitions for the word:

    An altocumulus cloud found in the lee of large mountain barriers, that circulates around its horizontal axis. An important part of a cryptographic encoding or decoding device. A quantity having magnitude, direction, and position. The rotating part of a dynamo, turbine, distributor, compressor, centrifuge, blower, or motor. A device that propels a ship forward in a cross-wind, exploiting the Magnus effect. The rotating airfoil assembly on rotary-wing aircraft. It's obvious! Rotor is all of these and more...

    Getting Started OK, having taken care of that, Rotor has been built and tested on Windows, FreeBSD, and Mac OS X. If you want to build and run the source code, you'll need some additional software depending upon your OS. The Rotor build process uses Perl in several ways, both to run the test harness and as a way to autogenerate some utility code. On Windows you will need Microsoft Visual Studio® .NET as well as Perl. (The Rotor development team currently uses ActivePerl 5.6.1.630, from ActiveState, but perl.org is always a good bet as well.) On FreeBSD, the only thing that you will need in addition to a FreeBSD developer distribution is Perl. (We are currently using 5.005_03). There are several samples that uses the Tk 8.4.0 widget set; if you choose to build this, Tk is available from www.scriptics.com.

    As far as hardware goes, we really recommend having 512M of memory in your computer. While we've heard of success in building on machines with less, it can be mighty slow (and the swap thrashing can be horrific) Truth be told, using the Windows compilers, 256M seems to work pretty well, but gcc seems to use more resources and you'll see more performance degradation on FreeBSD and Mac OS X because of this. As far as disk space goes, 100 megabytes should be sufficient if all you will be doing is viewing the source, but if you are doing active development (especially running the test suites) you will need at least a gigabyte of free disk space.

    Please note that the Rotor distribution was only tested on operating systems using English locales. There are known problems with attempting to build and execute Rotor on other locales. If you avoid using locale-specific characters in the path to the source code, you may be able to use Rotor on operating systems using other locales.

    Summary of System Requirements

    Windows We've tested the distribution on Windows XP and Windows 2000. We recommend Windows XP. Microsoft Visual Studio .NET installed. You must, at a minimum, install the Microsoft Visual C++ .NET product. Perl installed and in the path. Tk installed if you want to run all the samples. 256 MB of memory (suggested minimum). 100 MB of free disk space to expand the archive. One gigabyte of free disk space to build the distribution.

    FreeBSD We have tested the distribution on FreeBSD 4.5, 4.6, and 4.7. We recommend FreeBSD 4.7. Developer distribution (which will include the gcc compiler and other build tools) Tk package installed if you want to run all the samples. 512 MB of memory. If you do choose to use less memory then make sure your swap space is at least four times your memory size. 100 MB of free disk space to expand the archive. One gigabyte of free disk space to build the distribution.

    Mac OS X Mac OS X 10.2. Apple Developer Tools. Tk package installed if you want to run all the samples. 256 MB of memory: 512 MB recommended. Ensure the BSD subsystem is installed. (This is the default installation.) Stuffit(TM) Expander 7.0 will unpack the archive. Otherwise use gnutar and not the default tar. One gigabyte of free disk space to build the distribution.

    For more information you might want to peruse the documentation index for more links into the documentation set. We recommend that you also have either Visual Studio NET or the .NET Frameworks SDK as secondary documentation to the ECMA specifications.

    Building and Running Code We've included a detailed document about building Rotor, but if you are impatient, here are very brief instructions to get you up and running quickly.

    On FreeBSD: Once you have extracted the contents of the tarball (tar xvfz will work), you should source the contents of either env.sh or of env.csh in the root of the distribution, depending upon which shell you are using. For example, in csh you might type the following command: source env.csh Once this script has run, type ./buildall in the same instance of the shell, which will initiate the build process.

    On Mac OS X: Once you have extracted the contents of the tarball (StuffIt 7.0 or gnutar), in a console window you should source the contents of either env.sh or of env.csh in the root of the distribution, depending upon which shell you are using. For example, in csh you might type the following command: source env.csh Once this script has run, type ./buildall in the same instance of the shell, which will initiate the build process.

    On Windows: Once you have extracted the contents of the tarball using your favorite archiving utility, open a command window and run the env.bat script from the sscli (root) directory of the distribution. You need to run the script from this directory because it uses the current directory to set up subsequent environment variables. After this, in the same window, type buildall, which will initiate the build process. In order to be useful on both systems based on UNIX systems and Windows, text files in the archive are linefeed terminated. If you are running Windows, you'll want to view these files in an editor that handles this case automatically (many do, including WordPad and the Visual Studio editor), or else use a utility program to remove the convert the linefeeds to Windows-style carriage-return/linefeed termination.

    Once the build has successfully finished, you should be able to compile and execute the simple "hello world" test program by changing to the samples\hello directory (samples/hello on UNIX systems based platforms), and then typing:

    csc hello.cs clix hello.exe This will churn for a while (loading takes less time on the free build), and then print out "Hello World!" The program clix is a program loader for managed executables. The first line uses the C# compiler to produce hello.exe from hello.cs, a tiny program that prints "Hello World!" to the system console.

    Assuming that hello.exe works, you are now able to compile C# sources using csc (the C# compiler), and JScript sources using the jsc compiler. Remember to always run Rotor programs in a shell that has been set up using the env scripts as described above. Also remember that managed executables need to be launched using clix in order to run under Rotor. For example, the JScript compiler must be run in this way.

    You are almost certain to find that the map of the source code to very useful in navigating around the distribution. The document on building rotor will also be very helpful if you are modifying code; its scenario-based descriptions can be time-saving.

  • by fluor2 ( 242824 )
    MICROSOFT SHARED SOURCE CLI, C#, AND JSCRIPT LICENSE

    This License governs use of the accompanying Software, and your use of
    the Software constitutes acceptance of this license.

    You may use this Software for any non-commercial purpose, subject to
    the restrictions in this license. Some purposes which can be
    non-commercial are teaching, academic research, and personal
    experimentation. You may also distribute this Software with books or
    other teaching materials, or publish the Software on websites, that
    are intended to teach the use of the Software.

    You may not use or distribute this Software or any derivative works in
    any form for commercial purposes. Examples of commercial purposes
    would be running business operations, licensing, leasing, or selling
    the Software, or distributing the Software for use with commercial
    products.

    You may modify this Software and distribute the modified Software for
    non-commercial purposes, however, you may not grant rights to the
    Software or derivative works that are broader than those provided by
    this License. For example, you may not distribute modifications of
    the Software under terms that would permit commercial use, or under
    terms that purport to require the Software or derivative works to be
    sublicensed to others.

    You may use any information in intangible form that you remember after
    accessing the Software. However, this right does not grant you a
    license to any of Microsoft's copyrights or patents for anything you
    might create using such information.

    In return, we simply require that you agree:

    1. Not to remove any copyright or other notices from the Software.

    2. That if you distribute the Software in source or object form,
    you will include a verbatim copy of this license.

    3. That if you distribute derivative works of the Software in
    source code form you do so only under a license that
    includes all of the provisions of this License, and if you
    distribute derivative works of the Software solely in object
    form you do so only under a license that complies with this
    License.

    4. That if you have modified the Software or created derivative
    works, and distribute such modifications or derivative
    works, you will cause the modified files to carry prominent
    notices so that recipients know that they are not receiving
    the original Software. Such notices must state: (i) that
    you have changed the Software; and (ii) the date of any
    changes.

    5. THAT THE SOFTWARE COMES "AS IS", WITH NO WARRANTIES. THIS
    MEANS NO EXPRESS, IMPLIED OR STATUTORY WARRANTY, INCLUDING
    WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY OR FITNESS
    FOR A PARTICULAR PURPOSE OR ANY WARRANTY OF TITLE OR
    NON-INFRINGEMENT. ALSO, YOU MUST PASS THIS DISCLAIMER ON
    WHENEVER YOU DISTRIBUTE THE SOFTWARE OR DERIVATIVE WORKS.

    6. THAT MICROSOFT WILL NOT BE LIABLE FOR ANY DAMAGES RELATED TO
    THE SOFTWARE OR THIS LICENSE, INCLUDING DIRECT, INDIRECT,
    SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, TO THE MAXIMUM
    EXTENT THE LAW PERMITS, NO MATTER WHAT LEGAL THEORY IT IS
    BASED ON. ALSO, YOU MUST PASS THIS LIMITATION OF LIABILITY
    ON WHENEVER YOU DISTRIBUTE THE SOFTWARE OR DERIVATIVE
    WORKS.

    7. That if you sue anyone over patents that you think may apply
    to the Software or anyone's use of the Software, your
    license to the Software ends automatically.

    8. That your rights under the License end automatically if you
    breach it in any way.

    9. Microsoft reserves all rights not expressly granted to you in
    this license.
  • by rlowe69 ( 74867 ) <ryanlowe_AThotmailDOTcom> on Wednesday November 06, 2002 @10:39AM (#4607435) Homepage
    FYI, the FreeBSD port was done by some folks at Corel [com.com].
  • by zaqattack911 ( 532040 ) on Wednesday November 06, 2002 @12:58PM (#4608730) Journal
    I've known about this since like 8months ago. And it's a shame Windows.Forms class libs aren't portable... it's an EXCELLENT alternative to MFCs for make win32 GUI apps. Very easy to use like Java Swing.

    I hope mono [go-mono.com] is able to port it eventually.

    --Me

  • .... Didn't I compile this on FreeBSD last summer?
    (2001)...
  • by Anonymous Coward
    Heh,

    I remember when the new ads came, and we were promised no flash ads. I find it funny that with this story not only do we get a flash ad but its for m$.net!
  • Section 3 of the shared source license:

    * That if you distribute derivative works of the Software in source code form you do so only under a license that includes all of the provisions of this License, and if you distribute derivative works of the Software solely in object form you do so only under a license that complies with this License.

    Basically this means that the shared source license is "viral", like the GPL and exactly what Microsoft have been criticising for the past year or so.

With your bare hands?!?

Working...