5 ms·
Well, that's not a real issue, is it? It's purely a decision from the manufacturers to be assholes to their customers. There is no technical need that'd prevent
by kuschku 9y ago
Well, that's not a real issue, is it? It's purely a decision from the manufacturers to be assholes to their customers. There is no technical need that'd prevent them from creating updates. Especially Samsung (which also produces the SoC in-house for all relevant markets).
- scarface74 9y agoHmm. It's all Google's fault. I don't have to wait for the manufacturer to update my Windows PC. Heck I was able to install Windows 7 on a Mac Mini without any support from Apple. Not to mention I updated a 9 year old Dell Core 2 Duo to Windows 10.
- kuschku 9y agoWindows has mostly kept a stable driver API. And whenever they broke that API, that actually happened — suddenly updates stopped being usable by your system. Also, be aware that ARM has nothing to enumerate devices, has no BISO or UEFI. An OS image will only ever work on a single device. As I detailed in another comment in this thread, the issue is this collision of the Linux concept of mainlining everything, short support windows, manufacturers that can't update drivers for every microchip they sell all the time, and Google and OEMs somewhere in there. It's always been a clusterfuck, Google didn't create it, but they sure made it worse.
- colejohnson66 9y ago> Also, be aware that ARM has nothing to enumerate devices, ... Isn’t that the purpose of a device tree?
- kuschku 9y agoBasically yes, but that's often not good enough either. Lots of third party code OEMs end up with in their kernels, unmaintainable, and often incompatible with anything.
- crankylinuxuser 9y agoNow waitasec... I own Crappy unupdated Android one of. And the drivers use the Linux kernel. Last I checked, they need to release source for their drivers. So where is it? And why can't we upstream those patches and "fix" android?
- colejohnson66 9y agoIt doesn’t help that not every manufacturer (especially ones from China) don’t release the source code. And when they do, they sometimes contain opaque binary blobs that don’t tell you what is happening.
- khedoros1 9y agoMaybe they pull the stuff Nvidia does: write an interface kernel module, then have the driver itself in a library that the module loads. Since the actual driver is never part of the kernel tree...
- kuschku 9y agoIt's much simpler. The OEM never releases the source. And courts have decided that it's not enough if you have some contributions to the kernel yourself or are a user to force them to release it, you have to have made significant contributions to force them to release it via the courts. And Torvalds and the major kernel maintainers all refuse to enforce the GPL, and actively campaign against doing so.
- porfirium 9y agoAre kernel drivers subject to the GPL just because they use the Linux ABI?
- kuschku 9y agoIt'd be a long legal discussion to properly answer your question, but luckily OEMs make it easy for us: On most phones, there are zero external kernel modules loaded. The SoC vendor bakes it all into the ketnel, and the OEM gets the kernel as a blob. Which means all of it is subject to the GPL.
- vetinari 9y agoYour kernel brings in the device tree with itself. It is primarily to allow the drivers linked in the kernel to detect whether they should load and try to talk to hardware. It doesn't replace bus enumeration when running on totally unknown hardware.
- scarface74 9y agoWindows driver API has been far from stable from Windows Vista. One of my computers came with Windows Vista (a 2009 Dell Pentium Dual Core - not the Core 2 Duo I referenced) and it still runs Windows 10. Microsoft provided drivers for the standard PC hardware that was in my 2006 Core Duo Mac Mini and Windows 7 recognized all of my hardware - usb, sound, graphics, Bluetooth, Ethernet etc. Microsoft goes out of its way to provide drivers for the most popular PC hardware. Mac OS is Unix (i.e certified by the Open Grouo) and doesn't have that problem. Edit Rant: But why are printer drivers still a thing? Apple introduced AirPrint for iOS 4 back in 2010 and for MacOS a few years later. I never have to worry about printer drivers when I update my OS. New printers bought in 2017 work perfectly with my 7 year old iPad without having to worry about drivers.
- mschuster91 9y ago> But why are printer drivers still a thing? Apple introduced AirPrint for iOS 4 back in 2010 and for MacOS a few years later. Have you looked at the unimaginable amount of crap a typical Windows printer driver forces upon you? It's not just the driver, it's usually also a stripped down license of some image editor, an "update agent" (because Windows 7 does not have an "app store" or a centralized driver distribution that does not phone home like Windows Update does and often enough carries fossilized drivers only), a toolbar for multifunction printers, a watcher that nags you to buy new original cartridges, a scanner agent because there is still no standard for scanning without drivers, much less so over network or cross platform, a selection of adware... and God help you if you have printers or MFDs from different vendors. The only way to not have this ridiculous mess is buying enterprise printers - for example, the Z2100 plotter drivers are 4MB for Windows, and 16MB for the manager app, while the Photosmart printer driver can only be had as a part of a 145MB download, there is no such thing as a "driver only" package in the consumer space. In enterprise environments (or small offices) the situation sucks even more because you can't really deploy them via GPO, you have to extract the drivers by hand.
- fencepost 9y agoYour problem may be more your choice of vendors than anything else. HP's big printers (e.g. M600 family) are still pretty nice, but I've started to avoid them for anything smaller, and god help you if you look at the truly low print volume stuff from them.
- asveikau 9y agoWhy does the kernel and driver ABI matter for upgrading userland? On desktop Linux I can by and large use a new kernel and chroot into an old install, or vice versa, and things still work. It would seem that Android userland is unnecessarily coupled to a specific kernel version. It should be able to upgrade independently.
- kelnos 9y agoAgreed in principle, but a decent amount of the new security features present in more recent Android phones are due to new kernel features. It's just a sign of the relative immaturity of the platform that this is the case.
- asveikau 9y agoCan you provide some detailed examples of that being the case? Genuinely curious to know. Usually I hear that sort of thing and think somebody isn't being creative enough with fallback behaviors for when the feature isn't there, but I guess it would depend heavily on what the feature is.
- kelnos 9y agoI guess I probably misspoke. I was thinking about https://android-developers.googleblog.com/2017/08/hardening-kernel-in-android-oreo.html https://android-developers.googleblog.com/2017/08/hardening-... ... but those certainly don't require userspace changes (probably). And even the case where you'd want the new kernel features (but can't upgrade due to driver ABI incompatibilities), they've backported to several old kernels that are in wide use in Android... though I note that my 2-year-old phone is on an older kernel than most of those features were backported to.
- pjmlp 9y agoStill, Google could impose update requirements for Play Store access, for example. Regardless of stable driver API or not, it is up to the OEMs to make it happen, if they actually cared about it. I am pretty negative about Project Treble, it won't change anything, because only Oreo devices have it (0.3% currently) and OEMs are still expected to be the ones pushing the updates.
- goialoq 9y agoNo, it's the carrier's fault. The carrier locks down your OS.
- scarface74 9y agoThe carrier doesn't lock down iOS. Every iOS user worldwide can update to iOS the day it is released if the phone is compatible.
- ocdtrekkie 9y agoAlso true for Windows 10 Mobile. (My phone gets an update today, why doesn't yours?) Android is the only smart phone platform that carriers still have a say in.
- vetinari 9y agoThat was not true for Windows 10 Mobile. Some devices never received the update. What was indeed the insult on top of the injury - the WM devices were all Qualcomm Snapdragon devices. They were never so varied as Android devices are.
- ocdtrekkie 9y agoIt was not true for Windows Phone 8, and therefore some carriers interfered with the deployment of the upgrade. It is true for Windows 10 Mobile, however. If a device is supported for Windows 10 Mobile, all updates are carrier independent. The "Upgrade Advisor" app Microsoft released to the Windows Store effectively allowed you to circumvent the carrier and upgrade to Windows 10 Mobile, replacing the Windows Update source for your phone with Microsoft's.
- vetinari 9y agoAh, so that is how it went. I knew some devices WP devices (didn't note version) never received the updates. However, the part about them all being the same Snapdragon devices with slightly different cases, cameras, etc. is still true. Microsoft doesn't have to solve how to make a release for Exynos, Kirin or Tegra devices.
- vetinari 9y agoYour PC, including your Mac Mini, has BIOS/UEFI/other firmware with both boot-time and run-time services. Additionally, it has a hardware, whose sole purpose is to detect and enumerate all the other hardware. Mobile phones and other embedded devices have none of this.
- scarface74 9y agoThere was nothing stopping Google from designing such as system -- just like Microsoft and Intel did.
- vetinari 9y agoThere are many reasons. First, Google didn't design anything. They were looking for partners for their OS and these partners used their existing design. The first HTCs were almost identical between their Android and Windows Mobile versions. Second, there are reasons why the embedded systems do not have them. Apart from increased complexity (bad for the designer and manufacturer), increased energy consumption (bad for consumer, and being a competitive disadvantage too), very few of both, embedded devices manufacturers and customers, even count on using other software than the one supplied. From the point of view, there every cent of saved costs on the device makes millions in margin, that would be wasted money.
- scarface74 9y agoGoogle didn't design the operating system? Microsoft didn't design computers either but they have been steering PC manufacturers for over 20 years since Windows 95 and the plug and play initiatives.
- vetinari 9y agoGoogle didn't design the hardware - when we are talking about firmware, booting, pci enum, etc, we are obviously talking about hardware. Their partners did and they reused their existing design. Microsoft basically strongarmed the PC vendors - they either did what Microsoft said, or didn't ship Windows with their wares. Windows, which was the only game in the town, if you wanted to sell PCs. Google didn't have such luxury when they started with Android. They needed to be everyone possible to be with them onboard and the "lets throw out everything you have and design new hardware from scratch" doesn't make for a good start. In mobile, Microsoft also reused Qualcomm's reference design. But contrary to Google, they used ONLY Qualcomm's design, that's why their system looks united. All the WP phones are basically the same board.
- ekianjo 9y agoThey have no incentives to do so. I would like Samsung to make it into a business. Have folks pay 5 dollars per year if they want to get ongoing security updates for older devices. I would pay in an instant.
- Spivak 9y agoFor reference Red Hat charges around $425/yr for extended support. Obviously the situation is different because Red Hat has a lot more software to support but they also have a fewer products and more customers that care enough to buy it. But I think the upshot is that a $5/yr extended support contract is a bit of a pipedream. Just as an order of magnitude estimate we're assuming that it's about 100 times more effort to continue maintenance of a general purpose Linux based OS than a general purpose Linux based OS on specific set of hardware. And that's before you realize that the market for this support contract is just frugal IT people with specifc Android phones that haven't worn out from use. So not much luck with a 'we'll make it up in volume' analysis.
- razakel 9y agoExactly. Why did you think Oracle wanted to muscle in on that?
- ekianjo 9y agoGoogle is maintaining Android so why would you assume it would cost massive amount of resources for Samsung to port or backport some security fixes now and then? The comparaison with Debian does not make sense.
- pantalaimon 9y agoThere is Lineage OS which supports many Samsung devices with the latest android, completely free of charge. Maybe those little phone repair shops should offer installing it for a small fee as a service. There is also postmarketOS which attempts to bring a standard Linux distribution to old phones, but it's still in an early stage.
- 9y ago
- ksk 9y agoI don't think not providing updates makes them assholes. Its just the reality of the traditional software model gradually becoming obsolete. They paid the developers to write software, and as a consumer we paid for that software. The cost of additional development has to be borne by someone. The success of the subscription model from biggies like MS, Adobe, Blizzard, SAAS startups, etc has shown that atleast one other model is viable. Its up to others' to show that there can be others.