

Joe Hewitt: Android and Open Source - tonyskn
http://joehewitt.com/post/android-and-open-source/

======
pkaler
To expand on my point from last time:

Android source code is licensed under the GPL and Apache licenses and
therefore the source code is open for developers.

The Android project isn't really developed in the open therefore the process
is closed for most developers.

Most Android hardware is carrier locked, has proprietary firmware, or has
proprietary services loaded on top and therefore is closed for users.

~~~
kenjackson
"Most Android hardware is carrier locked, has proprietary firmware, or has
proprietary services loaded on top and therefore is closed for users."

Does Android mandate this or can you go and create a phone that has none of
the carrier restrictions you noted? I think you can.

~~~
m0nastic
all Android phones have three sets of restrictions:

1.) Restrictions imposed by Google, which you are free to ignore if you stick
to just the released source code of Android (like the Market or their
proprietary apps) 2.) Restrictions imposed by the Manufacturer (which you
could ignore by making your own phone) 3.) Restrictions imposed by the Carrier
(which you can presumably ignore if you make an unlocked GSM phone).

Working outside of all three of those restrictions would basically put you in
the same category as OpenMoko (which while an enterprising idea was pretty
much guaranteed to not go anywhere).

So I'd agree, "you" can go create a phone without any of the carrier
restrictions, provided you are a handset manufacturer. I'm not a handset
manufacturer, so I can't.

~~~
eli
Huh? If you want a phone without carrier restrictions, you just need to buy it
somewhere else.

It's not cheap, but it's very easy. See, for example,
<http://www.htcphonestore.com/>

~~~
m0nastic
I was actually referring to making a phone, not buying one; but I thanks for
the link. It could come in handy if I need a phone for development.

------
thought_alarm
It seems whenever someone tries to come up with tangible benefits of Android's
"openness" they invariably end up describing properties of the Palm Pilot,
Windows Mobile, and Blackberry operating systems that have absolutely nothing
to do with open source. Case in point:

    
    
        > I've been pleasantly surprised at how much more 
        > configurable Android is. The fact that you can
        > replace the home screen with a third-party launcher
        > or even make your own app store is a clear sign
        > that Google's heart is in the right place.
    

Or, it's a clear sign that Android isn't well designed and is no different
than most of the other mobile devices that have appeared in the last 10 years.
And if you purchase a locked-down Android device from your carrier then it
literally is no different.

~~~
thwarted
It's sad that we've reached a point where what is good design is such an
absolute, with no consideration for customization as a design goal.

~~~
protomyth
To be fair, its been tried a couple of times to build really customizable
machines. It is just more expensive from a manufacturing point of view and the
market is never really there. The Treo lost its slot and I seem to remember an
attempt by some of the Amiga team to build a PC in a modular way (ended up in
a museum somewhere).

The problem has really been the cellphone focus which means "open" = "what
carriers want". The lack of a true iPod touch equivalent has hurt the
potential of Android.

I really think if you were trying to build and open, customizable, modular
platform, it would be competitive with Apple, Microsoft, and RIM. Android
really doesn't have a love for an ecosystem of gadgets around it. It is a lone
wolf and needs to really have a high speed connector where people could really
build cool add-ons that it can plug into. Make it the "I can carry my world"
device that can be plugged into other things to get more power / capability.

The funny thing is that the inside of the Mac Pro has so many niceties from a
hardware expansion point of view that never really appear on PCs.

~~~
thwarted
_To be fair, its been tried a couple of times to build really customizable
machines. It is just more expensive from a manufacturing point of view and the
market is never really there._

Customizable machines are a billion dollar industry, chances are, you're
sitting in front of one right now. It's not a matter of making a customizable
machine, we know how to do that. It's a matter of actually _allowing_ the user
to customize things, which can be done by allowing core components to be
swapped out for alternatives. In this context, the customization doesn't need
to be complete/absolute, it just needs to recognize that different users have
different needs and work differently. A consumer/home user may find the grid
of icons on the iPhone screen to be easy to use, but the business user may
want a calendar or email listing on their home screen (interestingly enough,
we laugh at the members of both of these groups who end up with a massive grid
of icons on their desktops, which is obviously bad for usability ("The link to
the website was at the tip of the penis!" -- Sales Guy vs Web Dude). And
Android offers the capability for apps to provide this functionality, but
Android isn't considered to have Good Design(tm) (or is at least "less" than
Apple's design) despite this capability.

------
kenjackson
What Joe considers important (public source tree and outsider commits) are
probably amongst the absolute least important and interesting aspects of
openness. It's the type of thing only a maintainer would care about.

He's arguing a point that nobody cares about. Even RMS is probably saying,
"You're being a bit pedantic here about the definition, aren't you Joe?"

~~~
joehewitt
That's a disappointing attitude. Let me give you a great counterexample.

Chrome was initially a completely fork of Webkit, but Google eventually chose
to work with Apple and merge all of their changes to the Webkit trunk. This
was only possible because Webkit, unlike Android, allows outsiders to commit.

The costs of maintaining a fork of a project as large as Webkit (or Android)
are so huge, even Google didn't want to bear them for long. The benefits of
the merge are huge for all users. Not only does Chrome continue to get Apple's
changes downstream, like CSS transforms, but Safari gets Google's changes,
like web sockets. In Android today, this sort of collaboration would be
impossible.

~~~
kenjackson
And while everything you say may be true, I still don't think most people
care. In fact, I'm fairly certain most people don't care. Ask your average
developer, much less consumer, the difference between Chrome and Android with
respect to openess and you'll probably get blank stares.

Clearly Google doesn't think the benefits of public commits outweighs the
costs, otherwise it would economically make sense. Additionally I suspect
given the current state of mobile OS development vs browser development they
probably realize that public contributions would be fewer and of less general
utility than what we've seen with browsers.

I still think the fact that one can pick up Android, even if it is just 2.2
today, and build it, and port it to any device they want, and rip out any code
they like, and add any code they like is a pretty reasonable definition of
open -- at least given that openness is a gradient and not absolute term.

~~~
GiraffeNecktie
_And while everything you say may be true, I still don't think most people
care_

Just because most people don't care doesn't mean it's not important.

~~~
kenjackson
When you're arguing about the definition of a word, in a natural language like
English, what people care about actually is kind of important.

------
rquesada
This article (please read the whole article, including the PDF that is
mentioned) mentions that Google might be "open" regarding the source code, but
it is not open regarding which components can be replaced in Android.

It seems that Google doesn't allow the carries to replace the Google Location
Service.

<http://daringfireball.net/2010/09/the_welcome_to_android>

~~~
eli
...if they want to use the Google trademark and have the non-open Google apps
like Maps and GMail.

