Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
Android Google Operating Systems Linux

Drawing the Line Between Android and Linux 258

Posted by timothy
from the one-of-these-not-like-the-other dept.
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."
This discussion has been archived. No new comments can be posted.

Drawing the Line Between Android and Linux

Comments Filter:
  • don't know (Score:3, Insightful)

    by justsomebody (525308) on Tuesday July 05, 2011 @11:50AM (#36662550) Journal

    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.

    • Re:don't know (Score:5, Insightful)

      by h4rr4r (612664) on Tuesday July 05, 2011 @11:58AM (#36662678)

      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.

      • by tepples (727027)

        You do realize that android apps run in dalvik right?

        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. In MVC terms, this corresponds to a C++ model and a Java view.

        • 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.

          • by tepples (727027)
            Does "and they still run inside of a virtual machine on the device" mean that the NDK compiles C++ to Dalvik bytecode?
          • by bgat (123664)

            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.

          • by Anonymous Coward

            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.

    • by Kamiza Ikioi (893310) on Tuesday July 05, 2011 @12:13PM (#36662880) Homepage

      First, it's called Java and it runs android apps on linux [softpedia.com] (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.

      • Re: (Score:3, Insightful)

        by Anonymous Coward

        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 "XWi

      • by xenocide2 (231786)

        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 opp

        • by Svartalf (2997)

          Heh... Think of Hildon as GNOME Mobile, more or less. That was what Nokia was aiming for when they did it originally.

          As it stands, Android is a Linux distribution with a specific and unique App framework that runs under the Dalvik VM.

          That's why Canonical was able to make an execution environment that the dev threw his hands up in disgust over- he'd arrived at the conclusion that it was "open" in one sense and not another. For example, you can't get the market app and a few other things except by jiggery-

    • 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.

      Oh really, so do you think you could have taken RHL or Ubuntu and popularize Linux as a mobile OS? Also, the statement is stupid. It is not a question of whether X has done anything good for Linux, but whether Linux has done anything good for X. And it has. Linux has allowed to create a good mobile platform (Android) which is far more open than the competition (the closed-source iOS).

      Asking or saying whether Android has done anything good for Linux is as stupid as saying that inkjets and laser printers (a

  • by Citizen of Earth (569446) on Tuesday July 05, 2011 @11:52AM (#36662566)
    When will I be able to run Android on my desktop?
    • Re: (Score:3, Interesting)

      by Anonymous Coward

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

    • by jonbryce (703250)

      About 7 months ago
      http://www.reghardware.com/2010/11/03/review_netbook_toshiba_ac100/ [reghardware.com]
      But after reading that review, or any other review elsewhere on the same product, you probably won't want to.

    • by Svartalf (2997)

      Now. Especially if you're using one of the Honeycomb tablets. You can run it with X86 Android now on any desktop with the proviso that you just simply can't run NDK derived stuff without having someone provide you with the X86 native code variants for that Android image/distribution.

  • Adobe isn't moving away from the Linux community. Rather, the company is refocusing its efforts into the emerging Linux-based space found in mobile products.

    So you're going to market Dreamweaver and Illustrator/Photoshop as the latest greatest dev tool for building apps? Why do I get the feeling academia would really embrace that...

    • Adobe isn't moving away from the Linux community. Rather, the company is refocusing its efforts into the emerging Linux-based space found in mobile products.

      So you're going to market Dreamweaver and Illustrator/Photoshop as the latest greatest dev tool for building apps? Why do I get the feeling academia would really embrace that...

      How did you get to that conclusion from what he wrote? Strawman much?

  • by Anonymous Coward on Tuesday July 05, 2011 @11:54AM (#36662602)

    "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.

    • Mod parent right up. The confusion comes from people who keep talking about Linux when they mean all of the extra stuff on top of the kernel. You can take a typical 'Linux' system and replace the kernel with FreeBSD and neither users nor developers will notice. The closest most of them get to it is libc, which is GNU code. Your applications on Ubuntu care about X11, glibc, GTK, Cairo, and so on. Your apps on Android care about Dalvik, Skia, and so on.
      • Re: (Score:2, Insightful)

        by node 3 (115640)

        The confusion comes from people who keep talking about Linux when they mean all of the extra stuff on top of the kernel.

        No, the confusion is with people who think that Linux can only refer to the kernel. Even Linus doesn't play the "GNU/Linux" game.

        Certainly, it would have save a lot of hassle had Linus decided to give his kernel and the GNU OS using his kernel completely different names, like Darwin and xnu. Instead, he called the kernel "Linux", named the file "vmlinux" or "vmlinuz" (depending on whether it's compressed or not).

        The language may be imprecise, but you can't blame people for using the language as it exists. J

    • by node 3 (115640)

      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 aro

      • 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.

      • 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

        Android and TiVo demonstrate why Stallman is right on this issue. Nobody can deny that Android and TiVo are using Linux as a kernel, but the userland is completely different and certainly isn't GNU. Gone are the days when you could assume that any computer running Linux would also be running GNU.

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

        Most people on /. -- not most people in general. People may have heard of "Linux," not know exactly what it is, then hear "ANDROID IS LINUX" and immediately think that it must be the same as Fedora or Ubuntu.

        • 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

          Android and TiVo demonstrate why Stallman is right on this issue. Nobody can deny that Android and TiVo are using Linux as a kernel, but the userland is completely different and certainly isn't GNU. Gone are the days when you could assume that any computer running Linux would also be running GNU.

          A distinction that is mostly irrelevant for most people, even most developers (if you count them as people:P)

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

          Most people on /. -- not most people in general. People may have heard of "Linux," not know exactly what it is, then hear "ANDROID IS LINUX" and immediately think that it must be the same as Fedora or Ubuntu. That kind of confusion is not a good thing for anyone.

          See my response above.

  • The main point of the article is about Adobe's development tools for Adobe Air. Is anybody actually using Adobe Air? The only thing I can recall having seen done using Adobe Air is help for recent versions of Adobe products, and this makes it so slow compared with any other help system that it makes a hugely negative ad for Air.
    • by cultiv8 (1660093)
      The Amazon Cloud Player MP3 upload uses Adobe Air...
    • As I understand it, AIR is pretty much the same environment as Flash, except run outside of a browser.
      • 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
    • by hitmark (640295)

      There are some twitter clients done in Air, with the biggest being Tweetdeck.

    • Actually I am really liking Gwizard Gcode calculator and Gcode editor which is air also the ebay desktop app is air and National Geographic Complete is also air. Adobe flex is a good dev tool and air is one of the better VMs out there for desktop GUI apps better than Java in my opinion. Silverlight might give it a run for it's money on Windows but air is truly cross platform for example I can use all of those air apps on Linux, Windows, or Mac. That's pretty cool. In fact I do use those apps on Linux. Also

  • by future assassin (639396) on Tuesday July 05, 2011 @11:56AM (#36662624) Homepage

    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.

    • As I see it there are two main problems with Linux (and I really like Linux).

      The first is a lack of good APIs (beyond the Posix level, which is fine). If Linux had something like Quartz, [wikipedia.org] porting Photoshop to Linux would be simple for Adobe. It would make a lot of things easier. Instead you have to hack around with SDL (which is a great library that reaches it's goals, it just doesn't do all that much).

      Second is the difficulty of installing/distributing binary software. Linux was built for distributing
      • by h4rr4r (612664)

        Second is the difficulty of installing/distributing binary software. Linux was built for distributing applications by source, and has a lot of good tools for doing so, and as an open-source advocate I like that, but a lot of companies don't want to distribute source, and there isn't really a good way to distribute binaries.

        Deb and rpm handle this problem completely. Package your app and be done with it. If you can't even be bothered to do that you never would have ported you app to begin with.

        • See, this is the kind of problem we in the open-source community run into. We have a thing that works well enough for us, and we don't understand why it won't work for everyone.

          In general, commercial software doesn't want something that will fit easily into a package manager. What they want is an installer that is click-click-click "accept license agreement" and then on top makes you type in some kind of serial number, and maybe has some other kind of DRM. Deb was definitely not designed to do that, and r
          • by h4rr4r (612664)

            I don't want that. I am the buyer. If you want me to click on stuff put the deb on a website with such a click through. Have the key entered into the program on first launch, not during installation. That breaks automated installation.

            • If it were up to the buyer, DRM stuff would never exist. Not everything is up to the buyer.
              • by h4rr4r (612664)

                Yes it is, why do you think I don't own any games that don't play on wine? What games I buy is 100% up to me.
                I will own Portal 2 as soon as it is supported by Wine or the Codeweavers commercial product without any cracks.

                Everything is up to the buyer. If buyers did not buy games with DRM, they would not exist.

        • by node 3 (115640)

          Deb and rpm handle this problem completely. Package your app and be done with it.

          Do you know how selling software works? If you just throw together a .deb or .rpm, and "be done with it", you'll find an inbox full of angry customers demanding support. Oh, you packaged your .deb based on Debian Squeeze? Well, package foo upon which you software was tested doesn't work the same in Ubuntu Natty Narwhal. And never mind all the requests from Gentoo users who want to know which flags they need to set to recompile their software to fix some obscure bug that pops up when trying to run the softwa

          • by h4rr4r (612664)

            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

      • by Junta (36770)

        So at the low level, there is SDL, at the high layer, QT or GTK. In terms of the middle ground, how does Cairo compare with Quartz? We are talking capability, not compatibility. If you want to recompile existing OSX or Windows projects, that's different (with GNUstep and libwine respectively coming the closest, but very very far from production ready, though at least EVE online thought libwine was sufficient).

        To second, binaries are quite workable, but claiming support for 'Linux' may be more complicated

        • how does Cairo compare with Quartz

          That's a good question, I'll have to look at it after work.

          A lot of times the problem is dealing with stuff in an API that just doesn't work. It should, but (usually it is because of a driver issue) you call the function and something messed up happens. This happens a lot even on Android, for example, if you leave the Dalvik runtime environment. Drivers are hastily written and cause APIs to be broken.

    • Linux market share is less than 2% of desktop computing.

      If you have a product that targets the geek demographic like a graphics card, then supporting Linux is in a company's best interest, but its not surprising to see why many companies refuse to support Linux.

      • by The Moof (859402)

        the geek demographic like a graphics card

        I'd say they target pc gamers, and Linux is pretty far behind Windows in that regard. So graphics card manufacturers aren't very interested in marketing to Linux since their primary consumer is using Windows.

        • by jedidiah (1196)

          ...except the more hardcore part of the market is less slanted towards Windows.

          Get into the demographic that's actually likely to know what a video card even is and you will see much more Linux and MacOS users.

        • I bet the average Linux user cares about a video card more than the average Windows user. Although companies will promote Windows usage the most, offering Linux support can be profitable for the companies because of increase sales and positive PR with the open source community.

    • by Kjella (173770)

      I think you're making a flawed assumption about Linux, once you start charging more for a Linux version the sales drops drastically. After all the software is already written and the Windows sales covered the development cost, then surely the Linux sales can cover the small porting cost. Not saying that's necessarily a correct assumption, but many think that way. And as some of the Linux porting companies have found out, often people feel they've paid for this software and is then entitled to use it on any

    • by node 3 (115640)

      How many people do you think there are that will gladly buy software with their own money who won't also run either Windows or OS X? And I say "gladly", because there are some Linux users who would reluctantly buy proprietary, binary-only software, but they don't like it. It runs counter to some of the motivation behind running Linux in the first place.

      There aren't as many of you as you seem to think.

      Most people who want proprietary software will run Windows or OS X. If you use Linux because it's UNIX-like,

    • Microsoft is running and extortion program [swpat.org] 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 [geekwire.com] 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/compan

  • by bfree (113420) on Tuesday July 05, 2011 @11:59AM (#36662688)
    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.
    • What's the point of making Linux GPL if people aren't meant to fork it and make something new out of it? This is Linux and the GPL working exactly as they should, I think.
      • by Microlith (54737)

        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.)

    • by bgat (123664)

      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.

      Not quite.

      It's true that the Android kernel is derived from the mainline kernel. It's also true that some of what is in the Android kernel will never be merged into the mainline kernel, although some Android kernel features, like timed-GPIO, are now part of the mainline. The differences that have remained between the two kernels over the years are likely to remain that way, for various reasons.

      It is NOT true, however, that the Android kernel is an "incompatible fork" from the mainline kernel. Assuming yo

    • by Spykk (823586)
      So I guess Redhat and Ubuntu aren't really Linux either because they use custom kernel patches?
  • GNU/Linux (Score:4, Interesting)

    by vagabond_gr (762469) on Tuesday July 05, 2011 @11:59AM (#36662692)

    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.

    • by Pausanias (681077)

      Mod parent up. "Linux" as synonymous for "Linux on the Desktop" is a disservice to both Linux and GNU/KDE. Aren't most Linux kernel users now Android users? Whereas they still wouldn't touch Ubuntu with 10 foot pole.

      • by jimicus (737525)

        Most Linux kernel users today are probably modern television or set-top box users.

  • Linux is a kernel (Score:5, Insightful)

    by the_humeister (922869) on Tuesday July 05, 2011 @12:00PM (#36662700)

    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.

    • by Microlith (54737)

      there's a GNU community, an X community, a Debian community, a GCC community, an Android community

      The interesting part is that if you look at how code flows between those communities, the first four benefit each other in various ways. In contrast, the Android community is entirely insular, neither aiding nor being aided by the others.

      • by bgat (123664)

        there's a GNU community, an X community, a Debian community, a GCC community, an Android community

        The interesting part is that if you look at how code flows between those communities, the first four benefit each other in various ways. In contrast, the Android community is entirely insular, neither aiding nor being aided by the others.

        I don't think you can generally say that--- or prove it.

        Part of the reason that the first four communities are so visibly benefiting each other is that those communities themselves are relatively transparent. They are also mutually-dependent on each other. Android hasn't see major uptake in the FOSS community (yet!), however, so there aren't any obvious benefits to those other communities from Android at least because the communities currently contributing the most to Android aren't themselves transparent

        • by owlstead (636356)

          Personally I would love it if apps are not only distributed as "free", but also as "free, open source". That could make a bit of a difference regarding the uptake of certain apps. And an URL to the website (preferably sourcesafe or similar) would give extra trust, especially if somebody (Google itself) would check the correctness somehow. Maybe that would give Android some O/S love.

          Free is one thing, but on my Linux desktop, I try and run open source only.

  • As Linux is only the kernel and not the applications, GUI, C libraries nor any of the other things that make a complete OS then Adobe's claim is completely valid.

    There is no line to draw Android uses the Linux kernel the same as Ubuntu and every other GNU/Linux distro.

    • So if you get pedantic, sure, 'Linux' means/meant the kernel and only the kernel.

      In *practice*, Linux has come to describe the distributions that all use glibc, xorg, kernel, gtk, qt, etc. As far as application developers go, the kernel underneath it all is interacted with rarely if at all. Adobe in *particular* has no reason to be making Linux *kernel* specific calls, so it *is* disingenuous to hold up Android work as their 'Linux' support. Adobe hasn't done anything to support the specific kernel of an

      • by bgat (123664)

        So if you get pedantic, sure, 'Linux' means/meant the kernel and only the kernel.

        In *practice*, Linux has come to describe the distributions that all use glibc, xorg, kernel, gtk, qt, etc.

        To you, maybe. :) Those of use not using Linux "on the desktop" are in many cases not using glibc, xorg, etc. etc. either. I'm thinking about embedded systems that use Linux as their kernel, and a home-grown root filesystem. The overwhelming majority of consumer and SOHO routers are constructed this way, to pick but one example.

        In terms of the number of physical devices running the Linux kernel, desktop machines are a distant second to all those other devices. Even if you don't count Android platforms--

    • There is no line to draw Android uses the Linux kernel the same as Ubuntu and every other GNU/Linux distro.

      It's a bit murkier than that. Debian can actually run without Linux. (See Debian GNU/kfreebsd [debian.org].)

Hold on to the root.

Working...