"Modern genoeg" is leuk tot het niet meer goed genoeg is. Ik liep hier zelf tegenaan toen ik HTTP/2 wilde aanzetten in Apache enkele jaren terug; ik had de nieuwste Ubuntu LTS (welke nieuwer was dan Debian op dat moment) maar moest gaan klooien met PPA's om alles werkend te krijgen. Ik voorzie hetzelfde met zaken als eSNI (of hoe de opvolger daarvan ook heet) en HTTP/3, waar packages toch echt een versie zullen moeten worden gebumpt om voordelen te behalen. Sommige bedrijven hebben zelfs contractueel vastgesteld dat ze een bepaalde letter op ssllabs moeten behalen voor hun beveiliging, die kunnen straks niet anders dan upgraden zodra de A+ rating van definitie verandert.
Ik snap dat je voor productiecode stabiliteit boven features prefereert, maar onderschat niet hoe snel oudere software je vrijheid en behendigheid voor nieuwere technologieën kan beïnvloeden.
Debian mag natuurlijk prima de software opnemen, dat is hun goed recht en dat is de basis van de open source. Echter zal het Debian niet in dank worden afgenomen als ze dit doen op een manier die tegen de wensen van de originele ontwikkelaar ingaat. De mentaliteit "het mag van de licentie dus niet zo zeuren" is niet echt bevorderlijk voor open source. Ik heb van het debacle geleerd om nooit mijn eigen naam en contactgegevens in software te zetten die misschien ooit open source zal worden, en om expliciet aan te geven in mijn documentatie dat ik geen support ga leveren voor oude versies. Het is erg jammer dat dat soort dingen nodig zijn.
Ik draai zelf Ubuntu voor het meeste ontwikkelwerk en ik heb meermaals gehad dat ik compatibiliteit met een of andere tool moest repareren door broncode aan te passen of lelijke hacks uit te voeren (
ln library.12.so library.13.so en bidden dat de binary compatibility in de toekomst niet kapotgaat). Veel van dit werk wordt door de maintainers van de distributie voor ons gedaan, gelukkig.
Je hebt overigens helemaal gelijk dat het statisch compilen en het gebruik van hele containers voor een applicatie verschrikkelijk zijn voor de veiligheid van je software. Dit is in mijn ogen een zwaar onderbelicht punt bij de meeste containerdistributies. Hoe vaak ik wel niet "productie"-Docker-containers zie rondwaren die gebouwd zijn op vijf maanden oude images en geen enkele updates uitvoeren tijdens het bouwproces...
Ik zie die containers niet als een oplossing maar als een symptoom van een probleem in het Linux-ecosysteem, één waar ik zelf ook geen goed antwoord op heb kunnen bedenken. Het simpele feit is dat je op Windows geen containers nodig hebt voor applicatiedeployment en op Linux blijkbaar wel. De (relatief) recente introductie van microkernels in Windows om een soort van containers te draaien lijkt niet echt populair onder ontwikkelaars, in elk geval.
Ik kijk met veel interesse naar "nieuwkomers" als NixOS die langzaam in productie worden opgenomen en productie-versies van Alpine die het absoluut minimale draaien om niet al te veel breaking changes te hoeven introduceren. Ik hoop dat Docker/snap/etc. hun populariteit verliezen doordat normale deployments beter zullen werken en makkelijker te onderhouden zullen worden in de toekomst.
[Reactie gewijzigd door GertMenkel op 24 juli 2024 11:39]