[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free fi rmware



Nathanael Nerode wrote:
I'm assuming that the opinion of the copyright holder, being the licensor, is governing here. If the copyright holder comes out and
says explicitly, "Yes, it really *is* the preferred form for
modification," then we have no problem.  If they say, "no, it
isn't," then we can't distribute it (the GPL is the only license to
distribute, and we don't have the preferred form for modification).
So far, I agree 100%, but...
Otherwise, we have a sort of burden-of-proof issue.  I think if
most people, looking at, go "that's not the preferred form for
modification", then we should assume that it isn't, until we get
clarification.  You're assuming that by distributing it, the
copyright holder is *implying* that it's the preferred form for
modification.  I think my interpretation is safer. :-)

?! That's the part I have difficulty understanding. As I have said here before, there is no mistake in things unsaid... the code is there, the copyright in in the top of the file, the license is there *saying* to you it's GPL licensed, the origin of the blob is nowhere in sight. _The only possible conclusion_ is that it's the pf4m (=preferred form for modification). If asked and not responded, _the only possible conclusion_ is that it's the pf4m. It's only the opposite if the copyright holder (Qlogic, IBM, whoever) says "no, we have a XX assembly file around here, but we won't show you." /Then/ it's undistributable. Until then, if it's in a file, with valid copyright assignment and license, we _must_ assume it's the pf4m IMHO.

If I had not said enough, I will give you some insight of why I think that way. Some 15 years ago, I worked in a software shop and I had to write some driver to a piece of hardware (a point-of-sale terminal). In our software, we had to send a sequence of commands to the gadget, all in one package (see the resemblance with a firmware program?). Neither the maker of the gadget nor I came around to get some time to document it, it's format, and we shipped the program with this in the source code:

unsigned char commands_to_pos[] = { 0x032, 0x034, 0x045 };

:
:
send_to_pos(command_to_pos);
:
:

*and nobody never ever documented* or made any effort to make some code-generator to it. If there was any bug in the blob, only I (that had spend some of my youth in trial-and-error with the thing) could fix it. I don't doubt some more low-profile hardware maker has _the very same issue_, i.e., they have some guy who made their flashable codes, nobody can generate it, nobody modifies it (*), and that was it. if you _needed_ to modify it, the 0x0... is the preferred form. Because of this /personal/ experience I think the /legal/ approach is to assume the blob is the pf4m _till proven wrong_.

(*) and, there is more: I had a case of a specific model which, if you modified anything, the thing did not work at all!! For any modification!! I tried every single-byte, slight, no-op, modification you can think of and the thing did not came online unless I used the One and Only incantation for it to work. I would not rule /that/ out, either :-)

HTH,
--
br,M



Reply to: