18.05.2021

5 rechtliche Fehler, die Startups beim Programmieren vermeiden sollten

Von Lizenzbedingung bis Urheberrecht: Startups treten immer wieder in dieselben rechtlichen Fallen, wenn es um den Code ihres Produkts geht.
/artikel/5-rechtliche-fehler-die-startups-beim-programmieren-vermeiden-sollten
Programmieren, Code, Coding, Startup, Team
© Unsplash

GASTBEITRAG

“Das ist ein wirklich genialer Code, aber das Risiko, das wir uns damit einkaufen ist uns leider zu hoch. Wir haben uns daher für ein anderes Investment entschieden.” Damit du bei der Verwertung deines Produktes oder einem Exit diesen oder einen ähnlichen Satz nicht hören musst, solltest du aus Legal-Sicht unter anderem die folgenden fünf Fehler beim Coding vermeiden. 

1. Vorsicht beim Einsatz von Open Source. 

Der Quellcode von Open Source Software wird kostenfrei zur Verfügung gestellt. Insbesondere für junge Programmier*innen ist diese daher interessant und wird häufig im eigenen Code integriert, doch hier ist Vorsicht geboten. 

Lizenzen für Open Source Software enthalten oft sogenannte „Copyleft“ Klauseln. Durch solche Klauseln werden Lizenznehmer*innen verpflichtet Bearbeitungen des Quellcodes ebenfalls kostenlos zur Verfügung zu stellen. Die bekannteste Copyleft-Lizenz ist GNU General Public License (GPL)

Wenn du deinen Code also auf Open Source, die zB unter GPL steht, aufbaust, ist der Copyleft Effekt auf deinen Code anwendbar. Du müsstest deinen Quellcode daher kostenfrei zur Verfügung stellen und könntest Schwierigkeiten bei der Verwertung des Codes (zB beim Verlangen von Lizenzgebühren) bekommen.

Key Takeaway: Drum prüfe, wer (Open Source) Code in die eigene Software integriert.  

Don’t forget: Selbstverständlich musst du auch bei bezahlter Software, die Lizenzbedingungen prüfen, um herauszufinden, ob eine Verwertung möglich ist.  

2. Code documentation – mehr als nur “comments” 

Ja, die Hauptsache ist, dass dein Code funktioniert, aber für Investor*innen oft genauso relevant ist eine exakte Dokumentation des Codes. 

Um potentielle Investor*innen zu beeindrucken, empfiehlt es sich nicht nur comments zum Code hinzuzufügen, sondern die einzelnen Coding-Schritte ausführlicher zu dokumentieren, etwa in einem README file. Abhängig davon, was das Einsatzgebiet deines Codes ist, kann auch eine API Dokumentation angebracht sein. 

Key Takeaway: Documentation is key – auch aus Legal-Sicht.

3. Coding together – ein smarter Move? 

Gemeinsam Programmieren, ob in einem Angestelltenverhältnis oder als Business Partner – was so nett klingt, ist aus Legal-Sicht ohne “Sicherheitsvorkehrungen” nicht immer ein smarter Move. 

Das Urhebergesetz sorgt zwar grundsätzlich für Programmierer*innen vor, indem es (i) einen urheberrechtlichen Schutz für Computercode vorsieht und (ii) festlegt, dass, wenn Arbeitnehmer*innen für den Dienstgeber codieren, die Nutzungsrechte an dem Programmierten auf den Dienstgeber übergehen… Also alles easy? Leider nicht! 

Das UrhG – und somit auch diese, für den Dienstgeber günstige Stellung gilt nämlich nur, wenn der Dienstnehmer ein Computerprogramm iSd UrhG programmiert. Wird nur ein Teil davon oder nur einzelne Algorithmen programmiert, könnte diese Bestimmung nicht anwendbar sein. In diesem Fall ist es notwendig eine ergänzende Vereinbarung mit dem Mitarbeiter oder der Mitarbeiterin zu treffen (das kann bspw. im Dienstvertrag passieren).  

