Slashdot Mirror


VM Enables 'Write-Once, Run Anywhere' Linux Apps

An anonymous reader writes "A startup will soon launch 'a kind of holy software grail,' according to an article at LinuxDevices. The dual-licensed technology is claimed to enable more or less normal Linux applications to run — without requiring recompilation — under Windows, Mac, or Linux, with a look and feel native to each. 'As with Java, Lina users will first install a VM specific to their platform, after which they can run binaries compiled not for their particular OS, but for the VM, which aims to hide OS-specific characteristics from the application. Lina comprises a platform-specific application that virtualizes the host PC's x86 processor... A lightly modified Linux kernel (2.6.19, for now) runs on top of the VM. Under the Linux kernel is a filesystem with standard Linux libraries modified to map resources such as library, filesystem, and system calls to analogous resources on the host platform.' Further details, including an entertaining video or two are at OpenLina.com"

12 of 482 comments (clear)

  1. Lofty Goals Indeed by WrongSizeGlass · · Score: 5, Insightful
    FTA

    "We're trying to change the economics of the software industry. Our hope is that in the next two years, all these companies that are starting with Microsoft APIs will start with Linux instead." That is a key mindset to getting Linux out of its niche and into the mainstream. Thinking Linux first can't be a bad thing at all.

    I hope this lives up to its hype (and promise). I may have to finally break down and get an Macintel (much to the chagrin of my PPC army).
  2. Re:Huh? by eldavojohn · · Score: 5, Insightful

    Why are people afraid of recompiling? It is pretty painless if the source is packaged well.
    If you can get my mom to understand that sentence, I will pay you $500.

    Also in how far is this groundbreaking? Seems to be a pretty forward and not too complicated engineering task.
    Interestingly enough, the word 'groundbreaking' was not used even once in the summary or the article. News doesn't have to be groundbreaking. It could be a very simple old idea used in an ingenious way to be a very useful tool for the masses. Like this, they aren't hiding that they're kind of copying what Java does. But, you know, if it was such an easy engineering task, why haven't you done it? I'm very interested in where this goes.
    --
    My work here is dung.
  3. Humor by Anonymous Coward · · Score: 5, Funny
    From the LINA FAQ:

    Q: What does LINA stand for?
    A: LINA is not an acronym.

  4. Re:Huh? by FishWithAHammer · · Score: 5, Insightful

    "Dear user: Insert the CD. Type make all; make install. Press return and go for coffee."

    It should be

    "Dear user: Insert the CD. Click 'Install'. Click 'OK' and go for coffee."

    See the difference from a user's point of view?

    --
    "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
  5. Native Look and Feel by zmotula · · Score: 5, Insightful

    run (...) under Windows, Mac, or Linux, with a look and feel native to each
    People should realize that this is impossible to do. This sounds like look&feel was something like a skin you can change at will, but it is not. Different systems have different requirements that cannot be changed programmatically, like keyboard shortcuts, icons, file placement, GUI metaphors and so on. If you want an application to feel native, simply design the GUI according to local customs, there is no other way.
  6. Oh How I Wish It Were That Easy by Anonymous Coward · · Score: 5, Insightful

    "Dear user: Insert the CD. Type make all; make install. Press return and go for coffee."
    Your attempt at simplifying building from scratch amuses me. First off, you put the period in your instruction type font which I'm sure my tech inept mother would type into the console. Which would result in:

    make: *** No rule to make target `install.'. Stop.
    And how would she know to open a terminal? Would she know how to open a terminal?

    Second, what about dependencies, how does she know to read the README file or anything else to figure out what she needs to build this source. You don't exactly include all the source of all the libraries you coded with, do you? Rarely have I seen a project coded from scratch with no dependencies.

    See, the issue here isn't that she can't be instructed like a monkey to hit a button. The problem here is that if something goes wrong, she's out of luck. I mean, as it is, the concept of double clicking what you downloaded to install it was a tough one to drive home. And even now I worry about her willfully installing viruses or malware on the home computer. Because she just doesn't understand the concept so well. When you ask someone to build from the source, you're pushing them quickly into something they don't understand and it's just going to result in a bad experience. The ease of use for software is actually more important to most people than its efficiency or anything else. Why do you think Java is so popular?
  7. Re:Huh? by hey! · · Score: 5, Informative

    Well, recompiling an application doesn't port it to a different OS.

    The work needed to abstract the fact that you are running on Windows or MacOS instead of Linux is highly repetitive, and therefore a good target for factoring out into some common -- thing.

    The most accepted way for this is to develop a framework with WxWidgets. But what if you don't like the framework? What if you need a different framework? What if your language is not supported by the framework? Integrating a VM to the underlying OS is an alternative.

    Another thing that I think is useful in this approach is potentially dealing with coupling of unrelated applications via common library dependencies. If one application requires a later version of a library than another is compatible with, you can't run them both easily on the same machine. Anybody who used non-Ubuntu repositories on Ubuntu has run into this.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  8. Re:Huh? by LiquidCoooled · · Score: 5, Insightful

    Insert CD.
    Phone relative because the CD does nothing.
    Find Install and click it.
    Cancel the dialog and click the other install.
    Phone relative again and ask them why its going to take 3 hours.
    Make coffee.
    Return to computer and switch it off (thinking they were switching it on because the screen was blank)
    Ring relative and ask why its not worked.

    --
    liqbase :: faster than paper
  9. Re:Huh? by Wdomburg · · Score: 5, Insightful
    "Dear user: Insert the CD. Type make all; make install. Press return and go for coffee."

    And come back to:

    make: *** No rule to make target `all'. Stop.
    And that's assuming the user knew enough to open a terminal and navigated to the appropriate directory, which you left out. Let's say after they got that error they look at INSTALL and discover your instructions forgot to include 'configure', and now they get:

    configure: error: Enchant library not found or too old. Use --disable-spell to build without spell plugin.
    Let's say they go ahead and disable spell-checking, even though it would be a useful feature. They type 'make install' again, like the instructions said, and get:

    cp: cannot create regular file `/usr/local/bin/foo': Permission denied
    Maybe they're not quite frustrated enough to give up just yet, and they do a google search and discover that you forgot to tell them to run as root. Hurrah! It installed! They type the application name and get

    cannot open display 0:0
    Whoops, still root. Maybe they realize this (smart user!), exit, and try running again as themselves. Oh, damn, the application installed in /usr/local and there's an old copy in /usr, so they end up launching the old copy instead. Even if that wasn't the case, most users are going to want menu entries and icons without having to set them up manually.
  10. For the love of God, why? by Noiser · · Score: 5, Insightful

    I can understand the hack value, but why, for the love of God, would i want to run binary Linux apps on Windows? Didn't they have anything better to waste four years on?

    There are some binary Windows apps, which could make life easier (albeit somewhat unethical in FSF terms) for Linux users, such as MS Office and IE6, and AFAIK that's what WINE is for (although i've never had the dire need to actually try it). But vice versa??

    All the FOSS Linux apps that are source portable - OpenOffice, Perl, Mozilla, SVN, Audacity etc. - already found their success on the Windows platform. Is someone weird enough to make an application which is binary-only *and* Linux-only?

    Or am i missing something?

  11. Re:Huh? by Tickletaint · · Score: 5, Insightful

    Telling people how to fix problems fosters dependency on you. Showing them how to do it, in a manner that doesn't take years of command-line dorkdom to understand, is probably far more helpful.

    Though in this particular case, if your girlfriend's about to get a Mac anyway, maybe it doesn't matter so much. I'd be more worried about getting dumped once she realizes she doesn't need you to fix her computer anymore. :)

    --
    Make Slashdot readable! See journal.
  12. Re:Huh? by the_mushroom_king · · Score: 5, Funny
    This is slashdot. You lost me at "girlfriend".

    WTF is that?