> To me this doesn't really look like a clear cut case. Does he own one of these cars? If not, then I think it is very dubious whether he has any standing to request the source code.
(All section references below are to GPLv2, since that is what the Linux kernel uses)
Section 3 governs distribution of object or executable code. Section 3 gives these requirements:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
BMW is distributing commercially and they did not receive the program in object or executable form, so option "c" is out.
They are not distributing the source code with their cars, so option "a" is out.
That leaves option "b", which requires them to give the code to any third party that requests it, at no more than their cost of performing a source distribution.
The requirement is NOT that you have to give out source code to anyone who asks. It is that the written offer you give out can be used by anyone. Did BMW hand out a written offer with the car that says how to get source code? If so, then it is fine if that offer requires you to enter a piece of information like a VIN.
BMW is under no obligation to hand out written offers to random strangers. You'll have to find someone who bought a car to get an offer.
Now why would BMW set things up this way? Well it is unlikely that all cars have the same exact source code. So without the VIN, BMW doesn't even know which copy to give you! So what are they going to do when someone shows up, is rude, clearly doesn't have the offer in hand, and then demands source code? Apparently they are going to tell him that he needs a VIN.
Let D be the distributor, C be their customer, and T be a third party. The language of 3(b) says that D must give C a written offer to distribute the source to any T. I don't see anything in it that says T has to have a copy of the offer.
It says "any third party", and unless there is something in the license that restricts this I'd expect a court to go with the normal meanings of "any" any "third party".
The GPL FAQ agrees with my reading, saying that "If you choose to provide source through a written offer, then anybody who requests the source from you is entitled to receive it" [1].
I'd say that requiring the VIN number in order to identify which software to provide source for is reasonable and would be allowed by the license.
The scenario I outlined does not require possession of the written offer to get source code. Possession of the knowledge in it, yes. But not possession of the offer. In particular it is reasonable to require you to know that you have to provide a VIN number to get the software. It is also reasonable for you to know what number to call, or address to send, or fee to pay, or even what to say to get to someone knowledgeable enough to have a chance of answering your questions.
In fact this email thread said that there is a website where you can enter the VIN and get the source code. I doubt it validates that you are who you say you are. If that website is world readable, I'd say that the GPL is satisfied.
(The email thread also made it clear that the people who responded from BMW Australia didn't themselves understand the license. But that is no surprise for an odd request of random people in a big company.)
> That leaves option "b", which requires them to give the code to any third party that requests it,
That's very interesting wording that I wasn't aware of. It still seems to me like it is a reasonable interpretation that only the customer could request it (the "offer" is to the customer, the distribution is to the third party). So, having bought the car, I could say "Please send the source code to my friend Fred". However my understanding is that the long held general interpretation of the GPL has always been that you only get standing to request the source code if you actually received the GPL code yourself.
"They are not distributing the source code with their cars, so option "a" is out"
I disagree. BMW currently offers the source code as a download on their website if a customer provides his 7-digit VIN, so this is them fulfilling the requirement that they must "accompany [the car] with the complete corresponding machine-readable source code". It is all in the meaning of "accompany it": giving the source code physically along with the keys when you purchase the car, or offering a source code download link. I would argue that either option is compliant with the GPL, so to me it seems BMW is in the right.
Yes, VIN numbers are 17-characters long, but only the last 7 characters are unique, called "sequential number".[1] The first 10 characters are composed of make, model, year etc.
(All section references below are to GPLv2, since that is what the Linux kernel uses)
Section 3 governs distribution of object or executable code. Section 3 gives these requirements:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
BMW is distributing commercially and they did not receive the program in object or executable form, so option "c" is out.
They are not distributing the source code with their cars, so option "a" is out.
That leaves option "b", which requires them to give the code to any third party that requests it, at no more than their cost of performing a source distribution.