What is Nostr?
Michał Górny /
npub1ema…smp3
2024-02-15 10:09:45

Michał Górny on Nostr: Powspominajmy #LibAV, fork FFmpega. Nie będę wchodził w szczegóły powstania ...

Powspominajmy #LibAV, fork FFmpega. Nie będę wchodził w szczegóły powstania projektu, bo czytałem kilka wersji i nie jestem obiektywny.

W czasie swojej świetności, LibAV borykał się z trzema problemami. Po pierwsze, #FFmpeg stanowił "markę" — definiował to, czego oczekiwali użytkownicy, zbierał większość dotacji i wkładu w kod. Po drugie, LibAV starał się poprawić jakość kodu. Oznaczało to, że FFmpeg mógł łatwo kopiować poprawki z LibAV (i to robiono), natomiast nie wszystko nadawało się do kopiowania w drugą stronę. Po trzecie, LibAV starało się usuwać stare API, wskutek czego istniejące aplikacje były z nim mniej zgodne.

Koniec końców, praca przy LibAV obejmowała zarówno utrzymanie kompletności funkcjonalności z FFmpeg, jak i łatanie oprogramowania dla zgodności z ichnim API. Czasem było to oprogramowanie, które nie było już rozwijane, i tym samym wymagało utrzymania łatek na stałe. Czasem autorzy byli wrogo nastawieni, więc łatki trzeba było regularnie aktualizować. Najbardziej chyba widocznym tego przykładem był odtwarzacz #mpv, którego autor najpierw porzucił wsparcie FFmpega na rzecz LibAV, a potem zmienił zdanie i usunął wsparcie LibAV.

Na dodatek, oba komplety bibliotek nie były ze sobą zgodne pod względem ABI, więc było to wszystko-albo-nic. Użytkownicy #Gentoo przypadkowo zmuszani byli do przebudowania wszystkiego, kiedy nowowybrana paczka albo nowa wersja programu wymagała zmiany. Dystrybucje binarne miały jeszcze gorzej. Koniec końców, Debian wrócił do FFmpega w 2015, Gentoo usunęło LibAV w 2020, a sam projekt zarzucono w 2022.

A skąd te wspominki? Z wiadomości o korporacyjnym przejęciu nginksa, i forku do FreeNginx. Nie pierwszy taki przypadek, z pewnością nie ostatni — może to kolejny wariant obsrania świata IT. OpenOffice z sukcesem został zastąpiony przez LibreOffice. BerkeleyDB jest zarzucany przez programy po przejęciu przez Oracle. LibreSSL wciąż żyje równolegle z OpenSSL, choć nie jest szeroko wspierane.
Author Public Key
npub1ema8xvy3euqndx4lkefx53a8k2ykyu77madvdphch37plqe0hk3s8zsmp3