Was Carbon tatsächlich ist
Carbon wird von IBM als sein Open-Source-Designsystem für Produkte und digitale Erlebnisse beschrieben, mit der IBM Design Language als Fundament, bestehend aus ausführbarem Code, Design-Tools und Ressourcen, Human Interface Guidelines und einer Community von Mitwirkenden. Es wird von IBM für die geschäftlichen Bedürfnisse von IBM finanziert und entwickelt und ist offen für jeden zur Nutzung und zur Rückmeldung freigegeben.
Dieses Finanzierungsmodell ist es wert, kurz innezuhalten, da es bestimmt, was man eigentlich übernimmt. Carbon ist kein Community-Projekt, das zufällig Unternehmenskunden hat; es ist ein Unternehmenssystem, das zufällig Open Source ist. Roadmap-Entscheidungen dienen IBM-Produkten. In der Praxis ist das meistens gut (es bedeutet, dass das System tatsächlich gepflegt wird, anstatt aufgegeben zu werden, wenn ein Maintainer den Job wechselt), aber es bedeutet auch, dass ein Feature, das Ihr Produkt benötigt, aber IBM nicht, unwahrscheinlich erscheinen wird.
Der Name ist eine Metapher, die das Team direkt anspricht: Kohlenstoff in der Natur baut komplexe Strukturen aus einfacheren Verbindungen auf, was widerspiegelt, wie einzelne Stile und Komponenten kombiniert werden. Es ist wichtig zu wissen, da es die Tendenz des Systems zu Komposition statt Vorgabe erklärt.
Die drei Ebenen
Die strukturelle Entscheidung, die Carbon studierenswert macht, ist, dass es nicht ein einzelnes System ist. IBM veröffentlicht einen Stack, und die Trennung zwischen den Ebenen ist in der Navigation der Website selbst explizit.
| Was sie enthält | Wer es ändert | |
|---|---|---|
| IBM Design Language | Markengrundlage: die visuelle und expressive Sprache für ganz IBM | IBM-Marke, selten, und niemals zur Bequemlichkeit eines Produkts |
| Carbon Design System | Design-Tokens, Komponenten, Patterns, Human Interface Guidelines, Code | Das Carbon-Team plus Open-Source-Mitwirkende |
| Domänensysteme | Carbon for IBM Products, Carbon for Cloud, Carbon for IBM.com: auf einen Kontext spezifische Komponenten | Das jeweilige Domänen-Team, ohne den Kern zu berühren |
Dies ist die gleiche Form die Spotify mit Encore erreicht hat, die aus einer anderen Richtung erreicht wurde und dasselbe Problem löst: Wohin kommt eine Komponente, wenn nur ein Produkt sie benötigt? Ohne eine Domänenebene lautet die Antwort entweder „in den Kern, was ihn für alle schwerfälliger macht“ oder „außerhalb des Systems, wo sie driftet“. Mit einer Ebene hat spezialisierte Arbeit ein Zuhause, das nicht auslaufen kann.
Wenn Sie ein System für mehr als ein Produkt bauen, ist dies das am besten übertragbare Element in Carbon. Sie benötigen nicht drei veröffentlichte Websites. Sie benötigen eine Regel darüber, zu welcher Ihrer drei Ebenen eine bestimmte Entscheidung gehört, und die Disziplin, nicht zuzulassen, dass ein produktspezifisches Bedürfnis aus Gründen der einfacheren Handhabung in das Fundament aufsteigt.
Die Framework-Unterstützung ist nicht einheitlich, und die Docs sagen das auch
Carbon unterstützt mehrere Code-Implementierungen, und die Dokumentation listet jede einzelne mit ihrem Maintainer auf. Diese Liste ist das praktisch wichtigste Element auf der Website, wenn Sie die Einführung evaluieren:
| Maintainer | Bedeutung für Sie | |
|---|---|---|
| Elements | Carbon-Team | First-party. Tokens, Typografie, Farbe, Icons, Grid |
| React | Carbon-Team | First-party und am vollständigsten. Die Standardwahl |
| Web Components | Carbon-Team | First-party. Framework-agnostisch, eine Option, falls React nicht genutzt wird |
| Angular | Community | Release-Zyklus und Reaktionszeit bei Issues vor der Entscheidung prüfen |
| Vue | Community | Gleicher Vorbehalt |
| Svelte | Community | Gleicher Vorbehalt |
"Community-gepflegt" ist keine Kritik, sondern ein Risiko, das Sie selbst tragen und nicht IBM. Vor der Einführung einer Community-Implementierung sollten das Datum des letzten Releases, der Abstand zum Core und die Geschwindigkeit der Issue-Beantwortung geprüft werden. Ein Designsystem, das zwei Major-Versionen hinter dem Core zurückbleibt, bedeutet eine Migration, die nicht budgetiert wurde.
Diese Offenheit ist als Dokumentationspraxis an sich bemerkenswert. Viele Designsysteme listen Framework-Pakete auf, ohne anzugeben, wer für diese verantwortlich ist, sodass Anwender den Unterschied erst während eines Vorfalls entdecken.
Carbon MCP: Der Teil, über den noch niemand geschrieben hat
Carbon MCP ist als Public Preview verfügbar. Es handelt sich um einen Model Context Protocol Server, der AI-Agenten und AI-Anwendungen direkten Zugriff auf die Carbon-Wissensbasis gewährt: Core-Elemente, Ikonografie, Piktogramme, Richtlinien, Nutzungsdokumentation und Komponentenbibliotheken für React und Web Components sowie die Carbon for IBM Products Bibliothek.
Die dokumentierten Tools sind spezifisch, und ihre Beschreibung zeigt genau, welches Problem IBM damit lösen möchte:
| Suchbereich | |
|---|---|
docs_search | Carbon- und IBM-Products-Dokumentation: Komponenten-Leitfäden, Nutzung, Barrierefreiheit, Referenz |
code_search | Code-Beispiele für Carbon React und Web Components, Icons und Piktogramme als vollständige Beispiel-Anwendungsdateien |
get_charts | Carbon Charts Beispiele für React, Angular, Vue, Svelte, Vanilla JS und HTML |
labs_search | Experimentelle Komponenten von Carbon Labs: AnimatedHeader, Processing, Resizer, WhatsNew, Labs UIShell |
Die von IBM genannten Gründe sind der sofortige AI-Zugriff auf Carbon-Standards, eine präzisere Code-Generierung basierend auf realen Beispielen und eine verbesserte Konsistenz durch eine gemeinsame Source of Truth, die Drift und Nacharbeit reduziert. Der Zugriff während der Preview ist für IBM-Mitarbeiter sofort möglich; andere können ihn über ein Early-Access-Formular beantragen.
Die Bedeutung liegt nicht darin, dass IBM eine Integration gebaut hat. Es ist das, was die Existenz des Servers eingesteht: Die Trainingsdaten eines Modells sind keine zuverlässige Quelle für die aktuelle API eines Designsystems, und die Aufforderung, Carbon-Code aus dem Gedächtnis zu schreiben, erzeugt Komponenten, die plausibel, aber falsch sind. Der Server existiert, weil Retrieval besser ist als Recall.
Der Server existiert, weil das Gedächtnis eines Modells bezüglich Ihrer Komponenten-API mit Sicherheit veraltet ist und ein falscher Prop-Name exakt wie ein richtiger aussieht.
Carbon ist damit nicht allein
Betrachtet man die drei großen, öffentlich verfügbaren Enterprise-Designsysteme, so zeigt sich derselbe Trend dreimal innerhalb von achtzehn Monaten, wenn auch unterschiedlich umgesetzt:
| Der Schritt | Die Strategie | |
|---|---|---|
| IBM Carbon | Ein MCP-Server, der Dokumentationen und Code-Beispiele bereitstellt | Agents sollten das System zum Zeitpunkt der Generierung abrufen |
| Salesforce Lightning (SLDS 2) | Eine vom visuellen Stil entkoppelte CSS-Architektur sowie ein Linter, der das Markup gegen die Regeln validiert | Das System sollte ausreichend themebar für generierte UIs sein, und Verstöße sollten mechanisch erkannt werden |
| Shopify Polaris | React wurde zugunsten von framework-agnostischen Web Components ersetzt, die über ein CDN bereitgestellt werden | Das Bereitstellungsformat sollte keine Annahmen darüber treffen, welches Framework die Seite generiert hat |
Drei verschiedene Strategien, eine gemeinsame Prämisse: Der Nutzer eines Designsystems ist nicht mehr nur ein menschlicher Entwickler, der die Dokumentation liest. Diese Prämisse ist nicht mehr umstritten, aber die Tatsache, dass alle drei innerhalb von anderthalb Jahren darauf reagiert haben, ist in der Literatur zu Designsystemen noch nicht ausreichend reflektiert worden.
MCP und DESIGN.md lösen unterschiedliche Teilprobleme
Es ist verlockend, Carbon MCP so zu interpretieren, dass dateibasierte Design-Richtlinien obsolet werden. Das ist nicht der Fall, da beide unterschiedliche Fragen beantworten.
| Ein MCP-Server | Eine DESIGN.md im Repo | |
|---|---|---|
| Beantwortet | Wie verwende ich diese Komponente korrekt? | Wie soll dieses Produkt aussehen? |
| Source of Truth | Die Maintainer der Library | Sie |
| Geladen | On Demand, wenn der Agent anfragt | In jeder Session als Kontext |
| Umfasst | API-Oberfläche, Props, Barrierefreiheit, Beispiele | Rollen, Skalierung, Verbote, Motive, No-Gos |
| Ohne dies | Der Agent erfindet Props, die nicht existieren | Der Agent entwirft ein Design, das nicht Ihrem entspricht |
Ein Agent mit Carbon MCP, aber ohne Design-Richtlinien, erzeugt technisch korrekte Carbon-Komponenten, die in einem Interface ohne klare Design-Vision angeordnet sind. Ein Agent mit starken Design-Richtlinien, aber ohne MCP, erzeugt ein gut durchdachtes Layout, ruft jedoch Props auf, die in v11 umbenannt wurden. Man benötigt beides, und sie überschneiden sich nicht.
Wir haben 299 DESIGN.md-Dateien analysiert, die für Agents veröffentlicht wurden. Die Zahlen zeigen, welcher Teil derzeit vernachlässigt wird: 86 % geben Farben als reine Hex-Werte ohne semantische Rolle an, 76 % nennen keinerlei Verbote, 57 % definieren keine markanten Motive und 69 % sagen nichts zum Dark Mode. All dies betrifft die zweite Spalte: die Fragen, die ein MCP-Server niemals beantworten sollte.
Identity Forge Design-Kits füllen diese Lücke: semantische Farbrollen für Light- und Dark-Mode, eine Typografie- und Spacing-Skala, Motive sowie eine explizite Liste mit Do's und Don'ts, serialisiert in einer DESIGN.md, die neben der von Ihnen verwendeten Komponenten-Library liegt. Kits durchstöbern oder lesen Sie, was eine DESIGN.md-Datei ist.
Sollten Sie Carbon einsetzen?
Carbon ist ein wirklich gutes System, doch die Entscheidung für den Einsatz ist häufig die falsche. Der entscheidende Faktor ist, ob Sie eine vorgegebene Design-Meinung übernehmen möchten.
| Carbon nutzen | Nicht nutzen | |
|---|---|---|
| Produkttyp | Interne Tools, Enterprise-Admin, datenintensive Anwendungen | Alles, bei dem die visuelle Differenzierung Teil des Wertversprechens ist |
| Das bietet es | Bereits erledigte Barrierefreiheits-Arbeit, ein umfangreiches Komponentenset, echte Wartung | Eine Schnittstelle, die nach IBM aussieht, weil sie es ist |
| Teamstruktur | Keine dedizierte Design-Ressource, Ingenieure treffen UI-Entscheidungen | Ein Designer mit einer klaren Vision, der sechs Monate lang versuchen wird, diese zu überschreiben |
| Das entscheidende Anzeichen | „Wir brauchen das, damit es nutzbar und konsistent ist, und zwar schnell“ | „Wir brauchen das, damit es nach uns aussieht“ |
Das Argument der Barrierefreiheit verdient ein eigenes Gewicht. In die Carbon-Komponenten wurde über Jahre hinweg echte Arbeit zur Barrierefreiheit investiert, gestützt durch die Accessibility-Praxis von IBM. Dies in der eigenen Komponentenbibliothek nachzubilden, ist ein mehrjähriges Vorhaben, das die meisten Teams beginnen und dann wieder aufgeben. Wenn Ihr Produkt ein internes Tool ist, ist die Nutzung von Carbon ein fast kostenloser Erfolg.
Das Gegenargument ist, dass ein Designsystem eine Identität trägt, und die von Carbon ist die von IBM. „Themable“ bedeutet nicht neutral: Die Dichte, die Formensprache, die Typografie und die Interaktionsmuster kodieren alle Entscheidungen, die für IBM-Produkte getroffen wurden. Wenn Ihr Produkt teilweise über das Look-and-Feel konkurriert, werden Sie mehr Energie darauf verwenden müssen, diese zu bekämpfen, als Sie für die Definition Ihres eigenen Systems aufgewendet hätten.
Was man sich aneignen sollte, selbst wenn man es nie installiert
- Trennen Sie Markensprache von der Implementierung. Die IBM Design Language und Carbon sind unterschiedliche Dokumente mit unterschiedlichen Verantwortlichen und unterschiedlichen Änderungsraten. Sie zusammenzuführen bedeutet, dass jede kleine Anpassung an einer Komponente zu einer Marken-Diskussion wird.
- Geben Sie domänenspezifischer Arbeit eine Domänenebene. Eine Komponente, die nur ein Produkt benötigt, gehört oberhalb des Kerns, nicht darin und nicht außerhalb des Systems.
- Veröffentlichen Sie, wer welche Implementierung wartet. Nutzer treffen eine Risikoentscheidung. Lassen Sie sie diese Entscheidung auf Basis von Fakten treffen.
- Stellen Sie das System gezielt Agenten zur Verfügung. Ob über MCP, einen maschinenlesbaren Token-Export oder eine gut strukturierte Datei im Repository – der Agent wird ohnehin gegen Ihr System schreiben. Die einzige Frage ist, ob er dies anhand Ihrer Dokumentation oder anhand seiner Trainingsdaten tut.
Ist das Carbon Designsystem kostenlos nutzbar?
Ja. Carbon ist Open Source, wird von IBM finanziert und entwickelt, ist aber für jeden zur Nutzung und zum Mitwirken freigegeben. Prüfen Sie die Lizenz im Repository auf die aktuellen Bedingungen, bevor Sie es kommerziell einsetzen, da die Lizenzierung pro Paket und nicht projektweit gilt.
Welche Carbon-Framework-Implementierung sollte ich verwenden?
React, wenn möglich. Es wird vom Carbon-Team gepflegt und ist am vollständigsten. Web Components, wenn Sie nicht auf React setzen und First-Party-Wartung wünschen. Angular, Vue und Svelte werden von der Community gewartet, was machbar ist, aber bedeutet, dass Sie die Release-Zyklen und die Reaktionszeiten bei Issues prüfen sollten, bevor Sie ein Produkt darauf ausrichten.
Was ist Carbon MCP und brauche ich es?
Es ist ein Model Context Protocol Server (derzeit in der Public Preview), der es KI-Agenten ermöglicht, die Carbon-Dokumentation, Code-Beispiele für Komponenten, Diagramme und experimentelle Labs-Komponenten direkt abzufragen. Sie benötigen es, wenn Agenten Carbon-Code in Ihrem Repository schreiben; ohne ihn generieren sie Code aus Trainingsdaten, die bei Prop-Namen und Imports mit Sicherheit veraltet sind.
Kann ich dafür sorgen, dass Carbon nicht nach IBM aussieht?
Teilweise. Tokens ermöglichen es Ihnen, Farben, Typografie und einige Formeigenschaften zu ändern. Was Sie nicht einfach ändern können, sind die Dichte, die Interaktionsmuster und die Komposition der Komponenten – hier liegt ein Großteil der wahrgenommenen Identität. Wenn „es muss nach uns aussehen“ eine echte Anforderung ist, planen Sie diesen Kampf bereits vor der Einführung ein.
Wie schneidet Carbon im Vergleich zu Polaris und Lightning ab?
Alle drei sind große, öffentlich zugängliche Enterprise-Systeme, die für ein spezifisches Mutterprodukt entwickelt wurden. Carbon ist am flexibelsten in Bezug auf Frameworks und das einzige, das einen MCP-Server anbietet. Polaris hat seine React-Library zugunsten von framework-agnostischen Web Components eingestellt. SLDS 2 hat seine CSS-Architektur um Custom Properties neu aufgebaut, um Struktur von visuellem Stil zu entkoppeln. Ihre Design-Philosophien unterscheiden sich stärker als ihre technischen Möglichkeiten.