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