Let's discuss the source for the GPLed parts of Tesla cars
sfconservancy.org
sfconservancy.org
[1] https://shkspr.mobi/blog/2016/03/bmw-are-complying-with-the-...
A brief look at the code BMW provided suggests they haven't provided any information on how to build or install the code, both of which are required by the GPL.
If you do find or receive source code from other car manufacturers, please try to build it before concluding that they are compliant. If you have trouble, please report this issue to us at https://sfconservancy.org/copyleft-compliance/#reporting and we'll do our best to help.
Not sure if this is specifically relevant, but just in case, I have a (minor) commit in BusyBox which is licensed under GPLv2.
I'd love to have Tesla send me my source. ;)
(Unsurprisingly, there was a very very strict rule against using, coming within 100 meters of, looking funnily at, or even thinking in a passing way of any AGPL source internally when I was at a particular large internet company that was otherwise pretty open-source-friendly...)
Amazon was the pioneer of SaaSifying AGPLv3 software.
The implication here is that OP is not simply providing a web service.
* If you don't modify the AGPL program, you don't have to offer source.
* The AGPL is viral in exactly the same way as the GPL. Programs don't become subject transitively to the AGPL just because they communicate over a network.
If busybox was AGPL, you wouldn't have to distribute source code unless you modified busybox and it communicated over a network with users. Even then, you would only have to distribute the modified code for busybox, not other services that it might communicate with.
A more relevant example might be something like my web-facing software, `bitcoin-top`, which I release under the AGPL.
https://bitcoin.esotericnonsense.com
You are free to copy the source code and run it on your website, as a part of your website (e.g. link to it on a subdomain), etc.
In that case the matter of whether you have to offer the source is kind of immaterial - it's the same source I'm offering and have mirrored at least 4 times, and in this year 2019 we don't need to be shipping CDROMs about.
I don't believe that your statement: * If you don't modify the AGPL program, you don't have to offer source. is strictly correct, rather that it's simply the case that if you don't modify it, you're already offering source, you can just point people to my github or whatever.
If you modify it and serve a different version, say a litecoin node monitor or you tweak and improve it or whatever, you must release the source code because our software would be licenced under the AGPL.
Clause 13 of the AGPL specifies that you must offer the Corresponding Source via "a network server at no charge". It doesn't say it has to be your network server. But if upstream shut down for some reason, you'd have to come up with some other method to offer users the source.
It's right in section 13:
> Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network [the source code]
This is simpler than the rules for distributing the binary.
If I have a factory, and my line workers use terminals that talks to my central server, do I have to provide them with a copy of my source code?
If I own a store that has price scanners that check a central database, do I have to make source code available to all customers?
If I have an airline that contains in-flight entertainment units, do I have to provide source code to every passenger?
If you modify AGPL code and redistribute it or offer its services over a network, you've created a derived work which is not solely 'your source code'. What you need to provide is the collective including the modifications.
You can avoid this by not using AGPL licensed code.
No, and the FAQ for AGPL (http://www.affero.org/oagf.html) explains that AGPL and GPL works identical in this matter. Organization that just makes the copies for itself is not distributing, and as such not bound by the conditions for distributing (https://www.gnu.org/licenses/gpl-faq.en.html#InternalDistrib...).
> If I own a store that has price scanners that check a central database
> If I have an airline that contains in-flight entertainment units
Grey zones. It depend on copyright law. All interaction with copyrighted material is not distribution. I can look at a building without the architect being owned money. I should be able to sleep in a hotel without the architect having a copyright claim. Can I take a photo? That is debated. Can I buy and sell the building? maybe.
I would personally think that a price scanner is not conveying the work of internal workings of the store, but a agpl game in an in-flight entertainment units is conveying copies of the art to passengers just like a movie.
Ask a lawyer and the answer should be "it depend", just like any other legal area which does not have clear bright lines.
https://www.gnu.org/licenses/gpl-faq.en.html#MereAggregation
A distribution of Linux you happen to use (like Debian) might be entirely freely GPL components. If you ship anything that includes those, you are also required to provide (or at least provide if asked) a copy of the source code, For that Component.
If you have a proprietary program that happens to run inside of that Linux distribution, but otherwise does not use GPL/etc sources, that doesn't need to be distributed as such. It's generally better for your customers to not stand in the way of them fixing things/using newer versions of the free upstream, and re-combining in the provided application to form a new version of the whole. That's one of the issues later versions of the GPL tried to address.
My rough understanding is that aggregating is permitted providing that the aggregation is merely that.
For example, an image that can easily be extracted, for which it can be seen that busybox exists as a seperate binary, and for which the source code is made available by you (say, by virtue of the fact that you identify it as the unmodified BusyBox v1.31.1 and the source is on git.busybox.net), would be fine.
Where it gets hazy is if you have some sort of proprietary image format going on and it cannot be verified that unmodified BusyBox is being distributed, or that you're not linking against it or using it as a substantial part of your logic.
Bear in mind that the intent of the GPL, quite apart from how a lawyer would intepret it, is precisely that if you use GPL software in your software, you should release your software under GPL. If you're looking for loopholes then you're not really playing the game and should be looking for alternatives.
My intent when writing GPL software is that it should not be included in proprietary solutions at all. I release my own personal projects under AGPL precisely because it's stricter. I don't ask for you to pay for my code in money - I ask for you to pay for it by providing the source code so that the wider ecosystem can benefit from your and my work.
IMO (not a lawyer) the result is what the legal question would be. If you modified your car and it started pumping out emissions that would be otherwise illegal I'd be a bit concerned about that.
I don't think there are different legal requirements for electric vs gasoline cars. In both cases, you can modify them all you want without running afoul of the laws about motor vehicles.
However, in both cases, you can absolutely make modifications that render the vehicle no longer street legal. Removing the turn signals would do it, for instance.
People can put random android radios into their cars, and nobody cares. And code quality will probably be quite atrocious.
A lot of infotainment systems lock out some features when the car is moving. For example, watching a DVD on the dashboard screen of a moving car is not normally possible. People share workarounds for that kind of thing on car enthusiast forums.
If someone removed restrictions from their infotainment system, and they were involved in an accident while using that system, it might come up if the matter went to court.
It could be brought up in court as piece of a larger effort to show negligence or actual lawbreaking.
For instance, in my state it's entirely legal to have a video system that is capable of showing video that is visible to the driver, but it's entirely illegal to use that system in a way that makes the video visible to the driver. So while having the system installed is legal, it could also be a piece of a larger collection of evidence showing wrongdoing.
Using the modified device where the public vehicle code applies might be, even if making the modification, alone, is not strictly illegal. (For instance use of the device so modified would be illegal on a public road in California, where it would violate the screen use law, which only allows screen use if it has a lockout of all but specified allowed functions while the vehicle is moving. Note that under the text, even if only the functions permitted while a vehicle is in operation are actually used, it would still violate the law to use the device if the lockout was disabled so that it was possible to use other functions.) Cal. Vehicle Code § 27602.
In all seriousness though, if you modified something that reduced the safety of the vehicle and someone is harmed, I can only assume that would be a factor in the legal finding. I am not a lawyer however.
And once we decide which firmware in what CPU is being modified, now we get into what exactly the changes are.
In short, usually it's fine. In some extreme cases it's not.
I think once EVs become more generally popular we will see more little modding companies pop up like they do for most ICE "performance-ey" cars, but even now there are a good amount of non-performance mods available for Tesla's. A popular one is a powered trunk for Model 3s that can even be closed from the app via a canbus interface.
Hell my last car was an Audi TT, and there was a damn app you could buy that would let you root and modify the car!
But boosting has probably killed engines prematurely more than any other mod, except perhaps n2o injection.
That is why you hear reports that even when the battery has more than enough energy stored, but the controller (lifespan logic) purposely reduces output power, I believe mostly under cold conditions. This is a purposeful mechanism to ensure the temperature of the batteries stays within a defined range as much as possible to maximize the lifespan.
A run away Diesel engine could melt itself.
I do think the electrocution risk is significantly higher though.
Spilling gasoline on your hands and clothes while sloppily pulling off a fuel rail or fuel pump was benign. Spilling electricity all over you while sloppily removing and handling a large cumbersome massive battery pack with whatever improvised tools you had on hand sounds like an easy way to be killed.
I wonder if oily rags are more dangerous than both.
Maybe if your vehicle uses Linseed oil...
In the first case: uhm, yes, you knew the risk?
In the second case: Sue everyone from coder to distributer and take the refund from whomever is deemed finally responsible by courts.
It is interesting how Tesla is apparently issuing updates over the air, where the important firmware in ICE cars is more-or-less left unchanged after manufacturing.
Hasn't car (ecu) modchipping been a thing since nineties or something? Essentially the same thing.
https://www.tacomaworld.com/threads/2016-toyota-tacoma-ovtun...
Not necessarily.
> If not, please explain. GPL has no linkage/classpath exception
It does exclude aggregation; not all software delivered in a lump with GPL code is necessarily part of the same work for copyright purposes, and therefore for GPL purposes.
Source: https://lwn.net/Articles/61292/
Relevant part:
> You do have a choice under the GPL: you can stop using the stolen code and write your own, or you can decide you'd rather release under the GPL. But the choice is yours. If you say "I choose neither," the court can impose an injunction to stop you from further distribution, but it won't order your code released under the GPL. Your code remains yours, as you can see, even in a worst case scenario.
Well really the whole article is relevant. It points out that the GPL is a license to use the GPL'ed code. If Tesla violates the conditions of that license, they can lose the right to use that code as a result. IANAL though.
As you'd no longer receive the new binaries, you'd also no longer be entitled to the new sources per the GPL. This would leave Tesla with a large deterrent against people asking for sources.
Consider the (artificial) case in which I start selling copies of Windows without a license. MS don't have to buy one of those copies in order to have a claim against me.
The big question is whether punishing users by no longer providing any updates after asking for sources is a GPL violation in itself.
From the GPL FAQ [1]:
> If I distribute GPLed software for a fee, am I required to also make it available to the public without a charge?
> No. However, if someone pays your fee and gets a copy, the GPL gives them the freedom to release it to the public, with or without a fee. For example, someone could pay your fee, and then put her copy on a web site for the general public.
[1] https://www.gnu.org/licenses/gpl-faq.en.html#DoesTheGPLRequi...
> 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.)
C doesn't apply here (it's not non commercial, they didn't receive it like that, ...). A doesn't apply here unless they start just giving every customer the source. So we're in case B which requires them to give it to any third party.
(IANAL)
"You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License."
Also, once any person has the source code they explicitly have the right to distribute it. So even if the punishment was imposed, it would only apply to the first person (who could then e.g. upload it to GitHub for everyone else). Maybe someone with a written-off Tesla would do that?
Monetary harm would be hard to prove for purely GPL software. For software that is dual licensed under GPL and a non-free license that you have to pay to get, there is a much better chance plaintiff could make a case for monetary harm.
Defendant's profits is more promising, but I believe that it is profits that can reasonably be attributed to the infringing material.
Plaintiff's best bet for getting money out of a copyright suit in a case like this is to elect to ask for statutory damages rather than actual damages. Statutory damages are per infringed work, not per infringing copy. Statutory damages are from $750 to $30000, with the exact amount depending on the seriousness of the infringement and the worth of the infringer. The lower end can be lowered to as low as $200 if the court finds the the infringer was an "innocent infringer" (which would require the infringer to not know or have reason to know the work was copyrighted--a very unlikely possibility), and the higher end can be raised to as much as $150000 if the infringement was "willful".
Car doesn't run without Linux, Cool entertainment features don't work without Linux, Battery Management based on Linux? etc, etc...
There was a company that did a lot of development and maintenance on the software, and sold support for it. They strictly followed the GPL, so you could ask for and obtain the source from them. If you redistributed that source, however, they would no longer sell support to you. No one else was providing commercial support for it, so this was a strong enough incentive for those who needed support to refrain from redistributing the source.
[1] https://perens.com/2017/06/28/warning-grsecurity-potential-c...
Yes, this is a case of tivoization in that you can't load modified bins onto your car, but arguably you don't want people to be doing that to their cars anyways.
Why do you think it's ethically bad?
So sell them the binary and relax.
1. Supply a preferred form for modification (e.g. a source tarball on a CD) which of course is GPL'd and so the recipient can copy it and modify it as they choose.
2. Provide a written offer, valid for at least 3 years which says you'll give ANYBODY the source code if they ask
3. Only if you got the software from somebody else and are now passing it on non-commercially (e.g. to a friend) you can pass on an offer you got under (2) so they can use it since it says ANYBODY.
You'll notice that complying is _incredibly simple_ if you actually want to. Anybody with even a halfway competent process for shipping code could add a "Make CD image of source code" feature to it in a day.
But no, there isn't any way to avoid complying, except as with anything in copyright law you could just refuse to comply and then eventually maybe you get taken to court and you pretend you just didn't understand the rules.
Unlike in the music industry it seems to be very hard in software to get judges to accept the idea that egregious and ongoing unauthorised use must result in destroying the unauthorised artefacts at the cost of the violator. e.g. if you just publish somebody else's bassline in your new single, the judge will tell you to buy back copies sold to stores, then burn them all, and eat the cost. But you can guess Tesla won't be obliged to buy back every single Tesla car sold with non-compliant software and then scrap them and go bankrupt.
That seems more than what you can do with their non-free code, I would say that 1: GPL is less toxic than EULAs and 2: GPL prevents toxicity by preventing GPLed source to be included as part of non-free software.
They wouldn't be having these issues if they just did the right thing to begin with for all of their users.
And even if it was, Elon's companies have some experience with rocket science.
What is the point of the GPL if companies aren't going to respect it? Personally, I was about to comment that this letter seems way too charitable.
If Tesla was using a closed source OS like Windows, and wasn't following the terms of that license agreement, do you think Microsoft would write a letter to Tesla owners politely asking them to get involved in the conversation, or do you think Microsoft would bust out some lawyers and tell Tesla in no uncertain terms exactly what was going to happen if they didn't immediately get their act together?
If anything, an article like this makes me more likely to use GPL code, because apparently I can deliberately violate the legal terms for years and get off by just ignoring a few cordially written letters. I guess it was foolish for me to be so worried about its viral nature, since that part appears to be optional.
While some of us might not care that much, others might come to miss the days when GPL was actually relevant.