Für Entwicklerinnen, Entwickler und Firmen

Mitmachen

ForgeIEC ist zu groß geworden, um es allein zu tragen. Hier steht, wo Hilfe gebraucht wird, wie man anfängt und was ein Beitrag voraussetzt.

Worum es geht

ForgeIEC in drei Sätzen

ForgeIEC ist Steuerungssoftware nach IEC 61131-3: ein Studio zum Programmieren, eine Runtime auf Industrie-Linux und Bus-Brücken („Zangen“, englisch Tongs) zu den Feldgeräten. Der Strukturierte-Text-Editor ist beim Pilotkunden, der SoLaWi Ackervielfalt, im Einsatz; vieles andere ist in Arbeit. Entwickelt wird das Projekt bisher von einer Person — Jörg Bernau.

Kurz gesagt

  • Quellcode unter AGPL-3.0-or-later, Zugang auf Anfrage
  • Rust für Runtime und Brücken, C++ mit Qt 6 für das Studio
  • jede Änderung besteht dieselben Qualitätstore
  • Beiträge Dritter erst, wenn die CLA in Kraft ist
Wo Hilfe gebraucht wird

Offene Bereiche

Abgeleitet aus den offenen Issues der Repositories anvil, forgeiec-studio, hearth-studio und tongs-core und dem Arbeitsplan in tongs-core Issue #18 (Stand 22.10.2026).

Bus-Brücken

Eine Zange je Protokoll

Für EtherCAT, PROFIBUS und EtherNet/IP steht das Gerüst; der protokollspezifische Teil fehlt. LoRaWAN ist der Schwerpunkt für die SoLaWis. PROFINET ist als Zange in C++ gegen einen Siemens-Stack geplant.

in Arbeit PROFINET: geplant

Studio

Ansichten je Zange in QML

Das Studio zeigt Parameter, Diagnose und Busverkehr jeder Zange auf einer gemeinsamen QML-Basis. Die Dateien je Protokoll setzen bisher nur Titel und Beschriftungen — sie verdienen eigene Gruppen und Ansichten.

in Arbeit

Sprachen

Grafische Editoren, die übersetzen

Für KOP, FUP und AS gibt es Editoren, übersetzt werden sie noch nicht – geplant sind sie für die Versionen 0.3, 0.4 und 0.5 (Roadmap); AWL ist abgekündigt. Gebraucht wird der Weg vom grafischen Rumpf zum Code — und saubere Serialisierung nach PLCopen XML.

in Arbeit

Wissen

Dokumentation und Übersetzungen

Hilfeseiten, Wiki-Seiten und Übersetzungen der Oberflächen. Die Webseite wird auf Deutsch und Englisch gepflegt; weitere Sprachen brauchen jemanden, der sie aktuell hält.

Hardware

Testhardware und Feldtests

Der Bustest über echten Shared Memory lief bisher nur auf dem Entwicklungsrechner, nie auf einem Zielgerät (armhf/aarch64). Gebraucht werden Geräte, Koppler und Menschen, die im Feld testen.

Auslieferung

Paketbau

Windows-Installer, Debian- und RPM-Pakete für weitere Distributionen und Architekturen, Abhängigkeiten und Paketbeziehungen, die beim Aktualisieren nicht brechen.

Wie man anfängt

Vom ersten Kontakt zum ersten Commit

  1. Melden

    Eine Mail an blacksmith@forgeiec.io: wer Sie sind, was Sie können und welcher Bereich Sie reizt.

  2. Zugang erhalten

    Der Quellcode steht unter AGPL-3.0-or-later; die Repositories sind nicht öffentlich, Zugang gibt es auf Anfrage.

  3. Das Wiki lesen

    Einstieg ist die Seite „Architecture“: Prozesse, Repositories, Klassen- und Abhängigkeitsbaum und „Where do I change what?“.

  4. Mit der Vorlage beginnen

    Die Beispiel-Zange tongs-example und die Wiki-Seite „Creating a Tongs“ zeigen alles, was eine neue Brücke braucht.

  5. Die Tore bestehen

    Jede Änderung besteht die Qualitätstore; Code, Commits, Issues und Wiki sind englisch.

Was die Qualitätstore prüfen, steht auf der Seite Engineering-Praxis.

Was ein Beitrag voraussetzt

Die Contributor License Agreement

ForgeIEC wird unter AGPL-3.0-or-later und zusätzlich unter einer kommerziellen Lizenz angeboten. Das geht nur, solange alle Rechte am Code beim Autor liegen. Beiträge brauchen deshalb eine Contributor License Agreement (CLA): Sie unterschreiben einmal, bleiben Urheber Ihres Beitrags und räumen ein einfaches Nutzungsrecht ein. Den Text finden Sie unter Contributor License Agreement.

Noch nicht in Kraft

Die CLA ist ein Entwurf. Solange sie nicht in Kraft ist, werden keine Beiträge Dritter angenommen. Fehlerberichte, Hinweise und Gespräche über eine Zusammenarbeit sind schon jetzt willkommen.
Danke

Wer bisher beigetragen hat

ForgeIEC steht auf der Arbeit anderer. Genannt sind die Personen und Projekte aus den Dateien AUTHORS, NOTICE, LEGAL/THIRD_PARTY_NOTICES.md und LEGAL/PROVENANCE.md des Studio-Repositorys — mit Respekt und Dank.

  • Jörg Bernau (alias „Blacksmith“)Urheber, Architekt und Hauptautor von ForgeIEC
  • OpenPLC v3 — Thiago Alves und MitwirkendeUrsprung: ForgeIEC begann als Fork von OpenPLC (GPL-3.0); die Historie ist im Repository erhalten
  • matiec — Edouard Tisserant, Mario de Sousa, Laurent Bessardder ursprüngliche IEC-Compiler, inzwischen durch einen eigenen Kern ersetzt (LGPL)
  • Qt 6 — The Qt Company und MitwirkendeOberfläche des Studios (LGPL-3.0; Qt Charts GPL-3.0)
  • iceoryx2 — Contributors to the Eclipse FoundationInterprozesskommunikation über Shared Memory (Apache-2.0 oder MIT)
  • gRPC — The gRPC Authors; Protocol Buffers — Google LLCVerbindung Studio ⇄ Runtime (Apache-2.0; BSD-3-Clause)
  • tree-sitter — Max Brunsfeld und Mitwirkendemit den Grammatiken tree-sitter-st (Tyler Matijevich), tree-sitter-md (Matthias Deiml) und tree-sitter-xml (ObserverOfTime), alle MIT
  • toml++ — Mark GillardTOML-Parser (MIT)
  • libxml2 — Daniel Veillard und Mitwirkende; OpenSSL — The OpenSSL Project AuthorsXSD-Prüfung und TLS (MIT; Apache-2.0)
  • marked — Christopher Jeffrey; Mermaid — Knut Sveidqvist und MitwirkendeMarkdown und Diagramme (MIT)
  • async-opcua — Adam Lock und MitwirkendeOPC-UA-Stack im Gateway bellows (MPL-2.0)
  • PLCopendas Schema TC6 XML v2.01 zur Prüfung von PLCopen-XML-Dateien

Dazu kommen die Rust-Crates aus Cargo.lock unter freien Lizenzen (MIT, Apache-2.0, BSD-3-Clause u. a.) sowie SQLite und Argon2.

Was können Sie beitragen?

Schreiben Sie, was Sie anbieten: Code, Hardware, Tests, Dokumentation oder Erfahrung mit einem Bus.