> 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.
I think the question is rather if Tesla is allowed to provide source for current version you have (therefore complying with the GPL), but also refuse to ship any further updates to you as well.
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.
They are still shipping the software to others, but the copyright on that software is owned by the contributors and developers of said software.
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.
Yes, Tesla would continue to be bound by the GPL for the new versions as well. However the GPL does not require you to offer the source to the public or any third parties at all that did not aquire the software legitimately. If I'd sell a custom Linux kernel to Microsoft, I'd not be required to give you the source for it, if you ask for it. Your Windows example doesn't really apply here, as Windows isn't GPL licensed.
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.
This is, surprisingly since it's from the faq, incorrect. Here's the relevant text from the GPLv2
> 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.
My guess is that imposing a punishment for exercising your right to the source code wouldn't hold up:
"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?
If Tesla does not abide by the terms of the copyright license governing the code they have chosen to use, they are in breach of that license and can be sued for damages for every instance of copyright violation--i.e., for every car sold--and can also be barred from using that code without a license going forward, meaning that they would be barred from selling cars until they either license the code or reprogram every car using the unlicensed code.
Assuming US law, to get damages for every car sold I believe that the plaintiff would have to be suing for actual damages. That's the monetary harm the infringement actually caused the plaintiff, and profits the defendant made from the infringement.
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".
I don't remember the specific software involved, but there was some fairly important GPL software in the '90s that was used by several defense contractors that had something like that happen.
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.
There have been arguments (e.g. by Bruce Perens [1]) that this kind of behavior violating the GPLv2 section which prohibits the addition of further restrictions to the license, when the grsecurity team started doing similar things with their Linux patches.
However this isn't really something that has been explored too far beyond that (at least to my knowledge). I'd personally tend towards this being more of a gap in the GPL's protections though, as forcing continued access to further updates would open a massive can of worms. Because then you'd need to figure out what is and what isn't a disallowed punishment for sharing GPL'd source code for any future contract between the two parties.
At the very least, releasing their source would make available any bug fixes or enhancements they've made so that other users can choose to incorporate or learn from those changes.
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.
When will you be able to hack your car to get better performance? EVs kinda take the hotrodding fun out of cars. Being able to play with the software would bring a part of it back.
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!
Yeah, once mechanics are more comfortable with the car, I could see more mods happening. Honestly, i'd love to find a crashed performance model 3 that I could steal the motors from and throw in my SR+. That feels like a mod that shouldn't be that complicated. The biggest hurdle would probably be getting the software to send the right signals to them.
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.
Sure, but it's really no different than ICE mods melting pistons, valves, and bending rods. We've been shortening service life of automobiles in favor of performance since the first car rolled off a production line.
So? Just don't warranty it. That's how every other manufacturer deals with people who wear things out faster because of modifications. I don't see why that wouldn't apply just fine to electric cars.
As a former gearhead I can say with authority that fires are not a new hazard for the hot-rodding community.
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 mean, maybe. I've seen accidents fiddling with conversion EVs 15 years ago, and you could say the same thing. Drop a wrench onto a battery pack and you no longer own a wrench, but bare skin contact with a few hundred volt pack isn't instant death.
I wonder if oily rags are more dangerous than both.
Yes, if you are modding the battery controller itself or if it (the controller) is so fragile that it blows up the battery on request (i.e.: on "wrong" input).
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 wouldn't be hard to destroy a modern ICE vehicle with incorrect software mods. ABS, fuel injection, ignition, transmission shifting, etc. are all computer-controlled...
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.
Maybe a silly question, but if I run a for profit SaaS and I package my software with my business logic up in a linux container which uses alpine as a base (which uses busybox), am I required to release the code for my business?
That's the difference between GPL and AGPL. GPL only requires source distribution if you distribute binaries, not if you run your binaries on your own server responding to requests from users. AGPL requires source distribution for any network-accessible service.
(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...)
That is exactly the case at my current gig. It doesn't matter how many hours you put into a project. If any of the code is AGPL, our legal team will squash the project.
Actually, I think they're being cautious. You may be fine for now, using AGPL code, but if it's modified at some point in the future, then the viral issues kick in. That's probably what the lawyers are worried about. You can't assume that everything will stay the same.
This is an imprecise description of the AGPL that may feed common misconceptions.
* 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.
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.
> 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.
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.
> 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.
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 the code in question were licensed under the AGPL, yes to all three, I would think.
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.
> 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.
Presumably the linux container would be considered an "aggregate", the container as a whole is not a derived work of any of the installed programs. Those are distinct copyrighted works. So you should be fine, and your software would not be covered by the GPL. IANAL.
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.
Under GPLv2 specifically the question is whether your business logic forms a derived work of the GPL-licensed software, which is nontrivial to interpret.
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.
This will probably get downvoted, but this kind of thing is why companies avoid the GPL. There will be people inside the company saying they would not be having these issues if they'd have used a BSD based OS (like Sony, Apple, etc) or a completely closed source OS.
This is the same kind of reasoning that has companies pulling the 'Not Available for Legal Reasons' nonsense and self-censoring their websites in the EU.
They wouldn't be having these issues if they just did the right thing to begin with for all of their users.
Are you really sympathizing with companies on this one? It's not like how the GPL works is a mystery. If you use the code, you release the source. It's not fucking rocket science.
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.
Some time ago there was a story about how BMW sent a DVD to a guy who asked for the GPL software in his i3 (BMW's electric car)[1]. It was also discussed on HN [2].
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.
In the US there's no prohibition on modifying car software that all by itself. In the US you can do so without copyright risks.
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.
California would have issues with modifications to any emissions related software, even if your modifications meet or beat standards. They require testing by certified labs and proper state-granted exemptions. Even on your own personal car. It’s a ridiculous burden.
If you modify your emissions related software, how do you know that your modifications meet or beat standards? You determine this by having someone who is qualified, and documented to be qualified (like a certified lab) do the testing. Since a prime motivation for mods is to get more performance out of a car even at the price of 10x the pollution, it isn't surprising that many jurisdictions regulate this.
For both questions, the answer is "yes, depending".
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.
Never underestimate how the letter of the law can miss its spirit... Which is also nowhere near guaranteed to be what a subject matter expert would consider common sense.
> Why not? What's wrong with modifying your infotainment system for example?
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 might, yes, but that doesn't mean that making that modification is illegal (it's not).
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.
> It might, yes, but that doesn't mean that making that modification is illegal (it's not).
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.
Volkswagen had an opinion on that matter that has since changed. This was of course for internal combustion engines and the software modified the behavior of the car if it detected a smog test harness.
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.
In Florida you can street register a shopping cart with V8 in it, as long as you put some lights, brakes, and seat belt on the thing. Obviously no Emissions testing for Florida man. Software is the least of your worries.
The emissions control stuff, possibly illegal, under federal law, largely unenforced. Ever see 'offroad only' marked on hot rod parts, thats why. Your car should be able to respond correctly to OBD2 requests for smogging. And it will be fine IRL. Don't be a dick and use it as a pass to pollute. A good running car pollutes less and gets better mileage than stock. Infotainment? Hack away. This is my day job.
The GPL gives them a few options for how to ensure everybody can modify GPL software which you've supplied as a binary
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.
GPL is toxic because a company can include software that you wrote for free in their non-free code and they will have to release it under GPL, right?
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.
GPL haters seem to have the mistaken impression that GPL software authors want lots of for-profit companies to use their work. If that were true, the authors would use a BSD or MIT license.
> GPL is transitive, so does that mean all software in the Tesla becomes GPL?
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.
Software that isn't linked with GPL sources probably isn't GPL. If it's just the linux kernel and busybox, then probably all the interesting userspace software isn't GPL since it wouldn't be linked.
??? Most people who make money on the back of X do not feel the need to give back, and most people who diligently give back do not make Musk levels of money, no?
Unfortunately, this is par for the course for any large public "tech" company. Releasing their source proactively isn't a source of profit so it is simply not done until people have to beg for it.
105 comments
[ 1.9 ms ] story [ 1560 ms ] threadSource: 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.
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://en.wikipedia.org/wiki/Chip_tuning
https://www.tacomaworld.com/threads/2016-toyota-tacoma-ovtun...
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.
https://opensource.google/docs/using/agpl-policy/ ?
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.
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.
[1] https://shkspr.mobi/blog/2016/03/bmw-are-complying-with-the-...
[2] https://news.ycombinator.com/item?id=11384968
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.
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.
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.
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.