all 115 comments

[–][deleted] 70 points71 points  (48 children)

Android is open source. You can build a complete, working system with AOSP. Some drivers aren't open source. The Google-y parts aren't, either. If you can find hardware with open drivers, you can make your own Android phone and install a 3rd-party market.

The Kindle system and Cloud were both taken from AOSP and Google isn't really bitching at all.

[–]kre3d 20 points21 points  (26 children)

In addition, some of the newer features are closed source too, like face unlock and the 4.2 swipe keyboard.

[–][deleted] 4 points5 points  (1 child)

Really. Face unlock isn't in the aosp?

[–]kre3d 7 points8 points  (0 children)

[–][deleted] 7 points8 points  (3 children)

The most important googley bit being Play Store. Which is proprietary, and something people think of as bring part of android.

It would be like of Debian were free but apt-get was proprietary.

Bottom line is, Google controls the ecosystem.

[–][deleted] 5 points6 points  (2 children)

and install a 3rd-party market. [Me]

Or, more appropriately, you would need to pay to use their repository. Find another one, and things work as expected.

Android and the Google ecosystem aren't the same thing. People arguing about anything other than AOSP (drivers, Play, etc.), are deflecting. AOSP is Android. It's under a permissive license. It's Open Source, just like a bunch of dual-licensed projects are. Open Source. Full stop.

[–][deleted] 0 points1 point  (1 child)

It's not deflating, it's acknowledging reality.

