BMW and the GPL
shkspr.mobi
shkspr.mobi
Without making a big show of this, it would have been much more difficult to get BMW's attention. Duncan tried to contact legal but was refused.
The point of GPL compliance isn't to sue or to shame, but just that: to bring people to compliance. Even in the beginning of the GPL rms said to Eben, "I have a rule. You must never let a request for damages interfere with a settlement for compliance."[2] Legal action is an absolute last resort, usually when years of friendly negotiations fail. All GPL lawsuits I know of only took place after years of attempts to get compliance failed. Duncan just wanted compliance, not legal action.
---
[1] https://lobste.rs/s/uaa4db/bmw_refuses_to_abide_by_terms_of_...
People keep repeating this, but I'm pretty convinced that clause 3b of GPLv2 says that the source code must be given to any third party, since 3a and 3c do not apply:
I mean, you're right - it's impolite (and possibly dangerous) to reflash someone else's firmware. But considering the regular upgrade path for BMWs is to stick a USB stick into the car, I'm not sure how you can prevent it.
https://shkspr.mobi/blog/2016/02/bmw-are-sending-their-softw...
In fact, this is covered square on by the GPL faq:
http://www.gnu.org/licenses/gpl-faq.en.html#WhatDoesWrittenO...
"What does “written offer valid for any third party” mean in GPLv2? Does that mean everyone in the world can get the source to any GPL'ed program no matter what? (#WhatDoesWrittenOfferValid)
If you choose to provide source through a written offer, then anybody who requests the source from you is entitled to receive it."
The example valid offer: "... This offer is valid to anyone in receipt of this information."
"Second, note that the last line makes the offer valid to anyone who requests the source. This is because v2 § 3(b) requires that offers be “to give any third party” a copy of the Corresponding Source."
This changed in GPLv3, which specifically mentions people who possess the object code instead.
It was changed explicitly, see the rationale for the third discussion draft of the gplv3.
Citation requested on intent.
I have provided evidence this was not the intent, citing things like the draft rationale, etc for the license prepared by the people who made the license. Please provide your counter evidence.
or do something reasonably similar ( point people to the source code site from their car, etc). Instead, they made a written offer. Written offers must be valid to any third party. Not just to people you give binaries to:
"b) Accompany it with a written offer, valid for at least three years, to give any third party, ... a complete machine-readable copy of the corresponding source code"
(emph mine).
You have to refer to actual written offer made to one of their customers. The argument that "I didn't see the written offer, but I believe it exists" doesn't seem very convincing.
edit: "own" is defined loosely here, you may ask a friend for a copy of the offer, or rent a car, or download it if someone publishes it on the Internet. But if you have never seen the offer, I'm pretty sure you're not in a position to enforce it.
This is a pretty trivial standard to meet. BMW sometimes sells multiple cars in one year.
This is not correct ;-)
(i'll just point you at the other comment, rather than repeatedly quote the gpl compliance guide in multiple comments)
That's a little bit of a stretch of the scenario.
If I want to contact the Legal department of a multinational firm on a -legal matter- related to contract law and software licensing, I (or my lawyers) send a -letter- or at least email to the legal department.
I -don't- call Tier 1 Customer Tech Support for the vehicle, demand to be put through to legal, run off to the web and talk about how BMW stonewalled me.
This shouldn't even require lawyers. The customer reps should be trained to point out where the source code is.
The GPL says that you must present a written offer executable by anyone. As long as their written offer describes how to get the software, and it works, they are fine. There is no requirement that they give the written offer to any random stranger who asks.
Furthermore the requirement for a VIN is very reasonable. The software is constantly changing, and without the VIN, how do they know what version to give you?
It was obvious at the start the BMW was in compliance. There was no actual story. Just a jerk who thought he was defending free software who was rude and managed to get a bunch of knee-jerk responses from the internet.
So what has been accomplished? We have "gotten BMW's attention", and wasted a bunch of people's time to verify that they were in compliance from the start. (Which I figured out from the original story, even if the person writing it didn't understand the GPL well enough to think it through.)
There are no instructions on that page (or anywhere I could find on the BMW site) for how to get the source.
I've emailed the address in the license file, but I've not yet had a response.
Damn straight. So provided opensource@bmw.com actually respond this should be sorted out: kudos for the author for being forthright about how this could have been handled better.
Here's where I'd like to disagree. Of course customer service doesn't have to know about those esoteric issues. But customer service should notice when a request comes that's not their department. And if that's the case they should redirect it to someone who knows better.
This is not the personal fault of the person sitting at the customer service, but the structure in a company. They should be able to handle that.
Written offers must be valid to all third parties.
http://www.gnu.org/licenses/gpl-faq.en.html#WhatDoesWrittenO...
So you still need to be in possession of the binaries. it is not any 3rd party, it is any third party who has possession of the binaries.
Please read the GPL compliance guides as well, which cover this in some detail (i quoted it for you in the other comment).
What you write would be correct for GPLv3, which uses the phrase, "accompanied by a written offer ... to give anyone who possesses the object code "
This was specifically changed in the third discussion draft of GPLv3 (see http://gplv3.fsf.org/gpl3-dd3-rationale.pdf) In any case, i assure you: if you try to restrict it to people who have binaries, various parties will take you to court for non-compliance :)