Hacker News new | past | comments | ask | show | jobs | submit login
Google to Android Developers: 'Do Not Develop in the Open' (readwriteweb.com)
95 points by pushingbits on Sept 8, 2011 | hide | past | favorite | 74 comments



Android is open in the same sense that the Lua programming language implementation is open. Lua is certified open-source software, and distributed with a very liberal license, but PUC-Rio is in complete control of all the development.

It's certified by the OSI, whose definition of "Open-source" is available at http://www.opensource.org/docs/definition.php. To summarize, open-source means (1) The software and modifications can be redistributed freely, (2) The source code is available, (3) Users are free to modify the software. Android meets these requirements.

The software is open-source. The project development is not open: See http://www.lua.org/license.html

> Lua is free open-source software, distributed under a very liberal license (the well-known MIT license). It may be used for any purpose, including commercial purposes, at absolutely no cost. Just download it and use it.

> Where does Lua come from?

> Lua is designed, implemented, and maintained by a team at PUC-Rio, the Pontifical Catholic University of Rio de Janeiro in Brazil. Lua was born and raised in Tecgraf, the Computer Graphics Technology Group of PUC-Rio, and is now housed at Lablua. Both Tecgraf and Lablua are laboratories of the Department of Computer Science of PUC-Rio.

and http://lua-list.2524044.n2.nabble.com/Lua-open-source-or-not...

> An "open-source project" has one meaning, an "open-source software" has another. The project is not open source, the software (the result of the project) is.

Few people have had a problem with this principle as applied to Lua. I'm not sure why this is confusing or newsworthy when it's applied to Android.


Lua doesn't, to my knowledge, advertise itself as the free and open alternative to some evil proprietary oppressor.

Whether Google intentionally positioned Android as such or whether that's just the wishful thinking of its fans is irrelevant now. The expectation for Android is that it will be completely open.

People complain about things when they are disappointed, or when they perceive hypocrisy or broken (real or imagined) promises. There's no absolute scale.


> Few people have had a problem with this principle as applied to Lua. I'm not sure why this is confusing or newsworthy when it's applied to Android.

This is why people have a problem: http://twitter.com/#!/Arubin/status/27808662429


What's wrong with that tweet? It fits the definition of open source that your parent post described.

I think a lot of people's problem comes from Google having not yet released the Honeycomb source code. It's one thing to say you're open source, provide all your source for each release, but develop in private. It's another thing to say you're open source, develop in private, and not release the source code to your released software.


Except the fact that it tries to define "open" and not "open source". For me, Mozilla Firefox or Ubuntu are open. All development, the planning etc. can be viewed at at all time. All parts of the full stack are open and free. You can participate if you want.

Android can be forked and inspected, which are the fine things about open source, but it cannot be followed like you can with "open" software.


Everybody has a different definition of open.


Thank you for a lesson in an obvious topic, and incidentally thats why I wrote "For me", and not "For everyone".

But lets put it in another way: its hard to argue that all aspects of Android are 'open' while its easy to argue that some of them are definitely 'closed'. Whether that sums up to a "open" or "closed" verdict is not up to me. For me it sums up as being somewhere in the grey area, more to the "closed" side after the Honeycomb incident.


How does that disagree with the parent's point?


Is Android still open source, though? As far as I know Honeycomb’s source is still not available.


There is a fork, the 3.x series, that's not open-source. Ice cream sandwich, AFAIK, will be as open as the 2.x series.


Ok, so the current version of Android is not open source.


It's not that simple. One would think that 3.x series is the current one, but on the other hand, there has been at least one major release in 2.x series after the release of 3.0.


Hm, right. It’s probably best to say that Google’s tablet OS is not open source. It might be open source again when Google unifies its phone and tablet OS.


That's correct. The tablet version is not open-source (they probably embedded some proprietary code in it in order to make the deadline). The 4.0 series is expected to unify the tablet and the phone OSs and be open-source.