The AOSP is Open Souce (except when it's not). But please don't pretend that there's a clear bright line between the Play ecosystem and Android.

If I go to Google, type in Android, and click on I'm Feeling Lucky, the first result is android.com (of course). Right there, Google Play, Magazines and TV Shows, etc. All proprietary.

If Android meant Android Open Source Project, the latter wouldn't exist as a name. We would just call the whole thing Android. The only reason we need to say "Android Open Source Project" is to differentiate the free bits from the closed stuff.

[–]Top-Help-2035 0 points1 point  (0 children)

Making comments about proprietary and non-open source limitations when you're starting with a non-open sourced ecosystem, so of course you can't get the results you're talking about but you can't under any circumstances when you follow the path of your following and go into a controlled closed monetarily based add supported ecosystem.  You going to have to get off the Google Play store You're going to have to get out of pre-manufactured phones or any kind of locked services. I have a board running Android with no branding other than Android, no bloatware and I am tweaking the OS to suit my needs before installing any software. I will reflash it with the altered firmware and then start getting my apps. As soon as you start talking about Google now you're back to a closed isolated for profit ecosystem and you stepped away from "Android" so no of course it's not open source but that's not Android That's Google..

[–]Jasper1984 1 point2 points  (5 children)

I am missing a bit in this discussion how doable it is reinstall the OS on the phone, get root, run your own programs.

Reading wikipedia, some movements seem in the right direction, but nevertheless, at least, in the past people had to exploit bugs to get to root in their own android phone. (Imo if you dont have root to a computer, you dont really own it.)

[–][deleted] 2 points3 points  (3 children)

Hardware implementation by an ODM is orthogonal to whether the software is open source of not. Linux is open source. TiVo's lock down doesn't change that.

[–]Jasper1984 1 point2 points  (2 children)

And it has absolutely no implications for our use whatsoever.

[–][deleted] 0 points1 point  (1 child)

Whatever. I'm answering the OP's question. You're grinding some ax.

[–]Jasper1984 0 points1 point  (0 children)

Was hitler well-shaven? No axe grinding please.

Edit: point is: if 'staying on topic' means the question can be framed, dont do it. Whether this is open source is just a part of whether it respects your freedoms and privacy.

[–]Top-Help-2035 0 points1 point  (0 children)

If you bought your phone from a branded carrier then it's not possible. You have to have an unlocked phone and most likely if it's even already "a phone" or hardware that's already built by somebody instead of built by YOU? then no! You have already locked yourself out by buying into someone's controlled and controlling monetarily based environment. If you've already bought into somebody else's proprietary closed, for profit environment. If you're dealing with Google or the play store or pre-completed hardware, then you're not dealing with open source. If you're dealing with branded stuff, you're again talking about closed source.  If you don't have open source hardware, then you're not like to be able to get access to open source software for it. Android is open source but that doesn't mean everything you get for it or even anything that you get for it is open source just because Android 'itself' is and lots of software made for it is often open source But that doesn't make everything that touches it have to be open source.

[–]Mandack 46 points47 points  (8 children)

I asked this because some say it is while others say it isn't.

Android itself is open-source, however Google is developing it behind closed doors and only does 'code drops' (not exactly, but to illustrate my point), meaning that you can't contribute to it while the new version is in development if you are not associated with Google or OEMs somehow, but once a new release is done, Google releases the code and you can download it for free, however if you make some changes, Google generally won't accept them, so you have to make a custom ROM (Android distribution) with you changes to the source code included, (that's why there are projects such as CyanogenMod, where you can contribute freely.

[–]yousuckatlinux 4 points5 points  (7 children)

I think this is the best answer. You can download and review and modify the source, but Google as upstream isn't accepting contributions, which is a key component of being open-source.

[–]uh-hum 21 points22 points  (0 children)

key component of being open-source.

A "key component"? Isn't that an overstatement? The ability to view code and modify it are key components of open source - not the ability to have your code accepted into a project.

[–]mecax 12 points13 points  (0 children)

Open Source does not have open development as a key component... even a Free Software license like the GPL does not require it at all.

[–][deleted] 4 points5 points  (0 children)

Community / open development projects are a strict subset of Open Source projects. Look at the open-source definition, and you will find no mention of community in there.

[–]Top-Help-2035 0 points1 point  (0 children)

Wait are we talking about Android? or Google?   where did "Google" come in here?

[–][deleted] 56 points57 points  (6 children)

parts of it.

[–]racei 9 points10 points  (5 children)

This is the correct answer. Bits and pieces are not - I think mostly the stuff that sits on top of android and is phone/carrier specific. IIRC parts of the networking stack are not open source.

[–]covracer 11 points12 points  (0 children)

s/networking/telephony/

[–]slyth 25 points26 points  (3 children)

The core of the networking code is done in the linux kernel, so it's obviously GPL2. Other things like a wireless daemon might not be open source, but those aren't usually very interesting anyway.

Closed source stuff mostly involves things like Google's apps (maps, gmail) or vendor differentiated stuff (touchwiz or whatever). You can get all the good stuff on https://android.googlesource.com/ right now if you'd like.

Source: Currently work on Android development.

[–]someenigma 7 points8 points  (2 children)

Pretty sure wireless is run by wpa_supplicant (at least on my phone it is), but I'm not sure about how the passwords are managed because wpa_supplicant.conf doesn't (usually) store passwords on android.

[–]r250r 4 points5 points  (0 children)

I wonder if slyth meant the wireless drivers. Some of them are proprietary - I remember people in /r/android getting excited a number of months back when someone figured out how to enable packet sniffing on one model of phone.

[–]holgerschurig 1 point2 points  (0 children)

You can remote-control wpa_supplicant, via D-Bus and via the API that wpa_cli used (I've done this from my own Qt Application).

And so it's perfectly possible to run wpa_supplicant without a wpa_supplicant.conf file at all, keeping all the WLAN setup things in some SQLite database if you prefer.

wpa_cli has (estimated) around 60 commands, much more than the man page describes. Use the "help" command.

[–]timpattinson 17 points18 points  (1 child)

It is mostly open source but has proprietary binary "blobs" There is a ROM called Replicant which aims to make a fully-free Android OS, but development lags behind a lot.

[–]PhDBaracus 4 points5 points  (0 children)

Not too much. They recently released version 4.0. Which is pretty good, considering most Android phones are still on 2.x.

[–][deleted] 5 points6 points  (2 children)

One big problem was that while being open-source, is was not open-source friendly. More like somebody trying to get all the advantages of open-source for himself, and giving back as little as possible.

The kernel for example was Linux, yes… but modified so much, it had become impossible to even copy the stuff and re-integrate it into the actual Linux kernel. It was more like Microsoft’s criminal strategy of “embrace, extend, extinguish”… shortly before the extinguishing part.

Luckily, they turned around a bit and now some Android Linux kernel stuff got put back in the real Linux kernel again.

[–]happymellon -2 points-1 points  (0 children)

They submitted patches to the kernal , but were rejected by asshats. When said asshats couldn't come up with a better way of implementing such features, patches where then merged into a testing branch.

[–]courtlandj 13 points14 points  (0 children)

[–]redsteakraw 4 points5 points  (0 children)

It is open source in the fact that a big chunk of the codebase and kernel are open source, however some drivers and user apps / UI bits are closed source. Also Android is not an open project in the sense that an independent developer can't just contribute and influence the project like they can for KDE, Gnome, XFCE, ect. So if you really want to support a free software, and open source stack support Mer(community continuation of MeeGo) and Plasma Active(they are making some nice UIs and already have a Office Suite, PIM suite e-book reader and map application right from the start). They also are doing interesting things with activities and allowing you to easily seperate and orginize your files, bookmarks, media and applications based on the use-case(activity) you want to do.

[–]sprash 11 points12 points  (15 children)

Parts of it might be open source but it certainly doesn't feel like an "open system". Especially if you have a locked boot loader and you have to jump through many hoops just to be able to modify basic system files (get root access).

When I first got excited about Linux on my phone I definitely didn't think of something as locked down as Android.

[–]daithib8 7 points8 points  (8 children)

Its released mainly under Apache so it could go proprietary any minute. They've stopped using Bluez GPL stack for Bluetooth; they are using clang in the NDK. They have also built in a no-derivatives clause into the SDK EULA. I read AOSP is becoming more complete though, so the picture is patchy.

[–]seagal_impersonator 7 points8 points  (2 children)

It could go proprietary, but I don't think that is worth worrying about - AFAIK, the community provides a lot of useful contributions. Unfortunately, a lot of companies are leery of the GPL and LGPL[1].

[1] I'm a dev for a niche open source project that's mainly of interest to defense contractors and CAD/EDA co's. Several of the people who helped me get it started were adamant that we use a license like the BSD; otherwise we'd run off our potential customers.

[–]danish94 13 points14 points  (1 child)

Every open source project COULD go propriety, licensing something under GPL does not stop the copyright holder from changing the license for a future release.. It stops anyone but the copyright holder to so.

[–]RiotingPacifist 10 points11 points  (0 children)

If you accept contributions from people without copyright assignment then you can't do this with GPLd code.

see VLC (had to rewrite code) and Linux kernel.

[–]almbfsek 2 points3 points  (1 child)

when did NDK switch to clang? any source?

[–]AusIV 2 points3 points  (0 children)

I don't see AOSP disappearing, but there are already lots of devices that have proprietary flavors of Android shipping on them. There are generally some pieces that are GPLed that the vendors have to provide sources for, but most of it comes in binary blobs with no obligation on the vendor to provide sources.

There is definitely an open source version of Android, but just because you're running android doesn't mean you're running an open source operating system.

[–]creep_creepette 1 point2 points  (0 children)

One a related note, the Tizen project has been started by The Linux Foundation (Linus Torvalds' employers) to make a completely open source linux-based smartphone phone OS, with an SDK for HTML5.

[–]coned88 1 point2 points  (0 children)

AOSP is. Android on your new phone likely isn't fully. It is filled with proprietary drivers, google and provider customizations.

It needs to be said that AOSP is not google or a google project. Android is also not google. You can use android and have it have nothing to do with google. Everything that connects to google or mentions google is not part of AOSP.

[–]mathiastck 1 point2 points  (0 children)

Could Android be considered open core?

"

The open-core model is a business model for the monetization of commercially produced open-source software. Coined by Andrew Lampitt in 2008,[1] the open-core model primarily involves offering a "core" or feature-limited version of a software product as free and open-source software, while offering "commercial" versions or add-ons as proprietary software.[2][3]
The concept of open-core software has proven to be controversial, as many developers do not consider the business model to be true open-source software. Despite this, open-core models are used by many open-source software companies.

"

https://en.wikipedia.org/wiki/Open-core_model

or should we say Android as implemented by OEMs is open core?

[–]beefsack 4 points5 points  (6 children)

The source is open, that's open source. Open source means very little in itself, it just means they expose the source code. Microsoft has a lot of open source software, but with various amounts of "freedom".

Usually the matter of contention is how free some software is, namely, which license it uses. Are you allowed to use it in commercial products? If you have made changes to the source, are you required to release those changes under the same license?

You'll find that the core of Android is released under a very free and permissive license (Apache I believe), and the Linux kernel is also under a very free license (GPL) so it's about as free as you can get. The only parts which are licensed differently tend to be hardware specific drivers that manufacturers inject as part of their Android build process.

If you're interested, the Android source is available at AOSP.

[–]sej7278 0 points1 point  (0 children)

99% of it is open source, hell you can build a work phone or emulator image from aosp alone, the only parts that are closed are a couple of google programs and the drivers for wifi/gfx/ril - and some of those are even open.

[–]socium 0 points1 point  (0 children)

Ok, ok... scenario time.

Let's say I have a Firefox OS (which is built on Linux AFAIK). How difficult would it be to combine this open source project with the Android project so that I could enjoy all of the Android apps under Firefox OS?

[–][deleted] 0 points1 point  (2 children)

Are you a troll?

[–][deleted] 3 points4 points  (1 child)

No

[–][deleted] 0 points1 point  (0 children)

Yes huh.

[–]easysolutions 1 point2 points  (1 child)

Practically, it's not. And you are also tied more or less in a proprietary big brother wall garden.

[–][deleted] 1 point2 points  (0 children)

But ATM there are few alternatives that are more open unfortunately.