Wenn du mit deiner Business-Partnerin oder deinem Business Partner gemeinsam codierst, kann es möglich sein, dass ihr beide sogenannte “Miturheber” des Codes seid. Den Code könntet ihr dann nur gemeinsam verwerten – das solltet ihr jedenfalls bedenken. Bei deiner Geschäftspartnerin oder deinem Geschäftspartner wird das häufig ohnehin so gewollt sein. Rechtlich tricky könnte es werden, wenn dir eine Freundin oder ein Freund beim Codieren maßgeblich hilft und ihr euch bis dahin keine Gedanken über die Zusammenarbeit/Rechte/Verwertung gemacht habt. 

Key Takeaway: Mache dir bereits frühzeitig Gedanken, wer welche Rechte an dem Code haben soll und sichere diese Rechtsposition vertraglich ab. 

4. Achtung im Zusammenhang mit Input-Daten

Für die Entwicklung und das Training von Algorithmen sind Daten erforderlich – nur durch Beispiele kann ein Algorithmus lernen, Muster in Daten zu erkennen.

Abhängig davon, welche Daten du deinem Code fütterst, musst du weitere Bestimmungen beachten. Sobald du zum Training personenbezogene Daten verarbeiten musst, sind die Bestimmungen der DSGVO anwendbar. 

Personenbezogene Daten sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person beziehen, wie zB Name, Alter, persönliche Vorlieben, E-Mailadresse oder Foto. Häufig ist nicht ganz klar, was alles ein personenbezogenes Datum darstellen kann (etwa hat der Europäische Gerichtshof vertreten, dass in bestimmten Fällen IP-Adressen auch personenbezogene Daten sind). Bevor ihr Daten verarbeitet ist es daher wichtig zu klären, ob diese Personenbezug aufweisen. 

Eine Datenverarbeitung ist nur unter bestimmten Voraussetzungen rechtmäßig, insbesondere bei Einwilligung der betroffenen Person oder zur notwendigen Erfüllung eines Vertrags. Zudem treffen den Verarbeiter umfassende Pflichten (Datenlöschung, Berichtigung, organisatorische Vorkehrungen, etc). Die Nichteinhaltung der DSGVO ist mit hohen Geldstrafen bedroht.

Bereits im Vorfeld der Entwicklung sollte daher berücksichtigt werden, welche Daten durch einen Algorithmus verarbeitet werden und wie die Vorgaben der DSGVO ohne zusätzlichen Aufwand eingehalten werden können (Vertragliche Grundlage, Einholung von Einwilligung, etc). Ansonsten drohen später zusätzliche Kosten durch die nachträgliche Anpassung oder sogar Strafzahlungen.

Key Takeaway: Checke bereits bei der Entwicklung welche Daten du deinem Algorithmus fütterst, um später böse Überraschungen und aufwändiges Umprogrammieren zu vermeiden. 

5. Vertragliche Geheimhaltung

Wie bereits zuvor gesagt, kann es sein, dass dein Code bzw Teile davon (etwa bloße Algorithmen) keinen urheberrechtlichen Schutz genießen; doch auch für solche Fälle gibt’s eine Lösung. 

Programmcodes können nämlich ein “Betriebsgeheimnis” darstellen und dadurch wettbewerbsrechtlich vor Mitbewerber*innen geschützt sein – doch aufgepasst, auch hier ist es wichtig bereits frühzeitig an den Schutz zu denken. Damit Code ein Betriebsgeheimnis iSd UWG sein kann, muss er folgende Voraussetzungen erfüllen: mangelnde Offenkundigkeit, Geheimhaltungswille und Geheimhaltungsinteresse.

Mangelnde Offenkundigkeit bedeutet, dass Informationen nicht allgemein bekannt sind und auch tatsächlich geheim gehalten werden. Sie dürfen nur einem beschränkten Personenkreis bekannt gemacht werden (zB Arbeitnehmer*innen, Tester*innen). Daher sollten Geheimhaltungsvereinbarungen mit Personen getroffen werden, die Zugriff auf den Code haben, um eine weitere Verbreitung zu verhindern. Häufig reicht eine bloße Geheimhaltungsvereinbarung im Dienstvertrag dazu nicht aus; das ist aber im Einzelfall zu klären. 

Der Geheimhaltungswille muss aus den äußeren Umständen zum Ausdruck kommen. Geheimhaltungsvereinbarungen oder technische Schutzvorkehrungen (Zugangsbeschränkungen, etc) lassen den Geheimhaltungswillen erkennen. 

