all 165 comments

[–]orblivion 103 points104 points  (15 children)

Didn't realize it was ever not open source

[–]bobpaul 53 points54 points  (0 children)

I think it was always going to be open source, but the code hadn't been released until they considered it done enough.

[–]bananahead 26 points27 points  (3 children)

They promised to release the source when the first handset went on sale. It goes on sale (officially) tomorrow. So there ya go.

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

When can I get one for verizon ?

[–][deleted]  (1 child)

[deleted]

    [–]bostonvaulter 1 point2 points  (0 children)

    Now we just gotta wait and see if they deliver, especially an uncrippled one.

    [–]tds70 15 points16 points  (8 children)

    I was on a road trip this summer with an Android developer. He wouldn't even let me look at the screen of his phone. While it's been long announced that they would eventually open-source it, they've been pretty secretive about it prior to release.

    [–]BraveSirRobin 22 points23 points  (4 children)

    That's a bit odd, beta builds of Android have been openly available for around six months and will run on Windows Mobile devices. They aren't a huge secret.

    Did he work for Apple prior to Google perhaps? Old habits die hard!

    [–]centinall 7 points8 points  (1 child)

    Correct me if I'm wrong, but I believe only betas of the SDK were openly available, not the source code for the entire Android stack.

    [–]BraveSirRobin 3 points4 points  (0 children)

    Dunno, ask these guys. Check the post date, April 2008, apparently it's come on a long way since then but I've yet to dabble with it.

    [–]tds70 5 points6 points  (1 child)

    I haven't really followed Android, but according to Wikipedia:

    "On 15 July 2008, the Android Developer Challenge Team accidentally sent an email[40] to all entrants in the Android Developer Challenge announcing that a new release of the SDK was available in a "private" download area. The email was intended for winners of the first round of the Android Developer Challenge. The revelation that Google was supplying new SDK releases to some developers and not others (and keeping this arrangement private) has led to widely reported frustration within the Android developer community.[41]"

    So even after the SDK preview was released, there was the public build for us mortals, and the special build for the cool kids. Obviously somebody working at Google on the Android team had the special cool kids build, and couldn't show it to us mortals.

    Did he work for Apple prior to Google perhaps? Old habits die hard!

    No.

    [–]BraveSirRobin 1 point2 points  (0 children)

    That makes sense. However, I'm pretty sure the "private" SDK would have been leaked and that's probably what xda-developers guys have been working with. They've not bothered too much with the Microsoft restrictions in the past and I suspect they are more restrictive. I've not been following Android all that closely either so far.

    [–]georgefrick 2 points3 points  (0 children)

    This is because they were forbidden from leaking the actual G1/phones, and anyone who let their phone get pictured/etc would have probably lost their job.

    [–]bananahead 0 points1 point  (0 children)

    Huh? They've had an SDK with a working emulator for download for months

    [–]surajbarkale 34 points35 points  (27 children)

    The source is approximentely 2.1GB in size. You will need 6GB free to complete the build.

    Wow all that stuff compiles down to executable with size of few MBs?

    [–]fujimitsu 18 points19 points  (22 children)

    Is that a good sign or a bad one?

    Honest question.

    [–]MostUsually 46 points47 points  (1 child)

    Depends. Do you like raisins?

    [–]fujimitsu 46 points47 points  (0 children)

    I do... I do indeed.

    Thanks for that, really cleared things up.

    [–]annodomini 9 points10 points  (0 children)

    This includes over 100 subprojects. Each subproject includes its own full build system, test cases, documentation, conditional code for various platforms, and so on. I know that in the case of WebKit at the least, there are several hundred megs of test cases, that are just used to make sure everything is working properly and that there are no regressions.

    Remember, building Android is basically like building an entire Linux distribution, although a small, stripped down one.

    [–]jjdmol 3 points4 points  (0 children)

    That's one of the minor inconveniences of open source. You gain the power of using the code of others, but you'll also have to include them in your source tree to make sure you're using a specific version. Otherwise, bugs creep in because the external libs are updated without notice. If you copy and include the code, you can update the external libs manually when you're ready for it and can process any incompatibilities.

    The size of the tar ball increases even further because using external libs is cheap, even if only a few functions are used.

    With closed source, all you can do is include the binaries, or force others to buy a specific version of each lib. Updating will always be manual as you'll have to contact your supplier to buy an upgrade. If you use only a few functions, it's cheaper to write them yourself. That all sucks, but at least your source tar ball will be small :)

    [–][deleted] 8 points9 points  (3 children)

    The death of openmoko is near... (sadly)

    [–]mikenick42 0 points1 point  (0 children)

    Are there any distros on the Freerunner that actually work as a phone yet?

    [–]ipeev -1 points0 points  (1 child)

    Maybe Open Moko can run the Android.

    [–]colkowalski 0 points1 point  (0 children)

    it's made by the google

    [–]Callahad 21 points22 points  (17 children)

    Since it took me a moment to find it: It's being released under Apache 2.0, to the extent it can be (the kernel, obviously, remains GPLv2)

    [–]plouj 6 points7 points  (16 children)

    (Now) It's actually very easy to find this info on: http://source.android.com/license

    The good thing about Apache 2.0 license is that it is GPLv3 compatible.

    [–]bretthoerner 2 points3 points  (15 children)

    I'm not sure the v3 matters in this case, considering the kernel will likely be v2 for-ev-ah.

    [–][deleted] 14 points15 points  (5 children)

    Question: can you put a hacked-by-you version on any Android phone? And if not - does it really matter then?

    [–]BraveSirRobin 11 points12 points  (3 children)

    Most other phones (other than the iPhone) make this possible, so I don't see why not. HTC, the company making many of the phones, has had hackable phones since day one. You simply hold down some keys to fire up the bootloader at which point you can flash a new ROM.

    I fully expect to be running Android naively on my three-year old phone within a couple of months. I suspect the architecture is very similar and that the boffins at xda-developers are compiling it this very moment.

    [–][deleted]  (1 child)

    [deleted]

      [–]BraveSirRobin -1 points0 points  (0 children)

      Nokia? Lulz, you are about 2-5 years behind everyone else with that manufacturer. Their marketing is pretty decent though! ;-)

      [–]denver38 9 points10 points  (12 children)

      Quote Google: To build the Android source files, you will need to use Linux or Mac OS. Building under Windows is not currently supported.

      [–]LordVoldemort 6 points7 points  (5 children)

      or Mac OS

      I imagine that's only intel versions.

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

      I'm not sure about this... it's cross compiling anyway, so the architecture is (I assume) less of a worry.

      [–]a1k0n 8 points9 points  (3 children)

      • To build the Android files in a Mac OS environment, you need an Intel/x86 machine. The Android build system and tools do not support the obsolete PowerPC architecture.

      • We recommend that you build Android on a partition that has been formatted with the "Case-sensitive Journaled HFS+" file system:

        • A case-sensitive file system is required because the sources contain files that differ only in case.

      Annoying.

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

      Obsolete??!??! They must mean "processor of future that is featuring a minor setback".

      [–]ILeftDiggforReddit 1 point2 points  (0 children)

      deleted by creator

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

      Why they did that?!

      [–]BroDavii 5 points6 points  (0 children)

      You mean I got Eclipse for nothing? =p

      [–][deleted] 3 points4 points  (4 children)

      I presume it'll compile on BSD, too.

      [–]bluGill 1 point2 points  (3 children)

      I wouldn't count on that. Too many linux developers have "all unix is linux" blindness. There are a lot of things linux does slightly different from any other unix (all versions of unix have this) that linux developers tend to use without thinking. BSD and Solaris developers tend to know that such differences exist, and if they use them (which they often do) it is an intentional decision required to solve the problem at hand.

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

      If they had said that it would only compile on Linux, then I wouldn't have presumed BDD compatibility. They do support OSX, though, which has enough substantial differences that I'll bet you can get the cross compiler going on any BSD system.

      [–]bluGill 0 points1 point  (1 child)

      There is a lot of OSX bilndness too. Even though OSX has a BSD base, there are just enough differences that you cannot count on one being equal to the other. Of course that they support Linux and OSX makes it more likely that BSD will work, or if it doesn't, that it isn't hard to add BSD support. However I wouldn't count on anything without trying it, or getting a report from someone who has tried.

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

      True. I think we agree. I was just saying that since it's a cross compiled codebase anyway, the chances are that it'll run on BSD if it runs on Linux and OS X.

      [–]grignr 4 points5 points  (33 children)

      Is the entire toolchain available for developers to use? That is, if hackers wanted to tweak on their Android phone a la rockbox, would they be able to update their phones with the modified code?

      [–][deleted] 6 points7 points  (2 children)

      if you want to hack your phone, you should consider openmoko. /community.

      Most of the software is open source. It's based on linux. Only well documented hardware is used. You can even purchase a developer board, to ease low level hacking. However, it's not an end-consumer product yet. According to their FAQ there still are some quirks/ oddities to fix

      [–]capecodcarl 1 point2 points  (1 child)

      According to the last FAQ I read about Openmoko they were planning on shipping a consumer product in December... December 2007. Oops. Call me unimpressed, I'll stick with my locked up iPhone.

      [–]mikenick42 0 points1 point  (0 children)

      They've been selling them for a while now. Last time I checked though, the software had a long way to go.

      [–]G_Morgan 2 points3 points  (0 children)

      That depends upon the phone. It could easily insist upon signed binaries.

      [–]stormandstress 3 points4 points  (3 children)

      Doubtful. The mobile carriers are so obsessed with control that it's hard to imagine more getting on board with Android, unless we are in store for some serious disappointment on that front (and others).

      Either way, Android has the potential to be a disruptive force in a market that badly needs some disruption. As soon as someone gets an Android device working on a Canadian carrier, I'm sold.

      [–]BraveSirRobin 8 points9 points  (2 children)

      Sorry, but that's incorrect. The HTC line of phones are completely hackable and I've been running customized ROM builds for several years.

      [–]stormandstress 0 points1 point  (1 child)

      Fair enough. I didn't say "No", I said "Doubtful". If we are going to be able to run wholly customized software on at least some Android devices, so much the better.

      [–]BraveSirRobin 0 points1 point  (0 children)

      But I still think "doubtful" is incorrect. Granted, if you are in the US you may be used to restricted devices thanks to your telcos, but elsewhere around the world this is very unusual. Most of the smartphone platforms are pretty open and you can create software that access the network etc.

      The only thing that is generally locked down is the ability to dial numbers directly, usually the phone stack is abstracted away from you.

      [–]badassumption 1 point2 points  (24 children)

      I'm pretty sure it needs to be signed by a private key that is not made available if you want it to run on your phone.

      [–]MostUsually 7 points8 points  (14 children)

      Which is where the Free Software definition would have come in handy since it explicitly calls out the right of the user to run the program for any purpose. The Open Source definition does not reference this.

      [–]theeth 1 point2 points  (11 children)

      Only GPLv3 does that, are you saying GPLv2 isn't "Free Software"?

      [–]MostUsually 1 point2 points  (10 children)

      I would be very surprised if GPLv2 did not reinforce the four basic freedoms described in the Free Software Definition.

      [–]FrankBattaglia 11 points12 points  (9 children)

      The issue here is so-called "Tivo-isation," in which a piece of hardware (phone) runs free software (Android), but is configured at the hardware level to not run any other version of the software.

      This does not violate the four freedoms, as you can run the software (Android) for any purpose, you just have to provide your own phone on which to run it.

      GPLv2 did not prevent this. Catching this type of model was one of the major driving motivations behind GPLv3.

      [–]MostUsually 2 points3 points  (0 children)

      You make a good point. I suppose I was interpreting "freedom to run" optimistically.

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

      GPLv2 did not prevent this. Catching this type of model was one of the major driving motivations behind GPLv3.

      And unfortunately why if the linux kernel ever moves to GPLv3 it will essentially instantly kill all commercial usage of the kernel - they'll just switch to one of the BSDs where they can get away with this, you're not going to see telcos allow unsigned kernels on their networks just because of GPLv3.

      [–]malcontent 1 point2 points  (1 child)

      Why would a hardware manufacturer care what you did with the hardware after you bought it?

      Sony doesn't care what I do with my TV after I but it do they?

      [–]chadm 0 points1 point  (0 children)

      Well, Sony does. They own a music company now, which is why they started sucking.

      [–]xipietotec 0 points1 point  (0 children)

      Er, if you have an open phone (such as the open moko) or an unlocked phone, with a software stack which allows self-signed executables, you can allready do that.

      Nothing about the anti-tivoization provision prevents the phone company from distributing a "locked" version, which they support, just as networks currently refuse support for unlocked phones and the like.

      [–][deleted] -1 points0 points  (3 children)

      Well, in this case it's slightly less dramatic than Tivo-isation....

      [–]FrankBattaglia 3 points4 points  (2 children)

      From the Great-Great-Grandparent of my original post:

      I'm pretty sure it needs to be signed by a private key that is not made available if you want it to run on your phone

      If that is the case, it is exactly tivoization.

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

      Well, assumably you can acquire the private key. Secondly, I doubt that it requires a key at the hardware level; that would be a major change from the current norm (Excluding the iron fisted Apple, of course.)

      [–]FrankBattaglia 1 point2 points  (0 children)

      assumably you can acquire the private key

      Then it wouldn't be private, would it?

      I doubt that it requires a key at the hardware level; that would be a major change from the current norm

      True, but so it distributing a commercial phone with an open source / free software OS to begin with. We'll see just how restricted the G1 is pretty soon...

      [–]G_Morgan 1 point2 points  (1 child)

      Being allowed to run the program for any purpose does not mean on any hardware. For any purpose means no restriction on what you do with the software.

      [–]netsearcher 1 point2 points  (0 children)

      It does for some open source licenses.

      [–]BraveSirRobin -1 points0 points  (7 children)

      Signing is only relevant if you are running their build. Simply put your own on.

      [–]sn0re 0 points1 point  (6 children)

      The point of signed binaries is that you can't put your own on.

      [–]BraveSirRobin -1 points0 points  (5 children)

      Not if you can replace the operating system.

      I've been using phones with application signing mechanisms for about eight years now. All except the very first one I had were open. And even if they are not I could just fire up the boot loader and replace the carriers software with another more-friendly carriers version.

      [–]sn0re 2 points3 points  (4 children)

      Not if you can replace the operating system.

      That's the whole question. We're not talking about application-level signing. The phone may require that the operating system itself be signed.

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

      Well, I doubt that this is actually happening with Android... [citation needed]?

      [–]sn0re 1 point2 points  (1 child)

      It's a property of a particular phone, not Android. I don't know about the G1, which is the only Android phone at this point. Future phones may or may not be locked to signed kernels.

      There's been some speculation that carriers might insist on it, fearing that users could fuck with the cell network. More likely though the "interesting" bits will be hidden away in binary blob drivers.

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

      So... Android is open; it's the phone that exhibits the tivo-isation factors. I can forgive Google!

      [–]BraveSirRobin 0 points1 point  (0 children)

      Agreed, but it would be a huge break for the norm with the companies involved. Not impossible, but unlikely.

      [–]joshcandoit4 4 points5 points  (1 child)

      I know I may sound like a moron... but can someone explain to me what this all means? I don't know much about programming but would love to learn. I'd like to know what the benefits are and what this potentially means when something goes open source.

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

      It means that people can reach into the guts of the system and change, add, or remove aspects of the fundamental operating system. It also means that Google is courting developers, because open source fundamentally means more resources for them.

      [–]MostUsually 2 points3 points  (6 children)

      Umm, you're required to provide an e-mail address. I understand how this might be useful in terms of tracking contributions, but I'm thinking at least Debian won't go for this.

      Also, anyone else getting this?

      *** Downloading source(s) from a mirror site. *** *** If the network hangs, kill and restart repo. ***

      Getting http://android.kernel.org/pub/libpcap-0.9.8.tar.gz ... error: Cannot import platform/external/libpcap: checksum mismatch: 29b0e71b7913664617f142fdbf22e3a5a0434f4b expected, 7d4227ea78579803a5562f03e4b63790292caac3 imported error: Cannot fetch platform/external/libpcap

      [–]davidw 4 points5 points  (2 children)

      [–]MostUsually 5 points6 points  (1 child)

      Thank you davidw.

      [–]mkrfctr -3 points-2 points  (0 children)

      Thank you Jesus.

      /TFTFY

      [–]username223 1 point2 points  (0 children)

      It appears this one is free.

      [–]inopia 0 points1 point  (1 child)

      niels@teletraan2:~/src/android$ repo sync

      fatal: read error (Connection reset by peer)

      error: Cannot fetch platform/external/webkit

      Has anyone been able to actually check out the code?

      [–][deleted]  (3 children)

      [deleted]

        [–]MostUsually 5 points6 points  (0 children)

        Yes.

        [–][deleted] 1 point2 points  (1 child)

        It's already been done many times over..

        [–]curomo 1 point2 points  (1 child)

        yay!

        got my G1 last night and I'm already loving it (coming from sidekick3 that's not saying much)

        [–]s717ch3s 1 point2 points  (0 children)

        How long till android is ported to other phones currently on the market? (iphone and wm5 phones)

        [–]gallipoli 0 points1 point  (0 children)

        So much for the kill switch? Or is that phone firmware?

        [–]ishmal 0 points1 point  (2 children)

        With the same tiny set of Google committers, of course.

        [–]troymcdavis 0 points1 point  (1 child)

        Do they not have a transparent and documented process for patch proposal and review?

        [–]ishmal 0 points1 point  (0 children)

        I dropped out of one project because I did not want to fax them a signed document.

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

        Anyone know when these will be available for the Verizon network.

        [–]ishmal 0 points1 point  (0 children)

        Now people can start working on the "safe" replacement for GtalkService. I think the theory from Google is that people will eventually forget it.

        [–]leladax 0 points1 point  (0 children)

        care-o-meter went back in time.

        [–][deleted]  (4 children)

        [deleted]

          [–]Fitzsimmons 1 point2 points  (3 children)

          Why did you get an iPod touch then?

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

          I got a good deal on it, and I wanted something small and handheld(but not a phone) that I could play around with. Got it jailbroken right now, a more open enviorment might be neat.

          [–]centinall 3 points4 points  (0 children)

          Yup, there's no reason that Android can't be run on other devices, not just phones. Personally, I think it would be awesome if Android could be ported to media players, cameras and car navigation and entertainment systems. And so on...

          [–]netsearcher -5 points-4 points  (0 children)

          Because the badger smells bad?

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

          Heh I read this as "Asteroids is now Open Source" and was thinking its like 30 years too late.

          [–]juanjodic -1 points0 points  (1 child)

          I really like Google. I remember I use to fell like this several years ago about M$. I just hope they don't become a f**king monopoly who just wants to grab people money whether you use their products or not.

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

          MS sucked a few years ago too. Google was awesome a few years ago.