PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : neue API für Kernel-Treiber



ronnebabe
08.11.05, 15:09
Hi !!

Was haltet Ihr von diesem Beitrag allgemein! Findet Ihr das gut oder nicht! ;)

Eine neue Diskussion zur einheitlichen API für Linux-Treiber sorgte für Aufsehen.

Bereits letzte Woche berichtete der Kernel-Entwickler Greg Kroah-Hartman, dass drei Mitglieder des japanischen Open Source Development Labs (OSDL Japan) eine stabile Kernel-Schnittstelle einführen wollen. Diese soll vor allem kommerziellen Anbietern, die ihre Treiber nicht öffnen wollen oder können, helfen, auch Produkte für Linux zu entwickeln. Wie Kroah-Hartman bemerkt, existiert im Kernel zwar eine API (Application Programming Interface) für bereits im Kernel vorhandene und externe Treiber, diese wird jedoch relativ häufig geändert. Dieser Zustand scheint nun das Trio aus Fujitsu, NEC und Hitachi zu stören.

In der Vergangenheit hatten sich die OSDL-Division und die Firmen aus Japan schon ein Mal für eine einheitliche API ausgesprochen. Im Sommer dieses Jahres hatten die Mitglieder eine entsprechende Präsentation erstellt. Darin beschreiben sie die Vorteile sowohl für Anwender, wie auch für Hersteller. Eine API, die das Einbinden von externen Treibern erlauben würde, ermöglicht nicht nur Entwicklern von proprietären Treibern, diese unter Linux zu Verfügung zu stellen, sondern würde unter anderem auch die Größe des Kernels reduzieren. Treiber müssten nicht mehr direkt mit dem Kernel ausgeliefert und könnten separat angeboten werden - auch wenn diese nicht unter der GPL stehen. Kroah-Hartman scheint sich allerdings an der Passsage zu stören. Seiner Meinung nach entspricht dies nicht der Wahrheit.

Kroah-Hartmans Meinung teilen auch der Linux-Übervater Linus Torvalds und Alan Cox. Laut Cox ist das Linken von binären, unfreien Treibern unter Linux möglicherweise nicht erlaubt. Der Schutz der GPL, der das Linken von nicht unter GPL-kompatibler Lizenz veröffentlichtem Code in den Kernel verbietet, könnte ein massives Problem für die Erstellung einer einheitlichen binären API darstellen.

Die Auslegung der Passage der GPL ist allerdings bei vielen umstritten, doch auch Torvalds vertritt die Meinung, dass alle Treiber, die gegen eine Kernel-API gelinkt sein würden, oder gegen einen Kernel linken, auch unter der GPL stehen müssen. Im Gegensatz zu Userland-Applikationen stellen Treiber in diesem Fall ein »Derivative Work«, eine vom Linuxkernel abgeleitete Software dar, die auch den Lizenzbestimmungen der GPL unterliegen muss.

In der Vergangenheit äußerte sich Torvalds schon mehrmals kritisch über eine einheitliche API für Treiber. Zwar bekräftigte Torvalds, dass es für ihn kein Problem darstelle, binäre Treiber einzusetzen und er kein Gegner solcher Lösungen sei, vor allem aber aus Sicht eines Entwicklers stellt sich die Implementierung unter Linux als sehr schwer dar. Unter anderem würden Abhängigkeiten zu Kernel-Symbolen Probleme mit sich führen.

Die betroffenen Firmen stellten nun bei einem Treffen einen alternativen Vorschlag für eine API vor. Dieser sieht eine weitere Abstraktionsebene im Kernel vor, um Treiber und Kernel besser trennen zu können. Es sei den Unternehmen dabei vor allem wichtig, dass die Entwicklung und Validierung der Treiber vereinfacht wird und Treiber-Entwickler und Distributionen entlastet werden. Laut Kroah-Hartman sei die Diskussion allerdings nicht über die dritte Seite gekommen. Angesichts des negativen Touchs der Diskussion und der Erfahrungen, die Kroah-Hartman bei der Division erfahren haben soll, ist davon auszugehen, dass die Vorschläge zumindest von Kroah-Hartman nicht weiter verfolgt werden.

Quelle: www.pro-linux-de

fuffy
08.11.05, 15:35
Hi!

Nun ja, was soll man davon halten.

Aus Sicht der nicht ständig kompilierenden Fraktion sollte man erst mal für ein stabiles ABI sorgen, d.h. Novell und RedHat sollten unter anderem CONFIG_REGPARM und CONFIG_4KSTACKS aus den Kernelkonfigurationen entfernen, damit ein für den 2.6.13 gefertigtes Modul auch wirklich mit jedem 2.6.13 funktioniert, unabhängig von der Distribution. Weiterhin müsste dafür gesorgt werden, dass ein Rebuild des Kernels mit "falschem" gcc nicht zu Problemen führt.

Aus Sicht der OpenSource-Entwickler ist der Schritt einerseits zu begrüßen (wessen Modul nicht im git-Tree ist, braucht nicht permanent nachzupflegen), andererseits werden die Kernel-"Core"-Entwickler nicht mehr so leicht neue Features einbringen können, die ein anderes API erfordern, da man bei der Einführung des API nicht an sowas gedacht hat.

Man sieht was ähnliches jetzt unter Windows bei den DVB-Treibern, dass da alles umgestellt wird, damit das Windows XP Media Center Edition auch mit allen Karten klar kommt. Weil eben keine von MS definierte Schnittstelle da war, hat jeder Treiberentwickler sein eigenes Ding gedreht.

Eine Abstraktionsschicht, vergleichbar mit dem HAL vom Windows, wurde sowieso mal Zeit. Das Beste wäre natürlich, wenn GNU/Hurd mal fertig werden würde. :ugly:

Gruß
fuffy

Batosai
08.11.05, 15:39
1.) denke ich das der Beitrag in "Linux Allgemein" besser aufgehoben wäre, und
2.) hast du gegen das Gebot verstoßen "Du sollst keine Artikel von pro-linux.de kopieren"


davon abgesehen, denke ich das das ein zweischneidiges schwert ist.
Zum einen will man keine propritären treiber im kernel (bzw. gegen ihn gelinkt) - was ich verstehen kann - zum anderen wird man aber unternehmen wie bspw. nvidia nicht dazu bringen können ihre treiber unter eine freie lizenz zu stellen.

Würde man ATI oder NVidia vor die Wahl stellen entweder ihre treiber offen zu legen, oder Linux nicht weiter zu unterstützen, dann würden diese sich IMO für letzteres entscheiden.


just my 2 cent
Batosai

ThorstenHirsch
08.11.05, 15:42
Ich will mal eben noch ein paar Dinge klarstellen, die noch nicht so klar herausgekommen sind, bevor die Diskussion hier in die falsche Richtung geht:

- die Kernel-API aus dem User-Space (also fuer Programme) ist sehr stabil, um die geht es nicht
- die Kernel-API zu Treibern ändert sich ständig (hier gilt die GPL!)
- es gibt z.Zt. keine Kernel-API, an die man closed-source-Treiber anbinden darf - was ATI und nVidia machen ist eigentlich verboten oder zumindest in einer rechtlichen Grauzone

Warum gibt's keine stabile Kernel-API für closed-source-Treiber?
Das hat meiner Meinung nach FireDancer im Heise-Forum sehr gut beantwortet. Hier sein Beitrag:

Entwicklersicht
firedancer (mehr als 1000 Beiträge seit 26.1.01)
Bewertung dieses Beitrags: [Beitragsbewertung: 40%]


Jede Entscheidung eines Entwicklungsprozesses muß aus sachlichen,
logischen Gründen erfolgen. Sachlich und logisch bedeutet: In
Hinblick auf Qualität des Produkts = der Software. DAS und nur DAS
ist die Philosophie der Linux-Entwickler. Es geht hier nicht darum
alles als OpenSource zu machen: Wer das glaubt, hat keine Ahnung von
der Realität. Nicht jeder Ruf, jedes Gerücht entspricht der Realität.

Warum sollte man Kompromisse im Bereich der Qualität machen? Sehen
wir uns ein Beispiel an: WindowsNT. Ursprünglich von David Cutler
entwickelt war es so angelegt, verschiedene Subsysteme hosten zu
können: DOS, Win32, POSIX und OS/2. POSIX und OS/2 sind dank
Marketing vollständig verschwunden. Wäre dem nicht so, hätten wir
heute mit Windows ein Universalsystem, auf dem sogar Linux-Software
nativ laufen würden. Wie hat sich WindowsNT entwickelt? Es wurde mit
einem fein granularen Rechtemanagement ausgestattet. Dies ist zwar
grundsätzlich komplexer als Windows, würde aber theoretisch eine
bessere Kontrolle der Rechte von Prozessen zulassen. Davon ist aber
kaum was übrig geblieben: Selbst unter WinXP Professional arbeiten
viele Leute als Administrator. Die Rechteverwaltung ist demnach in
vielen Fällen ziemlich für die Katz. Warum ist das so? Weil Microsoft
Kompromisse eingegangen ist. Die letzte CT enthielt eine CD von
Microsoft um Windows-PCs sicherer zu machen. Interessanterweise ist
das Qualitätsurteil für diese CD ziemlich vernichtend ausgefallen.
Warum? Weil Microsoft Kompromisse eingegangen ist. Schauen wir uns
andere Punkte des Betriebssystems an: Ein Windows-System von der
Stange muß man erst mal 1/2 Stunde lang bearbeiten, bis es so
konfiguriert ist, daß man tatsächlich damit arbeiten kann. Warum?
Weil Microsoft Kompromisse eingegangen ist, nämlich das System
passend für DAUs zu machen, als ihnen ein System zu präsentieren,
welches sie wirklich im Arbeiten unterstützt. Schauen wir uns den
Explorer an: stützt er ab, reißt er meist das ganze Desktop mit in
den Abgrund. Schauen wir uns den Taskmanager an: einigermaßen
vernünftig, doch seit der WindowsNT-Zeit hat er sich nicht
weiterentwickelt. Man kann nicht mal die Pfade der Programme sehen,
die gerade laufen, geschweige denn per Klick die Ressourcen sehen,
die ein Prozeß gerade benötigt. Och, ich rede jetzt nicht von
Speicherverbrauch, sondern von Netzwerkports und ähnlichem. Schauen
wir uns das Cache-Management an: Wer eine große Datei von einer
Platte auf eine andere kopiert, dem fällt ziemlich schnell auf, daß
dieser Kopiervorgang erst mal das halbe System blockiert und eine
ganze Menge Speicherseiten verdrängt, die ausgelagert werden. Warum
eigentlich? Warum sollte ein Kopiervorgang Speicherseiten verdrängen,
so daß das System hinterher erst mal 'ne halbe bis ganze Minute
braucht, um wieder benutzbar zu sein? Tja. Weil Microsoft technische
Kompromisse eingegangen ist.

Kompromisse einzugehen bringt da nichts, wo es auf maximale Qualität
ankommt. Die heutigen Softwaresysteme (= Computersysteme) sind so
komplex, daß es sich rächt, Kompromisse einzugehen. Jeder gute
Entwickler, der schon mal an Software gearbeitet hat, die an die
Grenzen des Machbaren ging, weiß, wovon ich spreche. Ab einem
gewissen Qualitätsanspruch (= Geschwindigkeit, Zuverlässigkeit,
Sicherheit), DARF man keine Kompromisse machen. Wer auf einer
brüchigen Hängebrücke entlang läuft, macht auch keine Kompromisse,
indem er mal schaukelt bis dir Brücke nach gibt, weils vielleicht
grad lustig ist.

Nur Dank der Bestrebungen vernünftiger Entwickler kann Linux bleiben,
was es ist: Einer der besten Kerne, die die Welt bis jetzt gesehen
hat mit hervorragenden Systemprogrammen, ein gutes Betriebssystem
also. Damit eben alles einfach funktioniert. Denn nur durch
quellenoffene Software im Kern kann dies gewährleistet werden. Das
hat selbst Microsoft kapiert, weswegen sie ein Miniport-Treibermodell
verwenden, also ein Konzept, bei denen den Herstellern möglichst
WENIG Implementierungsspielraum gegeben wird - und damit auch nur
wenig Optimierungsmöglichkeiten. Nur, um die Qualität der Treiber
halbwegs sicher zu stellen. Zusätzlich gibt es Zertifizierungen von
Treibern (natürlich für Geld), um die Qualität sicher zu stellen.

