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?

  • ElPussyKangaroo@lemmy.world
    link
    fedilink
    arrow-up
    9
    arrow-down
    2
    ·
    edit-2
    11 months 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
      ·
      11 months ago

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

      • Atemu@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        11 months 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.

      • ElPussyKangaroo@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        11 months 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
          ·
          11 months 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
            ·
            11 months 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…

      • ThankYouVeryMuch@kbin.social
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        11 months 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@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          11 months 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
          ·
          11 months 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.)