+1 Good and smart decision from my point of view.<br><br><div class="gmail_quote">On Feb 8, 2008 11:58 AM, Paul Jimenez <<a href="mailto:pj@place.org">pj@place.org</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>+1<br><br>Software by its nature is easier to fix than hardware or even<br>firmware; this approach does the Right Thing: vendors win<br>because the firmware layer just got a whole lot easier to write<br>and the rest of the world wins because we get as much control<br>
as legally permissible of our hardware.<br><div><div></div><div class="Wj3C7c"><br>On Friday, Feb 8, 2008, Wolfgang Spraul writes:<br>>Dear Community,<br>><br>>Some of our chips or chipsets contain proprietary firmware in flash<br>
>memory. For example, in GTA02 these include the Wi-Fi, GPS, and GSM<br>>chipsets.<br>>Ideally, we would have liked to use chipsets for which even the<br>>firmware code would be free, but they don't exist right now.<br>
>So we accepted proprietary firmware, as long as it was in flash or ROM.<br>><br>>Then we ran into problems when bugs were found in the firmware, and we<br>>wanted to update handsets out in the field.<br>>The vendors would give us firmware updates and reflashing tools, but<br>
>they wouldn't let us redistribute those tools to our users. We asked<br>>for special licenses to allow us to distribute those flashing tools to<br>>our users, and got them in some cases, after months of licensing<br>
>negotiations.<br>>Next we discovered that those reflashing tools had further issues: for<br>>example, they would only allow loading cryptographically signed<br>>firmware into the chipset flash memory. The tools do this because<br>
>vendors are worried that people would disassemble, patch, and<br>>reassemble the firmware, triggering regulatory reclassification of<br>>their chipsets (software controlled radio).<br>>Furthermore, we see that for upcoming chipsets, vendors are switching<br>
>from storing the firmware in flash memory to loading the firmware into<br>>RAM at run time. One reason for this is that RAM needs less power and<br>>is cheaper. In this case the firmware, whether original or updated,<br>
>has to be loaded each time the device boots, requiring that the binary-<br>>only, restrictively licensed firmware updater be included in the<br>>OpenMoko distribution.<br>><br>>This got quite frustrating, until we met Richard Stallman last<br>
>weekend. And he cleared it up for us rather quickly :-)<br>><br>>He suggested we treat any chipset with proprietary firmware as a black-<br>>box, a circuit. He suggested we ignore the firmware inside. If the<br>
>firmware is buggy and the vendor needs the ability to update the<br>>firmware, we instead ask the vendor to reduce the firmware to the bare<br>>minimum, so that it can be very simple and bug free, and move the rest<br>
>of the logic into the GPL'ed driver running on the main CPU. This way<br>>we completely avoid the issue of distributing proprietary firmware<br>>updates and binary firmware updaters with restrictive licensing that<br>
>load only cryptographically signed firmware.<br>><br>>We liked his advice. It speeds up our decision making and allows us to<br>>focus on what we do best: Developing Free Software that is available<br>>in full source code, running on the main CPU, that we and anyone else<br>
>can modify and optimize. There are downsides: We will no longer offer<br>>reflashing tools to update proprietary firmware, under any license.<br>>For critical firmware bugs, we will accept returns, or in some cases<br>
>fix the bug in-house.<br>>We will push vendors to simplify the functionality of their<br>>proprietary firmware, so we can implement more of this on the main CPU<br>>as Free Software. Maybe some vendors will even open up firmware for<br>
>Free Software development, that would be the ideal outcome we are<br>>working towards.<br>><br>>We hope this helps clarify OpenMoko's current position on proprietary<br>>firmware: Ignore them while they stay inside of a chip or chipset, and<br>
>refuse to touch them. Focus on what Free Software can do.<br>>Feedback and comments are always very welcome.<br>>Best Regards,<br>>Wolfgang<br>><br>>_______________________________________________<br>>OpenMoko community mailing list<br>
><a href="mailto:community@lists.openmoko.org">community@lists.openmoko.org</a><br>><a href="http://lists.openmoko.org/mailman/listinfo/community" target="_blank">http://lists.openmoko.org/mailman/listinfo/community</a><br>
><br><br>_______________________________________________<br>OpenMoko community mailing list<br><a href="mailto:community@lists.openmoko.org">community@lists.openmoko.org</a><br><a href="http://lists.openmoko.org/mailman/listinfo/community" target="_blank">http://lists.openmoko.org/mailman/listinfo/community</a><br>
</div></div></blockquote></div><br>