I always assumed that if they open sourced 3.X, people would start putting it on phones, which it is not deemed ready for yet. These devices would certainly not get official certification from Google, probably they would not even make it to the market, but the fact that they exist would put a lot of pressure on the large manufacturers that could not release with the latest-and-greatest firmware.


It's confusing because Google constantly markets Android as "open", then says "Yeah, it's not actually open, you can see the latest version when we finish it."


>"Yeah, it's not actually open, you can see the latest version when we finish it.

You can see the _source code_ when they're finished with it, and bundle it with a product. That is significant, or do you happen to have a copy of iOS 3 lying around that you can bundle with your own non-apple phone?


I'm sorry, but I'm with Jason Kincaid on this one.

http://techcrunch.com/2011/09/07/the-bombshell-that-wasnt-fo...

There wasn't anything new in those documents. We already knew that Google only put out final releases and we already knew about lead phones. It was all public knowledge.

That doesn't mean that it has no bearing on the case, but it's not revelatory.


I normally wouldn't touch anything that has Florian Mueller's name attached with a ten foot pole, and I certainly wouldn't bet any money on there being a connection between this theory and the settlement talks. On the other hand, that's not to say that I think it's impossible, but Mueller has been too far off the mark too many times.

The real news here (as far as I am concerned) is that the judge has suggested settlement talks, which to me, in my legal ignorance, sounds like he thinks the case has some merit?


Courts typically take a very dim view of parties that refuse to partake in mitigation or attempt to settle: they rightly view it as wasting the court's time, especially if the proposed settlement was near or exceeded what was eventually decided. This is usually true regardless of the relative merits of the case.


Are you really implying that Mueller has ever been ON the mark? :p


Yes, and furthermore this has been their exact process since before Android 1.0 was released. They have never hidden this fact. We were discussing this on Hacker News half a year ago, and it wasn't news then, either:

http://news.ycombinator.com/item?id=2394151


Exactly. From the get-go the whole Open Handset Alliance was about coaxing the manufacturers/providers into a using a somewhat more-open product by creating a set of most favored nations. Its always been seen as a necessary evil from a consumer perspective to get widespread adoption of a real phone os.


Community Open Source is a subset of the whole Open Source thing, but not having an open development process doesn't make your code closed source. Google releases Android source code under the Apache 2.0 license, which is definitely open source, so: Where's the matter?

This just looks like smoke in the eyes from Oracle lawyers.


This is true. But open sourcing your point releases (or not) doesn't make your software "open" as Google wants to advertise. Most of the Android eco-system is actually as closed as with every other platform, most glaringly the whole development process. This piece just shows that this is exactly what Google wants (which is perfectly fine for me, except the false advertising).


WTF is "open" anyway? It doesn't mean shit when taken out of context.

Open-Source does mean that I (as an individual) have a lot of rights, including having the right to fork it in case I don't like the current stewardship.

     Most of the Android eco-system is actually as 
     closed as with every other platform
That's bullshit.

The Android eco-system includes thousands of open-sourced Java libraries and cross-platform development tools that are also open-source. I can develop Android apps on Linux or Windows or OS X, depending on my mood. And I can modify those tools to make me more productive.

Yes, I don't have a direct influence on what Samsung might deploy on their phones, or on the code getting deployed in Android's master ; but then again, it's equally hard to have that effect on Linux, the kernel.

If you don't like it, fork it. That's what open source is about.

     except the false advertising
An open-source license is a legally binding contract. That's not word of mouth or advertising.


You are right that previous versions of Android meet the Open Source Definition [1], once they were actually released and the source made available. Honeycomb does not, but Google claim that was just an anomaly and won't be repeated; we will have to wait and see, but it seems unlikely that they won't fulfil that promise.

I don't think that Android follows the spirit of open source though:

Open source is a development method for software that harnesses the power of distributed peer review and transparency of process. The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in. [2]

