Slashdot Mirror


Chief Replicant Dev On Building a Truly Free Android

angry tapir writes "While Android is open source, it won't work on a phone without software that generally isn't open source. The Replicant project is an attempt to build a version of Android that doesn't rely on binary blobs for which the source code isn't available to end users, and the software currently works on a handful of handsets. I caught up with the project's lead developer to talk about their efforts to make a completely open source version of Android."

22 of 113 comments (clear)

  1. Re:Say goodbye to most coprocessors. by itsenrique · · Score: 4, Informative

    If you read the article it goes into detail about said issue. Basically, the project will not itself distribute any non-free materials, but you can load your own (and people do, it seems, for full functionality). So for example you may have to use the binary blob to get your WiFi working on your phone. I wouldn't be so dismissive about the possibility of drivers being developed for certain handsets that are fully open sourced, via some stab at reverse engineering. Now as far as quality....

  2. Wrong focus by pr0nbot · · Score: 5, Insightful

    While all the attempts to work around proprietary obstacles (rooting, homebrew, emulation etc) undoubtedly have their merits and utility, I think the real focus ought to be on getting hold of open, documented, standards-based, royalty-free hardware.

    Maybe it's a pipe dream, but thousands of man-hours will be spunked off trying to reverse engineer radio chipsets or whatever, which could more fruitfully be spent writing or improving software.

    I appreciate that folks are free to spend their time however they like, pursuing whatever floats their boat, that's not the point I'm making. Just that getting one vendor to make one decent fully-open handset would represent such a huge step forwards compared to coercing stuff to half run on the handset of some company whose goals are diametrically opposed to yours.

  3. Re:Say goodbye to most coprocessors. by NuShrike · · Score: 5, Insightful

    Ah, young idealism, trying to be the Debian. I was there, once. It is true that it's better to have open-source drivers, but you need a stable, open, documented hardware platform. PCs are, Android is neither.

    You will spend your entire life rebuilding "plumbing" after which the hardware you've built it for is long dead while its descendents -- you cannot support. A life where you didn't actually build anything useful, the next iPhone nor next game-changing piece of software-engineering, but just ran in a mouse-wheel.

    Reality is we just have to bend-over a little and suck up buying new hardware; accept the respective new binary blobs. Just try to stay above it. CyanogenMod is doing a good job there.

  4. Re:I'd welcome the day by glop · · Score: 3, Informative

    There is cyanogenmod which is a distribution of Android with more freedom.
    After that you can choose not to install the Google Apps, not configure any Google accounts (or have a dummy one).

    Avoiding Google on Cyanogenmod means:
    - no Google market for apps. You can download packages for Open Source apps, you can use somebody else's market (say Amazon if you don't feel like they are bad for your privacy)
    - no gmail, you can use another mail service, choose a non Google mail client
    - no Google maps. There is an Open Street Map application but it's not lightweight and seamless (not used it in 6 months though)

    I do that on my Nook Color but I actually have a dummy Google account and I use Google books and other Google apps as it's easier. And I got the Google market too as I mostly use the machine for entertainment (i.e read books, listen to music) and development so it's not really a very private device...

     

  5. Re:Say goodbye to most coprocessors. by sexconker · · Score: 3, Insightful

    Making a full featured open source build would require Broadcom, TI, Samsumg, and Qualcomm, etc. to release their specs or drivers for video co-processors.

    This will not happen.

    Why would it matter? It's not like there's a free, open MPEG 4 decoder (hardware or software) that doesn't infringe on patents.
    There are a ton of free and open codecs, but they're all infringing. If anyone tried to ship a (physical) device with that implementation, they'd be sued by everyone under the sun. Even if you believe a particular implementation is not infringing, there's exactly zero chance of the little guy winning in court.

    Replicant is a software project. You can download a build (or baked ROM) and throw it on your device. You have to play the revision / sku / country / network lottery. Replicant Build 1.0 works on Phone Brand X, Model Y, SKU ending in ZZZ, with a manufacture date of W or later, in country V, on network U, with features T working.
    It won't ever receive the attention from lawyers that a physical device would. But due to the work involved in maintaining it and running it, it won't ever receive the attention from regular people that a physical device would, either.

    The people who care about an open Android and are willing to jump through hoops to run Replicant won't give a shit about hardware video decoding or the DSP behind the camera not doing it's shit right. They care about not being locked down and not being tracked.

  6. Even closer by Benanov · · Score: 3, Informative

    Replicant starts where CyanogenMod left off. It ships with most of the CM tweaks, and then adds in things like F-Droid, which is an Android Free Software repository client.

  7. Re:I'd welcome the day by hobarrera · · Score: 2

    That's why I have a Nokia N900. A Nokia N9 might be of interest to you as well.

  8. Re:Say goodbye to most coprocessors. by Anonymous Coward · · Score: 3, Insightful

    How is "use the binary blob to get your WiFi working" any different than taking the AOSP code and the binary blobs there?

    From the article:

    The Replicant team is composed by people who are going one step further: in addition to agreeing with these principles, we fully reject anything non-free running on the main CPU."

    They don't want that. Sadly, they are doomed to failure and don't even go for RMS's goal of no "non free binary blobs" running on the phone (at least if you want the phone to be a phone) with the "main CPU" limitation.

    Even if they manage to reverse engineer all of the Samsung RIL layer and get voice calls working, they still haven't touched any of the code that runs on the radio processor (and they are at the mercy of the OEM/Chipset vendors for that.) All the OEMs have to do to stay one step ahead is change the RIL/radio processor protocol when they add new battery saving feature X and the Replicant guys get to start from scratch.

    Let's say they get their 3 target phones working. They are in a race with the wireless industry as new radio chipsets come out to support new cell technologies. Even if everything they wanted to complete was done right now, there wouldn't be an LTE/4G version. There won't be a CDMA version (bye bye carrier choice.) Since 2000 modern phone networks have gone from 3G (2 varaints) to 3G transitional (3 variants) to 4G (2 variants.) 7 radio types to support across 12 years. If you want Replicant to run on the modern network, you have less than 2 years to reverse-engineer, debug, and deploy when the hardware is first released. Given that the most modern phone under consideration is the Nexus S (released back in 2010) and they don't have voice calls working.... I guess it would be a boon for cell phone carriers, in that they could support Replicant without stressing their networks with a phone that wants to do the latest high speed stuff, but that doesn't sound very geek/gadget freakish.

    This is just another variant of the "free bios"/"linux bios" project, which is ok if you want to optimize 2nd or 3rd generation hardware.

  9. Re:Redundancy by PhilHibbs · · Score: 3, Insightful

    I'd like to see people who give their money to the charities that they support stop doing so and give it to the charities that I support instead.

  10. "Non-free blobs" is beside the point. by Microlith · · Score: 2

    The part that will cause problems for Replicant is that they cannot be an upstream. They will forever trail Google as the platform goes where Google desires and nowhere else. All of the components, Dalvik, Bionic, the GUI and rendering subsystem, all remain exclusively developed behind closed doors by Google.

    Until they can fully fork it, there's no more reason to use Replicant rather than CyanogenMod. If you're interested in a truly Free mobile platform, take a look and put some weight behind the other projects out there like Tizen or, for a really open platform, Mer. Letting Google lead everyone by the nose won't get those interested in mobile FOSS anywhere.

  11. Linaro's Android Builds by b0101101001010000 · · Score: 2

    This is really awesome. People are welcome to take a look Linaro's Android builds, which are aimed at the development boards that most of the SoC manufactures are creating. The builds are easy to try. Insert an SD card into your computer, run one command and bingo! There even easy to build from source. See http://www.linaro.org/engineering/getting-started/low-cost-development-boards for the complete list of boards.

    We've got:

    AOSP clone (Panda):
    AOSP with 4.6 (Panda)
    Snowball
    iMX6
    iMX53
    Origen

  12. Re:Say goodbye to most coprocessors. by s73v3r · · Score: 2

    why don't they let others to write drivers for their hardware?

    Because that would require opening up the specs of the chips, which might reveal trade secrets in how the GPU does things.

  13. Re:Say goodbye to most coprocessors. by FrozenFOXX · · Score: 2, Insightful

    Ah, young idealism, trying to be the Debian. I was there, once. It is true that it's better to have open-source drivers, but you need a stable, open, documented hardware platform. PCs are, Android is neither.

    You will spend your entire life rebuilding "plumbing" after which the hardware you've built it for is long dead while its descendents -- you cannot support. A life where you didn't actually build anything useful, the next iPhone nor next game-changing piece of software-engineering, but just ran in a mouse-wheel.

    Reality is we just have to bend-over a little and suck up buying new hardware; accept the respective new binary blobs. Just try to stay above it. CyanogenMod is doing a good job there.

    You're absolutely right, no good will ever come of trying to replicate and eventually surpass closed-source efforts. I'm definitely glad nobody ever decided to reverse-engineer UNIX or even implement his own version of of it. I mean that'd just be craziness!

    --
    "Just a fox, a whisper."
  14. Re:Say goodbye to most coprocessors. by s73v3r · · Score: 2

    As they come out and get popular,

    That's the rub, though. How are they going to get popular? And don't say because they're open, because the amount of people who care about that is not significant enough to make something popular.

  15. Re:Say goodbye to most coprocessors. by viperidaenz · · Score: 2

    Surpass closed-source efforts? Please enlighten me on how a 3rd party with no access to any official documentation relying on reverse engineering is going to surpass the efforts of those who actually designed and produced the thing you're trying to make it work on.

  16. Re:Say goodbye to most coprocessors. by gl4ss · · Score: 2

    I got one combined word for these guys. OpenMoko.

    --
    world was created 5 seconds before this post as it is.
  17. Replicant is an apt name for this project by Artifex · · Score: 2

    I don't expect many current smartphones to still be in use 4 years later.
    In fact, I might rename my phone "Roy," if that's not too Batty.

    --
    Get off my launchpad!
  18. Every ecosystem needs a Debian by PAPPP · · Score: 2

    It's much easier to sell vendors on "Hey, use this, you don't have to develop your own" than "Open up that code you wrote because it's the right thing to do." Good, working, open solutions trickling in upstream because they are established and convenient is the best way to make a platform open, even if the fully open versions are never quite as friendly. The strictly Free systems, like Debian and Replicant, are how the open solutions get developed, improved, and established as standard so that everyone benefits.
    I'd love it if the SoC vendors were on board, but that would require a very large external disruption. Making open (preferably GPL-style so it stays open) code the standard will win out by attrition.

    1. Re:Every ecosystem needs a Debian by b0101101001010000 · · Score: 2

      We already have it at Linaro: Look at this build from Linaro: https://android-build.linaro.org/builds/~linaro-android/panda-ics-gcc46-kwg-upstream-open/ That is a 100% open Panda Android build based on the upstream Linux kernel. No proprietary libs at all. Or this one: https://android-build.linaro.org/builds/~linaro-android/imx6-ics-gcc47-freescalelt-stable-open/ That's a 100% open iMX6 build against GCC 4.7 that has no proprietary components. So not only is it possible, its being done.

  19. Re:Say goodbye to most coprocessors. by oakgrove · · Score: 4, Informative

    I've had some reversed engineered drivers in Linux that stomped the closed source Windows counterparts. A USB cellular data dongle I got from Verizon years ago took over a minute to connect in windows and would disconnect constantly. In Linux with the free driver it connected in about 5 seconds and never disconnected unless I explicitly told it to. I'm sure there's more to it than just the driver itself but just because something is a reverse engineered piece of code doesn't mean it's going to be worse especially if the OEM intentionally puts some bullshit in their drivers to please their real customers, e.g., Verizon et al.

    --
    The soylentnews experiment has been a dismal failure.
  20. Re:Definition of Open by x1r8a3k · · Score: 2

    I was under the impression that Android itself is fully open, but drivers are not. So while you could load a free copy of android on your handset, nothing will work without a binary provided by the manufacturer of the component.

    Obviously the extent of this will vary from handset to handset, but this can include such things as wi-fi, phone radio, touch sensor, display adapter, and audio. So this is really more about making an open way for Android to work with hardware.

    This could all be very wrong though.

  21. Re:Say goodbye to most coprocessors. by Bill,+Shooter+of+Bul · · Score: 2

    Uh, Unix means many things these days, but back in the day one thing it wasn't was closed source. The source was out there. Where did you think BSD came from?

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.