Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Die Handwerkersoftware läuft und steht vor dem ersten Pilotbetrieb: Kunden, Obj
Welches Repository das richtige ist:

- [`opengewerk`](https://github.com/opengewerk/opengewerk) für alles, was der Handwerksbetrieb benutzt.
- [`opengewerk-haustechnik`](https://github.com/opengewerk/opengewerk-haustechnik) für alles, was der Betreiber eines Gebäudes und seine Haustechnik benutzen.
- [`opengewerk-kanzlei`](https://github.com/opengewerk/opengewerk-kanzlei) für alles, was die Steuerberaterkanzlei benutzt.
- [`opengewerk-api-spec`](https://github.com/opengewerk/opengewerk-api-spec) für alles, was zwischen beiden über die Leitung geht.
- [`opengewerk-website`](https://github.com/opengewerk/opengewerk-website) für die Seite unter opengewerk.de.
Expand All @@ -31,9 +32,9 @@ Das Subreddit [r/OpenGewerk](https://www.reddit.com/r/OpenGewerk/) ist für den

## Labels und Vorlagen

Alle Repositories haben dieselben sechs Labels: *Fehler*, *Funktionswunsch*, *Dokumentation*, *Konzept*, *Gute erste Aufgabe* und *Hilfe gesucht*, mit denselben Farben und Beschreibungen. `opengewerk` hat dazu je ein Label für seine Module und Bereiche. Ein neues Repository bekommt die sechs mit `gh label clone opengewerk/opengewerk-api-spec --repo opengewerk/<neues-repository>`, danach werden die englischen Vorgaben von GitHub gelöscht.
Alle Repositories haben dieselben sechs Labels: *Fehler*, *Funktionswunsch*, *Dokumentation*, *Konzept*, *Gute erste Aufgabe* und *Hilfe gesucht*, mit denselben Farben und Beschreibungen. `opengewerk`, `opengewerk-haustechnik` und `opengewerk-kanzlei` haben dazu je ein Label für ihre Module und Bereiche. Ein neues Repository bekommt die sechs mit `gh label clone opengewerk/opengewerk-api-spec --repo opengewerk/<neues-repository>`, danach werden die englischen Vorgaben von GitHub gelöscht.

Die Vorlagen für Issues in diesem Repository unter `.github/ISSUE_TEMPLATE` gelten für jedes Repository der Organisation ohne eigene, heute für die Website und für dieses Repository selbst. Die Anwendung, der Kanzlei-Hub und die Spezifikation haben eigene.
Die Vorlagen für Issues in diesem Repository unter `.github/ISSUE_TEMPLATE` gelten für jedes Repository der Organisation ohne eigene, heute für die Website und für dieses Repository selbst. Die Anwendung, die Haustechnik, der Kanzlei-Hub und die Spezifikation haben eigene.

## Sprache

Expand Down Expand Up @@ -99,7 +100,7 @@ Entscheidungen, die schwer umkehrbar sind oder mehrere Module betreffen, werden

## Lizenz deiner Beiträge

Mit einem Pull Request stellst du deinen Beitrag unter die Lizenz des jeweiligen Repositories: AGPL-3.0 für `opengewerk`, `opengewerk-kanzlei` und `opengewerk-website`, Apache-2.0 für `opengewerk-api-spec`. Ein Contributor License Agreement gibt es nicht, und das ist eine Festlegung, keine Lücke: Ein CLA bräuchte das Projekt nur, um seinen eigenen Code später zusätzlich unter eine geschlossene Lizenz stellen zu können. Genau das soll es nicht geben. Siehe Leitentscheidung 9 der Feature-Gliederung.
Mit einem Pull Request stellst du deinen Beitrag unter die Lizenz des jeweiligen Repositories: AGPL-3.0 für `opengewerk`, `opengewerk-haustechnik`, `opengewerk-kanzlei` und `opengewerk-website`, Apache-2.0 für `opengewerk-api-spec`. Ein Contributor License Agreement gibt es nicht, und das ist eine Festlegung, keine Lücke: Ein CLA bräuchte das Projekt nur, um seinen eigenen Code später zusätzlich unter eine geschlossene Lizenz stellen zu können. Genau das soll es nicht geben. Siehe Leitentscheidung 9 der Feature-Gliederung.

## Umgang miteinander

Expand Down
7 changes: 6 additions & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Danke, dass du dir die Mühe machst. Melde eine Sicherheitslücke bitte **nicht*
Direktlinks:

- [opengewerk](https://github.com/opengewerk/opengewerk/security/advisories/new)
- [opengewerk-haustechnik](https://github.com/opengewerk/opengewerk-haustechnik/security/advisories/new)
- [opengewerk-kanzlei](https://github.com/opengewerk/opengewerk-kanzlei/security/advisories/new)
- [opengewerk-api-spec](https://github.com/opengewerk/opengewerk-api-spec/security/advisories/new)
- [opengewerk-website](https://github.com/opengewerk/opengewerk-website/security/advisories/new)
Expand All @@ -25,11 +26,15 @@ Die Korrektur geht sofort nach der Behebung als neues Release von `main` hinaus,

**Die Spezifikation, `opengewerk-api-spec`,** unterstützt ihre neueste Fassung. Eine Lücke im Sicherheitsmodell wird mit einer neuen Fassung des Vertrags behoben; bricht die Behebung bestehende Implementierungen, ist es eine neue Hauptversion, wie bei jedem Bruch des Vertrags.

**OpenGewerk Haustechnik, `opengewerk-haustechnik`,** steht am Anfang ihres Baus und hat noch keine Releases. Unterstützt wird der Stand auf `main`. Sobald ihre erste Fassung erscheint, gilt für sie dieselbe Regel wie für die Handwerkersoftware.

**Das gemeinsame Fundament.** Mandantentrennung, Anmeldung, Rechte, Abgleich und Audit-Log liegen im Repository `opengewerk` in eigenen Paketen, und die Haustechnik bindet einen festen Stand davon ein ([ADR 0010](https://github.com/opengewerk/opengewerk/blob/main/docs/adr/0010-fundament-als-pakete.md)). Eine Sicherheitskorrektur dort erscheint als Fassung der Handwerkersoftware. Jede Anwendung, die das Fundament einbindet, hebt danach ihren Stand an und veröffentlicht ihrerseits, und das Advisory nennt alle betroffenen Anwendungen. Für jede von ihnen gilt die Korrektur erst als ausgeliefert, wenn ihre eigene Fassung sie enthält.

**Der Kanzlei-Hub und die Website** haben keine Releases. Unterstützt wird der Stand auf `main`, und die Website ist mit jedem Merge ausgeliefert.

## Was danach passiert

Das Projekt wird in der Freizeit entwickelt. Die Anwendung läuft und steht vor dem ersten Pilotbetrieb, der Kanzlei-Hub ist noch ein Konzept. Es gibt keine zugesicherte Reaktionszeit. Realistisch ist eine erste Rückmeldung innerhalb von zwei Wochen. Bleibt eine Antwort länger aus, ist eine freundliche Erinnerung im selben Advisory willkommen.
Das Projekt wird in der Freizeit entwickelt. Die Anwendung läuft und steht vor dem ersten Pilotbetrieb, die Haustechnik steht am Anfang ihres Baus, der Kanzlei-Hub ist noch ein Konzept. Es gibt keine zugesicherte Reaktionszeit. Realistisch ist eine erste Rückmeldung innerhalb von zwei Wochen. Bleibt eine Antwort länger aus, ist eine freundliche Erinnerung im selben Advisory willkommen.

Ist die Lücke bestätigt und behoben, wird das Advisory veröffentlicht. Es nennt die betroffenen Fassungen und die Fassung, die die Korrektur enthält; ein Advisory aus der Zeit vor dem ersten Release nennt statt einer Fassung den Commit auf `main`, mit dem die Lücke behoben wurde. Wer meldet, wird dort genannt, wenn gewünscht.

Expand Down
6 changes: 5 additions & 1 deletion profile/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Daraus folgt zweierlei: Es wird keine kommerzielle Fassung und keine bezahlten E
| Repository | Wofür |
| --- | --- |
| [opengewerk](https://github.com/opengewerk/opengewerk) | Die Handwerkersoftware selbst: Angebot, Regiebericht, Rechnung, Plantafel, Zeiterfassung, Prüfprotokolle für Elektro und PV, vollständige Buchhaltung, GoBD-konform und als offline-fähige PWA. |
| [opengewerk-haustechnik](https://github.com/opengewerk/opengewerk-haustechnik) | Software für Betreiber von Gebäuden und ihre Haustechnik: Liegenschaften, Räume und Anlagen in einem Datenmodell, Betreiberpflichten als überwachte Fristen, Rundgänge und Prüfungen auch ohne Netz, unveränderliche Nachweise. Steht auf demselben Fundament wie die Handwerkersoftware. |
| [opengewerk-kanzlei](https://github.com/opengewerk/opengewerk-kanzlei) | Der Hub für Steuerberater, der alle OpenGewerk-Mandanten in einer Anwendung bündelt. Föderiert statt zentral, die Daten bleiben beim Mandanten. |
| [opengewerk-api-spec](https://github.com/opengewerk/opengewerk-api-spec) | Der gemeinsame API-Vertrag zwischen beiden: OpenAPI-Definition, JSON-Schemas und Konformitätstests, versioniert nach SemVer. |
| [opengewerk-website](https://github.com/opengewerk/opengewerk-website) | Die Website unter [opengewerk.de](https://opengewerk.de), als statisches HTML mit Astro gebaut. |
Expand All @@ -31,11 +32,14 @@ Daraus folgt zweierlei: Es wird keine kommerzielle Fassung und keine bezahlten E

Das Fundament der Handwerkersoftware ist gebaut, und Phase 1, der MVP für den Pilotbetrieb, ebenfalls: am 24.09.2026 ist die erste Fassung erschienen, am 25.09.2026 die zweite, in der jeder Bildschirm seiner Vorlage folgt, am 26.09.2026 die dritte, in der sich der Name des Betriebs ändern lässt und jede E-Mail die Pflichtangaben auf Geschäftsbriefen trägt, und am 27.09.2026 die vierte, [OpenGewerk 0.4.0](https://github.com/opengewerk/opengewerk/releases), die an jedes Angebot an einen Verbraucher über eine Lieferung von Waren die harmonisierte Mitteilung der EU zur gesetzlichen Gewährleistung hängt. Vor dem produktiven Einsatz stehen noch die fachliche Abnahme der Regelpakete und ein Praxistest der E-Rechnung bei einem echten Empfänger. Eine Installation läuft über Docker Compose auf eigener Hardware, auf x86_64 wie auf ARM64, wird im Browser eingerichtet, sichert sich jede Nacht selbst und führt Kunden mit ihren Ansprechpartnern, Objekte, Anlagen und Aufträge mit Nummer und Folgeaufträgen, im Büro wie auf der Baustelle und dort auch ohne Netz; das Gerät eines Monteurs hält dabei nur die Aufträge, auf denen er eingeteilt ist. Die Software kommt als Release mit signierten Abbildern, ein Update baut also nichts mehr aus dem Quelltext. Auf der Baustelle kommen Zeiterfassung, Fotos und Dateien, Aufgaben und die Elektro-Struktur einer Anlage mit Verteilern und Stromkreisen dazu, samt Stromkreisverzeichnis als PDF, und das Prüfprotokoll der Erstprüfung nach DIN VDE 0100-600: je Stromkreis gemessen, jeder Wert mit seinem Grenzwert und dessen Fundstelle, vom Prüfer auf dem Gerät unterschrieben und das nächste Mal die Vorlage. Aus Angebot oder Kostenvoranschlag werden Auftragsbestätigung und Rechnung, mit Widerrufsbelehrung an jedem Angebot an einen Verbraucher; einen Regiebericht, mit Feldern, die der Betrieb selbst festlegt, unterschreibt der Kunde auf dem Gerät. Rechnungen gibt es über mehrere Regieberichte, mit kumulierten Abschlägen, einer Schlussrechnung, die abzieht, was eingegangen ist, und Storno, als PDF und an Unternehmen als E-Rechnung, als XRechnung oder ZUGFeRD-PDF, und jeder Beleg geht auf Wunsch direkt per E-Mail an den Kunden. Was als Nächstes kommt und in welcher Reihenfolge, steht im Fahrplan in Abschnitt 10 der Feature-Gliederung, zuerst Phase 2 mit dem Elektro- und PV-Kern.

OpenGewerk Haustechnik ist am 01.10.2026 dazugekommen: Software für alle, die Gebäude betreiben und dafür eigene Haustechniker haben. Ihr Konzept ist ausgearbeitet, Code gibt es noch nicht. Der erste Schritt geschieht in der Handwerkersoftware: das Fundament, das beide brauchen, wird dort in eigene Pakete herausgelöst, damit die Haustechnik es einbindet, statt es abzuschreiben ([ADR 0010](https://github.com/opengewerk/opengewerk/blob/main/docs/adr/0010-fundament-als-pakete.md)). Solange ruht Phase 2 der Handwerkersoftware.

Der Kanzlei-Hub ist noch in der Planung. Er baut auf der Buchhaltung der Handwerkersoftware auf, die dort mit Phase 3 kommt; bis dahin wird der gemeinsame API-Vertrag weitergeführt.

Den vollständigen Funktionsumfang beschreiben die beiden Konzepte:
Den vollständigen Funktionsumfang beschreiben die drei Konzepte:

- [Feature-Gliederung der Handwerkersoftware](https://github.com/opengewerk/opengewerk/blob/main/docs/konzept/Feature-Gliederung.md)
- [Planungskonzept von OpenGewerk Haustechnik](https://github.com/opengewerk/opengewerk-haustechnik/blob/main/docs/konzept/Planungskonzept.md)
- [Planungskonzept des Kanzlei-Hubs](https://github.com/opengewerk/opengewerk-kanzlei/blob/main/docs/konzept/Planungskonzept.md)

Einen Überblick, auch im Vergleich mit anderen Lösungen, gibt [opengewerk.de](https://opengewerk.de). Fachliche Rückmeldung aus dem Betriebs- oder Kanzleialltag ist gerade wertvoller als Code.
Expand Down
Loading