App-Entwicklung: Wie wird diese vertraglich geregelt?
Passende Arbeitshilfen
Was ist der Unterschied zwischen einer Anwendungs- und einer System-Software?
Eine Anwendungssoftware ist eine Art von Software, die auf explizite Anforderung des Nutzers läuft; die App muss gestartet werden. Sie läuft auf der Plattform, die durch eine Systemsoftware bereitgestellt wird und verfolgt einen bestimmten Zweck. Im Gegensatz zu Apps arbeiten Systemsoftwareprogramme im Hintergrund und interagieren nicht direkt mit dem Nutzer. System-Software betreibt normalerweise das Betriebssystem eines Computers und dient dazu, die Hardware- und Anwendungsprogramme eines Computers zu bedienen. Eine Systemsoftware verwaltet die Systemressourcen und stellt den Pfad für die Ausführungen der Anwendungssoftware bereit. Wesentliches Merkmal ist, dass ein System ohne Systemsoftware nicht laufen kann.
Welche Arten von Apps gibt es?
Es werden drei Arten von mobilen Apps unterschieden: Native, hybride und Web-Apps. Web-Apps funktionieren auf allen Betriebssystemen und Geräten, die über einen von der Web-Applikation unterstützten Webbrowser verfügen; eine Installation auf das Endgerät ist nicht erforderlich. Mittels einer App können alle Plattformen abgedeckt werden. Schwierig gestaltet es sich jedoch, die Anwendung für alle gängigen Browser zu optimieren. Ein Vorteil von Web-Apps liegt darin, dass Sicherheits-Updates direkt in die Software implementiert werden, sodass die Nutzer automatisch jederzeit auf die aktuellste Version zugreifen. Bei nativen und hybriden Apps hingegen bedarf es bei neuen Releases jedes Mal eines Downloads der aktuellsten zur Verfügung gestellten Version.
Native Apps sind dagegen extra für ein bestimmtes Betriebssystem optimiert, werden auf dieser Zielplattform installiert und können auch nur auf dieser genutzt werden. Sie bieten dem Kunden in der Regel die grösste User Experience, sind dementsprechend aber auch kostenintensiv, da für jedes Betriebssystem eine eigene App entwickelt werden muss.
Hybride Apps stellen eine Mischform aus nativen und Web-Apps dar. Wichtigstes Merkmal solcher Apps stellt ihre Plattformunabhängigkeit (sog. «run everywhere») dar. Es dient jedes Mal der gleiche Quellcode als Grundlage, unabhängig davon, mit welchem mobilen Endgerät die Apps durch den Nutzer verwendet wird, denn ähnlich wie Web-Apps werden sie für alle Betriebssysteme programmiert, nämlich indem sie einen eigenen Browser verwenden. Die Entwicklungskosten einer hybriden App sind im Vergleich zu jenen einer nativen App geringer, da nur eine App für iOS und Android zu erstellen ist, was allenfalls Auswirkungen auf die User-Experience haben kann.
Wie sieht es mit dem Datenschutz aus?
Um eine App zu nutzen, müssen Benutzer sich oftmals für die Nutzung einer App anmelden und verschiedene Zugriffsberechtigungen für die Ausführung der App-Anwendung auf Funktionen und Daten auf dem Smartphone erlauben. Apps greifen dabei regelmässig auf sensible Daten auf dem Smartphone zu (Foto-Mediathek, Kontakte etc.). Die Nutzer erteilen ihre Berechtigungen dabei entweder bei der Installation der App bzw. deren ersten Verwendung oder müssen sie bei jeder Anwendung erneuern (was eher selten der Fall ist). Für viele Nutzer dürfte unklar sein, wie die App-Anbieter mit den ihnen zur Verfügung gestellten Daten umgehen, ob sie diese allenfalls an Dritte weitergeben bzw. gar verkaufen. Mit dem Einsatz von computerunterstützten Methoden kann dann in den vorhandenen Datenbeständen nach Zusammenhängen und Mustern gesucht werden und dabei das Kundenverhalten z.B. für Werbeeinblendungen analysiert werden. In jedem Fall ist es wichtig, einer App nur jene Berechtigungen zu erteilen, welche für die Ausführung der gewünschten Anwendung auch essentiell sind. Die erteilten Berechtigungen sollten zu den Funktionen der App passen. Seitens des App-Anbieters sollte in dessen AGB klar umschrieben werden, welche Daten erhoben werden und wie diese bearbeitet werden. Ein Blick in die AGB kann insbesondere – aber nicht nur – bei Verwendung von kostenlosen Apps sehr hilfreich sein.
Passende Produkt-Empfehlungen
Was muss ein App-Entwicklungsvertrag insbesondere enthalten?
Bei der Realisierung einer App sind verschiedene rechtliche Aspekte zwischen den Beteiligten zu berücksichtigen.
Bei einem App-Entwicklungsvertrag gelangen grundsätzlich die werkvertraglichen Regelungen zur Anwendung. Von grosser Bedeutung ist daher, dass vertraglich genau definiert wird, wie das Werk, die App, letztlich auszusehen hat und welche Funktionen sie erfüllen muss. Dazu zählt nicht nur der zu entwickelnde Quellcode, sondern ebenso das Design und die angestrebte Benutzerfreundlichkeit. Des Weiteren muss vereinbart werden, auf welchen mobilen Betriebssystemen (und welchen Versionen konkret) sie laufen und auf welchen mobilen Endgeräten nach ihrer Fertigstellung, zur Anwendung gelangen sollen. Wichtig ist es, die Mitwirkungspflichten der Parteien zu definieren und die Konsequenzen bei deren Nichteinhaltung festzulegen.
Weiter müssen die Rechte am Sourcecode definiert werden. Grundsätzlich hat - andere Vereinbarungen vorbehalten - der App-Entwickler, der den Code schreibt, das Urheberrecht an der App und ist deren Eigentümer. Eine vollständige Finanzierung durch den App-Besteller, die Mitlieferung des Sourcecodes und die Mitarbeit bei der Entwicklung können allerdings auch Indizien für einen Rechtsübergang auf den Besteller bilden. Verbleibt das Eigentumsrecht beim App-Entwickler, so muss vertraglich klar geregelt werden, welche Nutzungsgebühren der App-Besteller jeweils zu entrichten hat und wie sein Nutzungsrecht ausgestaltet ist.
Nicht zuletzt müssen wie bei sämtlichen vertraglichen Beziehungen auch Haftungs- und Gewährleistungsfragen detailliert geklärt werden. Wofür ist der App-Besteller und wofür der App-Entwickler verantwortlich? Wer ist gegenüber dem Endnutzer haftbar, wenn die App-Nutzung tatsächlich zu einem Schaden führen sollte? Welche Haftungsbegrenzungen sind für welche Partei sinnvoll?
Fazit
Nimmt ein Unternehmen einen Auftrag für eine App-Entwicklung entgegen muss mit dem App-Besteller genau definiert werden, welche Bedürfnisse die zu entwickelnde App erfüllen soll, was deren Funktionsumfang darstellen soll und auf welchen Betriebssystemen die App zur Anwendung gelangen soll (nativ, hybrid, web). Wichtig ist es des Weiteren Fragen im Zusammenhang mit dem Urheberrecht vertraglich zu definieren.