Should device manufacturers make their firmware open source?

Independent film makers have developed a firmware update to Canon's 5D Mark II digital SLR. What should Canon do about it?

Very cool news that a group of independent filmmakers (with programming skills) have developed a firmware update to the Canon 5D Mark II digital SLR.  According to the team:

The software in video mode has limitations, even after the recent 1.1.0 upgrade from Canon that fixed the most glaring manual exposure "bug".

That's where Magic Lantern comes in -- it turns your 5D Mark II into a 5D Mark Free. We've written extensions and widgets that fix many of the annoyances in working with the 5D Mark II on a film or video set. Our first set of fixes are targeted at the audio limitations of the camera, but there are some video enhancements included, too:

* On-screen audio meters

* Disabled AGC

* Manual gain control

* Zebra stripes (video peaking)

* Crop marks for 16:9, 2.35:1 and 4:3

They've released the Magic Lantern firmware under the GPL and are seeking donations, programmers with ARM assembly or embedded systems skills, and folks who don't mind risking their expensive 5D Mark II cameras.

[ Keep up with the latest open source news with InfoWorld's open source newsletter and topic center. ]

Reading the 5D-II forum, the response has been quite positive.  I'm not a lawyer, but the EULA seems to have terms and conditions that restrict the work done by the Magic Lantern team.  This begs the question, what should Canon do about, or as a result of, Magic Lantern?

Canon could open source its firmware and encourage community contributions. The thinking follows that Canon's hardware (CMOS, lenses) is a whole lot more valuable than its software.  While competitors could potentially reuse Canon's open source software firmware, these competitors would not be able to match Canon's hardware R&D and manufacturing processes.  And in most cases, the firmware is pretty hardware-specific to Canon.  Or one could argue that Canon's software is very important to its value proposition, but that opening up to an open community of developers will help Canon innovate faster than it could using its internal resources only.  On the flip side, Canon's camera product portfolio would be disrupted if a programmer was able to add some firmware-based capability to a lower-end model that is only officially offered in a higher-end model.  But even here, one could argue that the vast majority of Canon users will only install the official Canon firmware which would not have to include features that Canon didn't wish to add to a given product level. On the other hand, wouldn't these folks be the exact users that Canon wants to upsell to the higher-end model?

I could, and have, gone back and forth on this one.  What about you?

Follow me on twitter at: SavioRodrigues

PS: I should state: "The postings on this site are my own and don't necessarily represent IBM's positions, strategies, or opinions."

Copyright © 2009 IDG Communications, Inc.

How to choose a low-code development platform