Automotive Grade Linux is a collaborative open source project that is bringing together automakers, suppliers and technology companies to accelerate the development and adoption of a fully open software stack for the connected car. With Linux at its core, AGL is developing an open platform from the ground up that can serve as the de facto industry standard to enable rapid development of new features and technologies.
It’s got some big names backing it.
That seems like a negative for FOSS these days. Leads into questions of what they’ll do and how they’ll try to lock things down through loopholes and clever lawyering…
Depends on how the arrangement is made, but for the case of Automotive Grade Linux specifically, since there is no intention to build a unified platform, much less any commitment to any open SDKs or open application installation, it’s exactly the kind of bad news you are thinking about (the whole arrangement smells awfully similar to LiMo).
Was there any expectation this would be some sort of effort to build some sort of community?
It looks like a marketing stunt. The C-levels think Tesla using Linux is part of their appeal, so they created the AGL website to get in on that hot Linux action. XD
There’s genuine interest, at least from Ford’s side. They went all in on Microsoft’s ActiveSync for car infotainment and got burned badly. ActiveSync was slow, ugly, inelegant, expensive, and worst of all for a carmaker, had the habit of breaking in ways their dealerships couldn’t fix. They want to make sure they’re never put in a position where they don’t control their cars’ and trucks’ OS ever again. I suspect that means they’ll be more focused on keeping the other members of the consortium honest so that Ford doesn’t get shafted.
First of all, it’s Ford Sync (also marketed as MyFord Touch), not ActiveSync (which is a different thing altogether). It sucked and Ford eventually went with QNX.
BTW with Automotive Grade Linux every automaker will control the OS on their vehicle’s infotainment systems because every automaker will have their own fork, with Automotive Grade Linux acting as a common “base” (but what any particular automaker builds on top will be incompatible with each other).
PS: I hate having to type “Automotive Grade Linux”, as if it’s some kind of “grade” or certification and not a project name.
LOL Anyone on this forum could have told them what to expect, and hopefully they made the infotainment system a FRU which was quick to replace.
I’m not saying what brand (not Ford) but when I went to buy a new car I was extremely happy with my old one I planned on getting an updated version of the same car. But in order to do that, and get a high end model of the car, the car would have come with whichever version of Microsoft’s car infotainment it would have been. I’d heard LOTS of complaints from friends that had Microsoft’s infotainment product in their cars so I steered clear of that whole brand of car company and told them exactly why, both to the manager of the dealership and in emails to the company itself, why I wasn’t buying their brand of car and NEVER would as long as they use Microsoft’s infotainment software.
Since then the brand that I previous bought has dropped Microsoft also. But it is too late as I bought a different brand and love the car I have now. Once you lose a customer it isn’t easy to get them back if they love the new car that they got.
That is FOSS these days. If there isn’t a company attached to a project, it’s dead or it might as well be as far as anyone else is concerned.
Of course. Isn’t allowing for Tivoisation one of the reasons Linus and the Linux kernel stuck with GPLv2 instead of GPLv2+? The kernel team is very, very business friendly, and the GPL acolytes like to pretend otherwise.
The main reason Linus and the Linux kernel team stuck with the GPLV2 is the fact they ‘d have to track down anyone who ever contributed a single line of code to the Linux kernel and get their permission for the license change, including corporate contributors with specific business interests. Again, Linus doesn’t own the copyright to the Linux kernel, he only has creative control over it. Project re-licensing can happen, but typically on far smaller projects with far fewer (and non-corporate) contributors. This is the reason why some other FOSS projects force you to sign a “contributors agreement” before they will merge any of your pull requests, where you give them the right to relicense your contributions under any FSF-approved license (or more sinisterly, under any license whatsoever). They want that option at your expense as an author.
Then there is the thing that GPLv3 is an evil license that makes you responsible for things you have no control over whatsoever as project maintainer, such as patent licensing. If some patent troll asserts a patent against your GPLv3 code, you cannot just pay them to go away so you can keep distributing your software, you have to convince the patent troll to grant a license to everyone.. Ugh… no thanks Mr. Stallman, you don’t get to choose what battles I fight, that’s your battle not mine.
kurkosdr,
As a contributor you aren’t responsible for anyone else’s patents. Only those that you control..
https://www.gnu.org/licenses/gpl-3.0.en.html
Stallman isn’t alone, software patents are notorious in the software community. Software patents are at odds with the principals of GPL, but it’s wasn’t explicitly stated in v2 of the license. While there are companies that may not agree to the terms of the GPLv3 because they intend to enforce software patents in court, I actually think its omission from GPLv2 was more of an oversight due to the fact that software patents and trolling hadn’t become common yet.
Yes, that is one reason. The other being he doesn’t care, and considers tivoization a feature. https://lkml.org/lkml/2007/6/13/289
Being the gatekeeper means he gets to decide what is in the kernel and what is not. Thus, no GPLv3+ code.
It’s not about what the owners want, it’s about what satisfies the gatekeepers, and it always has been.
Yes, which is very prudent of them.
Most of the time, I put my public stuff under a ISC or BSD 3-clause license, so I don’t particularly care what happens to my code. If I contributed something to a community FOSS project, I would consider it my gift to them, and I also wouldn’t want to have to deal with it years down the line.
On the flip side… I agree, don’t sign CLAs with companies. They can pay someone to rewrite code under an “acceptable” license or pay for the rights. I’m not being free labor for companies I don’t profit from.
I will be a beta tester for stuff I like and use, but that’s mostly because I’m going to be using the product anyway.
GPLv3 patent additions were necessary, and it updates the GPL to be a more modern license. Unfortunately things change, and people find new ways to make the world worse for others in order to get a few coins.
Part of the reason the Apache License is popular is due to the patent licensing clause, so many people feel that is necessary component of a FOSS license.
Paying patent trolls to go away is just perpetuating the problem, by the way. It’s a battle all of us have to fight; that’s the only way change will happen.
Just to quell any unwarranted enthusiasm, this will be yet another “base” which will be buried under proprietary interfaces and portals and ultimately be completely invisible, much like LiMo became an invisible “base” for Vodafone 360 (a Vodafone-centric interface and portal/walled garden). In plain English, you will never be able to buy any “Automotive Grade Linux” distros to install on a touchscreen-enabled aftermarket DIN media player, much like you were never able to buy any LiMo distros.
BTW that’s what I tell people when they say Google is keeping a tight control of Android (which they do): At least we got a coherent (but not open-source) product, with Vanilla Android images and the Android Compatibility Definition document. Which is much better than what LiMo and MeeGo had in store for us, which were made under the explicit intention to be split into several incompatible “instances”. The Nokia CEO dude (Elop) once described the software powering the Nokia N9 as an “instance” of MeeGo for example.
I am saying all that because too many Linux geeks confuse the existence of an open-source base with the existence of a coherent product they can download or buy, or they think the first will axiomatically lead to the second.
kurkosdr,
I agree with you and The1stImmortal, despite the open source project, this is probably going to be used to implement proprietary infotainment systems. Had we gone with GPL3 for linux, it may have been different, but for better or worse the license allows the kernel to be sold on devices without given end users access.
Still, even if you got the ability to run a modified OS on those infotainment systems and got the source for the Linux source code (or GNU/Linux source code) used by the manufacturer, it does not mean you can redistribute modified versions of whatever proprietary interface/portal is running on top. Remember how HTC once sent cease and decease letters to people distributing Android ROMs with their proprietary Sense UI backed-in?
Linux is the closest thing the industry has to an “off-the-shelf kernel” (and with the GNU coreutils optionally, the closest thing the industry has to an “off-the-shelf OS”), especially for embedded systems. Whatever a manufacturer of embedded systems builds on top can be proprietary, restrictive, unethical, or anything really, Linux is just a kernel and GNU/Linux is just an OS, and both are ultimately invisible in those products. As a result, there is no reason to get all giddy-up when some companies decide to use Linux or even GNU/Linux as the base, especially if we are talking embedded, which is something that some Linux people mistakenly do.
PS: And thanks to the special exception in the Linux kernel license, you won’t even get the drivers used to build the infotainment systems, so a manufacturer using Linux for their devices does not mean better support for those devices in the kernel.
kurkosdr,
It isn’t just linux code. The project includes middleware and UI components as well.
https://wiki.automotivelinux.org/_media/agl_spec_v1.0_final.pdf
So hypothetically if the infotainment system isn’t bootlocked, it ought to be possible to install a “vanilla” AGL build even without adding any of the manufacturer’s bits. Of course, that’s optimistic because they probably will have bootlocks, they may use proprietary drivers, they may use secureboot or similar to block out owner software, and they may develop proprietary bits of hardware and/or software to intentionally break vanilla agl. Of course this assumes AGL is actually usable on it’s own merits. Hopefully it is, but the assumption should be mentioned for completeness.
Despite the name being in the abbreviation, AGL isn’t about just the kernel, it includes userspace tooling and APIs that will create a turnkey product that manufacturers can adapt themselves. I don’t actually see a reason linux would be particularly advantageous over BSDs. The people who created AGL probably prefer linux, but I doubt the manufacturers themselves care.
Edit: osnews is very slow for me as of late, like taking 5-10s to complete a postback. I assume other people are seeing this too and it’s a problem at the host? Damn google cloud, haha.
I would assume mostly momentum. Lots of devs, it’s the de facto standard in the embedded world, and many of the manufacturers are already using Linux as the basis for their infotainment.
A custom version of NetBSD or OpenBSD would probably be a better choice, but that ship has sailed.
It might be Cloud Flare.
Flatland_Spider,
Obviously this project was founded by the linux foundation, whose charter is to promote linux, but otherwise I don’t think linux is all that important to the manufacturers or users of the end product, they wouldn’t have any particular reason to oppose the project if the underlying kernel was BSD, the project could have been kernel agnostic for the most part.
They only use cloudflare for dns, which was failing earlier this year, but this seems to be a hosting related bottleneck, and osnews is hosted at a google data center via a reseller named Kinsta.
@Alfman
I’m not sure which came first AGL or Linux in cars. We’d have to find someone who was there at the beginning to ask.
Ultimately, no. Linux doesn’t matter to the auto manufacturers or the consumers as long as it’s not buggy or cost too much.
What does matter to the auto manufacturers is being able to find resources and existing product successes. Linux has a lot more resources and product success then the BSDs do these days, especially in the embedded market.
Do they? I could have sworn there was one point where they were using the anti-DDoS platform, or whatever the thing that filters for malcious content is. I’ve gotten screened a few times. :\
There’s been some weirdness with CSS, but I figured that was do to the weird building Internet setup I’m on right now.
Yes, which is sad, and a gigantic oversight on the part of the kernel devs. >:(
The devs have started to change a little bit on this topic thanks to Nvidia’s abuse. 🙂 They’re starting to export more APIs GPL only. It doesn’t solve the problem 100%, but it’s a start.
GPLv3 probably wouldn’t have helped considering how reluctant the kernel devs are to file lawsuits. They’re pretty happy just getting the attention.
This brings me to a bigger problem about how toothless the GPL really is. We need something like the Communist Public License which prohibits modification without publicly publishing the modifications to the source code, the toolchain needed to replicate the build, implicit patent license, anti-advertisement clause, no grant of trademarks, and basically, it needs to force everything open.
Of course, people will just steal the code regardless of the license. A license header takes all of 5 seconds to strip off.
Flatland_Spider,
I think the FSF already did a lot of the footwork with GPLv3, it definitely has more teeth than GPLv2, but of course it’s up to developers to actually use it and enforce the license terms.
I don’t think most reputable companies willfully violate licenses, but they only do the bare minimum, and tivoization is technically allowed under GPLv2.
They closed some holes up GPLv3, but there are still more. SaaS software, internal distribution, and commercial usage for example.
The AGPL kind of addresses SaaS software, but not really. Dumping all of the AGPL code into a Github repo leaves out all of the other bits which make the SaaS work.
Famously, Google used lots of customized FOSS software, but they never had to publish their modification because internal distribution doesn’t count as distribution. I think this should be amended to specifically state that anyone using the code who isn’t the author of the code counts as distribution.
Amazon is running services based on FOSS projects is a great example of corporate parasitism. Azure running services based on FOSS projects, etc. Writing something from scratch which is line protocol compatible is one thing, but running a service entirely based on other companies work just because it happens to be under a FOSS license is another.
Also, the GPL doesn’t state the changes have to be in a public repo. Code can be GPLed, and people can request the code, which satisfies the GPL. I think that’s too high of a bar, people can sandbag, and “publicly available” means downloadable 24x7x52 via nothing more then a command or click.
Most people are happy getting a little bit of recognition. Nevermind a company may have made $$$$ off of their work, and the author is getting a $5 trophy.
Maybe that’s the thing. Add a gross revenue percentage clause, and name it the Capitalist GPL. Requiring 20% of yearly gross revenue would probably fix lots of problems.
What the C-level says is one thing, and what the grunts/contractors doing the work do is something entirely different.
Flatlander_Spider,
I think that the Affero GPL license already covers those cases.
https://www.gnu.org/licenses/why-affero-gpl.html
But, for better or worse linux (as well as many open source projects) don’t use it. Maybe they should, but they don’t and it’s very unlikely to change.
I’ve found that many vendors actually do comply by putting it up on their server for download. The bigger problem is incomplete code/toolchains and device restrictions that don’t let you apply changes. For example, the last time I took a look at microsoft edge (the chromium fork), huge swaths of code were missing and it wasn’t actually build-able, which was disappoint as I was lead to believe it was all open source.
I understand what you are saying, but that doesn’t exactly align with the principals of free software. At that point you should probably call it a commercial license rather than FOSS. Of course some companies are willing to pay for licenses, but I’d be extremely surprised if you’d get any takers at 20% of yearly gross revenue…
@Alfman
Exactly. That’s the point. Don’t use my stuff in commercial products unless I’m getting paid. 🙂
The AGPL is my GPL of choice, and covers some of the holes. It doesn’t cover all of the holes though.
That comment was inspired by one specific company I worked for. They wanted to be a FOSS company, but not have to distribute their code. Their solution? Make code requests a ball of red tape. 😐
I agree those are problems as well, and that’s something else that does need to be addressed.
I think it does. FOSS doesn’t have to be pro-commercial. There are a lot of companies out there which are just taking from FOSS without any intentions of giving back to the community, and I find that more anti-FOSS then a license which penalizes commercial use.
There are two ways to look at FOSS licenses. Those which protect the code (GPL), and those that protect the developer (BSD, MIT/ISC). I happen to think the licenses designed to protect the code could go farther, and one of those ways is to penalize commercial use of FOSS code without some sort of reciprocal arrangement.
Someone pointed out that FOSS licenses shows what the person who picked the license is most afraid of. Personally, I just don’t want to get sued because someone took some wonky code of mine, so I mostly use 3-clause BSD or ISC/MIT. If they’re dumb enough to use my public code, they’re dumb enough to blame me for their problems. XD I also don’t want my name attached to some piece of software I wasn’t involved with. That’s less likely, but still.
Flatland_Spider,
You can use whatever license you want for your own stuff, even write your own. A lot of companies do just that.
They might be in violation if they do that with other people’s code, but then again who’s going to enforce it…non compliance is very low risk.
If you’re speaking about your own code, then sure you can choose to license it as you wish. Are you bothered that other people license their code under GPL, AGPL, BSD, CDDL, public domain, etc? It’s their prerogative isn’t it?
Obviously there are major pragmatic issues that stem from license incompatibilities (such as ZFS), but in principal I don’t have a problem with GPL and similar licenses. The truth is if you add more restrictions, people and companies would be less likely to use it.
“It’s got some big names backing it.”
Where’s Tesla? LOL
AGL started in 2012, before Tesla was widely known.