Vertragliche oder technische Schutzvorkehrungen lassen auch das Geheimhaltungsinteresse erkennen.

Was bringt der Schutz als Betriebsgeheimnis? Die unlautere Verwertung von Betriebsgeheimnissen zu Wettbewerbszwecken ist strafbar. Zusätzlich können gegen Mitbewerber Schadenersatz- und Unterlassungsansprüche geltend gemacht werden. Gerade wenn Codes nicht die Voraussetzungen für urheberrechtlichen Schutz oder ein Patent erfüllen, ist das Wettbewerbsrecht von besonderer Bedeutung. Dafür sollten neben technischen Vorkehrungen auch vertragliche Geheimhaltungspflichten vorgesehen werden. 

Key Takeaway: Insoweit du deinen Code (auch) als Betriebsgeheimnis schützen möchtest, überlege dir bereits frühzeitig, welche vertraglichen und nicht vertraglichen (zB technischen) Maßnahmen du setzen wirst, um einen solchen Schutz zu erreichen. 

Um deinen Code bestmöglich schützen und anschließend verwerten zu können, gilt es also einiges zu beachten, wobei das wichtigste natürlich weiterhin die Funktionalität deines Codes und der Spaß am Programmieren bleibt.

Über den Autor

Martin Hanzl © EY Law
Martin Hanzl © EY Law

Martin Hanzl ist Senior Associate bei EY Law Pelzmann Gall Größ Rechtsanwälte und betreut dort Mandant*innen unter anderem zu Fragen rund um neue Technologien. Zudem ist er in der Projektleitung des Blockchain and Smart Contracts Projektes des European Law Institute tätig und publiziert regelmäßig zu rechtlichen Themen rund um neue Technologien, Blockchain, Smart Contracts und Digitalisierung.

Deine ungelesenen Artikel:
17.12.2024

AnyConcept: Wie ein Grazer Software-Testing-Startup Google verblüffte

AnyConcept aus Graz hat eine Software Testautomatisierungs-Lösung entwickelt und dabei beim Trainieren seiner KI Google auf sich aufmerksam gemacht. Wie genau das Modell funktioniert und was der US-Gigant wollte, erklären die Gründer Leander Zaiser, Manuel Weichselbaum und Markus Hauser.
/artikel/anyconcept-wie-ein-grazer-software-testing-startup-google-verblueffte
17.12.2024

AnyConcept: Wie ein Grazer Software-Testing-Startup Google verblüffte

AnyConcept aus Graz hat eine Software Testautomatisierungs-Lösung entwickelt und dabei beim Trainieren seiner KI Google auf sich aufmerksam gemacht. Wie genau das Modell funktioniert und was der US-Gigant wollte, erklären die Gründer Leander Zaiser, Manuel Weichselbaum und Markus Hauser.
/artikel/anyconcept-wie-ein-grazer-software-testing-startup-google-verblueffte
Anyconcept, AnyConcept, Automatiserung, Software testen,
(c) AnyConcept - Das AnyConcept-Team.

Rund 80 Prozent aller Unternehmen testen ihre Anwendungen und Software händisch. Entweder klicken sie sich mühsam durch ihre Software oder ihren Webshop, um zu sehen, was funktioniert und was nicht, oder sie coden sich ihre Tests. Beides langwierige, kostenintensive und mühsame Aufgaben. Das wissen Leander Zaiser, CEO, Manuel Weichselbaum, CTO, und Markus Hauser, die gemeinsam mit Kevin Intering und Pascal Goldschmied das KI-Startup AnyConcept gegründet haben.

AnyConcept und das Problem der No-code-Software

Die Founder haben sich deswegen dazu entschlossen eine Testautomatisierungs-Software zu entwickeln, um den Prozess für Unternehmen zu vereinfachen und günstiger zu gestalten.

Zaiser war sechs Jahre lang RPA-Experte (Robotics Process Automation) bei Raiffeisen und hat dort Automatisierungssoftware automatisiert. Der CEO musste dabei feststellen, dass vermeintliche No-code-Software ohne Entwicklungskompetenzen sich nicht erfolgreich einsetzen ließ. Für gelernte Softwareentwickler wiederum war das Arbeiten mit solch einer Anwendung keine attraktive Tätigkeit.

