Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Patents Programming IT Technology

Morfik Patents AJAX Compiler 181

MikeyTheK writes "It appears that under the radar, the USPTO granted Morfik a patent for the "System and method for synthesizing object-oriented high-level code into browser-side javascript". Reading further, it appears that they have patented the compiling of high-level languages into AJAX apps. The high-level languages include "Ada, C, C++, C#, COBOL, ColdFusion, Common Lisp, Delphi, Fortran, Java, Object Pascal, SmallTalk, Visual Basic, and Visual Basic.NET". It would appear that the application date is September, 2005."
This discussion has been archived. No new comments can be posted.

Morfik Patents AJAX Compiler

Comments Filter:
  • My First Thought (Score:5, Insightful)

    by AKAImBatman ( 238306 ) * <[moc.liamg] [ta] [namtabmiaka]> on Monday April 02, 2007 @10:21AM (#18573309) Homepage Journal
    My first thought was, "Is Google Web Toolkit [google.com] prior art or infringement?" After a bit of looking around, it seems this patent was filed on September 5, 2006 while GWT 1.0 was released in May 2006. Sorry Morfik, but your patent is invalid. (Thank God, too. This patent appears to be overreaching and far too broad. It could prevent an entire industry from developing.)

    All I can say is: where was your due diligence, Morfik? It doesn't make a whole lot of sense to spend time and money on filing a patent that will be useless to you after it's granted. The best they could do is scare a few Open Source projects into submission. Anyone with a vested interest in the technology is going to do the due diligence that Morfik didn't, and take the matter to court.

    The only "out" they have available is to show evidence that they disclosed the inner workings of their JST product prior to GWT being released. In which case they might have protection from the "one year to file" rule. Maybe. Or maybe they're just trying to carry out this threat [ajaxian.com] in a laughably oversimplified fashion. (They're lawyers must be telling them it won't work?) Go figure.

    For those who are unaware of what GWT is, it's basically a toolkit that takes Java programs and converts them down to Javascript. By coding Java to the GWT toolkit*, you gain all the benefits of the Java compiler and type checking without sacrificing the ability to deploy on browsers that do not have Java installed. I'd rather code in Javascript myself, but it has its place. :)
  • by Anonymous Coward on Monday April 02, 2007 @10:28AM (#18573435)
    Shouldn't any technology like this be immediately unpatentable? All this does is translate code in one Turing-complete language to another. Since this transformation is mathematically proven to be possible for all Turing-complete languages, this is merely an algorithm and should be unpatentable...

    (I know, they'd approve a patent on cheese if you worded it as "a method for transforming milk and bacteria into edible food product.")
  • ColdFusion? (Score:2, Insightful)

    by bigblackcar ( 1072018 ) on Monday April 02, 2007 @10:58AM (#18573893) Homepage
    Since when is ColdFusion a high-level language? Just because they use it in MySpace?
  • by Jerf ( 17166 ) on Monday April 02, 2007 @10:59AM (#18573925) Journal
    The definition of a compiler seems to differ from person to person, but the best one is something that reads a stream of input, converts it into a richer internal representation (usually a tree but it doesn't have to be), and writes out a different stream based on this internal representation.

    Even here in 2007, some people still seem to think the only thing that can be called a compiler is something that takes source code and emits binary code, but that's just one specific special case. The same basic principles that GCC uses will be used by PovRAY to compile its scene language into an image, ignoring the raytracing part. (That is, setting up the internal representation of the scene is just like a compiler.) Compiling C# into IL uses the same basic techniques. Defining anything that uses standard compiler techniques as a compiler is the motivation for my preferred definition.

    Given the long history of compilers, and the sheer profusion of them, I really don't think that compilers ought to be patentable anymore. Compiling Java into Javascript isn't a novel idea, it's "just" some engineering by somebody who understands compilers. (Which the recent "Wasabi" uproar over Joel on Software's posting proved is not all that many people, but still, it's simple once you see the tricks.) The only even remotely tricky part of such a compilation is if there's no easy way to get the syntax tree directly from the language parser, and that's still just engineering. There's definitely plenty of copyrightable stuff in such a compiler, but it'd take something very, very novel for it to be patentable.

    (Note I'm writing this message as if I weren't entirely against software patents, which I am, at length [jerf.org]. This is written from the putative point of view of the patent system; even then, compilers generally aren't that novel an idea. Saying "with a compiler!" is up there with "on the internet!" for novelty.)
  • by Tim Browse ( 9263 ) on Monday April 02, 2007 @11:22AM (#18574267)

    Compiling Java into Javascript isn't a novel idea, it's "just" some engineering by somebody who understands compilers.

    Indeed, but sadly not many programmers do understand compilers. (And even fewer understand linkers.)

    Other examples are CFront (the first C++ compiler) which just compiled C++ into straight C, which was then compiled by an existing C compiler, and the first Modula-3 compiler, which also just compiled to raw C.

    I myself have written a compiler that took a scripting language in our game editor, compiled it to C, linked the C code into a DLL, loaded the DLL into the game editor, and ran the code all in a single UI step (in the late 90s - and I figured these techniques were pretty old hat at the time).

    Like you say, deciding to compile to Javascript is hardly a new and fantastic innovation.

  • by Daniel Dvorkin ( 106857 ) * on Monday April 02, 2007 @11:53AM (#18574741) Homepage Journal
    Surely there's a point where failure to perform due diligence is itself an offense? I mean, come on; anyone in IT could tell them (and could have told them in 2005) that there's a ton of prior art. If I patent "a method of preserving food by keeping it cold" and try to excuse my stupidity by saying that I guess I just didn't do enough research to learn about the prior existence of something called a "refrigerator," would anyone buy it?
  • by Jaqenn ( 996058 ) on Monday April 02, 2007 @12:29PM (#18575249)

    If the guys at /. want a primer on patent law, feel free to email me and I would be more than happy to teach them a thing or two.
    I'm interested. But why do you want to distribute via email instead of just posting? It's just as hard to type as an email as to type as a comment.
  • by nanosquid ( 1074949 ) on Monday April 02, 2007 @01:52PM (#18576557)
    It doesn't matter whether they (or anybody) used it before then. The patent system does not reward invention, it rewards disclosure.

    If you invent something and you don't disclose it fully and publicly, you lose your right to use your invention if someone else patents it. That's what the patent system is intended to accomplish.
  • by Tim Browse ( 9263 ) on Monday April 02, 2007 @03:11PM (#18577657)

    Here's the process:

    • I hear about web app X. I decide I might be interested.
    • I go to X's web page, and it tells me I need to install a Java VM to run the app.
    • Even if I already have a Java VM, I'm really not interested any more.
    • If I don't have a Java VM, and I'm an ordinary (non-tech) person, I'm pretty much screwed anyway. It depends if Sun have decided to dick around with the Java downloading web pages this month or not.
    • If I'm in an internet cafe, I'm screwed too. And so on.

    Requiring a Java VM is the new "You need VBRUN300.DLL". i.e. a big fecking "Stay Away!" sign.

    Compiling to JavaScript means the process is this:

    • Launch your web browser.
    • You win.
    • The End.

The flush toilet is the basis of Western civilization. -- Alan Coult

Working...