Embracing open source includes contributing code back to WebKit. "Torch Mobile used to be very active in the WebKit community and then it got acquired and it has still stayed very active in using the technology, but we haven't done much of pushing the contributions back", Pelegri Llopart admits. George Staikos, the VP for the browser, recently promised to change that. "We're going to start contributing more to WebKit. That's another case where it's actually to our benefit to contribute it back; it was just a matter of getting enough consensus internally to do it and we have got to that point. It's the same thing with Qt."
The Cascades 3D graphics framework uses Qt Core, and QML (the Qt Modelling Language) to give PlayBook 2 and BlackBerry 10 apps a new signature look. Contributions to Qt to support that will eventually go into the Qt project, but pressure of time means RIM is making them available less formally first. "We're pushing out some changes to Qt 4.8 to support PlayBook and the way we ended up doing it is we're just doing it as a zip for now but what we want to do is to upstream it. We're striking this balance between doing it the right way and doing it faster but within a couple of months or so we should be part of that."
RIM is making contributions to other open source projects for very practical reasons. "We use a lot of open source internally. There are places where the open source tools are being specialised inside the company; things like Jenkins. We have a plugin for Jenkins to do this thing. Whenever you do that there is a cost in maintaining your own version of Jenkins. I think we're getting to the point where we're going to have participation upstreaming those changes into the main repositories; because when you get the tool from open source and it already supports our special case then that is more efficient."
Perhaps over-optimistically, he doesn’t expect contributing to open source projects to mean a lot more work for the teams at RIM, either. "Yes, we'll have to have some engagement but I think it's going to be significantly reduced. We don't have enough time trying this to know exactly how contribution is going to work but the hope is that once we have ported it once and we have contributed it upstream, if there is enough user base for the device and expertise then the upstream community, maybe including us, will just keep it running."
For example, the Cocos2d-x gaming engine was ported by the gaming group at RIM, who gave the code to the lead developer in China. "It was added to the upstream in January; it's a full-fledged first class citizen. From now on, maybe there will be some bug every now and then but I think it's going to be the community that's going to take care of it."
Similarly, when he saw Wikimedia had ported its PhoneGap client to Android, a RIM engineer ported it to the PlayBook – in just two days, he boasts. "I took one of our PlayBooks and dropped it off in the Wikimedia office. So now they have the code, they have the device. I expect they're going to submit it and now it's one of their supported platforms."
He's using the OpenBBNews blog both as a way to engage with the open source community rather than simply throwing code over the wall and hoping it gets adopted, and to educate RIM employees about what matters to developers. "A large part of the open source culture is having conversations directly with the other side. If you look at our devices, our devices are secure devices, even the consumer devices. The typical devices people used to develop within companies are insecure devices. It's different. Talking about code samples you are responsible for as an engineer helps put you in the shoes of the developers that are going to use your tools and ultimately helps you write better code."
Speeding up RIM with open source
Between competitive pressures and the number of acquisitions that were familiar with open source advantages, attitudes internally have changed. "The approach I'm taking on this is you win one battle and you take that and you build on it to win the next battle. Many people in the company were very ready for it. Once you have solved the internal explaining to legal how this works, then everybody says 'oh yes, it makes sense'."
"There are other places where we have had more explicit conversations about risk analysis. One of the issues of engaging in the open source community is how many checks do you want to do before something happens? There is a trade-off between agility and productivity, and risk management. If you want 100% risk free, you shouldn't do anything; there is always some risk. And if one of your challenges is executing fast, maybe you are willing to take some risk.”
The question of risk means there are some things RIM will never do with open source. "You don’t work on areas in open source like the radio stack. That doesn't make any sense because the risk is high, the cost is high and the value [of open source] is negligible. In the HTML5 space the tradeoff is the opposite; there's a huge benefit, the interaction is really fast."
Essentially, the faster timing of HTML5 platform development is pushing the company forward. "We look at how iOS devices are being updated all the time and the way we used to be very limited about what could be updated. With the BlackBerry the carrier controls it. It's easier for the PlayBook. It's not a carrier device, it's a consumer device you can upgrade it yourself. With the PlayBook everybody is essentially running the last version."
That's a major change in how RIM thinks about the devices it builds. Shipping faster and being more transparent are abilities RIM urgently needs to demonstrate. Individual open source projects at RIM may seem small or ad hoc, but open source turns out to be a key part of what's moving the company forward.
Mary Branscombe is a freelance technology journalist and editor. Having worked as a commissioning editor for eleven years, she now writes about technology for UK magazines and tech web sites.