4 ms·
GPLv2 makes no such distinction or limitation in section 3. I states that distribution of binaries must include either: a) Complete corresponding machine-reada
by tellarin 14y ago
GPLv2 makes no such distinction or limitation in section 3.
I states that distribution of binaries must include either: a) Complete corresponding machine-readable source code; or b) Written offer to give any third party a complete machine-readable copy of the corresponding source code;
Item c) applies only to non-commercial cases, which is not the case here.
So if they are not doing a), they need to do b). And written does not imply regular mail (which you mentioned in your other reply), it can be anything on their web page or an e-mail.
If every distributed copy includes full source, then that's covered. Otherwise any request must be fulfilled, as there should be a written notice offering it somewhere. There is no limitation to who can request it.
GPLv3 on the other hand is more "legalese" and harder to read. Section 6 mentions possession of object code only for item b), which is the case for "written notice". So it will only apply if there is such written notice upon distribution.
Item c) is only for non-commercial cases. Items d) and e) require making source electronically available. Item a) says that if it is a physical product it needs to include full sources in some media.
If the distributor doesn't do d) or e), they need to do a) or b).
So, nowhere it is "patently false". Only if using GPLv3, and the binaries being provided along with a physical product, then there is no obligation to provide the code to any request.
The "corner case" I mentioned in my comment is related to item a). The limitation on item b) is actually something I had never noticed before.
But I have no idea which license version Tesla uses, so I don't know if this applies.
PS: Just to clarify one thing: trying to download a file from a URL or via P2P also constitutes a request. It's just on another media.
- callahad 14y agoI apologize for my tone, and I think we're in agreement. "Patently false" is a bit extreme, but we seem to agree that it's possible to comply with the GPLv2 without being required to distribute source to anyone that asks. That's section 3(a): include source alongside the object code. If the Tesla cars come with a CD-ROM or a USB stick containing the source, then they're in compliance. I mention mail order because, oddly, the GPLv2 actually requires that you provide source via postal mail to people if you're opting to comply under 3(b). That subsection states that in response to a written offer, you must provide source "on a medium customarily used for software interchange." That's interpreted by the FSF's GPL FAQ as "if any [third party] would rather get the source on physical media by mail, you are required to provide that" [0]. There's an additional entry in the FAQ [1] specifically covering the definition of third parties for GPLv2: "If you choose to provide source through a written offer, then anybody who requests the source from you is entitled to receive it." So written-offer-for-source appears to be the exceptional case for GPLv2: you have to provide it on physical media, and to anyone that asks. But if you choose to distribute source alongside the binaries, per section 3(a), then you're free from that obligation. Given that GPLv3's section 6(b) intentionally constrained this to only people who possess the object code, it feels like the universality of v2's section 3(b) is a bit of a fluke, and not representative of the goals of the GPL. Thus, in responding to your claim that "you must make the source available to anyone that requests it. Not only to your customers." I'd argue that the GPLv2 clearly and explicitly allows you to only make source available to your customers, if you comply with 3(a). [0]: https://www.gnu.org/licenses/gpl-faq#DistributeWithSourceOnInternet https://www.gnu.org/licenses/gpl-faq#DistributeWithSourceOnI... [1]: https://www.gnu.org/licenses/gpl-faq#WhatDoesWrittenOfferValid https://www.gnu.org/licenses/gpl-faq#WhatDoesWrittenOfferVal...