There is no peer-review or transparency about the Android development process (unless you only define peers to be multi-billion dollar megacorps).

>The Android eco-system includes thousands of open-sourced Java libraries and cross-platform development tools that are also open-source.

Irrelevant; there are vast numbers of open source libraries for Windows or OS X, doesn't make them Open Source operating systems.

>If you don't like it, fork it

Except I can't fork any of the recent versions or development builds. How do I fork Honeycomb? How do I fork Ice Cream Sandwich? What good is the 'right' to fork something when the actual source isn't available unless you pay Google millions of dollars?

[1]: http://opensource.org/docs/osd [2] http://opensource.org/


Amazon is about to fork Android, taking the result from thousands of man-months worth of effort funded by Google and making it their own. I think that's the definition of an open source project, anyone can fork it.


Android is open source software (after the fact), not an open source project.

iD Software open sources their old 3D engines as well; no one considers iD Tech to be an open source project.


And thanks to the beauty of open-source, they can't make it proprietary.

Except they can. All of Android, with the exception of the Linux kernel under it, is not protected by a "viral" license like the GPL.


But can I fork it?

Nope, because I do not have access to the latest code, therefore I do not consider it open or open source.


We can argue about the whole thing being "open", as there is no exact definition of that, but we can't argue about the released source code being "open source". You can fork that at your will, just respect the Apache 2.0 license terms.


Why can't you fork it without the very latest code? You have access to the code that ships, which is the requirement of viral open-source licenses.

You don't have access to the "very latest code" for the Linux kernel either, that resides (in many separate pieces) on various developer's workstations. By the time it actually gets committed, some other developer has made modifications to their working copy (arguably making it "the latest version") and not pushed that up yet.


>You have access to the code that ships, which is the requirement of viral open-source licenses.

Except we don't have access to the code that ships. The code shipping on Honeycomb device is not available.

>You don't have access to the "very latest code" for the Linux kernel either

Using an 8 month old version of the Android source is not the same as not having access to kernel code that is still being written. With the linux kernel you can access code as soon as it is committed to kernal.org, with Android you only get to see it after an entire new version of the OS has been released (and sometimes not even then). It is perhaps difficult to draw a solid line here, and pedants will complain that you don't have access to code that still only exists in Linus' brain, but there seems to be a pretty clear difference to me.


> Using an 8 month old version of the Android source is not the same as not having access to kernel code that is still being written. With the linux kernel you can access code as soon as it is committed to kernal.org, with Android you only get to see it after an entire new version of the OS has been released (and sometimes not even then). It is perhaps difficult to draw a solid line here, and pedants will complain that you don't have access to code that still only exists in Linus' brain, but there seems to be a pretty clear difference to me.

You're right, there is a difference. But the difference is one of process, and isn't really related to the openness of the software itself.


It very much is related to the software: Android 3.x is not open source because this 'process' has meant the code has not been released.


Android 3.x still is proprietary software under a Google proprietary license and only available to select Google partners.

They claim that the code "is not ready yet for public use", whatever that means.

Either Gingerbread is the last public release, or Google switched to a model where only the second-latest version is publicly available.