>>>> Zum beliebte Argument, die Großen haben Angst, <<<<
>>>> der Konkurrenz Geheimnisse zu veröffentlichen. <<<<

Verratet mir doch bitte mal, welche bahnbrechenden Erkenntnisse die
Konkurrenz durch die Offenlegung der Quellen gewinnen könnte. Wenn
Ihr diese Frage nicht zuverlässig beantworten kannst, so ist das
Argument eigentlich schwachsinnig. Ich bezweifle es, daß es die
Konkurrenz überhaupt nötig hat, in die Quellen der Treiber zu
schauen. Jeder kocht sein eigenes Süppchen und versucht seinen Weg zu
gehen. Und der wird prima in Hardware gegangen, nicht in Software.
Treiber sind nicht mehr als eine Ansteuerungssoftware. Man kann
vielleicht Rückschlüsse auf die Konstruktion der Hardware gewinnen,
aber die gewinnst Du wahrscheinlich sogar noch besser, wenn Du die
nächste Fachzeitschrift ließt oder eine Entwicklerkonferenz oder
Multimediamesse besuchst und das Datenblatt liest.

Anders herum wird ein Schuh draus. Es muß ja nicht mal ein Treiber
entwickelt werden. Durch Öffnung der Spezifikation alleine schon
würden sich Leute finden, die vollkommen kostenlos einen Treiber
entwickeln würden. Und damit einen Markt mit vielen tausenden von
Usern erschließen. Sogar einen rapide wachsenden Markt. Ich halte es
nach wie vor für eine Fehlentscheidung von Managern, solche
Offenlegungen von Spezifikationen zu verhindern.

Denkt mal die ganze Geschichte zu Ende. Wir schaffen eine proprietäre
Schnittstelle. Was würde passieren? Ein paar GraKaHersteller würden
CS-Treiber bereit stellen. Tja. Für vielleicht zwei oder drei
Linux-Distributionen. Wenn Du Glück hast, kannst Du noch zwischen
einem IA32 und einem AMD64-Kompilat wählen. Was ist, wenn Du aber ein
Board mit einer vollkommen neuen CPU einsetzt? Oder einer sehr alten?
Tja. Pech gehabt. Linux läuft auf etwa 30 verschiedenen
Hardwareplattformen und kann mit -zig verschiedenen CPU-Typen
umgehen. Wie willst Du die Hersteller dazu bringen, für all diese
Plattformen Treiberkompilate bereit zu stellen? Du wirst das nicht
schaffen. Demnach werden sich die Hersteller auf eine Handvoll
Plattformen, also RedHat und vielleicht noch SuSE und vielleicht noch
Debian beschränken und das wars dann. Deine Situation hat sich also
nicht verbessert, da Du nun dazu gezwungen bist, eine der
unterstützten Distributionen einzusetzen. Aber nun werden sich dann
die nächsten Hardwarehersteller zu Wort melden, z.B. für
IDE-RAID-Karten. Sie werden argumentieren "Warum soll das nur für
GraKa-Hersteller gelten? Wir wollen auch eine CS-Schnittstelle!" und
nach kurzer Zeit endest Du da, wo Du nie hinwolltest: Mit einem Kern,
der mit zig Closed-Source-Treibern gespickt ist, die alle nur auf
bestimmten Plattformen und nur mit bestimmten Kernen
zusammenarbeiten. Mit anderen Worten: Dein System wird ein
unportabler Klotz und Du wirst über kurz oder lang Dich davon
abwenden und zu Windows zurück kehren oder auf MacOS wechseln ---
weil die Hersteller haben ja keine Schuld an dem Desaster.

>>>> Zum Argument: Die DAUs wollen das so: Hauptsache <<<<
>>>> die Hardware wird unterstützt, alles andere ist egal <<<<

Und? Wenn ich mich nur nach den DAUs richte, kommt ein Windows
heraus. Ich habe mitlerweile den Eindruck, daß die User nicht ein
Linux wollen, sondern nur ein Windows, bei dem nicht Microsoft
sondern irgend was anderes, egal was, draufsteht. Liebe User, Ihr
müßt Euch schon entscheiden. Wollt ihr ein System, mit dem man
arbeiten kann, oder ein System zum spielen. Wollt ihr ein Linux, ein
MacOS, ein Windows, ein BeOS/Zeta .... IHR müßt Euch entscheiden. Und
wenn Euch die Philosophie eines Systems nicht zusagt, dann nehmt ein
anderes. Das macht die Philosophie übrigens noch lange nicht
schlecht, nur weil sie nicht Euren Bedürfnissen entspricht.

Auf diese Basis müßt ihr entscheiden, ob ihr ein brauchbares System
auf Eurem Computer haben wollt, oder ein professionelles System, das
anderen Prinzipien folgt, und bei dem sich Leute Gedanken gemacht
haben und bewußt keine Kompromisse eingehen wollten, weil die
Qualität im Vordergrund stand, nicht die Menge der Kohle, die man
damit verdienen kann. Nun, das scheint typisch deutsch zu sein: Alle
rufen nach Reformen, aber wenn sie dann anstehen, will keiner eine
tatsächliche Veränderung haben. Hauptsache alles bleibt beim Alten.

traffic
08.11.05, 16:46
Zum einen will man keine propritären treiber im kernel (bzw. gegen ihn gelinkt) - was ich verstehen kann - [...]
Was hat das mit dem Thema zu tun? ATI und NVidia bieten doch jetzt schon Treiber an, die nicht OSS sind. Das würde nicht erst durch eine Treiber-Schnittstelle ermöglicht, sondern geht jetzt schon. Auf der anderen Seite werden die Autoren auch solcher Treiber, die zwar OSS, aber nicht Bestandteil des Kernels sind, vorsorglich gleich mitbestraft. Die Konsequenz ist, dass beispielsweise SuSE - entgegen der landläufigen Falschmeinung, SuSE würde alles zu Tode patchen - Kernelmodule, die nicht Bestandteil des Vanilla-Kernels sind, mit dem Hinweis "only if it goes upstream" ablehnen muss, weil alles andere finanziell ein Fass ohne Boden wäre.

[...] zum anderen wird man aber unternehmen wie bspw. nvidia nicht dazu bringen können ihre treiber unter eine freie lizenz zu stellen.
Erstens das, und zweitens bewirkt der Status quo vor allem, dass bestimmte Dinge eben nur für Red Hat und vielleicht noch für SuSE erhältlich sind und dass es dabei auf absehbare Zeit auch bleiben wird. Welches Unternehmen hat schon Lust, Support für mehr als die allerwichtigsten Distributionen zu leisten? Wenn man bedenkt, dass dieser Support von sozialversicherungspflichtig Beschäftigten gemacht werden muss und sozialversicherungspflichtige Beschäftigung *sauteuer* ist, kommt man sehr schnell darauf, dass das einfach nicht passieren wird, egal wie oft an diversen Stellen "PLZ support ubuntu" geschrieben wird.

Batosai
08.11.05, 17:02
Was hat das mit dem Thema zu tun? ATI und NVidia bieten doch jetzt schon Treiber an, die nicht OSS sind.
Und wie bereits oben steht, bewegen sie sich damit in einer Grauzone.
Würde man also darauf pochen, das sie das nicht dürften, würde es zweifellos zu der von mir beschriebenen Situation kommen.


Batosai

traffic
09.11.05, 00:44
Und wie bereits oben steht, bewegen sie sich damit in einer Grauzone.
Naja, ich weiß nicht, wie grau die Zone wirklich ist. Ich kenne jedenfalls keine mehr-oder-weniger-offizielle Stellungnahme des Kernel-Entwicklungsteams, wonach diese Dinge ausdrücklich unerwünscht wären.

Würde man also darauf pochen, das sie das nicht dürften, würde es zweifellos zu der von mir beschriebenen Situation kommen.
Würde "man", wer auch immer das sein soll, darauf pochen, dass Treiber für Linux durch Verordnung von oben nur unter einer einzigen (*), für alle Ewigkeit und auch in rechtlichen Problemfällen unabänderlichen Lizenz veröffentlicht werden dürfen, dann würden so einige Unternehmen der Linux-Community den Vogel zeigen.

Das muss man sich mal vorstellen: Linux ist angetreten, einen vollständig kompatiblen Ersatz für andere UNIX-Kernel anzutreten mit dem Anspruch, den Entwicklern und Nutzern mehr Freiheiten zu geben, dabei wäre es bei so einer Auslegung der Treiberfrage sogar "unfreier" (um mal dieses Unwort zu benutzen) als Windows und andere UNIX-Systeme, weil man Treiber beispielsweise für Windows ohne Lizenz-Verordnung von oben veröffentlichen darf und der Hersteller bei der Lizenzierung der Treiber-SDKs darauf achtet, dass die Interessen der Hardwarehersteller gewahrt bleiben und Treiber sowohl als OSS als auch anders hergestellt werden können.

Außerdem ist es einfach sinnlos, weil es unmöglich ist, mit wie auch immer geartetem Druck etwas zu bewirken. Wer OSS und GPL will, der veröffentlicht als OSS unter der GPL und wer das nicht tut, der will es nicht. Wer es nicht will, wird immer einen Weg finden, der an dem, was er nicht will, vorbeiführt. Wenn es nicht anders geht und ein Hersteller trotzdem Linux-Treiber anbieten will, dann implementiert er seine Treiberschnittstelle einfach selbst, stellt diese unter die GPL und vertreibt den eigentlichen Treiber wie gehabt, oder wenn Linux-Unterstützung verzichtbar ist, wird sie vielleicht auch einfach komplett fallengelassen. Den Gedanken, eine Treiberschnittstelle fördere die Nicht-Nutzung der GPL oder die Abwesenheit eines solchen fördere deren Nutzung, sollte man schnellstmöglich vergessen.

(*) Linux steht nicht unter der GPL 2 oder höher, sondern unter der GPL 2. Aufgrund der verteilten Eigentumsrechte ist es völlig ausgeschlossen, die Lizenz von Linux jemals zu ändern. Das kann ein Problem sein, weil die nächste GPL möglicherweise zur GPL 2 inkompatibel sein wird und die GPL 2 nur die Kombination mit GPL-2-kompatiblem Code erlauben.

Im Klartext bedeutet dass, dass Linux-Treiber bei so einer Lizenzauslegung praktisch in alle Ewigkeit unter der GPL 2 veröffentlicht werden müssten, und damit meine ich nicht den Fall, dass ein Unternehmen etwas gegen die GPL allgemein hat, sondern den Fall, dass konkret die GPL 2 irgendeinen Konflikt mit jetzt oder zukünftig geltendem Recht hätte, was niemand ausschließen kann. Hätte ich so eine Entscheidung zu treffen, würde ich es mir sehr genau überlegen und die Vor- und Nachteile, die es für mich(!) - nicht für andere - hat, sehr genau abwägen, bevor ich mich auf sowas einlasse, allein schon der Unabhängigkeit wegen.

Batosai
09.11.05, 08:36
Naja, ich weiß nicht, wie grau die Zone wirklich ist. Ich kenne jedenfalls keine mehr-oder-weniger-offizielle Stellungnahme des Kernel-Entwicklungsteams, wonach diese Dinge ausdrücklich unerwünscht wären.

Deswegen nennt man es ja "Grauzone" - eben weil es keiner so genau weiß.
Würde man es genau wissen, wäre es entweder erlaubt oder nicht.



Würde "man", wer auch immer das sein soll, darauf pochen, dass Treiber für Linux durch Verordnung von oben nur unter einer einzigen (*), für alle Ewigkeit und auch in rechtlichen Problemfällen unabänderlichen Lizenz veröffentlicht werden dürfen, dann würden so einige Unternehmen der Linux-Community den Vogel zeigen.

Das habe ich in einer ähnlichen/anderen Form oben bereits erwähnt - wiederholst du das nur zum Korithenkacken?



Das muss man sich mal vorstellen: Linux ist angetreten, einen vollständig kompatiblen Ersatz für andere UNIX-Kernel anzutreten mit dem Anspruch, den Entwicklern und Nutzern mehr Freiheiten zu geben,

Na wenn du das sagst.



dabei wäre es bei so einer Auslegung der Treiberfrage sogar "unfreier" (um mal dieses Unwort zu benutzen) als Windows und andere UNIX-Systeme, weil man Treiber beispielsweise für Windows ohne Lizenz-Verordnung von oben veröffentlichen darf und der Hersteller bei der Lizenzierung der Treiber-SDKs darauf achtet, dass die Interessen der Hardwarehersteller gewahrt bleiben und Treiber sowohl als OSS als auch anders hergestellt werden können.

Die Freiheiten der Hardware-/Treiberhersteller hört da auf, wo meine Freiheiten eingeschränkt werden!
Und meine Freiheiten werden erheblich eingeschränkt, wenn ich nur ClosedSource Treiber vorgesetzt bekomme - dann haben wir nämlich wieder genau die Situation die RMS verhindern wollte, als er GNU und die GPL im Sinn hatte.

Aber ich hab ja schon in dem Thread über die Bundestagspetition gemerkt, das du nur die Freiheiten der "Unternehmen" im Sinn hast, und dir die Freiheiten der Benutzer am Arsch vorbei gehen (korrigier' mich falls ich mich irre)



Außerdem ist es einfach sinnlos, weil es unmöglich ist, mit wie auch immer geartetem Druck etwas zu bewirken. Wer OSS und GPL will, der veröffentlicht als OSS unter der GPL und wer das nicht tut, der will es nicht.

Es hat ja auch jeder das Recht es nicht zu wollen.
Ich merke, du hast ein Talent dazu das offensichtliche fest zustellen.



Wer es nicht will, wird immer einen Weg finden, der an dem, was er nicht will, vorbeiführt. Wenn es nicht anders geht und ein Hersteller trotzdem Linux-Treiber anbieten will, dann implementiert er seine Treiberschnittstelle einfach selbst, stellt diese unter die GPL und vertreibt den eigentlichen Treiber wie gehabt,

Du stellst dir das ja ziemlich einfach vor :D
Dann müsste er aber auch gleich seinen eigenen Kernel mitliefern, weil diese Schnittstelle dann ja nicht im offiziellen Kernel drinne wäre.
Mal abgesehen davon, wäre es Rechtlich immer noch bedenklich, denn wie du so schön aufgeführt hast, ändert sich dadurch ja nicht die Lizenz des Kernel.



oder wenn Linux-Unterstützung verzichtbar ist, wird sie vielleicht auch einfach komplett fallengelassen.

Du wiederholst dich.



Den Gedanken, eine Treiberschnittstelle fördere die Nicht-Nutzung der GPL oder die Abwesenheit eines solchen fördere deren Nutzung, sollte man schnellstmöglich vergessen.

Ja, denn eine einheitliche Treiberschnittstelle fördert das nicht, sondern vereinfacht es - wie du gut erkannt hast, besteht da ein Unterschied.

Und das die "Abwesenheit" einer solchen Schnittstelle die nutzung der GPL für Treiber nicht fördert, beweisen ja bspw. die NVidia-Treiber.



(*) Linux steht nicht unter der GPL 2 oder höher, sondern unter der GPL 2. Aufgrund der verteilten Eigentumsrechte ist es völlig ausgeschlossen, die Lizenz von Linux jemals zu ändern. Das kann ein Problem sein, weil die nächste GPL möglicherweise zur GPL 2 inkompatibel sein wird und die GPL 2 nur die Kombination mit GPL-2-kompatiblem Code erlauben.

Das das ein Problem werden könnte, haben schon andere vor dir erkannt.


Hätte ich so eine Entscheidung zu treffen, würde ich es mir sehr genau überlegen und die Vor- und Nachteile, die es für mich(!) - nicht für andere - hat, sehr genau abwägen, bevor ich mich auf sowas einlasse, allein schon der Unabhängigkeit wegen.
Auch das ist ja dein gutes Recht.
Nur solltest du ja inzwischen mitbekommen haben, das es auch Leute gibt, denen "die anderen" nicht ******-egal sind - so wie dir.


just my 2 cent
Batosai

Asmodis
09.11.05, 19:31
Sorry Batosai, aber was du schreibst ist zum grossen Teil utopischer Bloedsinn...


Die Freiheiten der Hardware-/Treiberhersteller hört da auf, wo meine Freiheiten eingeschränkt werden!
Und meine Freiheiten werden erheblich eingeschränkt, wenn ich nur ClosedSource Treiber vorgesetzt bekomme - dann haben wir nämlich wieder genau die Situation die RMS verhindern wollte, als er GNU und die GPL im Sinn hatte.


Darf ich das als "IHR HABT GEFAELLIGST OSS TREIBER ZU LIEFERN" werten? Was willst du oder ich oder irgendwer machen, wenn ATI keine Linuxtreiber mehr herstellt (nicht das die jetzigen besser waehren, aber...). Keine ATI Produkte mehr kaufen? Was glaubst du wird ATI machen, wenn sie halt ein paar tausend Karten weniger Verkaufen, aber dafuer eine Menge Geld sparen, wenn sie keine Treiber mehr fuer Linux programmieren muessen. Soviel Druck kann Linux auf dem Markt nicht machen. Gruende die Treiber nicht freizugeben wurden oben schon genug genannt, das mach ich jetzt nicht nochmal.


Auch das ist ja dein gutes Recht.
Nur solltest du ja inzwischen mitbekommen haben, das es auch Leute gibt, denen "die anderen" nicht ******-egal sind - so wie dir.

Vielleicht solltest du die Augen soweit aufmachen, dass du siehst, dass es in einer kapitalistischen Gesellschaft eben nicht (nur) um das Wohl anderer geht, sondern man primaer als Unternehmen an den eigenen Profit denkt...

Dein ganzer Post klingt nach "Ist doch das Problem von <firma>, wenn ich keine Treiber hab". Vlt hab ich das nur missverstanden, vlt hattest du einen schlechten Tag, aber das ist meine Meinung.

Bitte nicht als Angriff werten.

Ich persoenlich waere fuer eine einheitliche API. Und es will nunmal nicht jeder seine Schnittstellen freilegen und / oder OSS Treiber programmieren.

ThorstenHirsch
10.11.05, 12:02
Sehe ich ganz anders, Asmodis.
Dieser "utopische Blödsinn" hat Jahrelang funktioniert, warum soll er jetzt auf einmal nicht mehr funktionieren? Es gibt genug andere Betriebssysteme auf dem Markt, die nach den alten Regeln der Industrie spielen und wesentlich erfolgloser sind als Linux.

Linux - der Kernel - ist übrigens auch nicht angetreten, andere Unixe zu ersetzen. GNU wollte das, aber das Entwicklerteam des Kernels war bei Linux schon immer etwas ...nunja, sonderbar, es gab ja auch immer wieder interne Streitereien, die andere Kernelentwickler verprellten, aber sie sind ihrem Entwicklungsmodell immer treu geblieben. Und dieses Entwicklungsmodell steht und fällt IMHO damit, dass der Code frei im Sinne der GPL ist.

Und zum Thema Geschäftsgeheimnisse in den Treibern würde ich gerne mal die Meinung von zander hören. Denn angeblich sind die Treiber gerade bei Grafikkarten so weit weg von der Hardware, dass man hier praktisch keine Rückschlüsse auf das Hardwaredesign ziehen kann.

Asmodis
10.11.05, 14:48
Mh.. wahrscheinlich habe ich mich undeutlich ausgedrueckt aber unter utopischem Bloedsinn habe ich verstanden, dass er scheinbar will, dass unternehmen seiner (und anderer linux-user) willen treiber unter einer oss lizenz veroeffentlichen sollen.

ich stecke nicht tief genug in der materie von lizenzen und grundsaetzen, dass ich beurteilen koennte, ob die API aus dieser sicht sinnvoll ist, aber ich weiss ganz sicher, dass linux nicht gross genug ist einen allzugrossen druck auf zumindest hersteller von "normal-pc hardware" zu machen, ihre treiber oss zu veroeffentlichen.

Ich hoffe, dass macht meinen Standpunkt klarer und ich bin nicht allzuweit vom thema abgekommen...

Iluminat23
11.11.05, 02:06
warum wollen eigentlich immer alle, dass unternehmen treiber für linux schreiben. das will eigentlich auch keine kernel entwikler. eigentlich müsten die unternehmen nur die spezifikationen der H/W raus geben. und es würde sich sicher schnell ein entwikler für diese treiber finden. ist mir klar, dass das nicht immer geht, weil die H/W eben doch zum teil geheim sein soll. aber bei ich würde mal (ganz unproffesionell) schätzen, dass 70% der HW laufen könnte ohne das die untenehmen dabei einen schaden erleiden würden. in vielen fällen weiß die konkurenz der firmen doch sowiso schon kurz nachedem bestimmte h/w auf dem markt ist besser über das teil bescheid als der hersteller selber.

ich selbst stehe dem ganze auch etwas schizophren gegenüber. mir ist klar, dass ohne closed source ob nun s/w oder treiber linux nicht konkurenzfähig werden kann. aber wenn möglich sollte so viel es geht open source sein. denn nur dann kann sicher gestellt sein, dass keine bösartigen backdoors oder ähnliches exestieren. warum sich die unternehmen ziehen die specs. frei zu geben verstehe ich nicht. nvidia könnte doch sicher die details der tnt2 - gforce3 karten freigeben ohne geheimnise an die konkurenz zu verraten. wäre ja nicht so, dass nur linux davon profitieren würde. auch für andere platforemen könnten neue treiber geschrieben werden, auch für win. somit könnten geräte laufen, welche z.B. keine treiber für eine ältere/neuere windows version haben.

nun wird es aber langsam OT.

mfg philipp

fuffy
11.11.05, 07:39
nvidia könnte doch sicher die details der tnt2 - gforce3 karten freigeben ohne geheimnise an die konkurenz zu verraten
Gerade die Leute, denen es auf 3D-Beschleunigung ankommt (dafür braucht man ja bislang den Closed-Source-Treiber), werden sich kaum mit sowas altem herumplagen wollen. Meine Grafikkarte wäre auch nicht dabei und dabei war sie wirklich Low-Cost.

BTW. Bei Grafikkarten befindet sich einiges Knowhow wirklich in den Treibern. Was meinst du, warum die so fett sind? Manche munkeln, dass die eigentliche Deaktivierung der Pipelines über den Treiber läuft, wobei er nur auf die Firmware schaut, um welche Grafikkarte es sich genau handeln soll. Das hieße also, dass ein OpenSource-Treiber es ermöglichen würde, bei ner Mittelklasse-Grafikkarte ohne Risiko sämtliche Pipelines freizuschalten und daraus ne Oberklasse-Grafikkarte zu machen. Das wäre allerdings zum Einen extrem unfair gegenüber den Leuten, die 550 € für ne Grafikkarte ausgeben, zum Anderen würde es ATI und NVIDIA das Geschäft vermasseln, da sie die Konsumentenrente nicht mehr abschöpfen könnten.

Gruß
fuffy

Batosai
11.11.05, 12:05
BTW. Bei Grafikkarten befindet sich einiges Knowhow wirklich in den Treibern. Was meinst du, warum die so fett sind? Manche munkeln, dass die eigentliche Deaktivierung der Pipelines über den Treiber läuft, wobei er nur auf die Firmware schaut, um welche Grafikkarte es sich genau handeln soll. Das hieße also, dass ein OpenSource-Treiber es ermöglichen würde, bei ner Mittelklasse-Grafikkarte ohne Risiko sämtliche Pipelines freizuschalten und daraus ne Oberklasse-Grafikkarte zu machen. Das wäre allerdings zum Einen extrem unfair gegenüber den Leuten, die 550 € für ne Grafikkarte ausgeben, zum Anderen würde es ATI und NVIDIA das Geschäft vermasseln, da sie die Konsumentenrente nicht mehr abschöpfen könnten.

Gruß
fuffy

Oder mit anderen Worten: müssten die Hersteller ihre Treiber offen legen, könnten sie die Verbraucher nicht mehr so beshicen!


Batosai

ThorstenHirsch
11.11.05, 12:07
Moment - Du findest es also Fair, dass nVidia das gleiche Stück Hardware 1x für 300€ und 1x für 500€ verkauft und bei der 300er per Treiber eine Bremse einbaut? Und dann findest Du es nicht fair, wenn jemand diese Bremse herausnimmt?

Ja wer hat dem armen Kunden denn die 500€ abgeknöpft?!

fuffy
11.11.05, 12:27
Moment - Du findest es also Fair, dass nVidia das gleiche Stück Hardware 1x für 300€ und 1x für 500€ verkauft und bei der 300er per Treiber eine Bremse einbaut? Und dann findest Du es nicht fair, wenn jemand diese Bremse herausnimmt?
So läuft der Markt. Unternehmen müssen in erster Linie Profit machen.
AMD und Intel machen das genauso. Oder glaubst du, die stellen jeden Prozessortyp auf einer eigenen Fertigungsstrecke her? Das kostet viel zu viel Geld und sorgt für zu viel Ausschuss. Die werden selektiert und die besten für viel Geld verkauft und die schlechteren für wenig Geld als Celeron oder Sempron verhökert.
Es geht überhaupt nicht darum, ob ich es fair finde, sondern darum, dass nVidia und ATI aus unternehmerischer Sicht bescheuert wären, ihre Treiber im Quellcode zu veröffentlichen. Die Grafikchips selbst sind dumm. Firmware gibts da nicht. Sämtlicher Ansteuerungscode für die Pixelshader usw. steckt im Treiber. Deshalb ist es nicht selten, dass ein neuer Treiber die Geschwindigkeit verbessert. Würde man den Code stattdessen auf der Grafikkarte platzieren, müsste man dafür die Grafikkarte flashen und was bei so nem Flashvorgang alles passieren kann, wissen hier wohl die meisten, zumal man ein BIOS-Update nur bei Problemen machen sollte, während man Grafiktreiberupdates eben auch Geschwindigkeitsvorteile im mehrstelligen Prozentbereich bringen bzw. überhaupt erst die Kompatibilität herstellen können. Man denke nur an DOOM3 auf ATI-Karten. Stell dir vor, du hättest zig-Mal das BIOS mit mehreren MB flashen müssen. Irgendwann wäre bestimmt was passiert und die Grafikkarte wäre Schrott. Garantie-/Gewährleistungsansprüche kannst du da vergessen.


Ja wer hat dem armen Kunden denn die 500€ abgeknöpft?!
Der Hersteller. Und wenn der Kunde soviel Geld ausgibt, dann ist ihm das wohl auch Wert. Gäbe es keine Nachfrage, würde der Preis runtergehen, um die Ware doch noch loszuwerden. Da sich die Superluxuskarten aber trotz des hohen Preises verkaufen lassen (Gainward verkauft sogar übertaktete Karten für >700 €), warum sollten die Hersteller dann mit den Preisen runtergehen?

Soll Porsche jetzt die Autos zum Herstellungspreis verkaufen? Die werden natürlich auch zu weit höheren Preisen als dem reinen Materialwert verkauft, weil es eben Luxusautos sind, genauso wie ne 500 € Grafikkarte ein Luxusmodell ist. Wer sich das nicht leisten kann, lässt es eben bleiben. Preis/Leistung stimmt in den Regionen sowieso nicht.


Oder mit anderen Worten: müssten die Hersteller ihre Treiber offen legen, könnten sie die Verbraucher nicht mehr so beshicen!
Genau so ist es.

Gruß
fuffy

stefan-tiger
11.11.05, 12:46
Oder mit anderen Worten: müssten die Hersteller ihre Treiber offen legen, könnten sie die Verbraucher nicht mehr so beshicen!


Batosai

Das stimmt nicht ganz.

Die Hersteller entwickeln ein Modell und durch weglassen/deaktivieren von Features ergeben sich die billigeren Modelle.
Ohne das würde es keine billigeren guten 3D Grafikkarten geben.
Es würde nur DIE eine Grafikkarte von einem Hersteller geben.
Und jeder ATI oder nVidia Kunde zahlt 500 EUR.

Aber viele Kunden wollen billigere. Die kastrierten Karten sind reine BWL-Taktik. Technisch gesehen sind sie sicherlich weitgehend Blödinn.

Also entscheide Dich, was willst du? Nur noch Grafikkarten auf dem Markt die 500 EUR kosten, oder reicht dir auch eine 25% langsamere für 50% weniger EUR?


Ds ist ähnlich wie beim Auto. Den 1,9 TDi gibts ja auch mit 90, 110 oder 150 PS. Dabei ist nur (oder hauptsächlich) die Programmierung des Steuergerätes anders.

ThorstenHirsch
11.11.05, 12:55
@fuffy: Ja, das brauchst Du mir nicht alles zu erklären, ich weiß dass das so läuft. Ich bezog mich darauf, dass Du dieses Treiben als fair ansiehst - was ich als Umkehrschluss Deiner Aussage ableite, dass Du ein Eingriff in dieses Treiben als unfair bezeichnest:

Das wäre allerdings zum Einen extrem unfair gegenüber den Leuten, die 550 € für ne Grafikkarte ausgeben, zum Anderen würde es ATI und NVIDIA das Geschäft vermasseln, da sie die Konsumentenrente nicht mehr abschöpfen könnten.
Und da Du jetzt also doch meinst, dass ATI/nVidia Ihre Kunden "beshicen"...


Oder mit anderen Worten: müssten die Hersteller ihre Treiber offen legen, könnten sie die Verbraucher nicht mehr so beshicen!
Genau so ist es.
...gehe ich davon aus, dass Du obige Aussage doch nicht so meinst.

fuffy
11.11.05, 13:16
Ich bezog mich darauf, dass Du dieses Treiben als fair ansiehst - was ich als Umkehrschluss Deiner Aussage ableite, dass Du ein Eingriff in dieses Treiben als unfair bezeichnest:
Ein Eingriff in diesen Treiben ist unfair, da sich ATI und nVidia sonst genötigt sähen, nur noch ein einziges Modell anzubieten.
Wenn du das Prinzip hinter der Abschöpfung der Konsumentenrente (http://de.wikipedia.org/wiki/Konsumentenrente) verstanden hast, siehst du auch ein, warum das Vorgehen von nVidia und ATI letztendlich positiv für die meisten Verbraucher ist.


Und da Du jetzt also doch meinst, dass ATI/nVidia Ihre Kunden "beshicen"...
Natürlich tun sie das, wie alle anderen Hersteller. Sei doch froh, dass sie dir ne abgespeckte Version anbieten. Du kannst auch gerne immer für die "volle" Version zahlen. Wenn alle Grafikkarten mit dem gleichen Chip gleich viel kosten würden, kosten sie den meisten viel zu viel. Es ist quasi ne Quersubventionierung.
Ich will ehrlich gesagt keinen Einheitspreis. Da werde ich lieber beschissen, und bekomme ne künstlich beschnittene High-End-Grafikkarte, die nur die Hälfte der unbeschnittenen Grafikkarte leistet, dafür halt zu einem Viertel des Preises.

Gruß
fuffy

ThorstenHirsch
11.11.05, 13:57
Klar finde ich das gut. Aber fair finde ich es nicht. Und ich lasse erst recht nicht diese Produktstrategie der Marketingleute (die natürlich der Gewinnmaximierung dient) als Argument gegen die Öffnung der Treiber gelten!

Es gibt mit Sicherheit 100 andere Wege, die Grafikkarte in einer abgespeckten Version anzubieten ohne den Leuten extra deswegen geschlossene Treiber aufzuzwängen. Dafür muss auch nicht zwangsläufig was an der Hardware oder Firmware geschraubt werden. Vorschlag von mir: die Grafikkarte verliert die Garantie wenn man einen Treiber nutzt, der eine andere als die vorgegeben Zahl von $GEDROSSELTES_FEATURE bereitstellt.

fuffy
11.11.05, 14:19
Vorschlag von mir: die Grafikkarte verliert die Garantie wenn man einen Treiber nutzt, der eine andere als die vorgegeben Zahl von $GEDROSSELTES_FEATURE bereitstellt.
Das kannst du mit der Garantie machen, aber nicht mit der Gewährleistung. Da müsste man schon das Gesetz außer Kraft setzen, um da was zu reißen. Und wie willst du das nachvollziehen, ob die Karte mal unter Linux mit opennvidia genutzt wurde?
Außerdem würden sich wohl die wenigsten drum scheren, solange Versuche, die zusätzlichen Pipelines via opennvidia freizuschalten, nicht mit nem Hardwaredefekt enden, was bei Firmware-Patches viel eher der Fall ist.
Man müsste es dem Benutzer also eigentlich verbieten.

Nur ist es da wie mit der CSS-Bibliothek. Sie darf nur deshalb nicht in Deutschland angeboten werden, weil sie auch zum Kopieren eingesetzt werden kann. Eine Beschränkung a la "bitte nur zum Abspielen von gekauften DVDs nutzen" hilft juristisch nicht. Das muss man schon technisch lösen, wie es z.B. WinDVD und PowerDVD machen, ist aber eben nur mit ClosedSource so möglich.

Gruß
fuffy

ThorstenHirsch
11.11.05, 17:05
Die Gewährleistung trägt ja auch der Händler - dem isses ja auch vollkommen egal, welchen Treiber oder wieviele Pipelines der Endkunde nutzt, solange (wie du ja schon sagtest) kein Hardwareschaden entsteht.
Nun ja, im Prinzip ist das das gleiche wie bei den CPUs: da wird ja auch nur getestet, raussortiert und mit ner Geschwindigkeit zertifiziert. Und hier versucht ja auch nicht jeder, das Einstiegsmodell zu kaufen und es zu übertakten. Also wieso soll das nicht auch auf dem GraKa-Markt funktionieren?

ThorstenHirsch
12.11.05, 09:10
Was ich noch schreiben wollte: der Vergleich mit der CSS-Bibliothek hinkt gewaltig, denn die ist nicht verboten weil sie "auch zum kopieren" genutzt werden kann, sondern weil sie einen Kopierschutz umgeht um an die Daten heranzukommen. Wenn sie das nicht tun würde und trotzdem "auch zum kopieren" genutzt werden könnte, wäre sie völlig legal.

fuffy
12.11.05, 12:35
Hi!


Was ich noch schreiben wollte: der Vergleich mit der CSS-Bibliothek hinkt gewaltig, denn die ist nicht verboten weil sie "auch zum kopieren" genutzt werden kann, sondern weil sie einen Kopierschutz umgeht um an die Daten heranzukommen.
Jeder Vergleich hinkt, sonst wäre er keiner.

WinDVD und PowerDVD müssen die CSS-Verschlüsselung auch rückgängig machen, um an die Daten heranzukommen. Der Unterschied liegt darin, dass die libdvdcss im Gegensatz zu den Teilen von WinDVD und PowerDVD keine vom DVD-Konsortium lizenzierte CSS-Bibliothek ist. Für so eine Lizenzierung müsste man aber die Bedingungen der Filmindustrie erfüllen und dazu gehört unter anderem, dass sie nicht beliebig zur Vervielfältigung genutzt werden darf. Da die libdvdcss OpenSource ist, hast du aber auf urheberrechtlicher Seite überhaupt keinen Einfluss darauf, was der User damit anstellt.


Wenn sie das nicht tun würde und trotzdem "auch zum kopieren" genutzt werden könnte, wäre sie völlig legal.
CSS muss von jedem Programm, das auf die DVD zugreifen will, umgangen werden. Nur die einen Programme haben die Erlaubnis (Lizenz), die anderen halt nicht. Und das ist in Bezug auf das Urheberrecht extrem wichtig, denn "Vervielfältigungen" mit Erlaubnis der Rechteinhaber sind nun mal legal.

Ja, bei der libdvdcss spielt auch eine Rolle, dass sie BruteForce anwendet, aber selbst wenn sie nen gültigen PlayerKey verwenden würde, wäre sie illegal, und zwar in diesem Fall wegen unrechtmäßiger Benutzung der PlayerKeys. Man hat ja schließlich keine Erlaubnis des DVD-Konsortiums.

Gruß
fuffy