Wem der Code gehört, hängt davon ab, wer ihn geschrieben hat und was in den Verträgen steht. Urheber ist nach § 7 UrhG immer der Mensch, der den Code geschrieben hat.
- Angestellte. Der Arbeitgeber darf nach § 69b UrhG trotzdem alle wirtschaftlichen Rechte ausüben.
- Freelancer. Diese Regel gibt es nicht: Ohne Vertrag bleiben die Rechte beim Freelancer.
- Kunde. Er bekommt, was der Projektvertrag ihm einräumt.
Erst wenn alle drei Ebenen geprüft sind, weißt du, welche Repos deine Agentur lizenzieren oder verkaufen darf.
Gehört der Code meiner Angestellten der Agentur?
Wirtschaftlich ja. § 69b Abs. 1 UrhG sagt: Wird ein Computerprogramm von einem Arbeitnehmer in Wahrnehmung seiner Aufgaben oder nach den Anweisungen des Arbeitgebers geschaffen, ist ausschließlich der Arbeitgeber zur Ausübung aller vermögensrechtlichen Befugnisse berechtigt, sofern nichts anderes vereinbart ist.
Du brauchst dafür keine Klausel im Arbeitsvertrag. Die Regel gilt automatisch.
Zwei Grenzen solltest du kennen:
- Außerhalb der Aufgaben. Das Side Project am Wochenende, das nichts mit der Arbeit zu tun hat und ohne Anweisung entstanden ist, fällt nicht unter § 69b. Problematisch wird es, wenn so ein Projekt später in Kundenarbeit einfließt. Dann brauchst du eine schriftliche Einräumung der Rechte.
- Abweichende Vereinbarung. Manche Arbeitsverträge, vor allem mit erfahrenen Leuten, behalten dem Entwickler bestimmte Rechte vor. Lies die Verträge deiner Schlüsselleute, bevor du einem Käufer etwas zusicherst.
Urheber im Rechtssinn bleibt der Angestellte. Er hat Urheberpersönlichkeitsrechte, etwa das Recht auf Anerkennung der Urheberschaft. Für die Verwertung spielt das in der Praxis selten eine Rolle.
Wem gehört der Code von Freelancern?
Dem Freelancer, bis ein Vertrag etwas anderes regelt. § 69b UrhG gilt nur für Arbeitnehmer und Dienstverhältnisse. Ein freier Mitarbeiter steht dir gegenüber genauso da wie du gegenüber deinem Kunden: Er ist Rechtsinhaber und räumt dir Nutzungsrechte ein, ausdrücklich oder stillschweigend.
Gibt es nur eine E-Mail mit Stundensatz und ein paar Rechnungen, bekommst du nach § 31 Abs. 5 UrhG die Rechte, die der Zweck der Zusammenarbeit verlangt. Das reicht meist, um den Code im Kundenprojekt einzusetzen.
Ob es reicht, um dem Kunden ein ausschließliches Recht zu verschaffen oder den Code an Dritte zu lizenzieren, ist offen. Du kannst nur weitergeben, was du selbst hast.
Was in einen Freelancer-Vertrag gehört:
- Einräumung eines ausschließlichen, unbeschränkten Nutzungsrechts an allen Arbeitsergebnissen für die Agentur, mit Recht zur Weiterübertragung und zur Einräumung weiterer Rechte (§§ 34, 35 UrhG).
- Aufzählung der Nutzungsarten, damit § 31 Abs. 5 UrhG nicht greift.
- Zeitpunkt: mit Entstehung des Codes. Hier bist du der Auftraggeber, und eine Kopplung an die Zahlung würde nur dich schwächen.
- Liste der vorbestehenden Rechte des Freelancers, die er nicht abgibt, mit einfachem Nutzungsrecht für dich.
- Pflicht, Open-Source-Komponenten offenzulegen.
Fehlt der Vertrag bei alten Projekten, hilft eine nachträgliche Vereinbarung. Viele Freelancer unterschreiben sie ohne Diskussion, wenn man freundlich fragt und vielleicht eine kleine Vergütung anbietet. Das ist billiger als jede Diskussion mit einem Käufer.
Gehört der Code dem Kunden?
Der Kunde hat genau die Nutzungsrechte, die der Projektvertrag ihm einräumt. Bezahlt zu haben reicht dafür nicht.
- Ausschließliches, unbeschränktes Recht an allen Arbeitsergebnissen. Der Code ist für dich zu, auch wenn er auf deinem GitLab liegt.
- Einfaches Recht, oder deine vorbestehenden Bausteine sind ausgenommen. Dieser Teil gehört dir weiter.
Die üblichen Muster und Formulierungen stehen in Nutzungsrechte an Software.
| Situation | Wer hat die Rechte? | Was die andere Seite hat |
|---|---|---|
| Angestellter schreibt Code im Job | Agentur (§ 69b UrhG) | Entwickler bleibt Urheber, ohne Verwertungsrechte |
| Freelancer mit Vertrag und Rechteeinräumung | Agentur, wie im Vertrag | Freelancer, was er sich vorbehalten hat |
| Freelancer ohne schriftlichen Vertrag | Freelancer | Agentur hat Rechte nach Vertragszweck, Umfang unklar |
| Kunde mit ausschließlichem Recht am Ergebnis | Kunde, für den Projektcode | Agentur nur, was ausgenommen ist |
| Kunde mit einfachem Recht | Agentur | Kunde darf nutzen wie vereinbart |
| Code der Gründer vor der GmbH | Gründer persönlich | GmbH nur mit Vertrag |
Wie prüfst du deine eigene Rechtekette?
Mach eine Liste mit allen Repos. Für jedes Repo vier Spalten:
- Wer hat daran geschrieben? Angestellte, Freelancer, Subunternehmer, Gründer vor der Gründung. Das Git-Log hilft.
- Welche Verträge gibt es? Arbeitsverträge, Freelancer-Verträge, Projektverträge mit dem Kunden.
- Was hat der Kunde bekommen? Ausschließlich oder einfach, alles oder nur das Ergebnis.
- Was steckt an Open Source drin? Lizenzen der Abhängigkeiten, vor allem Copyleft.
Am Ende hast du drei Stapel:
| Stapel | Was du damit machen kannst |
|---|---|
| Sicher deins | Lizenzieren oder verkaufen |
| Sicher beim Kunden | Nichts, der Code ist zu |
| Unklar | Blick in die Verträge oder nachträgliche Vereinbarung mit Freelancern |
Was ist der Code wert, der dir gehört?
Bei vielen Agenturen ist der erste Stapel größer, als sie denken:
- Komponentenbibliotheken,
- Deployment-Werkzeuge,
- ein CMS-Aufsatz,
- ein eingestelltes Produkt.
Wie man den Wert einschätzt, steht in Was ist Code wert?. Wie du ihn vergibst, ohne ihn herzugeben, steht in Softwarelizenz.