Also meines Wissens ist das ja bei Linux sozusagen Politik, die Linus vorgegeben hat.
Wenn ein Treiber oder eine Komponente im Kernel ist, gibt es keine stabilen APIs. Es muss damit gerechnet werden, von einer auf die nächste Version Änderungen oder sogar Brüche in den Schnittstellen zu haben. Dafür gibt es zwei Argumente: Technisch. Man will Performance und Architektur des Kernels nicht zugunsten von APIs (die lange unterstützt werden müssen) einschränken. Lizenzpolitisch. Man möchte vermeiden, das überhaupt keine freien Treiber mehr geschrieben werden, wenn die Hersteller mit unfreien Treibern und API-Zugriff genauso gut fahren würden.
Wenn ein Treiber im Userland ist, gibt es durchaus stabile APIs, die nur sehr selten geändert werden.
Also meines Wissens ist das ja bei Linux sozusagen Politik, die Linus vorgegeben hat.
Wenn ein Treiber oder eine Komponente im Kernel ist, gibt es keine stabilen APIs. Es muss damit gerechnet werden, von einer auf die nächste Version Änderungen oder sogar Brüche in den Schnittstellen zu haben.
Dafür gibt es zwei Argumente: Technisch. Man will Performance und Architektur des Kernels nicht zugunsten von APIs (die lange unterstützt werden müssen) einschränken.
Lizenzpolitisch. Man möchte vermeiden, das überhaupt keine freien Treiber mehr geschrieben werden, wenn die Hersteller mit unfreien Treibern und API-Zugriff genauso gut fahren würden.
Wenn ein Treiber im Userland ist, gibt es durchaus stabile APIs, die nur sehr selten geändert werden.