Not logged in
Log in now
Create an account
Subscribe to LWN
LWN.net Weekly Edition for December 5, 2013
Deadline scheduling: coming soon?
LWN.net Weekly Edition for November 27, 2013
ACPI for ARM?
LWN.net Weekly Edition for November 21, 2013
Android 4.0 source released
Posted Nov 15, 2011 1:57 UTC (Tue) by jcm (subscriber, #18262)
Posted Nov 15, 2011 8:35 UTC (Tue) by jbv (guest, #66170)
Posted Nov 15, 2011 13:05 UTC (Tue) by clump (subscriber, #27801)
Posted Nov 15, 2011 13:35 UTC (Tue) by jjs (guest, #10315)
Even the GPL does NOT require releasing source before you distribute the binary. And most of ICS (and most of all Android) is not under the GPL, but instead the Apache license (which does NOT mandate source release).
Posted Nov 15, 2011 14:32 UTC (Tue) by rvfh (subscriber, #31018)
I do not always agree with the decisions Google takes on Android, but I fail to see how people can complain about their code releases. They are barking at the wrong tree altogether, when not biting the hand that feeds them.
I have only two words to add: Thanks Google!
Posted Nov 15, 2011 16:40 UTC (Tue) by tajyrink (subscriber, #2750)
The delay is the delay where Android is not an open project but a code dump, but Google also admits this. Some people would like Android to be an open project so that they could participate into it and help shape its future. Meanwhile, it's more likely that GNU userspace + Linux + freedesktop.org continues to evolve as a competitor to Android than that Android itself would become an open project.
Posted Nov 15, 2011 17:25 UTC (Tue) by jcm (subscriber, #18262)
I actually think Google is being very pragmatic. Their heart is in the right place when it comes to releasing the code, but they are trying to avoid the zoo that will result if there is too much flexibility for others to create a giant moving target. When users install software from the Market, it needs to "just work". This is where Google have an actual *platform*.
So far we have two failures...
Posted Nov 15, 2011 18:27 UTC (Tue) by khim (subscriber, #9252)
Meanwhile, it's more likely that GNU userspace + Linux + freedesktop.org continues to evolve as a competitor to Android than that Android itself would become an open project.
We'll see. So far the tack record is not great: failure after failure. I'm not sure I can name open-source project of sizable size which started as open project and evolved to become leader. Well, may be KDE - end even then it's leadership is questionable.
Significantly more often open project is born as fork of cathedral project (like GCC, X.org, or OpenOffice.org) when said cathedral is slowed down for one reason or another.
So my bet will be with CyanogenMod or some other alternative version of Android rather then "GNU userspace + Linux + freedesktop.org".
Posted Nov 15, 2011 20:21 UTC (Tue) by Cyberax (✭ supporter ✭, #52523)
Perl is great example...
Posted Nov 15, 2011 21:32 UTC (Tue) by khim (subscriber, #9252)
Well, Perl and Python actually show my point quite nicely. Even major changes (like Perl4 to Perl5) were done quickly and efficiently when development was driven by a single person (or small tightly-knit team). When Larry decided to do next step using "bazaar approach"... the result was unmitigated disaster. Note that while python2 to python3 transition is not as smooth as many hoped it's still goes much better.
When project is mature enough bazaar development can work just fine (there are numerous examples) but still major refactorings must be done in cathedral manner. Bazaar can fix things, but to create something new you need master. Someone who may say: "no, we will not do X or Y - this is outside of scope of this work". Otherwise feuterism makes advances in development so slow that project either never reaches the "release" state or if it ever does it produces useless chimera (because there are thousand features out of which may be 10% works as advertised, 50% works poorly and the rest are just confusing everyone because noone is sure what they were supposed to do).
Of course if you do have a release and the base is robust you can start adding features (this is where bazaar shines), but BDFL is still good to have around because otherwise features will be added in half-backed state which can eventually kill the project anyway (because at some point features are so intermixed that you can not add anything to this mess). Some projects break apart at this stage, some decide to "reboot the franchise" (like GNOME, KDE, or Netscape/Mozilla/Phoenix^WFirebirn^WFirefox), some do the hard thing and actually clean the code instead (Linux kernel is good example, GCC developers are trying to do that for last few years, LibreOffice is now enthusiastically does that too). It's be interesting to compare fate of "rebooters" to fate of "cleaners" but we don't have enough projects to actually make a good comparison: this is fate of large projects and they all are too unique for the stats to say anything definitive.
Posted Nov 16, 2011 9:48 UTC (Wed) by dgm (subscriber, #49227)
Cathedral, that is, one or a few directors and many workers, is the best to start because is the fastest way to get somewhere, when that "somewhere" is well defined. It also requires less resources. The requisite is, obviously, that the leader knows where he wants to go. It also
Bazaar is great for exploration when there's no defined destination. In this style projects usually take a long time to reach anything in particular, but in the mean time many options are tested. It's main benefit is that it's safer in terms of preventing choosing the wrong destination, but also that sometimes unexpected gold is found in an apparent minor branch.
Posted Nov 16, 2011 6:41 UTC (Wed) by tajyrink (subscriber, #2750)
To khim: The free/open stack itself is not a failure, the smoothest and most innovative mobile phone of 2011 (Nokia N9) was made with the stack. But more importantly: I don't mean the platform couldn't or shouldn't be strictly controlled if companies don't get (and/or want) open governance done right, but that it would be made up of pieces mostly done in open projects instead of one gigantic non-open project like Android put on top of Linux kernel. The platform and its app story needs to be something clear, but it doesn't automatically mean that the components, especially lower level, of the platform should be developed behind closed doors.
So again, Linux + GNU basic tools + freedesktop.org + Qt/EFL/GTK as building blocks of the platform is much better for FLOSS in general than Android (even though Android is a very good thing as well - I'm just discussing, not bad-mouthing Android), even if the platform itself would be very strictly controlled. MeeGo.com was actually very non-open in parts, managed by Intel internally, despite the promises. WebOS was very closed development but freedesktop.org stack, it didn't fly either but not because of these technical reasons. I don't doubt Tizen will be different, and it does not need be. Tizen at least seems to have promises that vendors can do their own variations of the stack, contributing to various pieces of open projects, as long as they fulfill the app story as is. So Samsung can push Enlightenment, others can push Qt, etc. Diversity and non-fragmentation at the same time, while keeping truly open middleware projects competing against each other.
Of course it might go in any direction in the end, but I'm not here to make predictions.
Posted Nov 16, 2011 6:53 UTC (Wed) by jcm (subscriber, #18262)
Posted Nov 16, 2011 9:04 UTC (Wed) by tajyrink (subscriber, #2750)
There's also risk that Android has problems lurking in its approach (throwing everything away from top of Linux kernel and not co-operating with other similar projects) and Android goes away, but let's hope it's not so.
Also possible would be that parts of Android would be separated into components of their own, usable by other projects. For example if their mobile phone / modem stuff would triumph over oFono/FSO.
Posted Nov 16, 2011 7:22 UTC (Wed) by khim (subscriber, #9252)
To khim: The free/open stack itself is not a failure, the smoothest and most innovative mobile phone of 2011 (Nokia N9) was made with the stack.
Bwa-ha-ha. Sorry, but no. Nokia wanted to sugar-coat it's failure so they took Maemo, replaced open-source UI with proprietary swipe interface and marketed it under Meego name. N9 is cool phone but it's most definitely not the success of "GNU userspace + Linux + freedesktop.org" or even remotely similar. And it's "last one of the kind" anyway.
You can as well say that MacOS X is real triumph of GNU...
Tizen at least seems to have promises that vendors can do their own variations of the stack, contributing to various pieces of open projects, as long as they fulfill the app story as is.
MeeGo pushed the same story - and look how well it flew.
So Samsung can push Enlightenment, others can push Qt, etc.
In other words: you'll not have a compatible UI and you'll have repeat of "Linux Desktop" story all over again.
Diversity and non-fragmentation at the same time, while keeping truly open middleware projects competing against each other.
This is pipe-dream: noone was able to produce anything like that so far. Either you have diversity and fragmentation which attracts tiny slice of market or you have large market share - and diversity then happens too, but it's in individual applications, not in OS variations.
Of course it might go in any direction in the end, but I'm not here to make predictions.
Well, I am. My crystal ball is cloudy today, but I can see only two possibilities:
1. Tizen will be abandoned soon, or
2. It'll linger for years but only few geeks will ever know that it exist.
Posted Nov 16, 2011 8:56 UTC (Wed) by tajyrink (subscriber, #2750)
MeeGo did not push the same story. Compatible UI comes from the app story API and its selected (single) toolkit, not the system toolkit or eg. compositor technology. And yes I've noticed you're always ready for predictions.
Posted Nov 16, 2011 10:02 UTC (Wed) by spaetz (subscriber, #32870)
Others have already commented on the fact that Meego has not been an "open project" at all. As for OpenMoko, are you surprised that a technologically inferior geek phone did not conquer the masses?
> I'm not sure I can name open-source project of sizable size which started as open project and evolved to become leader. Well, may be KDE - end even then it's leadership is questionable.
Apache? Samba? GTK, Gnome (well for some :-))? There are plenty of examples of both failures and succeses, so I am not sure how useful it is to just mention a few as proof.
Posted Nov 16, 2011 13:04 UTC (Wed) by khim (subscriber, #9252)
Fork of the most popular server.
This is borderline case: at the time of The Cathedral and the Bazaar it was already developed by large group of people - but then later rewrites (Samba3, Samba4) were done in quite Cathedral fashion.
Similar: initial version was developed buy a couple of guys for their own need and when bazaar style was adopted it was quite established.
There are plenty of examples of both failures and succeses, so I am not sure how useful it is to just mention a few as proof.
Actually I'll be interested in seeing at least one "success story". Most successful projects which are currently developed in bazaar model were initially developed in cathedral manner and only switched to bazaar model when they were well-established and popular.
Posted Nov 16, 2011 13:20 UTC (Wed) by spaetz (subscriber, #32870)
You mean by "cathedral" that most code comes from few people. If that is your definition of cathedral I concur, as most if not all projects have 90% of their code written by 10% of the contributors.
I would characterize a Project as a bazaar model that is dominated by a few core coders (who by contributing most of the code, determine most of the architecture), but which is willing to listen and to react to its community, and which is willing to take patches from the outside. Bazaar relates to 2 aspects, transparency (can look) and accessibility (can touch) in my book. If a project exposes all its dirty laundry via public email lists (see Apache's "if it's not in an email it doesn't exist" mantra), that is a bazaar aspect.
So in the end, this boils down to a discussion of how you exactly define cathedral-style :-).
the Elephant in the room
Posted Nov 16, 2011 18:51 UTC (Wed) by dlang (✭ supporter ✭, #313)
Also Cathedral vs Bazaar has less to do with the number of people who are writing the code than it has to do with the barrier to entry for new people writing code (who is allowed to submit code), visibility (how hard is it for someone new to find out what's happening), and to some extent how open the project is to suggestions from outsiders (but this is the hardest part to objectively evaluate)
Posted Nov 16, 2011 23:39 UTC (Wed) by jra (subscriber, #55261)
This is not true. Whilst we have architects who know particular subsystems best, the code is still open and hacked on at will by pretty much everyone.
Posted Nov 16, 2011 20:39 UTC (Wed) by rgmoore (subscriber, #75)
I'm not sure I can name open-source project of sizable size which started as open project and evolved to become leader.
Linus Torvalds might be able to point out a couple. The Linux kernel is a very good example of a project that started out in bazaar mode and developed to become a real leader. GIT is another great example.
The obvious reason for a cathedral style project to slow down is because something happens to the architect. Top-down management helps to provide focus for the project, but the focus is only as good as the person at the top. If the project leader has a clear, good idea of where the project should go, having strong direction will help to get the project there. But if the leader gets bored or distracted, the project will lose direction. If the leader gets off track with a crazy idea, the project will go off track and focus on that crazy idea.
A bazaar project has the opposite situation. There isn't a single voice telling people what to do, so people are more or less free to pick their own interest. That means you don't have a single clear direction, but it also means the project can't get sidetracked by a single person's mistake. It's good if you have a lot of obvious work to do, like fixing bugs or writing a bunch of drivers for diverse hardware, where individual coders can pursue their personal interests and still add obvious value to the project.
My impression is that the very best projects have a mix of the two modes going on. They have a strong, but often fairly small, core that can push forward new ideas. The core often replaces a single architect with a formal or informal steering committee to avoid the risk of a single leader getting distracted, burned-out, or lost on a tangent. Outside that group, they have a larger set of people who are working on cleaning up and polishing the work done by the core. They take care of things like fixing bugs, writing drivers, translating documentation, creating artwork, etc.
Posted Nov 17, 2011 13:58 UTC (Thu) by jjs (guest, #10315)
Many would, and I would. Cyanogenmod is actually trying to do that. However, in terms of what Google is doing, they made public statements and promises. They carried out those statements. So "delay" is NOT what happened. Delay would be them not delivering ICS.
Whether it's leadership is slightly different, but I point out they ARE doing more than most companies - we might want to be more involved, but at least they ARE dumping the code.
Posted Nov 15, 2011 14:33 UTC (Tue) by clump (subscriber, #27801)
Posted Nov 15, 2011 17:20 UTC (Tue) by marcH (subscriber, #57642)
I guess the same people would complain about dirty carpets if they were offered a car for christmas.
Only 5 years ago, anyone pretending such a successful system would be available as open source some day would have been laughed at. Well done Google.
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds