Android's "Non-Fragmentation Agreement"
superglaze writes "The biggest doubt cast over Android (whose SDK was released yesterday) has been the fact that much of it is licensed under Apache. There have been worries that manufacturers might fork the code road in a non-interoperable kind of way. I.e., they would have no obligation to feed back code to the wider Open Handset Alliance, or even tell the other members what alterations have been made. However, it turns out that Google made all the members sign a 'non-fragmentation agreement' to make sure everything works with everything. In theory at least. 'All of the partners have signed a non-fragmentation agreement saying they won't modify [the code] in non-compatible ways ... That is not to say that a company that is not part of the OHA could not do so.' Google's spokesperson highlighted the historical dangers of working with Java, the programming language that lies at the heart of Android. 'One of the current problems with mobile Java development is that Java has fragmented ... Java virtual machines have fragmented, but all the members of the OHA have agreed to use one virtual machine that can run script in Java'"
What, java has "recently" fragmented? What about all the incompatible versions of the JDK/JRE that people must install to use the latest Java Crapplet(TM)?
What about java's promise of 'write-once, run anywhere'..more like, write-once, maintain 5 different versions of the JRE, each at 100Mb+.
Seems fitting that with most cellphones these days, being nothing more than over-priced toys, that just happen to be able to occasionally make and receive calls, that they use a fragmented, broken toy programming language.
I'll stick to a basic phone, and follow the *NIX philosophy, "just does one thing, and do it well", thank you very much.
In a strange kind of way, this is Google versus Apache. Or, commercial versus non-commercial. I know that this is a ridiculous simplification but it kind of smells that way to me.
Normally Google and open source play together well. But, in this case, we have the potential for a real issue down the road.
With all of that aside, here's a question for you...
If you absolutely had to choose, would you pick to align yourself with Google or Apache?
This isn't a "real" question. It's more of a thought question about who you like and what you believe in. I'm just wondering what people value the most.
How to Download YouTube Videos
How is this google vs apache? I don't understand (its early and I'm feeling fuzzy headed so forgive me). Google is using an apache license to release this... other than that I don't see asf involvement in the project. Maybe I'm missing something here? This article talks about all the involved parties signing an additional agreement separate from the license agreeing not do what MS did to Java before being sued.
So... how is this google vs apache?
I took a look at the SDK yesterday and some of the videos - having done windows mobile development it looks like it will be almost as easy and have a number of similar features.
My concern with all of this though - is that there is no hardware available.
One of the things about emulators is that they run really fast, much faster than the actual hardware runs - so it's hard to tell how responsive an application will be. So given that google has been plowing ahead on development but not been testing on real hardware, one has to wonder if things are going to get seriously challenging when they move to hardware...
Whoa, he-llo? That's a rather interesting (and bold!) statement to be making there. I don't know if Google has noticed, but J2ME phones all run the same code and the same APIs. Issues between phones almost always come down to working around JVM implementation bugs. Which isn't that huge of a deal when you consider that "porting" then becomes a straightforward matter of applying a minor patch between "versions". (Often you can just inline the workarounds and have a single version that works everywhere.)
Meanwhile, Google has created a JVM that's not actually a JVM, that's incompatible with the J2ME/MIDP standard, and then has the gall to claim they're the solution to a more or less non-existent problem? That's ballsy even for Google.
Javascript + Nintendo DSi = DSiCade
Sounds to me like they don't want anyone forking it.
This is not as bad as Tivo ... or is it?
Non-fragmentation my you-know-what.
I am with Linus on this one. For the life of me I can't understand what this sucking up to RMS is about. Linus himself does not think GPLv3 is a good thing. So why do people keep adopting it.
Without Linus FOSS is tossed. Not following Linus is dangerous for the survival of FOSS.
to develop in non-java. Of course, it may not work on ALL handsets (in fact, all but certain that it will not). But if you do the work in Java, AND use their API, it is being guaranteed to work across all of the handsets. So, what is your gripe?
I prefer the "u" in honour as it seems to be missing these days.
Could it be that when smart management couples with some of the best engineers in the world you come up with a great idea? I really think Google has shown everything doesn't have to be closed and secret and can still make some really badass products along the way.
If an officer ever threatens to taze you, say you have a pacemaker.
I agree that the use of the Apache licence is the biggest problem with Android.
If Android had just used the GPL (which prohibits forking), then this problem would have avoided. There are lots of examples to back this up. For example, if Emacs had used the GPL, instead of the Apache licence, the XEmacs fork would never have occurred. And if Gnome and KDE would both switch to using the GPL licence, then the projects would just magically merge into one, and we wouldn't have the duplication of effort and lack of standards that you currently see on the Linux desktop.
Oh, wait... (consults Google). Never mind.
I have written a truly remarkable program which this sig is too small to contain.
Lets just get it over with - all "GOOG is the AntiChrist" posts please file under this one, so as to have a neat and orderly flamefest.
Brought to you by the Lawful Neutral alignment since 1984 - "I don't care what you do, just as long as it's in a neat and orderly fashion"
"As God is my witness, I thought turkeys could fly." A. Carlson
Say it isn't so! It's all these guys can do!
...it is largely because cellphone mfgs are so tightly wedded to telecoms that they have little interest in offering a platform that attracts 3rd party development.
Open up the network, as Google is proposing, and mfgs have to compete more in terms of coherent feature sets and what 3rd party apps they can attract.
Can a kind Slashdotter educate an ignorant soul about the gist of the Apache license? I sincerely would like to know.
It is good to see more and more companies like Google dumping the viral GPL and embracing open and free code licenses.
The kooky GPL is quickly becoming a relic like Perl - both use to be Slashdot favorites but now days are looked upon a discarded relics.
Symbian was developed on hardware, on the lowest hardware then available so that it would be sure to run on everything. This made the design obsolete at launch and now it is so archaic(?) that people really resent that original decesion.
Perhaps Google wants to avoid this. Wants apps that push the hardware requirements so that the Android phones will HAVE to be powerhouses, and it doesn't get trapped in the symbian or even MS trap of having to work on the cheapest shit some company can throw together.
Apparently (I only have this from hearsay) symbian phones often miss basic hardware capabilties that drive a pc programmer up the wall because he suddenly has to code for features that have been present in PC's from the dawn of computing.
All google now has to do, is convince mobile phone makers that it is in their best interest to make their phones capable of actually running the software currently being developed.
Don't forget mobile tech moves fast but is expensive. If the companies could get away with yesterdays tech they would. That ain't good for us consumers, we want them to be pushed so we finally get some fully capable smart phones and not the same crippled yunk they have pushing on us.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
I don't know about you others, but I seriously think that Android is over hyped. Yes, it's Linux based platform for mobile devices, but so what? There's already Maemo, but you don't see it hyped to death. Yes, the Android can also run Java ME applications, so what? All mobile phones can run Java ME applications...
And one last thing... there are no devices yet! No nothing! And you know what, there probably won't be even many of them. If you look at the alliance that Google has put together, the only serious vendors are Motorola and Samsung. But hey hey hey, Motorola just bought half of UIQ from Sony-Ericsson. UIQ is an user interface used primarily by Sony-Ericsson on top of Symbian. How serious Motorola is about Android when they have just made an serious investment into an Symbian company? And Samsung... they are just as much flip flopping as Motorola.
You know I'm not saying that you should not discuss about Android or not develop applications to it. I just say that Android seems to be again an over hyped thing. If I would be developing mobile applications running native in a phone, I would be damn sure that there is adequate installation base before jumping in, otherwise it could be very well be just seriously wasted time.
Survey research tool for commercial and scientific use
If Android had just used the GPL (which prohibits forking), then this problem would have avoided.
The GPL solves the problem by giving you freedom not by taking it away. Forking is not a problem when code is free as you can tell by looking at the hundreds of "forks" in the Debian repository, or if you look at the thousands of distributions that all get along famously. Java has problems because it was not free and two or three companies were able to control it's destiny. Real community developed and owned software does not have this problem because everyone is free to ignore, remove or otherwise fix problems that an antisocial person might add.
For example, if Emacs had used the GPL, instead of the Apache licence, the XEmacs fork would never have occurred.
The XEmacs fork was permitted under the GPL and would not have been a problem if the XEmacs people had been careful about licensing. The problem came when they were unable to verify that all of their code was free. This allowed anti-social contributors to deny distribution of the whole until all of the code was replaced with GPL'd versions.
if Gnome and KDE would both switch to using the GPL licence, then the projects would just magically merge into one, and we wouldn't have the duplication of effort and lack of standards that you currently see on the Linux desktop.
Gnome and KDE are GPL'd, work very well with each other and are good as separate projects. I run Gnome and KDE applications under other window managers without problem. The "Linux Desktop" is far more unified than non free equivalents from M$ and others where you can't be sure the clipboard is going to work across applications or the network. GNOME and KDE have different approaches to the same problems, so the user gets to chose what works best for them. Users can also chose from a dozen other good window managers and frameworks. This is a wonderful thing because one size does not fit all. Once again, this is because the software is free and the community can make things work.
DMCA, Hollings, Palladium. What might have sounded like paranoia is now common sense.
Forking - and even just the threat of forking - can be powerful forces for coordination. Reducing the freedom to fork tends to centralize control and reduce the size of the community for a project, while also restricting potential innovation. From Stephen Weber's The Success of Open Source (pp. 169-170):
Forking helps distribute influence and the freedom to make choices about development (pp. 180-181):
So by preventing forking, Google maintains control. The relationship seems to go the other way too - open communities may tend to fork less (p. 160, 227):
So long as the person fragmenting the platfrom hasn't used a Java obfuscator then it would be incredibly easy to decompile the bytecode back to Java source.
Run your emulator in another emulator, maybe two or three levels deep. Emulators, not virtualizers. That should make it run slowly enough for you.
(I'm sure there's a way to simply slow down the one emulator, but I just had to post the Rube Goldberg solution...)
Don't thank God, thank a doctor!
I could go into all the reasons you're shortsighted, wrong, and really a fanboy -- is sucking up to Linus so much better than sucking up to RMS?
But I have a bigger question. What the fuck does the GPLv3 have to do with Android?
Someone slap this tool with -1 offtopic, please.
Don't thank God, thank a doctor!
Sorry, that I go to a different subject, but do I miss something?
(50 * $25.000) + (10 * $100.000) + (10 * $275000) = $5 million
Where are the $10 million ???
the impression that the people at Google are a bunch of idiots who just didn't do any basic research
They did do research, which is why they replaced most of the Sun bloat with native C libraries.
they'd know that Java is slow, has 10^6 different versions
They know that; it's one of the reasons they created Android in the first place.
Java is slow
They know that, too, which is why only the high-level apps are written in Java and why they replaced the JVM with Dalvik.
So you still can't modify the source code on your phone and run the changes. I bet they are still going to lock down the phone software with DRM (Example.. Motorola A1200)
Forking is not a problem when code is free as you can tell by looking at the hundreds of "forks" in the Debian repository, or if you look at the thousands of distributions that all get along famously.
Yeah, cos Ian Murdock didn't say that he wished Ubuntu hadn't forked so far from Debian as to be entirely incompatible.
Oh, wait. He did.
*complete shite about Java*
What? What are you talking about?
The problem came when they were unable to verify that all of their code was free.
Bollocks, frankly. XEmacs has always been GPL. The problem came because the FSF wanted copyright assigned to them for XEmacs. So yes, complete horseshit, Twitterris.
The "Linux Desktop" is far more unified than non free equivalents from M$ and others where you can't be sure the clipboard is going to work across applications or the network.
I haven't had a single problem copying and pasting between any application in Windows. Or for that matter, Mac OS X and Linux. Care to explain more about this mythical uncertainty? And no, the *NIX desktop isn't more unified than Windows or the non-free equivalent. Windows and OSX have visual styles which export the global style to all applications that are coded to use it. The *nix world has 2 major APIs and numerous other smaller ones. Slightly different, no?
I write bullshit
v4sw6PU$hw6ln6pr4F$ck 4/6$ma3+6u7LNS$w2m4l7U$i2e4+7en6a2X h
Wow, that was quick. I posted an hour ago on the other thread about my worries about Device Fragmentation.
IMHO the differences in the J2ME API is not the main issue for a developer. Differences in screen size, processing power and keypad layout is much more important.
Is google going to force 240x320 (or whatever) on everyone? Is it going to prevent a manufacturer to heavily customize the look and feel? Are we going to have a split between devices having a touch screen and devices not having it?
What?! Do you have an actual example of clipboard problems in Windows? Or have you been reduced to inventing Windows problems whole-cloth to support your crusade?
The core J2ME API was made by several commities and "evolved" rather than was designed. Those commities were controlled by the operertors who were more concerned about using the API to generator revenue for themselves than advancing technology. Google is right in starting from scratch rather than building on J2ME.
However, some extension apis are rather well designed (for instance bluetooth and mg3), it would be not be a bad way to re-use those apis.
Do I have to stop it forking? After all, that isn't distribution...
I know that's why they did it, which is why I posted this comment. I'm also aware that people inside Sun have been trying to streamline Java SE further. I think it's pretty clear that Google is working hard to facilitate the creation of non-Free software by mobile phone makers. I guess the company slogan changed to "Do lots of evil". Meet the new Microsoft, happily embracing and extending Java.
"It does not do to leave a live dragon out of your calculations, if you live near him." - Tolkien
That android overcame fragmentation.
So... Letting people make non-free software is evil, but charging people money to make non-free software is not?
I think you don't realize to which extent fragmentation is a problem... The various JVMs are buggy and have different bugs. That is: they don't fully respect Sun's specs (not even Sun's own J2ME JVM). Then you've got the JSR / APIs problem: which functionality of which phone is supported and which isn't? And then you've got a huge problem: various screen size / screen colors / etc. So it is very hard to have a single codebase generating all the builds.
Yet some companies offer such products and they're pricey (no, I'm not considering the free "J2ME Polish" to be a match for commercial solutions out there). Pricey, but you've got hundreds of builds generated from a single codebase. These companies are making a killing. They even translate Java cellphone apps automagically to C++ Brew ones.
Android is solving some problems, but it's still not adressing this one: how do you deal with X% market share of non-Android phones?
Of course another take on that, witness Google's CEO and Apple's iPhone, is that for many (I didn't say "all", I said "many") applications a Web browser supporting JavaScript is all that is needed. Android phone shall come with a full browser. That alone will please a great many Webapp developers.
One Java to rule them all?
Money is the root of all evil?
Ah, well. Should have known.
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
No, twitter. I think you don't really understand what "unified" means. It doesn't mean being able to copy and paste text across applications, Microsoft figured that out 15 years ago. It means KParts working with GNOME applications. It means KIOslaves working with GNOME applications. It means KDE apps being bonobo-aware. It means that hilarious "embedding" technology OpenOffice uses is used by other desktop applications as well. It means having a single unified shell API. It means not having to load another massive set of runtimes for the "other" desktop when I want to use Kate on GNOME or Gedit on KDE. It means having a single binary layer API like COM that acts as glue for everyone.
That's what "unified" would mean. There is no such thing on Linux, at all. There is unity on Windows because it's controlled by a single entity, but at least there is cohesion and consistency. The only way you approach that in Linux is if you write apps that run on plain X or ncurses.
Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo