Am 2014-05-07 23:57, schrieb Jiming Sun:
If open source community is meant for collaboration and innovation, do you think there can be silicon specific code that only a few people can understand, therefore whether it is open or not really does not matter?
It matters in that it can be checked. It also matters that fixes are possible: I had to binary patch an Intel bug in Google's MRC binary, it would have been easier to find in source code (in particular because I've been told that the comment above the point I fixed actually said the right thing. I had no comments in the binary to work with). In an open source process (with feedback loop) I could even have pushed that fix your way. As-is I have no idea who's still affected by that bug.
Also, this argument only works because the data sheets are locked down. I still have some vain hope that this will change at some point, too. :-) The PC space thrived because/despite (pick your favorite) open data sheets, and the embedded space still does (see also: Quark).
One more advantage open source brings is that it provides standardized licensing (and this issue is more important to commercial integrators that want to sell their work than to private developers): Mainstream open source licenses are well-known, battle-tested in courts around the world, and companies tend to have (simple) policies on using code under open source terms in products.
I was recently told that the FSP license is different from the click-through license on www.intel.com/fsp (the one shown when trying to download the files).
So here's how I understand the FSP license situation: There's the click-through license on the web site, the FSP license (shown by the self-extracting archive), the intersection of both that actually applies to me when using FSP, and the application of these resulting terms in jurisdictions world-wide. And every single-letter change to the license in future releases restarts the license evaluation process from scratch.
This may not be a problem for Intel - it's huge so these things don't matter much, but please keep in mind that Intel's legal department alone is probably larger than many of the companies that integrate Intel's chips.
So custom licensing is certainly a great scheme to keep lots of lawyers employed. But it's not so great if you're just trying to get chipset initialization code (and by extension: chipsets) into the hands of integrators.
ARM has a Boot ROM inside their SOC, should the code inside the Boot ROM be open? or does it matter?
Those tend to be small, in the 4-8kb range, and focused on a single purpose: getting the next stage into iRAM. For the Allwinner CPU we support, one developer in our community checked that the signed binary-only part (that we can't replace) is harmless.
This isn't so easy with a multi-100kb binary affecting pretty much everything across multiple chips.
I know this view point is not going to be popular, but Intel is trying hard to open as much code as possible (tianocore.org [1], Linux drivers, and Quark firmware are a few examples; I am sure more will come in the future).
I'm certainly looking forward to that!
We believe encapsulating basic silicon code is a good idea regardless if it is completely open.
It sure is. But it's even better when it's open :-)
Regards, Patrick