Weichselbaum indes forscht seitdem er 17 ist an Künstlicher Intelligenz. Und widmet sich dabei vor allem immer den aktuellen Herausforderungen der internationalen Forschung. Das passte hervorragend zu Zaisers erkanntem Problem: aktuelle Automatisierungssoftware ist zu komplex für Non-Coder und nicht attraktiv genug für Coder. Also fragten sich die Founder: Was, wenn man Automatisierung mit einem No-Code-Ansatz macht, mithilfe einer KI, die genau das tut, was man ihr auf dem Bildschirm zeigt? So war AnyConcept geboren.

Das Black Friday-Problem

“Jede Software, jeder Webshop, jede Applikation muss immer wieder getestet werden, ob sie richtig funktioniert. Und da sie auch ständig durch neue Updates von Entwicklern oder bei einem Webshop mit neuen Produkten gefüttert wird, verändern sich Applikationen dauerhaft. Das kann wieder zum Brechen der bisherigen Funktionen führen”, erklärt Hauser, ein per Eigendefinition fleischgewordenes Startup-Kind, das zuletzt Johannes Braith (Storebox) als rechte Hand begleiten und somit Entrepreneurship aus nächster Nähe beobachten und Mitwirken durfte.

Der Gründer präzisiert sein Argument mit einem Beispiel passend zum Black Friday. Jedes Jahr würden Unternehmen Milliarden US-Dollar verlieren, weil sie ihre Preise falsch definieren oder Prozente und Dollar verwechseln, ohne dass es wem auffällt. Außerdem könnten “Trilliarden US-Dollar” an Schäden durch fehlerhafter Software, die nicht richtig getestet wurde, vermieden und “50 Prozent der IT-Projektkosten” gesenkt werden, wenn Testen automatisiert mit No-Code abläuft, so seine Überzeugung.

“Durch unser KI-Modell, das ein User-Interface rein durch Pixeldaten, Mausklicks und Tastatureingaben erkennen und manövrieren kann, schaffen wir es Automatisierung No-Code zu gestalten”, sagt Hauser. “Das Ziel ist es unsere KI-Agenten zukünftig zum Beispiel einen Prozess wie UI-Software-Testing rein durch eine Demonstration, das bedeutet das Vorzeigen des Testfalles, automatisiert durchführen zu lassen. Sie werden sich dabei exakt so verhalten wie es ein Benutzer tun würde, orientieren sich nur an den Elementen des User-Interface und konzentrieren sich nicht auf den dahinterliegenden Code. Das ist unser USP.”

FUSE for Machine Learning

Dieses Alleinstellungsmerkmal fiel auch Google auf. Konkreter Google Cloud Storage FUSE for Machine Learning. Anfänglich noch ein Open Source-Produkt als “Linux Filesystem in Userspace” oder eben als “FUSE” tituliert, wurde die Software von Google in die Cloud integriert und hilft beim Verwalten von Unmengen von Trainingsdaten, Modellen und Kontrollpunkten, die man zum Trainieren und Bereitstellen von KI-Workloads benötigt.

Anwendungen können hierbei direkt auf die Cloud zugreifen (Anm.: anstatt sie lokal herunterzuladen); als wären sie lokal gespeichert. Es müssten zudem keine benutzerdefinierte Logik implementiert werden und es gebe weniger Leerlaufzeit für wertvolle Ressourcen wie TPUs und GPUs, während die Daten übertragen werden.

FUSE sei einfach ein Produkt für Unternehmen, so Weichselbaum weiter, um große Datenmengen bequem zu verwalten und sie verfügbar zu machen: “Wir verwenden es, um viele Terrabytes von Daten auf der Cloud zu lagern, was am Computer nicht möglich ist”, sagt er.

Google sagt Hallo