Or Google is telling the truth, and Honeycomb is a temporary aberration that will be fixed upon the release of the next version in a few months. Why it is so hard to believe that Honeycomb is an OS that is not ready for public use (meaning in this case, put on phones and other such devices by manufacturers wanting to have the highest and latest version number Android when Honeycomb isn't designed for such use)? It isn't ideal and I wish they would just release the source and let the chips fall where they may, but there is no indication that Gingerbread is the last public release or the model is the second-latest is publicly available.


To me, the minimal definition of "open source" is that "if it's good enough to sell binaries to end users, it should be good enough to release source to developers", so by that definition, Honeycomb is not open source (although I have no reason to believe that it violates any open source licenses).

I've always found the argument that a product that is being sold to customers is "not ready for public use" specious.


No one is claiming Honeycomb is open source. Clearly it isn't.

Some people are ok with that, and some are not.


If the Honeycomb delay is a temporary result of working too fast, why is Google giving internal presentations about how they can profit by restricting access to the source to key OEMs?


The title is very misleading and should be changed. It sounds like Google is telling the developers of apps that they can't use open source licenses, when it's actually google as a company develops the Android OS in private, then releases the source to the public after it is developed.


As an untrained reader, I find this very strange. Not open sourcing your products could be a reason to forbid a merger, because you could gain an advantage over your competitors? Really? Is it illegal to be better than your competitors?

It almost sounds as if there was a law that companies have to open source their products, which I am pretty sure does not exist (IANAL, though).


Google does open source Android. The point is about when they make a public release of the source. They are only obliged to release the source when they release the code to the public, and the point is that they don't do this any earlier than they have to.

This does make the Android development process less than open. It does not stop Android being open source.

The relationship to the court case is that Google's development process is very much at question in the issue of whether there is a violation of Oracle's IP.


I don't think they are obliged to do anything.


Word and Excel had an unfair advantage over Wordperfect and lotus 1-2-3 because Microsoft had a quasi-monopoly over the operating system. At some point a judge had even decided Microsoft should be split into an os company and an application company.

http://www.economist.com/node/593691

The situation is very different with android, but the analogy is obvious.


The bigger news is the settlement talks. Is Google really going to cave and pay royalties?


It's still open source if the source is published later, but I think being open source is not enough any more (was it ever?). Android needs open governance, right now it's Google's project and they control it as they see fit.


>>Android needs open governance, right now it's Google's project and they control it as they see fit.

Why? I'm not trying to be snarky, I'm truly curious. What would be the benefits?

Under Google's governance Android has become quite powerful and a true competitor to the iPhone. Something that no other company has been able to achieve with their own phones/OS. Microsoft, RIM, Palm/HP, Nokia; they've all failed so far. At this moment it is not broken so why fix it?


Because right now they claim to be open, but open is just a marketing buzzword (like beta).

So in my opinion they either stop bragging about how open they are or actually practice what they preach.


They are open enough for competitors like Amazon forking Android and creating a version without any Google Apps on it at all.

Nobody is forced to use Android. You could always license Symbian or something...


I don't quite buy your argument. Sure, nobody is forced to use Android, in the same way PC manufacturers aren't forced to ship PCs with Windows installed.

You're making it sound like there are compelling alternatives to Android for a handset maker, but really there's not.


There is tons: Windows 7, Symbian, MeeGo, Bada, WebOS, Android...


Compelling alternatives...


Or, you know, write your own. Google doesn't owe you anything.


Sure, Amazon can fork Android, but can they contribute to Google's version? Can they collaborate and make decisions together? Not under this governance model...


Can just add some software to Linux? I don't think so - Linus calls the shots... I don't think an OSS project where everybody could contribute would work.


Yes. Pretty much anyone can contribute. Your patches just have to go trough an approval process. It is complex and takes time, but of course it is possible.


But there is no guarantee to be approved. Have you tried contributing to Android?


If the patch contains good code/documentation, doesn't break anything, works as supposed to do and is relevant to the direction of the project, I can't see why it wouldn't be approved.

If my patch conflicts with the direction of the project, I can just fork.

And no, I never tried because don't have a device running 2.x. I could try contributing to Honeycomb (since I happen to own a Xoom). Is there any repo I could clone containing Honeycomb? (honest question)


"being open source is not enough any more (was it ever?)"

Meanwhile Apple rakes in billions with closed source software. What's more, people cheer them on for it and hail them as the saviors of mankind.


Closed source is not bad, if there's at least an open competitor to keep them honest.

Not sure that competitor is Google though, because they seem to be more interested in controlling the platform than in creating an open platform. Open is a bit of a marketing buzzword with Android.


> people cheer them on for it and hail them as the saviors of mankind

[citation needed]?

Nobody is specifically cheering because it's closed source. I would cheer even more if they had iOS and opened it up for minor tinkering.


I just deleted my rant that I wrote as a reply to this.

Look, there have been a zillion articles raving about Apple in the last two weeks. Just google for yourself, don't ask me for citations about the most blatantly obvious things. It really annoys me.

No, they usually don't cheer the closedness (although it happens often enough), but they don't seem to mind it, either.


I've been reading your comments for some time and you seem to have serious anger problems when the subject is Apple. Also, you're very disrespectful to Apple users, bringing the topic even when it has nothing to do with the company. I seriously recommend a psychiatrist or counselour. Apple/Google are not religions, my friend!!!


I'm sorry, but why should people have an issue with how software is developed? What makes OSS that much better?


The original article complains that Android is not open enough. So apparently if you go closed source, nobody cares, but if you give away your stuff, people feel entitled to more.

As for what makes OSS better: you can check what the software does, and change it if you don't like it. I think you can find lots of articles about the benefits of OSS. However, I don't care what kind of software you use, so please spare me the discussion.


> The original article complains that Android is not open enough. So apparently if you go closed source, nobody cares, but if you give away your stuff, people feel entitled to more.

The thing is, most companies (Apple, MS, Oracle) advertise their software as closed source but still give away portions of their code (Apple with BSD/WebKit, Oracle with Java, MS gives away smaller stuff) while Google advertises their code as open source and gives away portions of their code.

That's why people are complaining. It's not a war on semantics ("oh but it is still Open Source"), it's not a political war.

It's basically people complaining about how Open Source has been reduced to a buzzword because of Google.


Google push their "openness" in their marketing to Android users. It's part of the sales patter. It is sold as if it develops in the open and their whole stack is OSS. It isn't. If you present yourself as a paragon of virtue and suggest that you product is entirely open, when it turns out you aren't as open as you make out, people will complain.

As for your reason why OSS is better; none of that is relevant to consumers, who account for the largest part of the market by far. How many consumers are going to fork Android realistically? None. Don't get me wrong OSS software is a great thing and has it's place commercially too, but you present your argument as if it is black and white; as if anything closed is evil. It is not.

"However, I don't care what kind of software you use, so please spare me the discussion." That was pointlessly aggressive. If you want to engage in adult conversation, I suggest that you rethink your approach. I must ask, at what point did I or any other commenter start reeling off what software they use, and evangelising their world view as the one true view?


>you can check what the software does, and change it if you don't like it

Except with Android I can't submit those patches back to the main project, so I have to maintain a separate fork myself, for eternity (similarly for any changes made by other non-Google developers that I might want to use). This isn't sustainable for more than a few patches. An Android fork that is developed in the open and accepts community patches would qualify for the benefits of Open Source, Android from Google? Not so much.

Some previous Android releases have been open source software but the Android project is not an open source project.


>Except with Android I can't submit those patches back to the main project, so I have to maintain a separate fork myself

Open Source doesn't give you the right to get patches accepted upstream, it gives you the right to have your own fork. If your fork is worth it's steam, other people will like it and join you, otherwise it will die off when you lose interest just as it should.

>This isn't sustainable for more than a few patches

This is true, but sounds like it could be countered by starting a fork as a community project so that anyone with just a few patches can submit them to your fork. This would also likely increase interest in your fork and may help find someone willing to take over admin rolls for you, since that seems to be your goal in all this.

Look, if all you want it to be able to publish a few patches and upstream won't accept them, then include said patches in a blog post. That way they're in the wild, and you don't have to maintain a repository. Just a thought in passing.


So start such a community fork. That it hasn't happened yet seems to indicate that manufacturers don't even want it.

Also there might be community mods, like Cyanogen (haven't really looked into them).


I'd call it Shared source software or, to be precise, Later shared source software.


C'mon Google, let us develop with Go or Python, I hate Java with the passion!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: