I’m curious how software can be created and evolve over time. I’m afraid that at some point, we’ll realize there are issues with the software we’re using that can only be remedied by massive changes or a complete rewrite.

Are there any instances of this happening? Where something is designed with a flaw that doesn’t get realized until much later, necessitating scrapping the whole thing and starting from scratch?

  • Björn Tantau
    link
    fedilink
    109
    edit-2
    8 months ago

    Happens all the time on Linux. The current instance would be the shift from X11 to Wayland.

    The first thing I noticed was when the audio system switched from OSS to ALSA.

    • Max-P
      link
      fedilink
      738 months ago

      And then ALSA to all those barely functional audio daemons to PulseAudio, and then again to PipeWire. That sure one took a few tries to figure out right.

      • Björn Tantau
        link
        fedilink
        418 months ago

        And the strangest thing about that is that neither PulseAudio nor Pipewire are replacing anything. ALSA and PulseAudio are still there while I handle my audio through Pipewire.

        • @angel@iusearchlinux.fyi
          link
          fedilink
          28
          edit-2
          8 months ago

          How is PulseAudio still there? I mean, sure the protocol is still there, but it’s handled by pipewire-pulse on most systems nowadays (KDE specifically requires PipeWire).

          Also, PulseAudio was never designed to replace ALSA, it’s sitting on top of ALSA to abstract some complexity from the programs, that would arise if they were to use ALSA directly.

          • lemmyvore
            link
            fedilink
            English
            98 months ago

            Pulse itself is not there but its functionality is (and they even preserved its interface and pactl). PipeWire is a superset of audio features from Pulse and Jack combined with video.

            • @tetris11@lemmy.ml
              link
              fedilink
              9
              edit-2
              8 months ago

              For anyone wondering: Alsa does sound card detection and basic IO at the kernel level, Pulse takes ALSA devices and does audio mixing at the user/system level. Pipe does what Pulse does but more and even includes video devices