back to article Tesla inches toward GPL compliance in low gear: Source code forcibly ejected into public

Following five years of hectoring, Tesla has released a portion of the open-source code it's obligated to provide under the terms of the GNU General Public License (GPL). Since 2013, the Software Freedom Conservancy (SFC), responding to complaints of GPL violations related to software in the Tesla Model S, has pressed the …

  1. Anonymous Coward
    Anonymous Coward

    That'll scare them off

    QNX is a favourite of many car manufacturers. Seems that's not such a bad idea, that is if they want to keep source code to themselves.

    Ok, that's not strictly accurate. The source code anyone is likely to care about is application / user land code, not an OS kernel. It's perfectly possible that a car manufacturer would inherit a GPL commitment through use of open source libraries in their ICE applications.

    But a lot of this kind of thing is actually about perceptions of the PR landscape more than the actual fine detail of the various licenses. Articles like this can make Open Source = Bad, Proprietary = Good in the eyes of some high up decision makers.

    1. Baudwalk

      Re: That'll scare them off

      So be it.

      If they willfully break the GPL, better to sue if need be, and scare them and their likes off in future, IMHO.

      Otherwise, what's the point of the GPL?

      Commercial vendors expect money for their product.

      Contributors to GPL projects have a right to expect reciprocity in the form of source code.

      That's the deal.

      TANSTAAFL.

      Except BSD, perhaps, but they didn't choose that for whatever reason.

      1. FIA Silver badge

        Re: That'll scare them off

        Contributors to GPL projects have a right to expect reciprocity in the form of source code.

        It's not contributors though is it? Isn't it just people who've bought Teslas? Doesn't the GPL give you the right to the source for the binaries you've received; not a blanket requirement to publish the source for all and sundry. (So you can modify/change the software as you see fit). Of course this doesn't then mean they can't distribute the source as they see fit, but it is a subtle distinction.

        Except BSD, perhaps, but they didn't choose that for whatever reason.

        Not perhaps. The BSD licence doesn't require source code disclosure.

        The reasons are well documented too, it's just a different ideology.

        Here's one example:

        [...] As stated above, we want anyone to be able to use the NetBSD operating system for whatever they want, just as long as they follow the few restrictions made by our license terms. Additionally, we don't think it's right to require people who add to our work and want to distribute the results (for profit or otherwise) to give away the source to their additions; they made the additions, and they should be free to do with them as they wish.

        Personally, I don't see why the BSDs don't get more use in stuff like this; it would prevent companies having the expense of GPL compliance, which once you get above a trivial product size must become significant, and is often overlooked.

        I don't really follow the GPL ideology myself, however I do feel quite strongly that licences should be followed, and these days it's really not acceptable to plead ignorance or naivety.

    2. FlossyThePig
      Headmaster

      Re: That'll scare them off

      ...in their ICE applications...

      As the article relates to an Electric Vehicle (EV) does ICE refer to Internal Combustion Engine or In Car Entertainment?

    3. Anonymous Coward
      Anonymous Coward

      Re: That'll scare them off

      Why would it scare them off? It is more the hassle of changing their internal processes to make sure the GPL part of the code is shared, and the separation boundaries from their own IP are maintained. Once they do that and get everything released they should, future releases should be easy/automatic for them. Not that this will help anyone "hack" their Tesla as some owners seem to want, since the autopilot code isn't going to be part of the kernel, it'll be running on top of it and thus still won't be modifiable by the end user (and that's as it should be, the last thing the world needs is car owners able to control the behavior of their self driving cars!)

      Your post about "scaring them off" sounds like it was written the Microsoft guy who claimed GPL is a cancer. A lot of companies are using GPL code without any difficulty or losing their IP in the process. While QNX may have some advantages when it comes to real time, Linux is a lot more full featured so when it comes to anything that interacts with the end user, Linux is a far better choice than QNX. I'd go with the latter for internal systems where timing matters like the ECU, of course.

  2. Waseem Alkurdi

    From what I read it, and despite Musk's purported release of patents, these guys are playing it the Apple way with their 17" brand-advertising billboard: release a very limited subset of OS X (Darwin kernel and a small number of frameworks not enough to boot the thing on their own) that is enough to make the FLOSS folk flock away (pun unintended!), but at the same time not leak enough to help a rival (or the community) make anything useful out of the release (the various attempts at bringing together a Darwin kernel from the releases "OpenDarwin and PureDarwin" are React-OS-ish in terms of progress).

    The code dump does not include installation instructions and lacks some details about how to build the directories for the root filesystem (initramfs).

    See what I mean? And that's only initramfs.

    "Today they contain the buildroot material that is used to build the system image on our Autopilot platform, and the kernel sources for those boards as well as the Nvidia Tegra-based infotainment system in Model S/X," Tesla's note says. "It is expected to be amended with material for other systems in the car in the near future."

    A system image for Autopilot sans proprietary code for the camera array and sensors and whatnot? (don't take my word? Just read on!)

    Tells us a little more about how A/P works, but as useless as an advertising brochure otherwise.

    The company acknowledges that the release does not include the source code of any of the proprietary applications Tesla built on top of the open source code, such as its Autopilot software stack or Nvidia's proprietary binaries.

    This is it. Translation:

    We know that this steaming pile of *** is useless and is only there to shut you up, but ...

    But it is promising additional GPL releases at some point.

    When Microsoft abandons the Windows EULA for the GPL and open-sources Windows, that is.

    1. Jellied Eel Silver badge

      Green, like Swiss Chard

      I think it's going very much the Apple (and other automakers) way. So the initial hype was for an open Tesla that makers and modders could dive into and tweak. Reality seems to be a very closed shop when it comes to obtaining parts & service information. Rich Rebuilds on YT goes into all the gorey detail as he tears down and puts Tesla's back together. Other car makers can be equally unhelpful, ie locking down or obfusticating ECU/EMU.. But given volumes and parts commonality, someone eventually cracks them.

      I'm curious if it was typical Musk "hype first, economics later", especially as he's just announced a $70k+ version of the $35k Model 3. The basic model doesn't look like it'll be available any time soon because Tesla's in fairly desperate need of cash. Which may also explain the lock-down given servicing via the exclusive dealerships is very expensive.

      But there are still investigations into Tesla's crash performance ongoing. Something puzzled me about those. I thought for general sale, cars had to go through various official and standardised impact tests. So crashing head on, getting t-boned etc. Presumably cars didn't catch fire during those tests, so is there something that needs to be updated to test EV's safety?

      1. Anonymous Coward
        Anonymous Coward

        Re: Green, like Swiss Chard

        "So the initial hype was for an open Tesla that makers and modders could dive into and tweak. "

        That's clearly wishful thinking. I can't see any way for "modders" to hack their car's firmware *and* comply with whatever regulatory framework appears for self driving cars... unless they have car manufacturer sized budgets for demonstrating the safety of their vehicles. I'm looking at you, George Hotz...

        1. Jellied Eel Silver badge

          Re: Green, like Swiss Chard

          That's clearly wishful thinking. I can't see any way for "modders" to hack their car's firmware *and* comply with whatever regulatory framework appears for self driving cars.

          I'm thinking more the ability to modify the UI. Some reviews of the Model 3 have criticised it's complexity and the potential for drivers to take their eyes off the road. Plus I'm perhaps a bit of a luddite and prefer actual knobs and switches. Muscle memory makes it easy to find those and check state. So an aftermarket option for a real rather than virtual dashboard would be nice. Or just the ability to add a heads-up display if it doesn't already have one.

          I guess for safety critical/regulated functions, normal rules could apply. So large warnings that here be monsters and any modifications may invalidate insurance, warranty or your existence on this mortal coil. Which doesn't stop people doing stupid things to their ICE cars, like upping power without upping brakes & suspension. For auto pilot functions, for me I think I'd mostly want to be in control, ie have the car warn me, but not act by steering/braking. I'd want to be in charge of my destiny.

          The regulatory environment seems to be playing catch-up at the moment anyway and may change following crash investigations. Another Tesla drove off a road and into a pond, killing the driver. That sounds like a speed issue, but maybe also compounded by driver error, ie fatigue or even heart attack.

          1. Milton

            Re: Green, like Swiss Chard

            "Plus I'm perhaps a bit of a luddite and prefer actual knobs and switches. Muscle memory makes it easy to find those and check state."

            You're not alone. Car instrumentation is falling victim to fairly stupid design decisions, often of the "If it's touchsrceen it must be better" variety, where because something could be done, it is done—whether or not it actually renders an improvement.

            It is positively dangerous to move some controls on to a touchscreen interface. In general, all car instrumentation should be designed according to the rule that says "Eyes off road = Unsafe".

            Rarely used controls, things you might set up once at the beginning of a journey, or have to operate very rarely and only exceedingly briefly while driving (requiring just the briefest glance) may be ok for a screen: everything else that you tend to muck about with more frequently, should be—

            * Locatable by muscle memory (it will rapidly become findable just by reaching in an accustomed way)

            * Uniquely identifiable by touch (the knob for the temperature will feel quite different from the one for the radio volume)

            * Provide positive feedback (three soft clicks clockwise means you know you just turned up the cabin temp by 3°; or moved up the radio band by three stations)

            * Where relevant, backed up by an at-a-glance repeater, on the dash for very frequent use (e.g. transmission mode), or merely prominent elsewhere (nice clear temperature digital readout by the heater knob)

            It's easy to forget that in a car you need to keep looking through the windscreen much more frequently than in a plane: yet aircraft cockpits are very carefully designed for precisely this kind of muscle-memory plus haptic feedback approach. You really don't want to activate the slats when you're reaching for the cabin PA button at cruising altitude. Plane designers wouldn't dream of putting certain controls onto screens alone. We shouldn't be doing it with cars either, no matter how many cents it saves the manufacturers ...

            (And yes, voice will have a role in solving this problem: but FFS don't let some halfwit decide that because cars can be internet-connected, voice commands should be routed through an Artificial Idiot.)

            If someone was once stupid enough to put the hazard button on the steering column where you're inclined to reach through the spokes of the steering wheel to press it, then it's clear that even perfectly imbecile design decisions are possible. The hazard button should be where both front-seaters can reach it cleanly and without fail, as should an effective failsafe emergency brake (handbrake) control. Cars are, I guess, a bit like the internet: if we invented them just today, we'd do it very differently.

          2. katrinab Silver badge

            Re: Green, like Swiss Chard

            Actual knobs and switches are better because you can operate them without looking once you know where they are, whereas you can't do that with a touch screen.

      2. Anonymous Coward
        Anonymous Coward

        Teslas shouldn't be able to be modded

        Now that they have some rudimentary self driving capabilities, it should be illegal for people to mess with that functionality AT ALL. The last thing we need is people hacking self driving autos behavior, i.e. if they think their car is "too nice" as far as letting people cut in front of them they change the following distance to 20 feet to avoid leaving a gap, tell it to drive 10 over the speed limit instead of the speed limit, and so forth all in the name of getting where they are going faster safety be damned. That sort of thing is a disaster waiting to happen.

        When self driving takes over people are going to have to be used to the idea that they are no longer allowed to mod their cars. Maybe it would be better if people don't even own them, but rather lease them from a car and/or insurance company, so it will be very clear that they can't tweak them.

        1. Ken Moorhouse Silver badge

          Re: Remind me...

          ...to stay well clear of the Stonebridge Park area whenever the Ace Cafe hosts Tesla Modder's events.

    2. JLV

      Apple is however well within its rights and obligations given a BSD code base. Not so much apparently Tesla on GPL.

      I wonder how much Darwin cross-pollinates back onto BSDs. Maybe not all that much given macOSs reliance on Mach kernel code.

      Clang compiler is not a trivial piece of software. Swift too, though it has stiff competition from Go and Rust.

      'sides, anyone buying Apple for being an open, non-litigious and cuddly company is a wee bit off the mark and too keen on ads ;-)

    3. MacroRodent

      Proprietary on top of Linux is OK, so don't slam Tesla there

      Tesla is under no obligation to publish the proprietary application source code, unless that ise derived from GPL'ed code. Just running your code on top of Linux, using the documented Linux API, does not make it GPL. Torvalds even added this statement explicitly to the Linux license, although he felt that that would be the case even without the addendum.

      1. JLV

        Re: Proprietary on top of Linux is OK, so don't slam Tesla there

        Totally true, but there must be something else going on, else there wouldn't be this fuss going on.

        Plus, unless they've changed their position, GPL distinguishes "running on top" cases between API calls/process executions and linking to. The latter GPLs your code.

        I've never really understood where importing/using GPL libraries written in a dynamic language like Python or Ruby. Is it akin to an API call - ie no license impact to you? Same as linking - ie you are now under GPL?

  3. Fruit and Nutcase Silver badge
    Pint

    ...the release does not include the source code of any of the proprietary applications Tesla built on top of the open source code, such as its Autopilot software stack

    Pity, some of the code could have ended up on LESTER

  4. Anonymous Coward
    Anonymous Coward

    Fishy

    I fail to see how the SFC should get credit for essentially letting Tesla get away with this. "See," they say, "if you wait long enough, Tesla will release a tiny fraction of the work that they did, building upon the work of thousands who went before them."

    Uhh, no. If you play with the GPL, why aren't you forced to make available the modifications that you distribute in a timely fashion? Seems that the SFC are a little too cozy with Tesla.

    1. Roml0k

      Re: Fishy

      > Uhh, no. If you play with the GPL, why aren't you forced to make available the modifications that you distribute in a timely fashion? Seems that the SFC are a little too cozy with Tesla.

      They're damned if they do, and damned if they don't.

      Bring a lawsuit (even after years of negotiations) and you get criticized for scaring companies away. Take time trying to convince them to open up voluntarily, and you get criticized for letting them get away with it for so long.

      1. JLV

        Re: Fishy

        He he, thought I'd quote Linux himself from your post:

        >and the companies that

        we could get involved by showing that we are not all insane crazy

        people like the FSF.

        ;-)

  5. This post has been deleted by its author

  6. Anonymous Coward
    Anonymous Coward

    Perhaps they threw the code together a little too quickly and it's a horrid mess as well as full of vulnerabilities. Naturally they don't want to show that off and perhaps want to run some additional pen tests so every Tesla out there isn't immediately locked by ransomware.

  7. StuntMisanthrope

    Bits, bobs and monsters.

    I'd like to buy bits and code in the post, so I can modify some things and kick the f***k out of the competition in a controlled environment. #opensourcehardware #itsatwohorserace

  8. Henry Wertz 1 Gold badge

    not unusual

    "The code dump does not include installation instructions and lacks some details about how to build the directories for the root filesystem (initramfs)."

    Not a GPL requirement, and actually not too uncommon. I've seen this plenty of times, some source tree that is typically a patched up kernel, C library, and busybox... no patch files compared to the base kernel etc., no build instructions, no info on what kind of file you should end up with (i.e a single bzImage, kernel + ramdisk, directory tree ready to put onto a filesystem, ...) or how to put it on the device. If they *include* these instructions, they'll package it up as a BSP "Board Support Package" along with a compiler and so on; it's usually devices that they have no intention of you updating that leave all that out.

    Google does this with the chromecast -- it's basically got a kernel source tree and a chrome tree (there's a whole kitchen sink of miscellaneous stuff in the chrome build tree...) but no config info, and I'm pretty sure there's some files missing you'd need to build a bootable system. (I'm also pretty sure the chromecast is locked down so you'd need some signing key to update the firmware on it anyway.)

  9. Anonymous Coward
    Anonymous Coward

    Too little, too late.

    And I'm not talking about Tesla here.

    The ridiculous worry that "it'll scare them off" has been going on for too long. If a proprietary software company grabbed source code from another proprietary software company and started distributing it, how long do you think it would take before they were sued? Hours?

    It's well past time to play nice. Start throwing sueballs, sue early, sue often, sue for a lot of money when companies violate the GPL. A lot of money, and force anything they've shipped into the GPL.

    The entire purpose of the GPL is to make software free. It's being subverted by companies that grab GPL code and use it in proprietary products with no repercussions. That needs to end, they need to pay, and what they pay needs to go to develop more GPL code, both in money and in the code they're forced to release.

    I don't even understand the point of the BSD license. If you don't care if your code is free, just release it public domain. The ONLY free software is GPL and its close relatives.

    1. This post has been deleted by its author

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like