Slashdot Mirror


Drawing the Line Between Android and Linux

jfruhlinger writes "The relationship between Linux and Android is on a technical level not hard to grasp — there's a shared kernel, but the application and interface layers are quite different. But, as Brian Proffitt points out, there are differences of philosophy and of community — which hasn't stopped Adobe from touting its Android dev tools as proof of its devotion to Linux."

33 of 258 comments (clear)

  1. don't know by justsomebody · · Score: 2, Insightful

    android didn't do anything good for linux, if anything it just made another incompatible implementation of the same platform. wake me up when i can run android app on my linux desktop without needing to run it in some virtual machine.

    adobe i don't even wanna comment about. i avoid them more carefully than entrance to hell.

    --
    Signature Pro version 1.13.2-3 release 83.5 beta3try7 after-breakfast edition
    1. Re:don't know by h4rr4r · · Score: 4, Insightful

      You do realize that android apps run in dalvik right? So there is always a virtual machine. I fail to see how that is any different than running it on the virtual machine running on the phone.

  2. Share the love by Citizen+of+Earth · · Score: 2

    When will I be able to run Android on my desktop?

    1. Re:Share the love by Anonymous Coward · · Score: 3, Interesting

      Now?
      http://www.android-x86.org/

  3. Whoa! Hold on a moment. by Anonymous Coward · · Score: 5, Informative

    "The relationship between Linux and Android is on a technical level not hard to grasp — there's a shared kernel...

    Most Linux Distros -> GNU/Linux.

    Linux is the kernel. Shared kernel means it's Linux.

    Period. end of story.

    , but the application and interface layers are quite different.

    That could be said for any Linux distro.

    Android is a Linux distro.

    1. Re:Whoa! Hold on a moment. by node+3 · · Score: 2

      You make a good point, but come to the wrong conclusion.

      The word "Linux" can be used to describe just the kernel alone, or the GNU/Linux (to use Stallman's nomenclature, which Linus Torvalds rejects) system in general. When someone says "Linux distro", they mean a "GNU/Linux distro". And, isn't Android GNU/Linux anyway? Doesn't it include the GNU tools? What it's not is a traditional GNU/X11/GNOME|KDE|other-X11-based UI/Linux Intel-compatible PC distro. I think it's not unreasonable that people don't go around being so specific, and just say "Linux".

      So, Android is an OS based on a heavily modified Linux kernel, it's not a Linux distro in the way people use the term. And even if you want to play the semantics card and call it one, you still fail to answer the question posed in the article. If it makes you feel linguistically better, use the term "traditional" or "common" or something similar.

      Rewrite the headline in your mind to read: Drawing the Line Between Android and the Common, Traditional Form of GNU/Linux Distro

      That's what the author meant, and most people (who even know what Linux is in the first place) take as understood.

    2. Re:Whoa! Hold on a moment. by GameboyRMH · · Score: 2

      Android doesn't include the GNU tools. The Android kernel is based on the Linux kernel (but is incompatible with the mainline kernel), and that's where the similarities end. Because the kernel is incompatible you could argue it shouldn't be called Linux at all.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
  4. Linux market by future+assassin · · Score: 2

    I don't understand why so many companies refuse to support linux. Yes the market is small comapred to Windows BUT its not that small and its a big niche market which lets you charge more for the software/hardware as most Linux users will undderstand that a company might have to sell at higher margings since the user base numbers are smaller. Mabe its the short term profit mantality that is causing this but wouldn't you as a company want to make customers for life?

    I'm just an average Linux user who has all computers in the house running Mint but I don't get into the software and hardware setup anymore yet I'm willing to pay a little more to have the software hardware compatabiliy in Linux even at 20% of whats available on windows.

    --
    by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
    1. Re:Linux market by Anonymous Coward · · Score: 3, Insightful

      It's also a niche market filled with skinflints who won't pay anything for software

      Yes, that's why Linux users have consistently paid more for the Humble Indie Bundle games than Mac or Windows users. We're all so cheap.
        Hell, I punched in what I thought was a fair price and was downright shocked to see what Windows users were paying. There's a bunch of cheapskate bastards if I ever saw one.

    2. Re:Linux market by Microlith · · Score: 2

      Good to see anti-FOSS trolls are all over Slashdot these days too.

    3. Re:Linux market by h4rr4r · · Score: 2

      Then just give me a tar.gz.
      The humblie indie bundle folks managed that.
      The reality most linux users will be so happy to be able to buy your game they won't bother you with emails but will fix their problems themselves.

      There is no package your app and be done with it on any desktop OS. Windows has no package management at all, and OSX only has it if you want to pay Steve Jobs 30%.

      And that's exactly what most software makers choose, simply not even porting it in the first place.

      Fine by me, most software like most of everything sucks.

    4. Re:Linux market by VortexCortex · · Score: 2

      Data
      Paid for
      Choose one.

      I'll Pay for someone to do work: process my data for me, or to manipulate the data (write/fix code). However, in a world where data duplication is so cheap these words were copied over 20 times (more if you consider video ram, or have many router hops), you shouldn't expect people to pay for the data... (Supply = infinite, regardless of dev cost or demand, price = 0;)

      Let's say you contract me to write a program for you for $2,000. I'm done with the program and I've sent you screenshots of it in action. What's that? You want a copy of the program? Oh, we didn't discuss that in your contract... You want me to copy the data for you across the Internet or on in the mail via Disk? Well, let's see... I'll have to charge you an extra $100 for that. Additionally, each time YOU copy the program, I want you to pay me another $100.

      Oh? You don't agree with that? You say that the program is yours since you paid me to create it, eh? I already did the work, and it costs nothing, surely not $100, to duplicate the 1's and 0's...

      -- OK, say we never met --

      And, how about we say you just happen to work in an industry that has lots of common problems that have software solutions. Now, let's say I went off and wrote a program that provides solutions to many of these problems. Now, You can download the program from my website but first you must purchase a product registration key for $100 -- Each workstation or server you install it on will need a unique code, so you pay me for each copy. Oh, WTF?! This is somehow acceptable? Hypocrite much?

      You see -- I like to get paid for actually doing work. Reproducing bits is not work, we all have teams of machines that do this hundreds of times a minute for us constantly.

      So, The problem isn't that Linux users don't want to pay for software -- I'll gladly pay you to make an improvement, or to create a new bit of software, or to be on call for when I need support for the software... However, paying for each copy? No. We won't pay any more than it costs to duplicate it. Who do you think we are? Naive proprietary software users? I'm not paying you to do ABSOLUTELY ZERO WORK.

      Artificial Scarcity is Considered Harmful. Stop doing it.
      Oh noes! How will you fund the massive software project without imposing artificial scarcity? How about you tie your "sale price" to your actually costs of doing business? Instead of: "each copy costs $X", say, "to fund the development of that software we need $X"

      Being honest sucks, eh? Can't be nearly as greedy, right? Guess what? I work and make an honest living too!

      (please excuse any silliness or mistakes, I'm doped-up -- just had wisdom teeth out, but I'm not crazy)

  5. Re:Android and Linux by royallthefourth · · Score: 3, Informative

    No problem! The Android SDK is in the repository for every major distro. Just push out the ROM, and reboot into recovery and flash it.

  6. Flash Builder by tepples · · Score: 2

    As I understand it, AIR is pretty much the same environment as Flash, except run outside of a browser.

    1. Re:Flash Builder by krazytekn0 · · Score: 2

      If that's true it scares me out of my mind. I always think of flash like a 12 year old boy driving a bulldozer around a giant sandbox with holes in all the walls. I like to think of the browser it's running in as another giant sandbox with slightly less holes in all the walls. Every once in a while (all the time) that damn kid finds his way out of BOTH sandboxes and starts driving around the streets of some highly populated town wreaking destruction. And if what parent is saying is true are we taking one of the perimeter walls totally down? OH GOD!

      --
      Not all life is cyber. Extra Income
  7. there's a shared kernel? by bfree · · Score: 2

    The kernel is not shared, it is derived and has never _really_ attempted to minimise it's changes from it's upstream so really it is an incompatible fork. So not only is Android not GNU/Linux (or X/Linux or posix/Linux or BSD/Linux) it's not even Linux.

    --

    Never underestimate the dark side of the Source

    1. Re:there's a shared kernel? by Microlith · · Score: 2

      No one has a problem with forks. Redhat maintains a huge fork.

      The problem is that Android uses a heavily customized kernel that results in virtually nothing (certainly nothing that I am aware of) going back upstream. Unsurprisingly, vendors are loathe to port their drivers forward to the next version of the kernel (which would be easier if they were upstream.)

    2. Re:there's a shared kernel? by bgat · · Score: 2

      The problem is that Google has made little effort to get their changes into the kernel, and when drivers for hardware are built against their kernel they are almost completely unsalvageable and a pain in the ass to bring into the mainline.

      And that's different from most other contributed drivers how, exactly? :)

      --
      b.g.
  8. GNU/Linux by vagabond_gr · · Score: 3, Interesting

    So the GNU/Linux arguments start making a lot more sense now, aren't they? Cause if you just call it Linux, Android seems perfectly "Linux" to me.

  9. Linux is a kernel by the_humeister · · Score: 4, Insightful

    All the other programs running on top comprise the OS. Why can't people get this straight? There isn't just a "Linux" community, there's a GNU community, an X community, a Debian community, a GCC community, an Android community, etc. Some parts overlap and some parts don't. But to say that all of these communities is Linux is a little misleading.

  10. Re:Both by Elbereth · · Score: 2, Interesting

    There's a difference between being cheap (trying to minimize costs), having an entitlement complex (believing that you deserve everything for free), and wanting the source code available (software freedom). I'm not saying that they don't intersect, but there are differences. It's easy to confuse people who call for software freedom with the people who pirate software, because they're both using the word "free", but in different contexts, and they both have an aversion to paying for commercial software, whereas the cheap user might be virtually immune to spending their money on luxury brands, like Apple or Sony, that offer little real return for the extra money spent.

    But, in the end, you're just trolling, and I'm simply bored; so I'm responding to your troll. I'm sure someone else will mention the Humble Indie Bundle, because it's turning into an annoyingly cliched (though true) counter-example to this common troll.

  11. Re:MVC by Lunix+Nutcase · · Score: 2

    One common pattern is a Java front-end made especially for Android that runs in Dalvik, combined with a C++ back-end shared with other platforms that runs in the NDK.

    Except that your C++ code is still executed from within the Dalvik VM.

    The Android NDK is a companion tool to the Android SDK that lets you build performance-critical portions of your apps in native code. It provides headers and libraries that allow you to build activities, handle user input, use hardware sensors, access application resources, and more, when programming in C or C++. If you write native code, your applications are still packaged into an .apk file and they still run inside of a virtual machine on the device. The fundamental Android application model does not change.

    So no it doesn't run in the "NDK" considering that statement makes absolutely no sense.

  12. don't know... how OS's work? by Kamiza+Ikioi · · Score: 4, Insightful

    First, it's called Java and it runs android apps on linux (amoung others), just like Linux runs any other app. Android doesn't make kernel bound, machine compiled apps for the very good reason that they need as many apps to run on as many phones without separate compilers. Phones are still running completely different chipsets than PCs, or are you not aware that you can't run amd64.deb on a 32bit PC, etc. etc. If so, you aren't very educated about the issue at all.

    If you want to take some code, make some native applications compile to it, I'm sure you could get some command line tools that work on both platforms, compiling separately on each. Mainstream users don't CARE if they can run it on their computers. Frankly, not many geeks care either. That's a pretty minority of a minority view. At best, people would like to run Linux desktop apps on Android, not the other way around.

    And the problem isn't Android, it's XWindows. When you get XWindows and Gnome/KDE to run efficiently on ARM, you let me know and THEN we'll talk about portability. Until then, NON ISSUE QED.

    And even then, you'd still need a type of virtual machine, regardless of whether the code ran or not. Apps are built for.. wait for it... phones and tablets! It's pointy-multi-touchy, not lefty-righty-clicky.

    The fact is that Android is the first, and only, real main stream Linux OS that rivals every single one of its competitors. What did Android do for Linux? That's like asking what Apache has done for Linux. Without Apache, Linux wouldn't have the server market cornered. Android did for linux on phones what Apache did for linux on servers. And if you don't get that analogy, you just don't get it the topic at all.

    --
    I8-D
    1. Re:don't know... how OS's work? by Anonymous Coward · · Score: 3, Insightful

      And the problem isn't Android, it's XWindows. When you get XWindows and Gnome/KDE to run efficiently on ARM, you let me know and THEN we'll talk about portability. Until then, NON ISSUE QED.

      GNOME/KDE are overrated, but the N900 runs X11 on ARM just dandy. Of course it's not the huge Xorg nee Xfree86 monstrosity, it's a kdrive variant (which, perhaps confusingly, is also an X.org project), but it's still X11R6 and it lets all your X apps run, including letting PC apps display on your phone or phone apps* display on your PC's X server. And Hildon (the desktop environment of Maemo) is pretty much a mobile-centric version of GNOME, so it could be said without much exaggeration that we do have "XWindows and Gnome" running efficiently on ARM.

      *But some phone apps are stupidly written to ignore the DISPLAY environment variable, and hard-coded to :0 -- obviously they won't display remotely without massive futzing around.

      The trouble isn't that a real UNIX-like phone OS can't be done -- it has been done! The trouble's that Maemo, and the similarly UNIX-like WebOS, each belong to a single phone maker, so they'll never make the market impact of a commoditized OS like Android, and never get the same ecosystem of developers. Nokia's involvement with Meego was supposed to rectify that, but we all know where that went *coughELOPcough*, and without a big phone name behind it, it looks like Meego will be primarily a tablet/in-vehicle/etc. OS, with at best niche presence in the phone market.

    2. Re:don't know... how OS's work? by xenocide2 · · Score: 2

      Maemo Linux, the OS that runs my n900, runs Xorg just fine. I don't think GNOME would be a good fit, but Hildon does use GTK, dbus, hald, pulseaudio, NetworkManager, and the evolution DB backend. And while you can't run amd64.deb, it does have a repository of ARM arch .debs. I think the best way to define what Slashdot would call linux is "capable of running wireshark". And the N900 meets that task, but does hilight your point that desktop apps are not in and of themselves, ready for mobile. I think the opposite might be true though; things that work on phones should be able to work natively on desktops without much fuss.

      Maemo goes back to the n770 in 2005, so Android is hardly the first ARM phone attempt. Frankly, the reasons for success and failure here don't involve Linux technicals. It's about market position and strategies. Nokia has so many base patents on cellphones that they feel entitled to dictate the pace of phone growth. Their Maemo smartphone strategy assumed a leisurely 5 years and a patent portfolio to stop competition from racing ahead. Well that didn't stop Apple, or Google, and Nokia is happy to collect their profits in the form of patent settlements instead, while the board of directors approves a backdoor sale of Nokia to Microsoft.

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

  13. Re:MVC by bgat · · Score: 2

    Except that your C++ code is still executed from within the Dalvik VM.

    Depends on how you define "within". True, the VM allows control to pass to the C++ code. And true, that code is running in the process context of the VM. HOWEVER, the C++ code is running directly on the CPU, just like ordinary C++ code.

    The situation is not unlike a shell invoking a native program. Although the native program is running as a child process to the shell, the native program is only minimally influenced by that.

    --
    b.g.
  14. Re:Adobe Air by DavidinAla · · Score: 2

    Air is great for people who care only about developing cross-platform apps cheaply and not about whether those apps fit with the rest of the platform they're running on. As a user, I won't use Air apps unless there's absolutely no other choice. For me, that's happened ... never.

  15. Re:Seriously? by jedidiah · · Score: 2, Insightful

    Linux users respect the developer and their choices. This is inherent in the whole GPL thing.

    I see a product and I am willing to pay a fair price for it. I won't make excuses meant to make things cheaper for me.

    No. In truth it's Windows users that are the real "freetards". Their numbers just help diffuse this problem somewhat In truth, Windows users are a den of theives that have no problem pirating anything they might want or need. This is the reality that the results of the Humble bundles reflects.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  16. Re:MVC by Anonymous Coward · · Score: 2

    That's not how that works at all. It works similarly to JNI. The method call is a proxy made available to your Java (or Dalvik) application, then by executing that code, the VM will, rather than executing Java (or Dalvik) byte-code, know based on the declaration:

    public native void Blah() {
    }

    That it has to execute a native method, and it will check the library in LD_LIBRARY_PATH for a shared object that contains a method with a matching name and signature.

  17. Re:Seriously? by Kjella · · Score: 2

    The Humble Bundle proves that people that are fans of open source will pay more for open source games than people that don't give a fuck if it's proprietary or not. It's like using the sales of a Metallica album to prove that Metallica fans are more willing to pay for music than other fans. Fans that were told "please show how much you support us" while the rest were told "please check out our games". Big surprise that a lot of Windows users did download it for nothing or next to nothing to check it our, almost like a free demo while many Linux users took it as a donation run. You can look at Steam and see lots of people spending lots of money on games every day, a single sale there often being more than any OS' users gave for the Humble Bundle. That this somehow proves this is all wrong and that it's the Linux users that are willing to pay and the Windows users that are not, well let's just say it takes a certain kind of zealotry to reach that conclusion.

    --
    Live today, because you never know what tomorrow brings
  18. Re:Linux market MIcrosoft Extortion Racket by andydread · · Score: 2
    Microsoft is running and extortion program to extract a tax from anyone that produces a successful Linux device.

    They are doing everything in their power to damage Linux in the marketplace.
    They are threating manufacturers actively using litigation to increase the cost of deploying Linux on a device/computer above that of Windows. This is a sleazy tactic but Microsoft is proving itself to be one of the sleaziest companies in tech right now.

    The racket goes like this. Microsoft enters your store/shop/company
    Microsoft: "You know, Its a dangerous neighborhood around here. You need some protection."
    You: "Protection? From who?"
    Microsoft: "Well.. from us mainly... IF you fail to get protection from us then you will feel the full wrath of our boys in our legal department."
    Microsoft: "Oh and by the way. The specifics of our protection deal is under NDA. You cannot talk about it got it?
    You: :-O

  19. Re:X Windows should die by MichaelSmith · · Score: 2

    Did X kick your dog or something? If you don't like it feel free to not use it.

  20. No single buyer who can front the entire cost by tepples · · Score: 2

    Instead of: "each copy costs $X", say, "to fund the development of that software we need $X"

    The trouble is that for some kinds of software, especially software intended for home use, there's no single buyer who can front the entire $X. Say someone has posted the first complete draft of a design document for a video game and asked you to help fund the implementation of that design document. Would you donate? Or would you wait for the finished game to see if the game is worth your while first? How should the developer make the deal more attractive to potential donors?