Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Microsoft Applies For .NET Patent

Posted by timothy on Mon Feb 10, 2003 09:56 PM
from the my-patent dept.
Wojina writes "Microsoft has applied for a comprehensive patent on what appears to be the entire implementation of the .NET CLR (Common Language Runtime) and the framework APIs. Microsoft's CLR is an implementation of the CLI (submitted to ECMA for standardization). Does this bode ill for the Mono project? See the CNET News story." And a chaser: Nept points to this interesting Microsoft-funded .NET obfuscation project.
+ -
story
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.
  • by Gordonjcp (186804) on Monday February 10 2003, @09:58PM (#5276470) Homepage
    I think Donald Knuth has prior art.
  • What a joke (Score:5, Funny)

    by Anonymous Coward on Monday February 10 2003, @10:00PM (#5276484)

    Looks like they are patenting. The concept of client server computing.

    Well it looks like we all owe them everything.

    Where should we send the check?

  • by Anonymous Coward on Monday February 10 2003, @10:00PM (#5276485)
    This note was originally published at John Munsch weblog on January the 14th.

    Lots of reasons why I want .NET to fail and fail badly

    It's benefits a criminal organization. Not one that's been found guilty of crimes once or maybe twice, but lots and lots of times. Those crimes are many and varied, but here's just a few of them: Stac Electronics v. Microsoft, DOJ v. Microsoft, Sun v. Microsoft.
    P.S. If you want to split hairs, Stac v. Microsoft isn't a criminal action, it's doesn't stem from a criminal abuse of their monopoly like the other two cases. Instead it was just a case of a small company being driven out of business by willful patent infringement, theft of trade secrets, etc.

    Microsoft isn't just one thing anymore. It's too damn big for that. I'm sure even Bill himself knows better than to think that he truly controls the whole ship because it's become big enough that he can't possibly know all the projects, people, etc. anymore. But even a really large company still has a kind of collective personality that it exudes and a large part of the personality both internal and external to Microsoft for many years now is that of a total control freak.
    If they don't own it, if they don't control it, if they didn't create it, if it doesn't have a broad stamp from Microsoft on it, then they don't want it. Sometimes it's sufficient for the thing to merely exist and they'll refuse to acknowledge it, other times they need to actively stamp it out because they can't control it.

    When was the last time you can remember Microsoft saying they supported a standard? That is, not something they invented and submitted a RFC for, an actual, take it off the shelf and re-implement it without renaming it or "improving" it so it doesn't work with anybody else standard. C++? Basic? HTML? A video or audio codec? Java? Anything?

    I'm sure there's something, somebody will point out their excellent support for TCP/IP or something and I'm sure that's true. But if you were to look at Microsoft as a person in your life, you'd wonder what was wrong with him or her such that so much had to be controlled by that person.

    When your business is selling the operating systems that 90+% of everybody uses, software development tools should not be a profit center.
    Why should I have to plunk down a couple of thousand dollars for a "universal subscription" in order to have access to compilers and basic development information? Sun doesn't have to do that? On this point I'll quote from the .NET "rebuttal" that I linked to above, "For non-profit use VS.NET can be had pretty cheaply, especially if you know anyone that is in college somewhere." Pretty cheaply? For a non-profit (that means charities, churches, universities, the hobbiest who is going to give away his work for FREE)... pretty cheaply? Wow. That is well and truly pathetic. To try and justify it, and say, oh well, you can try to scam an educational discount so it won't be so dear, is even more pathetic.

    Marketing. Have you been "lucky" enough to catch one of the .NET commercials with William H. Gacy telling you how great it is without really ever telling you anything about it? Microsoft doesn't trust .NET to stand on its own technical merits and it knows it may go like cod-liver oil down the gullets of a lot of people who have seen how the company works behind closed doors even if it were the tech shiznit.
    So they are going to pull a page out of Intel's bum-bum-buh-bum "Intel Inside" playbook and try to sell the brand like it's sneakers and cola. Trust us, you'll look cool if you use it, and we'll keep hammering the brand on TV so somebody who doesn't have much tech savvy in your organization will ask you if you are using it, or have plans to port to it, or whatever, even if he hasn't got a clue what "it" is in this case.

    They don't trust you. They don't like what they can't control and they can't control you. They can try and they always will keep trying but ultimately you are going to see them keep trying to do things and always keep a step towards the door just so they can bolt if they have to. Want to see what I mean? Go visit GotDotNet sometime if you haven't already been there. It's the grassroots community website that Microsoft put up to support .NET just in case there wasn't any grassroots community who actually wanted to do it. Or maybe just in case there was and they couldn't control it.
    Ever been to SourceForge? Of course you have, everybody has because that's one of the hubs of all open source projects. You can go there and get the source of thousands of cool open source projects and it really serves the community well. There's even hundreds of projects now that list C# among their programming languages. So why did Microsoft feel compelled to create their own GotDotNet Workspaces that is clearly just a ripoff of SourceForge?

    A few reasons are fairly clear: First, at many of their workspaces you don't get in unless they know who you are. Ever been stopped at SourceForge and asked for a name and password to look at a project? What about download binaries or source? No? At GotDotNet you will, lots of projects are marked with a lock. Second, forget about all those messy licenses that Microsoft might not approve of, you don't need to worry your little head about BSD vs. GPL vs. LGPL. You've got the one true workspace license that you have to agree to, or else you won't be putting your project there. Lastly, well it's kind of obvious, but it's really all about control isn't it. After all, if you aren't under their thumb, that has to be a bad thing. So a SourceForge that they control is pretty much a requirement, isn't it?

    It's a really sad way for a lot of people to waste a whole lot of time rebuilding that which already exists. Wouldn't the whole computing world be a lot better if there wasn't a team of people, maybe a couple of teams of people building complete copies of .NET for other platforms? If those same people were working on giving us new libraries and new tools for an already existing language instead of pouring in the thousands of man hours it's going to take to build a copy of the C# compiler or a .NET version of Ant and JUnit?

    In the end, we'll all just be left with another way to do the exact same thing only in a different language. Lord knows the world benefits now from being unable to share media between France, Germany, Italy, Spain, the US, and Japan because we can't all speak the same language. I benefit every day from the fact that I can't read a Japanese manga I might enjoy or understand a TV show from Europe. Once you are done building this tower, go build a few more right beside it using Perl, Python, and Ruby too. They're all trailing behind in certain areas, we need to make sure the same set of stuff is reinvented and rewritten for all of them too.
    • by rhyd (614491) on Monday February 10 2003, @10:47PM (#5276775)
      "if you were to look at Microsoft as a person in your life, you'd wonder what was wrong with him or her such that so much had to be controlled by that person."

      thats where miguel has gone wrong. you should not be investing in a project that relies on the continued good will of MS. especially if that project is esentially aiming to take some control away from redmond

      "castles made of sand, melt into the sea, eventually"
  • hmmm (Score:5, Insightful)

    by pizza_milkshake (580452) on Monday February 10 2003, @10:06PM (#5276525) Homepage
    A software architecture for a distributed computing system comprising: an application configured to handle requests submitted by remote devices over a network; and an application program interface to present functions used by the application to access network and computing resources of the distributed computing system.

    Hell, i think Apache can claim prior art...

    • Re:hmmm (Score:5, Funny)

      by Anonymous Coward on Monday February 10 2003, @10:08PM (#5276537)
      Hell, IIS opens *all* your computing resources to the distributed computing system
    • Re:hmmm (Score:5, Interesting)

      by the eric conspiracy (20178) on Monday February 10 2003, @10:13PM (#5276566)
      A software architecture for a distributed computing system comprising: an application configured to handle requests submitted by remote devices over a network; and an application program interface to present functions used by the application to access network and computing resources of the distributed computing system.

      When you file a patent you enter a negotiation with the patent office. You start by claiming the sun, moon and stars (i.e. claim 1 which you quoted). Usually you end up with considerably more narrow coverage. Sometimes you end up with nothing (no patent).

        • Re:hmmm (Score:5, Funny)

          by Ryan Amos (16972) on Tuesday February 11 2003, @01:27AM (#5277450)
          They're having trouble with the moon. Seems that a little-known government agency known as "NASA" went there before Microsoft even existed, thus claiming the moon before Microsoft ever did. Microsoft engineers are currently working on a magic time machine to overcome this obstacle.

          All your moonbase are belong to us.
          • Re:hmmm (Score:5, Funny)

            by Anonymous Brave Guy (457657) on Tuesday February 11 2003, @07:41AM (#5278588)
            They're having trouble with the moon. Seems that a little-known government agency known as "NASA" went there before Microsoft even existed, thus claiming the moon before Microsoft ever did.

            In other news...

            Microsoft have recently announced funding for a new research project into the history of space travel. This will build up to culminate in a series of "one-off" TV shows hosted by former X-Files cast members, which will prove conclusively that man has never been to the moon.

            A court case against NASA is expected to follow shortly, alleging that other "one-off" TV shows hosted by the same former X-Files cast members and describing man's visit to the moon were faked, and that Microsoft's reputation as the number one supplier of moon-based products has been irreparably damaged.

            We now return you to our regularly scheduled Microsoft bashing.

  • by Anonymous Coward on Monday February 10 2003, @10:07PM (#5276528)
    "I TOLD YOU SO" goes out to the Mono project guys. You can't trust Microsoft. Unless they had signed a solid, binding legal document that says "this is the .NET spec, and MS irrevocably grants free patent licenses to anyone implementing it", you should not touch it. Java has no patent problems. The open source community should stick to Java instead of dealing with MS.
    • by gabbarsingh (207183) on Monday February 10 2003, @10:26PM (#5276659) Journal
      Why is this modded down to 0? I had similar concerns about Mono. M$ went w/ gnome dudes possibly for covering fire against DoJ. An Open Source implementation of .Net gives so much validity to M$ .Net. But we all new that M$ could yank the chain and throttle Mono. It could and it will.

      And a scolding is in order for Icaza and gang. Has history of M$ taught nothing to you? Do we (Linux/Apache/GNU) are server people, we need to learn from a desktop company how to put an XML wrapper around http requests!
      • by prockcore (543967) on Tuesday February 11 2003, @01:10AM (#5277391)
        And a scolding is in order for Icaza and gang.

        What?! Oh I see, it's Icaza's fault that MS is trying to patent technology so vague that it even affects Apache.

        Or are you saying that nothing is worth doing because someone may try and patent it later?

        First of all, this patent only applies to "web services". Mono is so much more than that.

        Second of all, Mono was started before this patent was filed, and it hasn't been accepted yet. Say what you will about the patent office, they still reject 75% of all patent applications.. why are you so sure this one will go through?
    • by pi_rules (123171) on Monday February 10 2003, @11:45PM (#5277025)
      You can't trust Microsoft. Unless they had signed a solid, binding legal document...

      You can't even trust them then. Unless you've only been hitting Slashdot for the past week you couldn't have possibly missed the whole Sun vs. MS deal with Java. Legally binding document or not -- they'll still try and f-over the competition.

      Now they're trying to get a legally binding document to help them cover Java, web services, XML, RPC, and SOAP by wrapping it up in somthing called .NET.

      If it were IBM, Apple, or Sun I'd give them the credibility to assume they're patenting it to keep it from being non-controlled, and just letting the patent ride out so nobody else can patent it and enforce it. Not with Microsoft though; for them it's all about the short-term money.
  • Patents & Antitrust (Score:5, Informative)

    by joelparker (586428) <joel@school.net> on Monday February 10 2003, @10:08PM (#5276536) Homepage
    How will the patents fit with the antitrust? Check this "The Legality of a Unilateral Refusal to License Under the Antitrust laws" here [ffhsj.com]

    ... When a patented or copyrighted product is one of many products competing in a market, antitrust issues typically do not arise from unilateral conduct. However, when a patented or copyrighted product is so successful that it evolves into its own economic market, succeeds in garnering a large market share, or is essential to compete in a market, the antitrust laws and the intellectual property laws collide. The antitrust laws' primary purpose of preserving competition is frustrated when the holder of a patent or copyright exercises the exclusionary market power that comes with those rights.

    The United States Supreme Court has yet to deal with these knotty issues, although the Court apparently is seriously considering doing so....

    Cheers, Joel

  • Okay (Score:5, Informative)

    by Pros_n_Cons (535669) on Monday February 10 2003, @10:10PM (#5276549)
    From Mono's FAQ

    Question 122: Could patents be used to completely disable Mono (either submarine patents filed now, or changes made by Microsoft specifically to create patent problems)?

    No. First, its basic functional capabilities have pre-existed too long to be held up by patents. The basic components of Mono are technologically equivalent to Sun's Java technology, which has been around for years.

    Mono will also implement multi-language and multi-architecture support, but there are previous technologies such as UCSD p-code and ANDF that also support multiple languages using a common intermediate language. The libraries are similar to other language's libraries, so again, they're too similar to be patentable in large measure.

    However, if Microsoft does patent some technology, then our plan is to either (1) work around it, (2) chop out patented pieces, (3) find prior art that would render the patent useless. Not providing a patented capability would weaken the interoperability, but it would still provide the free software / open source software community with good development tools, which is the primary reason for developing Mono.
    • Re:Okay (Score:5, Insightful)

      by AJWM (19027) on Monday February 10 2003, @10:37PM (#5276725) Homepage
      No. First, its basic functional capabilities have pre-existed too long to be held up by patents.

      Somebody has far too much faith that the Patent Office will not issue a patent for that which has prior art. Sorry, but it doesn't look that way from here. The PTO may well grant a patent, even though it really shouldn't. Then what?

      if Microsoft does patent some technology, then our plan is to [...] find prior art that would render the patent useless.

      Which means a lawsuit. More specifically, it means defending against an infringment lawsuit brought by Microsoft. This is the sort of thing that the side with the deeper pockets usually wins, just because he can keep stretching things out and delaying final judgement. How deep did you say your pockets were? (We know how deep Microsoft's are.)

      I've always been of the opinion that Mono was a misguided waste of development time and talent -- precisely because Microsoft could (and would) torpedo it before it became a real threat (and after it had soaked up a ton of open source developer time and "validated" .NET in a lot of people's minds.) Looks like the torpedo bay doors are coming open.
      • Re:Okay (Score:5, Insightful)

        by salmo (224137) <mikesalmo@hotmail.cCOMMAom minus punct> on Tuesday February 11 2003, @02:49AM (#5277683) Journal
        Just because a patent is issued doesn't necessarily mean it will be held up in court. It helps to have the FSF standing behind you in these situations. See, it's amazing who you can get pro bono these days. Look at the folks who have been doing work for the EFF lately.

        Besides, MS has little to no history of suing for patent infringement. Just because they're filing for patents, doesn't mean they're automaticly going after mono. In this day and age tech companies are using patents as a way to keep score. "See, we're making major technological breakthroughs. We recieved X thousand patents last year." This would be an example of good publicity. Suing the Mono project when they're submitting .Net to the EMCA, etc. would be bad publicity. It would definitely make people reconsider developing for .Net.
    • Re:Okay (Score:5, Funny)

      by Anonymous Coward on Monday February 10 2003, @11:16PM (#5276899)
      Also From Mono's FAQ

      Question 666: Will Mono ever be genuinely useful enough that Microsoft takes note?

      No. Mono will be permanently between 60 and 75% complete. This should be enough to allow toy applications to run and advocates to trumpet our success, but far enough away that no Windows-oriented .NET software is ever successfully ported to Mono. Thus ensuring that Microsoft does not "cut off our air supply", if you know what we mean.

      Furthermore, we are sure that if some contributors ever bring us closer than 75-80% to source or binary compatibility with Microsoft .NET (c), that Microsoft will introduce a raft of new APIs and features ensuring that our compatibility level will drop back below the required threshold. Because Microsoft learned at the knee of IBM, we are fairly certain that they will not let their products stagnate in a manner similar to AT&T's UNIX(tm).

      We've taken our inspiration from the other wunderkind Microsoft compatibility project, Wine. As most have noticed, Wine has avoided any legal or marketing attention from Microsoft due to systematic lack of useful compatibility. If RMS be with us, we achieve the same.
  • by Fringe (6096) on Monday February 10 2003, @10:10PM (#5276550)
    The wide-ranging patent surely includes...
    • The Blue Screen Of Death
    • The 200-page EULA in a 5-line scroll-pane
    • Solitaire as a Productivity Application
    • FUD as a revenue-centre
    Didn't they invent Al Gore also?
  • This is surprises me (Score:5, Interesting)

    by tundog (445786) on Monday February 10 2003, @10:12PM (#5276561) Homepage

    One of the biggest obstacles for .Net has been acceptance. Despite all the marketing hype, .Net hasn't seen the wildly successful adoption of the .Net framework in the marketplace. I do R&D for a huge software company, and we are betting heavily on Java services. This is only one more reason to be wary of the .Net initiaitive. As such, M$ marketing is probably (or soon will be) tearing their hair out over this.

  • by Teckla (630646) on Monday February 10 2003, @10:19PM (#5276614)
    Please raise your hand if you thought Microsoft was going to allow .NET to be a reasonable and viable platform on non-Windows operating systems!

    All of those raising your hands, please contact me. I have an exciting opportunity for you. I'm trying to get some money out of Nigeria.

    -Teckla
  • claims are insane (Score:5, Informative)

    by stevenj (9583) <stevenj@alum.mit.edu> on Monday February 10 2003, @10:19PM (#5276618) Homepage
    Take claim 1, which is the broadest independent claim:
    A software architecture for a distributed computing system comprising: an application configured to handle requests submitted by remote devices over a network; and an application program interface to present functions used by the application to access network and computing resources of the distributed computing system.

    How are, for example, a web server (handles requests submitted by remote devices) and web browser (interface to present functions used to access resources) not covered by this claim? The next independent claim is:

    A distributed computer software architecture, comprising: one or more applications configured to be executed on one or more computing devices, the applications handling requests submitted from remote computing devices; a networking platform to support the one or more applications; and an application programming interface to interface the one or more applications with the networking platform.

    Like, e.g. SETI@Home over TCP/IP? Or PVM [ornl.gov]?

    Or claim 19:

    A system comprising: means for exposing a first set of functions that enable browser/server communication; means for exposing a second set of functions that enable drawing and construction of client applications; means for exposing a third set of functions that enable connectivity to data sources and XML functionality; and means for exposing a fourth set of functions that enable system and runtime functionality.

    ...like, say, Mozilla.

    Of course, there are dependent claims that try to make this more specific (ooh, using XML documents over a network, that's original). And, of course, the whole thing could be rejected by the patent office.

    Still, it's like they didn't even make an effort to try and avoid the most obvious prior-art objections. Almost like they have complete contempt for the patent office, and confidence that no one will dare to challenge their multi-billion-dollar legal war chest if they ever do assert patent rights over someone. But no, that's crazy.

      • That's not how patents work. You make a set of "independent" claims, which attempt to be very broad and stand on their own. If one of these is allowed (i.e. it doesn't cover any prior art, etcetera), then your patent covers anything described by just the language of that claim by itself.

        In addition to the independent claims, you have a set of "dependent" claims, which are like "The device of claim 1, where [some more specific requirement]." These dependent claims serve three purposes:

        • If the patent office denies your independent claim, it can still allow one or more of the dependent claims...these will be less broad, but at least you still get some coverage.
        • If the patent office accepts your independent claim, but someone challenges it in court, the dependent claims give you a fallback position in case a judge throws out the independent claim (because of prior art or whatever).
        • The dependent claims help prevent someone from claiming some specific variation on your invention...they would still need a license from you for the broad claim, but you would then need a license from them as well for that specific case.

        I am not a lawyer, but I have worked with a number of lawyers to draft (non-software) patent claims and to deal with US and international patent examiners.

  • by Proudrooster (580120) on Monday February 10 2003, @10:21PM (#5276631) Homepage
    1. A software architecture for a distributed computing system comprising: an application configured to handle requests submitted by remote devices over a network; and an application program interface to present functions used by the application to access network and computing resources of the distributed computing system.

    There is so much prior art for this claim it's not even funny.

    But wait, it gets even funnier in claim #4....

    4. A software architecture as recited in claim 1, wherein the application program interface comprises: a first group of services related to creating Web applications; a second group of services related to constructing client applications; a third group of services related to data and handling XML documents; and a fourth group of services related to base class libraries.

    What?!! A network web service that can handle XML data using (said with pinky put to side of mouth) "CLASS LIBRARIES."

    Hmmmmmm... Now where have I seen this before? Maybe Microsoft will try to patent a network service for sending and receiving text messages for the express purpose of communicating.

    This is just another example of why software patents need to DIE! DIE! DIE! The sad thing is that about 50 guys had to waste their time writing this patent. Does anyone else see the irony of the first name listed on the patent, "Adam Smith"?

    Adam Smith wrote in his famous book, The Wealth of Nations, "Every man, as long as he does not violate the laws of justice, is left perfectly free to pursue his own interest his own way, and to bring both his industry and capital into competition with those of any other man or order of men."

    Do you see the irony now? Today he would be be called an "ANARCHIST!" and he would definately be at home (somewhat) on slashdot. :)
      • Hehe, I worked with a lawyer at my company with a coupla workmates filing a patent we came up with for my company.

        When we entered the room, we knew what it did, and the lawyer had no clue. When we left, we had no clue, and he seemed to be telling us what it did.

        He really did research and stuff, real work he put in. But still its quite funny. They are English Obfuscators.
  • wait a minute (Score:5, Interesting)

    by ashpool7 (18172) on Monday February 10 2003, @10:21PM (#5276637) Homepage Journal
    Will it even stand up with Mono around? Even if it is Microsoft's idea to begin with, they didn't apply for the patent until after Mono showed up.

    I'm not sure it will fly. US Code title 35 Sec. 102 says something like

    "A person shall be entitled to a patent unless the invention was patented or described in a printed publication in this or a foreign country or in public use or on sale in this country, more than one year prior to the date of the application for patent in the United States"

    Mono has been around since July 2001, but since it's half-done, does that count?
  • by fishbowl (7759) <nethack.cox@net> on Monday February 10 2003, @10:39PM (#5276742)
    Patent Everything NOW, so that in a couple of decades it will ALL BE FREE. I just wish all this crap had gone down during the Reagan administration -- then we'd be reaping the rewards today.
  • As I have stated before ... [slashdot.org]

    Microsoft's CEOs have made it "patently" clear [ffii.org] that they intend to restrict competing .Net implementations by cultivating Microsoft's patents, such as United States Patent Application #20020059425 "Distributed computing services platform" [uspto.gov] which covers the design and inter-operation of .NET based implementations.
    Although there is prior art examples of individual technologies such as the JVM etc, Microsoft patents such as the one mentioned, define and claim the interoperation of the components, in such a way that any re-implementations will be sure to be covered by the patents. This remains true even for the Microsoft specs submited to standard

    In comparison, Sun has granted the Apache and all open source developers FULL access to the specs, test kits and granted the full rights to develop competing products under the JSPA [apache.org] . Sun has also fully pened up the Java development standards process under the new Java Community Process (JCP) [jcp.org] . Even to the point of granting full open source re-implentations of J2EE such as JBoss [theregister.co.uk] ...

    JBoss received the green light last week, after Sun told ComputerWire that it would allow all of the APIs contained in J2EE 1.4 to be open sourced. Fleury had expressed concern that certain critical APIs, including Enterprise Java Beans (EJB) 2.1, would be not be made available to open source organizations.

    However, Java Community Process director Onno Kluyt said: "Sun's plan with 1.4 is that although it started before JCP 2.5, by the time it ships it will allow the creation of independent implementations. I don't think the APIs are that interesting, because the license that sits on top of J2EE will allow that [independent implementations]".

    There those that claim that .NET is open to re-implementation, but until Microsoft make a simliar public legal declaration to Sun's JSPA, any .NET reimplementation represents a pending legal mindfield.

  • by Headius (5562) on Monday February 10 2003, @11:15PM (#5276896) Homepage Journal
    Come on now, you guys didn't really think Microsoft was going to sit back and let someone else build a free implementation of their golden goose before it was even in wide acceptance, did you? What is it about some Open Source projects that makes their fearless leaders so starry-eyed? It is perhaps surprising that Microsoft waited this long.

    Microsoft still makes more off Windows sales than anything else -- don't forget that. No matter how ubiquitous Office is, Windows is the cornerstone of the Monopoly. By filing for a patent on .NET, their new platform-of-choice, they can lock out all competing implementations, either a little bit or completely, making sure that the only full .NET implementation is the one they've delivered, under Windows.

    This also bodes pretty badly for .NET. If you ask me, the lawyers at Microsoft won an argument on this one. If MS really wanted to get a stranglehold on the market, they'd have waited until .NET actually had its foot in the door before filing a patent. By doing so now, before it's really even gotten out of the gate, they've doomed it to be "just another Windows-based programming platform".

    Don't believe me? What shop that isn't pure Microsoft would even consider jumping onto the .NET bandwagon now? Commit all your resources to a platform that still performs more poorly than those available for higher-end, non-Wintel machines? Doubtful. The development benefits are marginal compared to Java, and native application developers will still prefer C or C++. Now that Microsoft will have a legal noose around .NET's neck, all circulation is effectively cut off.

    It's a stupid move for Microsoft, if they intend to expand and defend their monopoly. It's also a move that projects like Mono and .Gnu should have seen coming a mile away. Microsoft has nothing to gain by researching, developing, and standardizing a platform that could conceivably allow network AND desktop applications to run on non-Microsoft platforms. Did Miguel et al just think Microsoft had learned the error of their ways?
  • Tcl-DP is prior art (Score:5, Informative)

    by nuzoo (588862) on Monday February 10 2003, @11:37PM (#5276998)
    There's no reason to wring your hands about this patent. Tcl-DP [mini.net] is prior art for claim 1, and it existed prior to 1995. This places it before Microsoft even knew what the Internet was, though it appears that any prior art predating 7/10/2000 will kill this one.

    Claim 1 reads:

    • 1. A software architecture for a distributed computing system comprising: an application configured to handle requests submitted by remote devices over a network; and an application program interface to present functions used by the application to access network and computing resources of the distributed computing system.

    Tcl-DP provided an application configured to handle requests submitted by remote devices over a network (the RPC server), and an application program interface to present functions used by the application to access network and computing resources of the distributed computing system (the dp_RPC command protocol). The client application mentioned in the dependent claims is provided by any application configured as an RPC client.

  • Don't Panic - Yet (Score:5, Informative)

    by rhysweatherley (193588) on Tuesday February 11 2003, @12:27AM (#5277217)
    I'm the primary author of DotGNU Portable.NET, so this does affect me to some extent.

    First, this is a patent application, not an actual patent grant. I doubt that the application would last very long in its current form - it's too broad, even by the USPTO's narrow criteria for broadness.

    Second, because Microsoft is standardizing this technology through the ECMA, as an eventual lead-in to ISO, they will be in a difficult position if they start demanding royalties or playing RAND games.

    They backed off on the Kerberos thing, and they could be made to back off here too - blatantly targetting the only two competitors in the CLR space (Mono and Portable.NET) won't win them any PR points.

    Third, most of what is discussed here has precedents in prior art. If Mono and Portable.NET infringe, then so does the JVM, and that's definite prior art.

    We perhaps need to organise a bit to lobby on this one, but it isn't the end of the world - yet.

    More information on Portable.NET here [southern-storm.com.au].

  • by g4dget (579145) on Tuesday February 11 2003, @01:07AM (#5277381)
    This patent seems legally irrelevant, and it seems highly doubtful that Microsoft could legally get the Mono project or other third party ECMA C# or .NET for infringing it.

    However, this patent shows bad faith by Microsoft. If Microsoft wanted C# to be perceived as an open language and core set of libraries, this is the last thing they would want.

    Where does this leave us? We have two companies, Sun and Microsoft, that are engaged in some bizarre battle to try and control the software industry. Both have attempted to get patents that allow them to use the patent system to control who implements the language and how (yes, Sun has patents on key aspects of Java). Both are trying to keep control of the software, APIs, and future language evolution. And what is particularly ironic is that all this battle is about decades old technology.

    What does this mean? Both open source and commercial users should say "no thanks" to both Java and C#. We need to get back to a model where programming languages and libraries are standardized through open standards processes and where the core language and APIs and are not covered by patents. C, C++, Smalltalk, Ada, and many other languages have shown that this is possible. In fact, had Sun not derailed and preempted the adoption of those other languages with promises of a bright Java future (on which they have failed to deliver), we might well be using some language now that is technically superior to both Java and C# and is covered by a truly open standard.

      • by g4dget (579145) on Tuesday February 11 2003, @07:23AM (#5278510)
        Good, glad to see that our thinking on this has, er, converged [slashdot.org]. Not that you're quite with us Java fans yet,

        I think you misunderstood. I used to be a "Java fan" and am responsible for its adoption by several companies. But Sun has demonstrated bad faith and incompetence when it comes to Java over the last half dozen years: not only has Sun patented key aspects of Java, they have also pulled out of several standardization efforts, and they have failed to deliver essential technologies and enhancements that they promised.

        I trust you've seen NZHeretic's post [slashdot.org]?

        NZHeretic is wrong: it is unclear whether Java is open to reimplementation; Sun still holds key patents, for example, and those have not been dedicated to the public domain. But that question is academic anyway because key APIs (like Swing) are not suficiently documented, so you couldn't reimplement them without reading Sun's sources if you wanted to, and if you do read Sun's sources, you are bound by their source license.

        Java is not the answer for open source development--Sun has demonstrated that amply since 1996. There is still some hope for C#: the Mono project is actually increasingly relying on non-.NET APIs. Unless the Microsoft patent also covers ECMA C# (which seems really unlikely), ECMA C# with Gnome libraries may still be a perfectly good and viable choice, whith fewer technical warts than Java and fewer legal problems than Java.

        Now, if we are going to develop "the next" programming language or platform, let's look at your points:

        1. A language with source / "bytecode" equivalence. Code is distributed in a form that it can be manipulated and further developed in. This eliminates the use/development barrier, smooths the development tool chain and helps foster open source practices. Eclipse, for example, would like to treat Java like this but it can't quite get there.

        Java-style byte codes are an awful representation for manipulating programs. Trust me, I have written that kind of code in Java and other languages. The best way to deal with that in Java is to reconstruct a tree-structured representation.

        2. Persistent data. Programs can manipulate persistent data directly rather than mapping it to and from storage systems.

        Well, not in Java, and not in anything with a Java runtime. I'm also not convinced that I want this deep down in my system.

        3. Global processes. Processes and threads become shareable and potentially persistent, merging workflow capabilities into the basic language. (Workflow systems are everywhere, if not workflow packages).

        Commercial workflow has nothing to do with operating system processes or threads. And trying to make arbitrary processes or threads persistent is a can of worms. I don't want that overhead or complexity in a language I use day-to-day.

        4. Multilanguage support can be added, but without conflicting with (1). There must still be one universal, intermediate language - an extended every which way Scheme, say - but more convenient user languages resembling SQL, Java, VB etc. can be used to map to this. Actually this was the original intent of LISP circa 1963...

        I have no idea whose "original intent" for LISP that is supposed to have been. In any case, I think multi-language support is vastly overrated. I do think a platform should support mixing high-performance statically typed code and convenient dynamically typed code, but for that, you only need two languages (java/bsh, C/Tcl, C++/Python, etc.).

        5. Secure by design (TM) of course. And not just by stopping buffer overruns. Java now has a good set of controls, but features from J2EE such as isCallerInRole() need to be made intrinsic to the system.

        To stop buffer overruns (a security problem), you don't need security features in the language, like Java has, you merely need runtime safety. I don't want security features in my day-to-day language: they are complex and costly.

        Java is not a particularly well-engineered platform because many of its tradeoffs were driven by one environment (platform-independent, untrusted client software) and make no sense for a general-purpose language. And C# has copied most of those bad tradeoffs. Perhaps it's good that both Java and C# are removing themselves from the space of open, free languages: it might be best to start over with a simpler, better engineered system anyway.

  • Disclosure (Score:5, Informative)

    by TheRaven64 (641858) on Tuesday February 11 2003, @06:37AM (#5278369) Homepage Journal
    You can only apply for a patent on things that have been kept secret before you applied. Anything that is public domain (or even published as a result of industrial espionage) can not be patented. Therefore the only thing that Microsoft can patent is the low level functionality of parts of their own runtime that were not released in the shared source version. This is stuff that would probably be implemented differently on non-windows platforms anyway, so the patent won't have much effect. For another example of how well patents work, have a look at the AAC audio compression algorithm patented by Dolby / the MPEG-LA. Currently the best AAC encoder is written by PsyTEL and doesn't use any of the patented algorithms. Algorithmic patents simply don't work. In general, a good algorithm is so obvious that someone else has already thought of it, but didn't patent it because it was so obvious, or it's so complicated that while it may appear to be the best, a little more thought can lead to an even better one.
    • Re:implementation? (Score:5, Informative)

      by Anonymous Coward on Monday February 10 2003, @10:07PM (#5276532)
      "Implementation" doesn't have the granularity you think it does.

      If it did then GIF editors not written by Unisys wouldn't have to pay fees.

      It's a patent on techniques for implementing .NET, techniques that must be applied to be .NET compatible.

      I'm waiting to see Mono's reaction.

    • Re:Linux? (Score:5, Insightful)

      by Sarcazmo (555312) on Monday February 10 2003, @10:11PM (#5276554)
      Linux has had platform independent coding since the days of Java,

      Back up, most unix-ish C code can be compiled on any vaguely unix-like system with very little modification. I'd call that platform independence, wouldn't you?

      Imagine that, and without the overhead of a bloated VM to slow things way down.
      • Re:Linux? (Score:5, Interesting)

        by Melantha_Bacchae (232402) on Monday February 10 2003, @11:55PM (#5277067)
        Sarcazmo wrote:

        > Back up, most unix-ish C code can be compiled on any
        > vaguely unix-like system with very little modification. I'd
        > call that platform independence, wouldn't you?

        Very good point. Back in 1989-91, I was working on a 3D radiation treatment planning program, in C, that had to run under X11 on a DEC MicroVAX, HP, and a SGI, with their various flavors of Unix. The program had a single source, with all the platform dependent stuff (there wasn't a lot of it) isolated from the rest. Back then, platform independence (also known as portability) was the in thing.

        Historical note: in the first year of that job, in a lab down the hall, was a pre-3.0 version of Windows. The poor primitive thing was still trying to figure out task switching. By the last year of that job, Linux was born.

        > Imagine that, and without the overhead of a bloated VM
        > to slow things way down.

        Despite the VM and its warts, Java is still a pretty cool language. It would be quite amusing to run Java on one of today's computers side-by-side with a 1990 computer running a C program under X11. I wonder if advances in computing speed really compensate for having a VM?

        "The path of peace is yours to discover for eternity."
        Japanese version of "Mothra" (1961)
    • by Tablizer (95088) on Monday February 10 2003, @10:18PM (#5276598) Homepage Journal
      Patents have become an increasingly common way for software makers to exert control over their intellectual property.

      They may also be doing it to prevent or reduce somebody else from filing a similar patent against them. IOW, protecting their own ass from stupid lawsuits. Thus, it is kind of hard to assertain the real motivation behind such.
          • Re:Examples please (Score:5, Informative)

            by Senjutsu (614542) on Tuesday February 11 2003, @01:08AM (#5277384)
            Well, to begin with, there's the Halloween Documents [opensource.org], which include amongst other things the quote:

            The effect of patents and copyright in combatting Linux remains to be investigated.

            Examples from Here [ffii.org] include:

            ASF: changing copyright rules by means of patents [ffii.org] Microsoft has prohibited a Free Software programmer from writing import/export filters for its Advanced Streaming Format (ASF). The programmer wanted interoperability with a format that Microsoft is promoting. But for Microsoft, interoperability is in this case doubly disadvantageous: besides reducing the lock-in effect, on which Microsoft's platform strategy relies, it also can circumvent the locks on unauthorized copying, by which Microsoft wants to attract content providers to its ASF platform. Whereas in the DeCSS case a court ruling was necessary to enforce new draconian copyright provisions of the highly disputed Digital Millenium Act, in the ASF case a simple patent suffices to achieve the same legislative goal.

            and

            Microsoft bars GNU software from interoperating with CIFS [ffii.org] During the 1st week of April 2002, Microsoft published a license for its new specification CIFS which it is trying to establish as a de facto communication standard. This license says that free software under GNU GPL, LGPL and similar licenses may not use CIFS. It bases this ban on two broad and trivial US patents with priority dates of 1989 and 1993. Preliminary search results suggst that these patents to not have EP (European Patent) counterparts. But there is nevertheless an EP patent which could possibly be used by MS for the same purpose. Critical network infrastructure such as Samba as well as new projects such as Mono seem to be affected.

            There's also this [linuxuser.co.uk] account from Linux User (Warning: It's a pdf file):

            Asked by CollabNet CTO Brian Behlendorf whether Microsoft will enforce its patents against open source projects, Mundie replied, "Yes, absolutely." An audience member pointed out that many open source projects aren't funded and so can't afford legal representation to rival Microsoft's. "Oh well," said Mundie. "Get your money, and let's go to court."


            There are, I'm sure, other examples which could be provided, but this is just a small sample of Microsoft attitudes with respect to Patents and Free Software.
              • Re:Examples please (Score:5, Insightful)

                by Senjutsu (614542) on Tuesday February 11 2003, @02:22AM (#5277613)
                You are mistaken. The parent requested examples of occassions when Microsoft has actually pursued an incident of patent infringement by means of litigation, not claims that they would pursue them.

                The parent was mistaken in thinking that I had said Microsoft had a history of using Patent litigation as a means to chill Free Software, and in thinking that only a past history of filing patent suits against other companies was relevant in determining their intentions. I had said we can infer Microsoft's intentions based upon their past predatory actions. Microsoft's repeated criminal abuse of its Monopoly status, its actions towards Netscape, Java, DR-DOS, Stac, and countless other products, along with the threatening language they've used towards free software projects like those cited in my post, can be used to easily infer Microsoft's likely intentions.

                It's entirely acceptable for any corporation to publicly declare that they would pursue patent infringement in court, because otherwise they would be opening themselves up to shareholder lawsuits. They have a covenant with shareholders to earn money, and not piss it away by allowing their competition to infringe on their patents.

                It's entirely legal and acceptable yes, but it is not necessary to prevent shareholder lawsuits. Patents do not need to be enforced to remain valid, unlike Trademarks. Microsoft holds a number of very broad patents which any number of companies could be said to violate, and yet they are not enforcing them. The CIFS licence patent mentioned above is available for use royalty-free, as long as the software is not covered by the GPL or LGPL. By your logic, the shareholders should be sueing Microsoft for not charging royalties to every company making use of that patent, but that hasn't happened at all. And the same example does demonstrate Microsoft's use of patents to hinder the Free Software community.
    • by enos (627034) on Monday February 10 2003, @10:30PM (#5276684)
      Do you honestly believe that we're going to slashdot CNet?
    • Re:Linux? (Score:5, Funny)

      by Jeremi (14640) on Monday February 10 2003, @10:21PM (#5276635) Homepage
      Yeah, like the US Patent Office is really choosy about what they'll accept [itworld.com] in the way of patents.
    • Re:Linux? (Score:5, Informative)

      by AJWM (19027) on Monday February 10 2003, @10:26PM (#5276658) Homepage
      Microsoft have applied for a patent,

      Yes, and with the current state of the Patent and Trademark Office (as for the last few years), just about any patent applied for gets granted, especially if the applicant has deep pockets.

      The PTO gets paid more for issuing a patent than for declining one, and the PTO is "self-funding". Furthermore, there's no penalty to the PTO if they're found to have issued a patent they shouldn't have (ie for prior art, obviousness, whatever) -- the penalty is all to those buying, er, obtaining the patent, and to the public for suffering bogus patents.

    • Re:Linux? (Score:5, Informative)

      by Zeinfeld (263942) on Monday February 10 2003, @10:29PM (#5276681) Homepage
      Microsoft have applied for a patent, but who knows ---- in 10 years it may still not be either granted or rejected, so let's continue with Linux + MONO right now and get things moving.

      It is most likely that Microsoft are applying for the patent for purely defensive reasons. I have had many patent shits apply for patents on the work I have done, often many years after it became public knowledge. Getting the patent in first is always a good idea.

      Microsoft might possibly go after Linux, but it is much more likely to go after Sun and Java. Their real beef is that Sun has been playing silly buggers with lawyers. That may not be such a hot move when Microsoft have the engineering power to out patent Sun.

      While the broader claims of the patent are likely going to be rejected it is almost certain that some claims will be allowed. If so expect Microsoft to make the terms for Sun every bit as unreasonable as Sun's terms for Microsoft.

      There is no reason to beat up Linux though, Microsoft does not want to get 100% of the market, they want more like 85% so they don't keep getting slammed for anti-trust issues.

          • Re:uhhhhh (Score:5, Funny)

            by Doug Neal (195160) on Monday February 10 2003, @11:17PM (#5276903) Journal
            You're American, right?

            This is a pound sign: £

            # is not. It's a hash. Most Americans seem to be confused on this, I hope this post clears it up :P

            Besides, "C Pound" just sounds stupid.
    • by macrom (537566) <macrom75@hotmail.com> on Tuesday February 11 2003, @12:21AM (#5277189) Homepage
      I think you misunderstand what the obfuscator does. First, you must understand that all .NET assemblies are compiled to MSIL [dotnet247.com]. Once that happens, anyone can use a tool, ILDASM.EXE, to view the "disassembled" assembly. You get function names, global variable names, parameter types, called framework functions, basically all the stuff you really would rather people not see.

      This is where the obfuscators come in. They start renaming your functions, parameters, types, etc., but only in the MSIL that's in the assembly, not in your source code. There are other levels of obfuscation that some products support, but most of them will at least do this for you. If you don't think that's a big deal, go here [ioccc.org] to see for yourself. Staring at code that has all functions named "a1, a2, a3" and so one, combined with a similar naming scheme for other variables...well, it'll drive you to the bottle.

      Many .NET developers out there are happy with the functionality of the current crop of obfuscators, and many use such programs to "encrypt" their commercial apps.