systemd s'appuie sur des APIs spécifiques au noyau Linux (cgroups, signalfd, timerfd, fanotify etc…)
Ça n'a jamais posé problème que l'ensemble des fonctionnalités proposés par systemd ne soit pas portable car c'est déjà le cas en pratique !
Ce qui dérange certains, c'est la dépendance à l'API systemd par les bureaux, compréhensible du fait qu'historiquement, ces API étaient mal documentées donc difficilement réimplémentable et pensées linux-only (alsa, udev etc..).
Néanmoins, systemd a l'avantage par rapport à ses prédécesseurs d'être extrêmement bien documenté, d'avoir stabilisé son API externe (qui peut être réimplémenté indépendemment de systemd). Il y a même un tableau résumant la stabilité et la portabilité des différentes API de systemd
Il y a très clairement un terrain d'entente possible, sachant qu'au final, ce que demande les communautés BSD et Linux/systemd sont au final assez proches. La difficulté est surtout d'arriver à trouver un processus pour formaliser ces APIs externes (qui au final simplifie la maintenance des projets).
[^] # Re: Kernels compatible ?
Posté par GeneralZod . En réponse au journal Systemd dans Debian. Évalué à 10.
systemd s'appuie sur des APIs spécifiques au noyau Linux (cgroups, signalfd, timerfd, fanotify etc…)
Ça n'a jamais posé problème que l'ensemble des fonctionnalités proposés par systemd ne soit pas portable car c'est déjà le cas en pratique !
Ce qui dérange certains, c'est la dépendance à l'API systemd par les bureaux, compréhensible du fait qu'historiquement, ces API étaient mal documentées donc difficilement réimplémentable et pensées linux-only (alsa, udev etc..).
Néanmoins, systemd a l'avantage par rapport à ses prédécesseurs d'être extrêmement bien documenté, d'avoir stabilisé son API externe (qui peut être réimplémenté indépendemment de systemd). Il y a même un tableau résumant la stabilité et la portabilité des différentes API de systemd
Il y a très clairement un terrain d'entente possible, sachant qu'au final, ce que demande les communautés BSD et Linux/systemd sont au final assez proches. La difficulté est surtout d'arriver à trouver un processus pour formaliser ces APIs externes (qui au final simplifie la maintenance des projets).