8 ms·
The "android isn't very open source" sentiment really bothers me and I see it a lot here. It is a complete and fully functional mobile OS under extremely permi
by stusmall 13y ago
The "android isn't very open source" sentiment really bothers me and I see it a lot here. It is a complete and fully functional mobile OS under extremely permissive licensing. Pull it! Change it! Build it! Fork it! Whatever! AOSP is open source.
Look at the closed source services google adds. As far as I know they are all related to google services(Someone please correct me if I'm wrong). Their store, their maps, their email, their location services. This isn't needed in the open source distro and it works great without them. Also there are a lot of restriction on the brand and how you use it when release an Android product. That isn't unique to Android. See firefox vs iceweasel.
Sure sometimes it gets annoying that a lot of Android design decisions are made behind closed doors and in working in the framework sometimes I have to play the game of "Guess what the Google engineer was thinking" because documentation can be scarce. Also from what I've heard sending changing upstream isn't an easy process. These things are nice and make it an easy product to work with... but aren't required for it to be truly open source. The code is there in a series of open git repos and under Apache license. That is open source in my book.
- ageorgia 13y ago>The "android isn't very open source" sentiment really bothers me and I see it a lot here. >AOSP is open source. Clever switch there from Android to AOSP, no wonder its the top comment. The difference between them is what the author is talking about. You just prove his point.
- Mister_Snuggles 13y agoI think the issue is that all of those Google services are really what makes Android Android. An Android phone lacking integration with Gmail, Google Calendar, etc, without something else to make it compelling (like the Kindle Fire), would be a pretty tough sell I think.
- ForHackernews 13y agoThat's true, but if say, Microsoft, wanted to, they could clearly create replacements for those services. Now, it's arguable whether an Android phone with Hotmail + Bing Maps integration is even an improvement, but at least it's possible. In China, most Android phones are already sold without Google services: http://www.radiofreemobile.com/android-in-china-no-google-here/ http://www.radiofreemobile.com/android-in-china-no-google-he...
- hrkristian 13y agoYou could say the same for GNU. What is Linux without a DE? And a fancy DE like GNOME Shell pulls in a lot of dependencies, the latest furore in that area is GNOME&systemd. Difference between systemd and GMS is, developers aren't making money off of systemd being in their control, Google relies almost wholly on it for Android profits. Android is a fully functional Linux based operating system. To expect GMS to just be handed out like it was a keg party flier without considering the actual economic reality of running Google is ridiculous. OEMs like Samsung weren't fooled back in ~2004 to think they'd get an amazing OS for their phones for free, and the deal Google is offering is beyond amazing compared to how other (tech) firms do business. imo.
- drdaeman 13y agoWait, isn't GNOME a part GNU Project?
- dkuntz2 13y agoAnd Microsoft wouldn't be able to add similar integration?
- Mister_Snuggles 13y agoWhat it comes down to is really "what do Android buyers expect from an Android device?" If the consumers expect that they will get email, cloud storage, calendars, and maps then it would likely be fine for Microsoft to create similar integrations. If consumers expect that they will get Gmail, Google Drive, Google Calendars, and Google Maps, then they will likely be disappointed.
- sirkneeland 13y agoRemember there are billions of people who haven't already been locked into Google services. They don't think "I need access to my years and gigabytes worth of Gmail." They think "I want email. This 'outlook.com' thing that came with my [hypothetical MS Android] phone will work fine"
- nodata 13y agoHow about, say, the location services apis, aren't they kind of needed for most apps?
- stusmall 13y agoYou are thinking of Android as just an OS for consumer mobile phones. You don't always need Facebook to run on it for it to be useful. It is a great polished Linux distro that can find a lot of uses. Think of it as a specialized Linux without the GNU user space. It has a full rich and powerful API without relying on google. Also device integrators are free to fork away from the base APIs to add their own functionality in the same way google has. If an app wants to be portable, they shouldn't build against these proprietary APIs. This isn't a unique problem to android and doesn't make the source any less open. What I love so much about open source is that once a project is out there it can take on a life of its own. People can/have/will start cramming Android in places Google would have never expected. It makes a great base for POS systems, high end touch screen vending machines, in flight entertainment consoles, and any number of other things I can't think of but I'm sure the community will.
- blinkingled 13y agoYes but the APIS themselves are open. It is possible to yank out the Google implementation of the location services and instead use a 3rd party implementation. The OS was designed to make something like this possible. Nokia could plug in their location services trivially for example if MSFT goes Android. (Not that I think it's a good idea but it's doable.) There are other ways too - Sky hook for example seems to offer location services SDK http://www.skyhookwireless.com/location-technology/sdk.php http://www.skyhookwireless.com/location-technology/sdk.php for the Kindle Fire which doesn't ship with GApps.
- scholia 13y agoGood point, but does this actually solve the "shortage of apps" problem if you don't have access to GMS and Google Play? All this came up because of a couple of articles that said Microsoft should dump Windows Phone and do Android phones instead. So, would Microsoft have more problems getting developers to write for Windows Phone (and Windows 8 Metro) or for a forked version of Android? Also, technically, you don't need an Android phone or tablet (or Linux) to run Andoid apps, since Bluestacks does this... though you might run into the same problem with GMS.
- alexeisadeski3 13y agoExactly - and isn't the Kindle Fire OS a successful Android fork?
- drdaeman 13y agoGoogle's AOSP is FOSS, Android you get on a typical phone isn't. You got bunch of proprietary binaries, kernel source code (usually, even without a toolchain to build it), and, well, that's about it. Fuck open source, I don't give shit about Samsung/Sony/Motorola developers and how they are happy with Apache license they took AOSP under. I - the user - want free software on my phone and I mean the software that respects my freedoms. In this regard, average Android phone isn't free by any standards. But, yeah, right, AOSP is open. Like this fact is of any use to an average tech-savvy consumer who's not skilled at reverse engineering.
- notatoad 13y agoIt's not open source because the average consumer wouldn't know what to do with the source code? what the hell kind of argument is that? Open source isn't about end-users, it's about developer freedom. And developers are free to use android to build things. that's what open source is. Just because you've chosen to create your own ill-informed definition of what open means, doesn't make android any less open.
- drdaeman 13y agoIt all boils down to what you call "Android." AOSP is open source, I've already said that. It doesn't care about my freedoms (so I don't care about its openness), but it's "open" as in OSI definition. That's true and I've never argued about that. However, typical Android you get on smartphone (that's called "Android", too) is neither open nor free - it's usually completely proprietary bootloader, firmware and userspace, you won't have any source code for anything except for GPLed parts (i.e. Linux kernel). It just happens that those proprietary binaries were mostly built from unmodified AOSP code (but you can't really tell if code's modified or not), but this doesn't make them open.
- barbs 13y agoI'm surprised no-one's mentioned Replicant, which "aims to replace all proprietary Android components with their free software counterparts" http://en.wikipedia.org/wiki/Replicant_(operating_system) http://en.wikipedia.org/wiki/Replicant_(operating_system)
- zobzu 13y agoits not what makes an android phone and android phone. so.. the argument is valid, android as a whole, coming from google, isn't open source. only AOSP is. And heck, even the AOSP maintainer resigned some time ago because AOSP didn't include open source drivers and what not.
- rbanffy 13y agoIt's somewhat analog to OSX. The kernel and low-level services are open-source and made publicly available on http://opensource.apple.com/ http://opensource.apple.com/. From that point and up, OSX is proprietary. Android would be somewhat analog to Darwin + Finder being open and iTunes, iPhoto, Mail and others being proprietary.
- zobzu 13y agoyeah, somewhat. that being said, AOSP does provide a little more than Darwin does, mainly, there is some UI provided. Otherwise, .. yeah. It's also getting closer and closer to that model.
- danieldk 13y agoIt provides a lot more, otherwise Cyanogenmod wouldn't be possible. I have a cheap Huawei phone and replaced the annoying stock firmware with KitKat per Cyanogenmod and it's virtually impossible to see the differences compared to my Nexus 4 besides logo's and the extra features that Cyanogenmod has (I installed the Google Apps bundle). At this point in time, it would be nearly impossible to make an open source, fully compatible, version of OS X. Replicating the APIs and user interface would probably cost hundreds of millions and a few patent lawsuits.
- zobzu 13y agoas you said, you installed the google apps. well, google apps are 100 megs. guess why. Its not just gmail and what not. It includes all the proprietary APIs, everything. You don't get any of that in AOSP. Reinstall CM but do not installed gapps, and you'll have something close to AOSP (well, better than AOSP still) I bet you don't last a day before you'll install gapps again (and thus all the google proprietary libs, etc.)
- rdtsc 13y ago> That is open source in my book. Have you actually built and installed AOSP on a device? If you have you might not completely agree with that statement above because without proprietary firmware and closed sourced device drivers those devices often become unusable. That is completely ignored by your post. Is it on purpose? JBQ (their AOSP "liason" to the community even quit over that issue) -- people complaining that open isn't really that open. https://plus.google.com/+JeanBaptisteQueru/posts/9HHRURorE7g https://plus.google.com/+JeanBaptisteQueru/posts/9HHRURorE7g So it is not just me raving about. I understand Google though. They don't design all those sensors and drivers and all the hardware but have other manufacturers make the devices who buy components from others and so on. So they don't have a choice. But regardless of blame assignment here, I can't honestly say the system is completely open. Now if you are Amazon or Microsoft, ok, you can find a hardware builder with its own custom drivers just for your device, then forking could work out. But for enthusiasts and experimenting you need to download the proprietary drivers to get a usable device, simple as that.
- blinkingled 13y agoSo write your own open source reverse engineered drivers or find a manufacturer that gives you docs for their sensors. It's what the Linux crowd has done for a decade now. That's what hacking and tinkering are all about. They are doing free and open Adreno drivers for example. Also Tegra. Saying Android is not open source because it doesn't come with open drivers for all current and future hardware is just plain impractical. It just means you want everything in your plate. It doesn't mean Android isn't open. Edit: Noticed people might be taking offense to my strong wording.
- tmzt 13y agoQuite, but by the time you finish that the next generation is out and everybody has moved on. The same thing happened with the HTC devices and Linux ports, it took years to get a port working and by the time it did everybody had a newer Android device (or whatever). A few people still use the HD2 and I still see questions on our (HTCLinux) Facebook page from people, but, for the most part, even XDA has moved on. The 'current and future hardware' part is what Linux is really about, it's an abstraction layer over the specific hardware so that the user experience can be implemented once and used on many devices. Unfortunately, the lack of support for current 3D hardware means that the abstraction is incomplete. The development processes of the OEMs also break this abstraction, with everything build around one version of the kernel, one version of the phone HAL, one version of the camera driver and module, and the rest. Android, as delivered by OEMs, is not designed to adapt to other hardware. It's open in the sense that the core code is available, but not in the sense that the higher layer can be used as is on a new device. Support for future hardware is not neccesary, but a profile that allows that hardware to be used once drivers are provided is desirable. This requires a strong abstraction between the Android userland and Linux kernel, GLES with standard DRI/DRM interfaces, UVC for the camera module (or an SoC-specific open specification much like ASoC is for audio), standard IOCTLs and sockets for network devices (wifi could use net80211 for instance), upstream Bluetooth stack including WiPHY, HE, and LE support, with working A2DP audio routing, input devices with valid metadata in the driver so they can be probed, supported flash filesystem, and probably some others. Then Google takes this and builds a set of tests that verify that these requirements have been met, and states that the next 3 versions of Android will use this base. They also provide an ABI guideline (so version) for the phone interface, the audio playback, sensors, and other aspects provided by libhardware. They make the same commitment: the next 3 versions will require this so version of libhardware. The OEMs get this set of guidelines and build a device to meet them, passing the tests provided by Google. Then Google releases an OTA version of Android that works on top of this base. Then they release another, and another. As features require it, they amend the guidelines, adding NFC for instance. Not all devices support NFC and on those that don't, the functionality is not exposed by Android.
- coldtea 13y ago>The "android isn't very open source" sentiment really bothers me and I see it a lot here. It is a complete and fully functional mobile OS under extremely permissive licensing. Pull it! Change it! Build it! Fork it! Whatever! The fact that you could theoritically "fork it and change it" doesn't change the fact that Android, the thing that is actually shipped, is not open itself, in the sense that it's not a community project, where everybody's opinion has equal weight based on their work, community standing, etc. Without an actual community behind it, like Gnome or KDE, or FreeBSD have, one cannot influence it much, one's vote doesn't count, and "fork it and change it" is not really feasible -- who'll be paying for that? >The code is there in a series of open git repos and under Apache license. That is open source in my book. Well, that's the least interesting part of being open source. The actual important attribute of being open source is being a community project (cathedral vs bazaar etc).
- greatsuccess 13y agoIt "bothers" you? How can it "bother" you? You arent an AOSP developer. The license is not what the author is referring to, he's referring to the fact that YOU, or I or ANYONE cannot sign up to develop AOSP and contribute to the project because its just a code dump from google with a license. Thats NOT open source and if you think the license makes it so then you need to go up and try to make a commit no matter how trivial to AOSP. Dont be a fool...fool.
- ewoodrich 13y agoNot even Richard Stallman defines open source (or rather free software) like you do. [1] AOSP meets all of the criteria, and it's a code dump with a permissive license that you are free to fork and redistribute as you wish. There's no rule that free software requires accepting pull requests from the entire world. [1] https://www.gnu.org/philosophy/free-sw.html https://www.gnu.org/philosophy/free-sw.html
- greatsuccess 13y agoThe beauty of open source is that Stallman doesnt really matter. There is no community developing around Android except for the google play store because to do so would be futile. (Yes I actually READ the article). If a text blob of nonsense at the top of a source file makes you open source then WOW. How about Doge-Source? Such open, very free.
- greatsuccess 13y agohttps://en.wikipedia.org/wiki/Doge_Source https://en.wikipedia.org/wiki/Doge_Source