Was Carbon eigentlich ist
IBM beschreibt Carbon als sein Open-Source-Designsystem für Produkte und digitale Erlebnisse, basierend auf der IBM Design Language. Es besteht aus produktivem Code, Design-Tools und Ressourcen, Human Interface Guidelines sowie einer Community von Mitwirkenden. Es wird von IBM für die geschäftlichen Anforderungen von IBM finanziert und entwickelt und offen für die Nutzung und Mitarbeit freigegeben.
Dieses Finanzierungsmodell ist einen Moment des Innehaltens wert, da es bestimmt, was man hier übernimmt. Carbon ist kein Community-Projekt, das zufällig Unternehmensnutzer hat; es ist ein Unternehmenssystem, das zufällig offen ist. Roadmap-Entscheidungen dienen IBM-Produkten. In der Praxis ist das meist positiv – es bedeutet, dass das System wirklich gewartet wird, anstatt aufgegeben zu werden, wenn ein Maintainer den Job wechselt –, aber es bedeutet auch, dass ein Feature, das Ihr Produkt benötigt, IBM jedoch nicht, wahrscheinlich nicht implementiert wird.
Der Name ist eine Metapher, die das Team direkt so benennt: Kohlenstoff (Carbon) baut in der Natur komplexe Strukturen aus einfacheren Verbindungen auf, was widerspiegelt, wie einzelne Styles und Komponenten kombiniert werden. Dies ist wichtig zu wissen, da es die Tendenz des Systems zur Komposition gegenüber starren Vorgaben erklärt.
Die drei Schichten
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 dargestellt.
| Inhalt | Verantwortlich für Änderungen | |
|---|---|---|
| IBM Design Language | Markenfundament: die visuelle und expressive Sprache über ganz IBM hinweg | IBM Brand, selten, und niemals für die Bequemlichkeit eines einzelnen Produkts |
| Carbon Design System | Tokens, Komponenten, Patterns, Human Interface Guidelines, Code | Das Carbon-Team plus Open-Source-Mitwirkende |
| Domain-Systeme | Carbon for IBM Products, Carbon for Cloud, Carbon for IBM.com — kontextspezifische Komponenten | Das Team der jeweiligen Domain, ohne den Core zu verändern |
Dies ist dieselbe Struktur, die Spotify mit Encore erreicht hat, jedoch aus einer anderen Richtung. Sie löst dasselbe Problem: Wo landet eine Komponente, wenn nur ein einziges Produkt sie benötigt? Ohne eine Domain-Schicht ist die Antwort entweder „im Core, was ihn für alle schwerfälliger macht“ oder „außerhalb des Systems, wo Drift entsteht“. Mit einer Domain-Schicht hat spezialisierte Arbeit ein Zuhause, ohne in andere Bereiche überzulaufen.
Wenn Sie ein System für mehr als ein Produkt aufbauen, ist dies der am besten übertragbare Aspekt von Carbon. Sie benötigen keine drei veröffentlichten Websites. Sie benötigen eine Regel darüber, welcher Ihrer drei Ebenen eine bestimmte Entscheidung zugeordnet wird, und die Disziplin, einen produktspezifischen Bedarf nicht in das Fundament zu heben, nur weil es einfacher war.
Der Framework-Support ist nicht einheitlich, und die Dokumentation weist darauf hin
Carbon unterstützt mehrere Code-Implementierungen, und die Dokumentation listet jede einzelne mit ihrem Maintainer auf. Diese Liste ist der praktisch wichtigste Teil 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 eingeplant war.
Diese Offenheit ist als Dokumentationspraxis an sich bemerkenswert. Viele Designsysteme listen Framework-Pakete auf, ohne anzugeben, wer dafür 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 KI-Agenten und KI-Anwendungen direkten Zugriff auf die Carbon-Wissensdatenbank gewährt – Kern-Elemente, Ikonografie, Piktogramme, Richtlinien, Nutzungsdokumentationen 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 KI-Zugriff auf Carbon-Standards, eine präzisere Code-Generierung basierend auf echten 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:
| Die Maßnahme | 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 Konsument eines Designsystems ist nicht mehr nur ein menschlicher Entwickler, der eine 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 Fachliteratur zu Designsystemen noch nicht ausreichend reflektiert.
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 |
| Deckt ab | 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 gestalterische Linie 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, und es ist dennoch häufig die falsche Entscheidung, es zu übernehmen. Der entscheidende Faktor ist, ob Sie eine vorgegebene Design-Meinung übernehmen möchten.
| Carbon übernehmen | Nicht übernehmen | |
|---|---|---|
| Produkttyp | Interne Tools, Enterprise-Administration, datenintensive Anwendungen | Alles, bei dem die visuelle Differenzierung Teil des Mehrwerts ist |
| Vorteile | Bereits erledigte Accessibility-Arbeit, ein umfangreiches Komponenten-Set, echte Wartung | Ein Interface, das nach IBM aussieht, weil es das tut |
| Teamstruktur | Keine dedizierten Design-Ressourcen, Engineers treffen UI-Entscheidungen | Ein Designer mit einer eigenen Vision, der sechs Monate damit verbringt, das System zu überschreiben |
| Das Anzeichen | "Wir brauchen das schnell, benutzerfreundlich und konsistent" | "Wir brauchen ein Design, das unsere Identität widerspiegelt" |
Das Argument der Barrierefreiheit verdient eine eigene Betrachtung. In die Komponenten von Carbon wurde über Jahre hinweg echte Accessibility-Arbeit investiert, gestützt durch die Accessibility-Praxis von IBM. Dies in einer eigenen Komponentenbibliothek zu reproduzieren, ist eine mehrjährige Verpflichtung, die die meisten Teams beginnen und dann wieder aufgeben. Wenn Ihr Produkt ein internes Tool ist, ist die Übernahme von Carbon fast schon ein kostenloser Gewinn.
Das Gegenargument ist, dass ein Designsystem eine Identität transportiert, und die von Carbon ist die von IBM. „Themable“ bedeutet nicht neutral: Die Dichte, die Formsprache, die Typografie und die Interaktionsidiome kodieren allesamt Entscheidungen, die für IBM-Produkte getroffen wurden. Wenn Ihr Produkt teilweise über das Look-and-Feel konkurriert, werden Sie mehr Energie darauf verwenden, diese zu bekämpfen, als Sie für die Definition Ihres eigenen Systems aufgewendet hätten.
Was man übernehmen kann, auch ohne es zu installieren
- Markensprache von der Implementierung trennen. Die IBM Design Language und Carbon sind unterschiedliche Dokumente mit verschiedenen Verantwortlichen und unterschiedlichen Änderungsraten. Eine Zusammenführung würde bedeuten, dass jede kleine Anpassung an einer Komponente zu einer Diskussion über die Marke wird.
- Domänenspezifische Arbeit in einer Domänen-Layer organisieren. Eine Komponente, die nur ein einziges Produkt benötigt, gehört über den Core, nicht hinein und nicht außerhalb des Systems.
- Offenlegen, wer jede Implementierung wartet. Anwender treffen eine Risikoentscheidung. Lassen Sie sie diese auf Basis von Fakten treffen.
- Das System bewusst für Agenten öffnen. 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 auf Basis Ihrer Dokumentation oder seiner Trainingsdaten tut.
Ist das Carbon Designsystem kostenlos?
Ja. Carbon ist Open Source, wird von IBM finanziert und entwickelt, steht aber jedem zur Nutzung und Mitarbeit offen. Prüfen Sie vor einer kommerziellen Veröffentlichung die Lizenz im Repository auf die aktuellen Bedingungen, da die Lizenzierung ein paketbezogener Fakt und keine projektweite Regelung ist.
Welche Carbon-Framework-Implementierung sollte ich verwenden?
React, wenn möglich – es wird vom Carbon-Team gewartet und ist am vollständigsten. Web Components, wenn Sie kein React nutzen und native Wartung wünschen. Angular, Vue und Svelte werden von der Community gewartet; dies ist machbar, bedeutet aber, dass Sie die Release-Zyklen und die Reaktionszeit bei Issues prüfen sollten, bevor Sie ein Produkt darauf aufbauen.
Was ist Carbon MCP und benötige ich es?
Es handelt sich um einen Model Context Protocol Server, derzeit in der Public Preview, der es AI-Agenten ermöglicht, direkt die Dokumentation von Carbon, Code-Beispiele für Komponenten, Diagramme und experimentelle Labs-Komponenten abzufragen. Sie benötigen es, wenn Agenten Carbon-Code in Ihrem Repository schreiben – ohne MCP generieren sie Code aus Trainingsdaten, die bei Prop-Namen und Imports oft veraltet sind.
Kann ich Carbon so anpassen, dass es nicht nach IBM aussieht?
Teilweise. Design-Tokens ermöglichen die Änderung von Farben, Typografie und einigen Formeigenschaften. Was man nicht einfach ändern kann, sind die Dichte, die Interaktionsidiome und die Komposition der Komponenten – hier liegt ein Großteil der wahrgenommenen Identität. Wenn „es muss wie wir aussehen“ eine echte Anforderung ist, sollten Sie den Aufwand für diesen Kampf einplanen, bevor Sie Carbon übernehmen.
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 Elternprodukt entwickelt wurden. Carbon ist am framework-pluralistischsten und das einzige, das einen MCP-Server bereitstellt. Polaris hat seine React-Bibliothek zugunsten von framework-agnostischen Web Components eingestellt. SLDS 2 hat seine CSS-Architektur um Custom Properties herum neu aufgebaut, um Struktur von visuellem Stil zu entkoppeln. Ihre Design-Philosophien unterscheiden sich stärker als ihre technischen Möglichkeiten.