As a point of comparison, Microsoft ships its OS across a variety of manufacturers and largely keeps it maintained across them (give or take some exceptions like enterprise environments & the like).

Even unlocked Android phones purchased independently of carriers have inconsistent lengths of support, so it doesn’t seem to be entirely a result of carriers, so…What happened here?

    • Mrduckrocks@lemmy.world
      link
      fedilink
      arrow-up
      13
      arrow-down
      1
      ·
      1 year ago

      Good explanation and lines in with why iPhone get years of support as they have full control of hardware and drivers.

        • ribboo@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          1 year ago

          I mean an iPad mini 2 would obviously struggle with iOS today due to hardware limitations.

          And you’re very much free to use it, problem is app developers do not find it worthwhile their time supporting older devices (we are talking devices that’s a minimum of five years old, more likely 7-8) so few use them and it impacts what they can and cannot do. Thus it becomes unusable.

          But all Apple apps will obviously still work.

            • ribboo@lemm.ee
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              1 year ago

              My 10 year old Thinkpad barely qualifies as “running” windows 10, not Ubuntu for that matter. Haven’t bothered trying 11. I do partly agree with you, especially moving forward. But an iPad mini 2 has 1 gb of ram and 16 gb of space, both rather huge limitations for a mobile OS of today.

                • ribboo@lemm.ee
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  1 year ago

                  Did a computer bought to run windows 95 run XP? Did a computer bought for 98 run Vista? That’s a more fair comparison, as mobile operating systems are very young. And mobile devices from 10 years ago have hardware that could not really be compared to computers.

                  Sure, processors at peak capacity where good. But forcing a 10 year old processor running todays software would drain the battery - that was also in no way comparable to today - to fast. And that is even if you could install the OS, as there is so little device space on many of them. Then you open one app and you’re out of ram potentially causing crashes all over the place, because mobile apps are rarely built for efficiency.

                  It would be a horrid experience.

    • Very_Bad_Janet@kbin.social
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      1 year ago

      Kind poster, I understood about 4% of what you wrote and absorbed 2% (entirely not your fault). Would you say that this explains why Google only supports their Chromebooks for 5 years?

      ETA: My question is based on what you wrote here:

      Linux has LTS releases that are supported for 6 years. They release a new LTS every year. Each year, Google selects the latest LTS and builds the latest Android version against that release. They can add to the KMI when this happens, but it is frozen for that kernel version from then on. From there, they keep building Android against that kernel version until it is no longer supported.

    • Atemu
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      This only concerns the kernel which is rather unimportant when it comes to Android updates. You can keep using an ancient kernel for an insanely long time but upgrade the Android userspace. The vast majority of LineageOS devices use the original kernel they released with (+bug fixes, usually).

      Only when Android has a hard requirement on a new kernel feature do you need to actually upgrade it. This is usually end of the line for a device in custom ROMs because it is infeasible to do in most cases.

      Take the Oneplus One (bacon) for example. It was released oven 9 years ago with kernel 3.4 and only lost LineageOS support with Android 12 because that requires eBPF for firewalling apps which is a relatively recent addition to the kernel.

      The shims for the HAL you mentioned are in userspace. The original BLOBs they shim use the original OEM kernel interfaces in order to do their magic. It’s just that Android might require newer/different interfaces from the HAL BLOBs; that’s what the shims are for.

  • nevemsenki@lemmy.world
    link
    fedilink
    arrow-up
    65
    arrow-down
    4
    ·
    1 year ago

    Bad design. Drivers are coupled tightly with the kernel, and when component manufacturers stop releasing the binary blob for newer kernels, everyone is fucked. Google could’ve mandated requirements for releasing drivers longer or requiring open source drivers, but they did none of that… so here we are.

  • d3Xt3r@lemmy.nz
    link
    fedilink
    arrow-up
    42
    ·
    edit-2
    1 year ago

    become so inconsistent

    Your title implies that it was consistent at some point, but it wasn’t. Android updates were never consistent. In fact, it’s actually become more consistent in recent years, since the introduction of Project Treble. Most mainstream flagships now offer 4 years of updates, with some manufacturers even offering 5 years (Google and some Samsung flagships).

    • dlpkl@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Was going to say, 6 or 7 years ago you could buy a flagship android phone that might get only a single large OS update.

  • TheInsane42@lemmy.world
    link
    fedilink
    English
    arrow-up
    29
    arrow-down
    1
    ·
    edit-2
    1 year ago

    Bad control over the hardware. Android is 100% open source, but alas, not all drivers are. To be honest, it’s by design of some manufacturers (Samsung for one, Mediatek is another) to keep drivers of hardware closed source so updating the OS of your particular Android based mobile OS lags hugely behind Android.

    Android gets monthly security updates, which need to be included in the OS of the phone manufacturer. Lineage has weekly builds for their code which include the monthly security updates. Phone manufacturers are only required to 'supply updates for 2y after introduction of the model (not after end of sale), which requires them to give 1 upgrade (major version).

    Alas, support for the wide variety of Android phones hinges now for 100% on the effort of the custom rom developers. For example: The 2011 Samsung Galaxy S2 has an unofficial Lineage 20 (Android 13).

    To many devices running the same opensource software without the requirement to make the drivers open source.

    Apple is completely closed, Microsoft has it’s Windows closed with the option for hardware suppliers to supply the drivers (which need to be conform to their specs) Android is based on the Linux kernel, which would require hardware manufacturers that make drivers for the kernel to supply the drivers, but alas, as it’s not a company, no methods to enforce this is available.

    When you want consistent ANdroid updates, you need to either:

    1. buy Google Pixel (Google is pretty consistent in updates)
    2. buy a nice brand that offers 5y+ guarantee (include updates)
    3. buy a device with active custom rom support, for example Lineage (worst case, you can update the device yourself as the code is available)
  • nottheengineer@feddit.de
    link
    fedilink
    arrow-up
    11
    ·
    1 year ago

    Qualcomm needs to maintain their drivers to make updates easy, but they usually do that for just a few years. Once they stop, updates usually stop as well because the smartphone manufacturers don’t want to do qualcomm’s work in addition to their own.

    It’s a major issue that hurts android as a whole and unfortunately there isn’t an easy solution because qualcomm basically has a monopoly for high-end SoCs.

  • ThankYouVeryMuch@kbin.social
    link
    fedilink
    arrow-up
    10
    ·
    1 year ago

    I see lots of confusion here. Android IS NOT Free/Open Source software, at least not the one you get with your phone. It’s true that the bare bones OS is FOSS, but the same is true with iOS and Darwin. But they have a lot of proprietary crap on top of them.

    The reason for offering a longer or shorter period of OS updates is a business decision, not a technical matter. There’s at least one android phone (fairphone that I know of, not an ad or anything) with 7 years of updates, which is longer than the iPhone.

    These arguments of costs of development and having to support hardware fall apart when you take into account that some smaller vendors are offering longer support than bigger ones like Samsung or hwawei, and when you look at which hardware they mount, it’s basically the same. Same processors, very little variety in cameras and screens…

    • Atemu
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      the same is true with iOS and Darwin.

      In iOS, almost the entire userspace is proprietary.
      In Android most userspace funtionality is FOSS too.

      • WhoRoger@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 year ago

        Well, even the phone and messages apps are deprecated now, and the aosp keyboard is very problematic on lots of apps, so soon enough there won’t be much foss left beyond the kernel.

  • Dudewitbow
    link
    fedilink
    arrow-up
    8
    ·
    1 year ago

    Of all the criticisms microsoft gets for being bloatware, one of its biggest boons is backeards compatibility and general support (after vista).

    Its why the whole chromeos laptop fiasco is happening right now with “useless chromebooks”

  • ElPussyKangaroo@lemmy.world
    link
    fedilink
    arrow-up
    9
    arrow-down
    2
    ·
    edit-2
    1 year ago

    It all boils down to the basic difference between the two Operating Systems.

    Android, or rather The AOSP (the Android Open Source Project) is an open source operating system. That means that it’s openly accessible to all, open to tinkering and tweaking. This is both the best and the worst part about Android.

    Best, because it means people like you and I can create custom versions of Android if we want (look up custom ROMs). Plus we can look at the code and see if there’s anything we like or don’t like. It’s great from a safety standpoint.

    Worst, because this means that it needs to be optimised by manufacturers for each and every device they make. Since AOSP is a general OS, they need to make sure it works with the hardware in their device, with their camera and their processor. That takes considerable effort, although if they chose to focus on a select few devices every year, they’d be able to do so. However, given the race to sell as many phones as possible, it becomes clear why they don’t update lower end devices (which is weird considering the fact that those lower end devices are the highest selling devices).

    Windows, on the other hand, is a closed source operating system, meaning Microsoft makes the operating system and distributes it. It can be modified, and various drivers can be installed, but that’s about it. That’s also better and worse than Android.

    Better, because it’s kind of a one size fits all approach. They can push an update and the device manufacturers only have to make minor adjustments most of the time.

    Worse, because if Microsoft screws up, the whole world is on fire. And you can only modify the OS, not see what it actually contains. Plus, unlike Android, Windows needs heavy modifications for any shape that’s different from the regular. They messed up their Mobile OS platform (RIP WINDOWS PHONE) and while some laptops are experimenting with the form, like the dual screen Yoga Book or whatever, it’s still very much a janky mess.

    As a result, Android updates can be largely inconsistent. But that’s not an issue with Android or Open Source Projects, rather the manufacturers who choose not to invest time into making it work. Hope that helps.

    Edit: Reworded the comment to reduce the chance of misunderstanding.

    • mcforest@kbin.social
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      There is something off with your reply. GNU/Linux exists and works fine with different kind of hardware while being FOSS.

      • Atemu
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        That’s because GNU/Linux uses open, generic interfaces to communicate with (often fairly generic) hardware.

        Android/Linux usually uses specialised closed black-box interfaces to communicate with hardware and those usually only work on one specific device or at best a small family of devices.
        This model is dictated by the vendors of the hardware.

      • ThankYouVeryMuch@kbin.social
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        1 year ago

        Right? And also two things:

        First, android is FOSS the same as Darwin (the system under iOS) is. Apple puts its proprietary drivers, ui, and other apps the same as android phone vendors do.

        An second, Free Software/Open Source doesn’t mean that you have to ship the phone with all the code anyone pushes. You have control of your repository. You can pay developers and only include the software the build. FOSS means that the user of the software has access to the source code, as well as other rights like modifying or redistributing it.

        I see in a lot of discussion about free software some people say things like ‘the code is open to everyone so you don’t know what they can put there’ as if there were no filter or anything

        • Atemu
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 year ago

          android is FOSS the same as Darwin (the system under iOS) is.

          Not at all. The Darwin kernel (XNU) is semi-FOSS (as in: Apple throws source code over the fence every year or two) but nearly none of the rest is.

          Not only is this practice not even close to Linux’ fully open development model, XNU is quite a minimal kernel; it’s more of a microkernel design. You need the other parts in order to have a usable system.

          The Android userspace is fully FOSS. Android Framework, system libraries, system services and even the UI are fully FOSS with a fairly open development model.
          I patch my Android framework to disallow apps from ever dictating how my screen should be rotated for example.

          The Evil Corp. has been pulling more functionality into the proprietary GMS crap lately but it’s not very many features and alternatives exist for FOSS apps (i.e. Firebase push notifications: UnifiedPush).

          OEMs take this fully open code and might make changes; mostly of cosmetic nature. Those usually aren’t published.
          Many Vendors ship the regular Android userspace with little to no modification however.

          Android FOSS but not Libre. Don’t confuse the two.

          Only the kernel of Android is Libre. (XNU is not Libre btw.)

        • ElPussyKangaroo@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          I don’t understand…

          First, android is FOSS the same as Darwin (the system under iOS) is. Apple puts its proprietary drivers, ui, and other apps the same as android phone vendors do.

          I made sure to mention AOSP since Pixel UI is the proprietary version. Plus, even if Android contains GMS and whatnot, I mentioned that since it’s open source, you can see what you like or do not like.

          I’ll try to reword my comment later tho… It can definitely do with a bit more context. I just wanted to make sure it was simple to understand for someone who was asking on nostupidquestions. (How do we link a community on Lemmy? Like on reddit we used to type r/whatever.)

      • ElPussyKangaroo@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Yes, but the question only spoke about Windows and Android so I tried not to dive too deep into other things… I assumed the community is for simple and to the point answers…

        • mcforest@kbin.social
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          1 year ago

          But your answer could be interpreted as “a FOSS OS can never maintained for a big variety of hardware over a long life cycle” which would be totally wrong. Android’s driver situation might be shit but that has nothing to do with an “open system” vs a “closed system”. My knowledge regarding this topic is not deep enough to give a perfect answer but I think other posts here sound more plausible.

          • ElPussyKangaroo@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            I don’t wanna sound too defensive but I did say this

            That takes considerable effort, although if they chose to focus on a select few devices every year, they’d be able to do so.

            I agree that I can reword it to make that clear, but I don’t think, nor do I hope anyone will make that conclusion about FOSS…

            • mcforest@kbin.social
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              That sentence is completely correct from my point of view and has nothing to do with Foss. That’s an issue for Windows as well as Linux and Android. I think the difference is that that for the former two driver developers just take the extra effort to support hardware long term. So I think you’re right that a little rewording would help.

  • paysrenttobirds@sh.itjust.works
    link
    fedilink
    arrow-up
    6
    ·
    1 year ago

    It’s not the carriers, it’s the hardware. I think Windows support for old systems was really the outlier, and they are getting less willing. Security features, like chips with separate memory for keys, or other new hardware requirements can’t always be filled in with backwards compatible software, and manufacturers choose which to include knowing the device will have a shorter or longer support life.

  • Willem@kutsuya.dev
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    Like a lot of people already mentioned, it’s because of hardware driver’s mostly. But let’s not forget Microsoft has this figured out mostly already, since pretty much all drivers that have a version for Vista 64bit (2006) works on Windows 11.

    Android is catching up a bit though, they split the update process and you now receive security updates almost directly from google since Android 10.

  • Ghostalmedia@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    IMHO, you’re probably going to varying answers to this question. And I would argue that most of the barriers stem from Android’s greatest strength.

    It’s open, it’s customizable, and hardware manufacturers have been given the room to set their own courses. Problem is, that extra wiggle room also creates more fragmentation.

  • ArtificialLink@yall.theatl.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Cause the brand of the phone decides how long it stays updated even if its running stock android. So lets say the average life of a Samsung is two - four years why support it longer when you can let it fall outta support to further create a need to upgrade.

    Lots of roms let you run really modern android on old phones cause they put in the work. But a company turning a profit does really have a need to support phones for a long time.