Weil AnyConcept das Service von FUSE sehr intensiv nutzte, wurde Google auf die Grazer aufmerksam. Und hat konkret nachgefragt, was sie für einen Use-Case mit ihrem Angebot entwickelt haben. “Wir waren einer der ersten, die das genutzt haben, um effizient unsere KI-Agents zu trainieren“, sagt Weichselbaum. “Das Produkt von Google ist ein Teil unserer Datenverarbeitung und des Trainings unserer ganz spezifischen KI und Google wollte wissen, warum und wie wir das so intensiv verwenden. Das hat dazu geführt, dass wir unsere Ideen für Produktverbesserungen und Skripts mit ihnen teilen durften.“

AnyConcept und seine Konzepte

Das Ziel von AnyConcept ist es, ein Foundation-Modell nicht für Texte oder Bilder, sondern für Interaktionen mit dem User-Interface zu entwickeln.

Im Detail reicht hierbei eine Demonstration von einem solchen Interface und AnyConcept analysiert es mit neuronalen Netzwerken. Es erkennt Strukturen, die das Startup seinem Namen getreu “Konzepte” nennt und die auf breites Wissen aufbauen, wie man mit einem Computer interagiert.

“So ein Konzept wäre etwa ein ‘Button’ auf einer Website”, erklärt es Zaiser in anderen Worten. “Die KI versteht dann, dass man ihn anklicken kann und was danach passiert. Oder wie lange eine Website braucht, sich zu öffnen und wie sie aussieht.”

Aktuell forscht AnyConcept an der Generalisierungsfähigkeit ihres Netzwerkes. Zaiser dazu: “Wir testen unsere KI bereits mit Pilotkunden bei der Anwendung von Software-Testautomatisierung und bekommen großartiges Feedback.”

Toll dass du so interessiert bist!
Hinterlasse uns bitte ein Feedback über den Button am linken Bildschirmrand.
Und klicke hier um die ganze Welt von der brutkasten zu entdecken.

brutkasten Newsletter

Aktuelle Nachrichten zu Startups, den neuesten Innovationen und politischen Entscheidungen zur Digitalisierung direkt in dein Postfach. Wähle aus unserer breiten Palette an Newslettern den passenden für dich.

Montag, Mittwoch und Freitag

AI Summaries

5 rechtliche Fehler, die Startups beim Programmieren vermeiden sollten

AI Kontextualisierung

Welche gesellschaftspolitischen Auswirkungen hat der Inhalt dieses Artikels?

Leider hat die AI für diese Frage in diesem Artikel keine Antwort …

5 rechtliche Fehler, die Startups beim Programmieren vermeiden sollten

AI Kontextualisierung

Welche wirtschaftlichen Auswirkungen hat der Inhalt dieses Artikels?

Leider hat die AI für diese Frage in diesem Artikel keine Antwort …

5 rechtliche Fehler, die Startups beim Programmieren vermeiden sollten

AI Kontextualisierung

Welche Relevanz hat der Inhalt dieses Artikels für mich als Innovationsmanager:in?

Leider hat die AI für diese Frage in diesem Artikel keine Antwort …

5 rechtliche Fehler, die Startups beim Programmieren vermeiden sollten

AI Kontextualisierung

Welche Relevanz hat der Inhalt dieses Artikels für mich als Investor:in?

Leider hat die AI für diese Frage in diesem Artikel keine Antwort …

5 rechtliche Fehler, die Startups beim Programmieren vermeiden sollten

AI Kontextualisierung

Welche Relevanz hat der Inhalt dieses Artikels für mich als Politiker:in?

Leider hat die AI für diese Frage in diesem Artikel keine Antwort …

5 rechtliche Fehler, die Startups beim Programmieren vermeiden sollten

AI Kontextualisierung

Was könnte das Bigger Picture von den Inhalten dieses Artikels sein?

Leider hat die AI für diese Frage in diesem Artikel keine Antwort …

5 rechtliche Fehler, die Startups beim Programmieren vermeiden sollten

AI Kontextualisierung

Wer sind die relevantesten Personen in diesem Artikel?

Leider hat die AI für diese Frage in diesem Artikel keine Antwort …

5 rechtliche Fehler, die Startups beim Programmieren vermeiden sollten

AI Kontextualisierung

Wer sind die relevantesten Organisationen in diesem Artikel?

Leider hat die AI für diese Frage in diesem Artikel keine Antwort …

5 rechtliche Fehler, die Startups beim Programmieren vermeiden sollten