Hello,
I'm Grégoire Gentil, the founder of Always Innovating. I intend to participate to Linaro Connect Q1.12 though I'm not part of this organization. I follow the work of Linaro and I find it very interesting for our OMAP-based products such as the HDMI Dongle: http://www.alwaysinnovating.com.
I don't know if it's the right forum or if such discussion has already taken place, but there is one point that I would like to raise up: release frequency. Linaro is currently on a one-month period, which is very tight. To my mind, such small period presents two disadvantages, long-term perspective and innovation:
- if there is a new release every month, it's hard to know which release is *very* stable and should be used by an external company which might not have the same frenzy to update all the time.
- Regarding innovation, Linaro might learn from the Ubuntu experience. Mark Shuttleworth was a strong advocate of the strict Ubuntu short release schedule and he admitted later that a too frequent period prevents from innovating. When you are pressed by a schedule, it's hard for the organization to step back and take the time to break-through on a novel approach.
The point of my email is not to convince Linaro to change the current situation but to bring an idea for a complementary approach at least for the first point:
for instance, let's imagine a Linaro "super-stable once sometimes" release. Right now, people are desperately looking for a "good" ICS image - read Pandaboard groups if you are not convinced -, and ICS won't change that much during the year. Perhaps there will be a 4.1 but when you are doing a commercial product, you don't need the latest of the latest and you certainly don't want to change your build process every month. If there was a "good" ICS release today, I think that it would be a major blockbuster for a lot of companies following Linaro. I'm mentioning the Android example because it's what people want today, but tomorrow it might be Meego or whatever. I'm not saying to stick to Google schedule, it's just an example of what is trendy today and would deserve long-term stable bits.
To go one step beyond in my thinking, I'm not advocating for a new separate *strict* longer schedule. The idea might be more to have *A* milestone release from time-to-time, after something major is out (Android release, new ARM cortex), and Linaro decides that this next monthly release should be a major one, very polished, very stable and it's properly supported and advertised with clear wiki and updates for security or critical problems.
The point of my email was not to criticize the very interesting work of Linaro but to give an external point of view. Let me know if Linaro has already done some thoughts about this topic, and if such discussion can occur formally or informally at the coming Connect event.
Best regards,
Grégoire Gentil Founder Always Innovating http://www.alwaysinnovating.com
On Mon, 2012-01-23 at 18:28 +0100, Marcin Juszkiewicz wrote:
Hi
I am arriving on Saturday evening and wondered what to do on Sunday. Usually I spent time going to shops to buy some electronics but this time I think that will leave it for Amazon instead.
That leaves me Sunday for sightseeing. According to Google Maps trip to Golden Gate bridge takes 2.5h by public transport or 40 minutes by car. But looks like there is no car rental in hotel ;(
Is anyone interested in going for some tour? I think that San Francisco has some nice places to view.
Hi Grégoire,
Thanks for the mail. I am just a grunt here but I hope I am not too far off the mark with my replies. No doubt any mistakes will be corrected!
On 23 January 2012 19:06, Gregoire Gentil gregoire@gentil.com wrote:
I'm Grégoire Gentil, the founder of Always Innovating. I intend to participate to Linaro Connect Q1.12 though I'm not part of this organization. I follow the work of Linaro and I find it very interesting for our OMAP-based products such as the HDMI Dongle: http://www.alwaysinnovating.com.
I don't know if it's the right forum or if such discussion has already taken place, but there is one point that I would like to raise up: release frequency. Linaro is currently on a one-month period, which is very tight. To my mind, such small period presents two disadvantages, long-term perspective and innovation:
- if there is a new release every month, it's hard to know which release
is *very* stable and should be used by an external company which might not have the same frenzy to update all the time.
There recently was a thread about how monthly releases, hopefully it will be infomative: http://lists.linaro.org/pipermail/linaro-dev/2012-January/009625.html
As part of our release process we ask people to try out our builds, in fact our latest call for testing just went out: http://lists.linaro.org/pipermail/linaro-dev/2012-January/009810.html
We would welcome more eyes on our builds.
- Regarding innovation, Linaro might learn from the Ubuntu experience.
Mark Shuttleworth was a strong advocate of the strict Ubuntu short release schedule and he admitted later that a too frequent period prevents from innovating. When you are pressed by a schedule, it's hard for the organization to step back and take the time to break-through on a novel approach.
If short releases prevent long term software engineering projects from happening, then that is a problem. We try and avoid this by having monthly releases where changes are only released when they are ready. Since we release monthly, this reduces the pressure to rush a feature for a particular release (probably reducing its quality) since another release will happen shortly after.
The point of my email is not to convince Linaro to change the current situation but to bring an idea for a complementary approach at least for the first point:
for instance, let's imagine a Linaro "super-stable once sometimes" release. Right now, people are desperately looking for a "good" ICS image - read Pandaboard groups if you are not convinced -, and ICS won't change that much during the year. Perhaps there will be a 4.1 but when you are doing a commercial product, you don't need the latest of the latest and you certainly don't want to change your build process every month. If there was a "good" ICS release today, I think that it would be a major blockbuster for a lot of companies following Linaro. I'm mentioning the Android example because it's what people want today, but tomorrow it might be Meego or whatever. I'm not saying to stick to Google schedule, it's just an example of what is trendy today and would deserve long-term stable bits.
To go one step beyond in my thinking, I'm not advocating for a new separate *strict* longer schedule. The idea might be more to have *A* milestone release from time-to-time, after something major is out (Android release, new ARM cortex), and Linaro decides that this next monthly release should be a major one, very polished, very stable and it's properly supported and advertised with clear wiki and updates for security or critical problems.
There is a discussion on our release process at the next connect: https://blueprints.launchpad.net/linaro-project-management/+spec/linaro-gene...
I hope that some of this information helps,
On 23 January 2012 13:06, Gregoire Gentil gregoire@gentil.com wrote:
Hello,
I'm Grégoire Gentil, the founder of Always Innovating. I intend to participate to Linaro Connect Q1.12 though I'm not part of this organization. I follow the work of Linaro and I find it very interesting for our OMAP-based products such as the HDMI Dongle: http://www.alwaysinnovating.com.
I don't know if it's the right forum or if such discussion has already taken place, but there is one point that I would like to raise up: release frequency. Linaro is currently on a one-month period, which is very tight. To my mind, such small period presents two disadvantages, long-term perspective and innovation:
- if there is a new release every month, it's hard to know which release
is *very* stable and should be used by an external company which might not have the same frenzy to update all the time.
- Regarding innovation, Linaro might learn from the Ubuntu experience.
Mark Shuttleworth was a strong advocate of the strict Ubuntu short release schedule and he admitted later that a too frequent period prevents from innovating. When you are pressed by a schedule, it's hard for the organization to step back and take the time to break-through on a novel approach.
The point of my email is not to convince Linaro to change the current situation but to bring an idea for a complementary approach at least for the first point:
for instance, let's imagine a Linaro "super-stable once sometimes" release. Right now, people are desperately looking for a "good" ICS image - read Pandaboard groups if you are not convinced -, and ICS won't change that much during the year. Perhaps there will be a 4.1 but when you are doing a commercial product, you don't need the latest of the latest and you certainly don't want to change your build process every month. If there was a "good" ICS release today, I think that it would be a major blockbuster for a lot of companies following Linaro. I'm mentioning the Android example because it's what people want today, but tomorrow it might be Meego or whatever. I'm not saying to stick to Google schedule, it's just an example of what is trendy today and would deserve long-term stable bits.
To go one step beyond in my thinking, I'm not advocating for a new separate *strict* longer schedule. The idea might be more to have *A* milestone release from time-to-time, after something major is out (Android release, new ARM cortex), and Linaro decides that this next monthly release should be a major one, very polished, very stable and it's properly supported and advertised with clear wiki and updates for security or critical problems.
The point of my email was not to criticize the very interesting work of Linaro but to give an external point of view. Let me know if Linaro has already done some thoughts about this topic, and if such discussion can occur formally or informally at the coming Connect event.
Thanks for the input Grégoire.
I think "released" based software "engineering" is akin to manufacturing before the industrial revolution. Before the industrial revolution, skilled craftsman would work diligently to "release" a quilt, car, beer (still better hand-crafted), etc... As work was broken down into discrete steps and those steps were placed into an assembly line manufactures were able to hire many more less-skilled workers at a lower cost and were able to increase their industrial output by orders of magnitude. This brought the cost of "luxury" items down to a point where most everyone could afford them.
Software is following the same trajectory. It used to be that software was one big monolith, developed by an extremely well skilled craftsperson. As we've built compilers, OS's, web-frameworks, etc... the skill level has gone down. This had led to an increase in the amount of software that can be developed and has brought the cost of software down so that everyone can enjoy it.
The other thing that led to the mechanization of manufacturing was standardization. Back in olden days, people wrote proprietary code and sold that code. Many people wrote and sold code, and pushed divergent standards. When someone wanted to use one piece of code with another they had a hard time doing it because they were trying to integrate big things that we're meant to work together. With the opensource revolution, code was now relatively free and plentiful and generally worked well together because it had to, if your code didn't play well with others it wasn't really used. As opensource software has proliferated and has been further refined it has given developers and software manufactures a plentiful supply of standardized components that they can fit together easily. This has further pushed the mechanization of software engineering because the smaller standardized modules could be further refined by individual teams.
As all of these modules come together into the software assembly line they are typically tested as a whole. The old way was to pull everything into a distribution discretely at different times, but its better if each submodule is delivered continuously. Then there's no delta between "release" and "testing." If you take this one step further, since we're building software you can actually build a version of "product" with just the single change, test it, and if it passes accept that piece of software into the mainline "product." This premerge testing allows all submodules to continue being developed against a good product and gates delivery of a new submodule on that submodule working with the product. This in turn allows all the software assembly lines to work most efficiently since there's no delta between their "release" and when that release has been "integrated and tested" with the whole, its done up front.
Of course I didn't come up with any of this. This is how most Android products get developed.
So for today's product builders, what they should do, is to tee off from a point in the Linaro Android CI loop into their own loops. They can then work towards their finished product in their own CI loop. If they're interested in updates of a particular component they can simply bring that component's assembly line into their assembly line and premerge test contributions.
Best regards,
Grégoire Gentil Founder Always Innovating http://www.alwaysinnovating.com
On Mon, 2012-01-23 at 18:28 +0100, Marcin Juszkiewicz wrote:
Hi
I am arriving on Saturday evening and wondered what to do on Sunday. Usually I spent time going to shops to buy some electronics but this time I think that will leave it for Amazon instead.
That leaves me Sunday for sightseeing. According to Google Maps trip to Golden Gate bridge takes 2.5h by public transport or 40 minutes by car. But looks like there is no car rental in hotel ;(
Is anyone interested in going for some tour? I think that San Francisco has some nice places to view.
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev