Today, Wednesday April 6, 2011, the Yocto Project officially releases version 1.0.
This is really significant for several reasons:
- There were a number of improvements to the software from the 0.9 release last October under the theme of improving the developer experience. But what’s really significant in my mind is that we didn’t need to totally redo a lot of stuff. Most fundamental was probably the rewrite of bitbake’s fetcher (to improve the “out of box” experience), addition of an installer script for our application development tools and an initial set of Board Support Packages or BSPs. But there are a ton of details that you can read about in the release notes.
- We have demonstrated that we can hit a 6-month release cadence. This sounds simple, but trust me when I tell you that doing it and being proud of the result is no small feat. Particularly because we did a complete update of the package versions of our user space components, toolchain and kernel, and this is not the most glamorous work in the world. Let me tell you, it is incredibly important in being able to create good operating systems. I also note a major improvement in our autobuilder and release process. (Did you know we’re now building 90 images? How did that happen? You will need to hear Beth Flanagan’s talk at the Embedded Linux Conference to hear why.) We’re also regularly generating build performance information in the autobuilder to ensure that we can have a baseline for improvements.
- We’re now part of a much bigger team. As was announced in March (http://www.linux.com/news/embedded-mobile/mobile-linux/416652-yocto-and-openembedded-combine-forces-what-does-it-mean) the Yocto Project now represents the combined effort of all the major embedded chip vendors, embedded commercial Linux vendors, individual developers and OpenEmbedded (http://openembedded.org/index.php/Main_Page), the most influential embedded Linux project. In our first Steering Group meeting, the common theme expressed by most of the members was keeping the open source and commercial versions aligned. This will save us all so much because we won’t be duplicating effort on build systems, endlessly porting BSPs, generally work that doesn’t make us any money.
- And hey, we actually hit our 1.0! Do you know how many open source projects never make it to 1.0? Plenty. But we did it, and I’m proud of the team. I wouldn’t claim that it’s perfect, but it is a worthy basis for embedded device projects, silicon BSPs, and commercial Linux downstream products.
On a personal note, I have to tell you what a thrill I got when I kicked off a recent full build of Linux using the 1.0 of Yocto. I downloaded the bits to my nicely configured Core i7 desktop, set up some things in local.conf, and then typed “bitbake poky-image-sato” then went off to a different computer to work on something. After a while I noticed this sound – the fan on my desktop started kicking up to full hurricane blow. What was going on? Looking at the CPU meters, all of the hardware threads were pegged at 100%! I had yet to experience the parallelized recipe parsing that the community had implemented. Wow, that thing really cranks! My friend Paul Anderson lives in frosty Minnesota and building Linux using Yocto 1.0 has been kicking out some nice comfy heat from his desktop. Then firing up QEMU on the resulting image was very smooth. Believe me, the system has improved so much in the past year, I don’t have words to describe it.
As with any good open source project, it would have been totally impossible without the contributions of a broad variety of people. You can read a complete list in https://wiki.yoctoproject.org/wiki/Contributors/1.0. It was particularly fun for me to see some folks contributing who I used to work with many years ago and have lost track of since then.
My sincere and wholehearted thanks to all of you who contributed your code, documentation and time to the project! If you want to see a cool visualization of the contribution effort, check out this video. Thanks to Darren Hart for creating it. It’s very entertaining to see various contributors zoom in and out and zap their files in the git repository.
As one of our engineers, Scott Garman recently posted on one of our servers:
A yoctoearth weighs 13.2 lbs, but a Yocto Project 1.0 release weighs enough to shake up the embedded Linux industry!