Möglicherweise Copyright infringement innerhalb der LucaApp

UPDATE: Titel aktualisiert um den aktuellen Wissensstand besser darzustellen.

Hallo zusammen,

da ich in der aktuellen Folge nichts darüber gehört hab wollte ich das einfach mal hier lassen.

Scheinbar wurden hier Teile von Open Source Projekten kopiert, in der Versionskontrolle abgelegt und nachträglich die Lizenzhinweise im Code entfernt.

Bsp Code Diff

Hier sieht man wieder, mit welch heißer Nadel das ganze gestrickt wurde. Da ich selbst Entwickler bin, fällt es mir immer schwer, den Entwicklern die Schuld in die Schuhe zu schieben - wobei der Verstoß auf so tiefer, technischer Ebene passiert ist, dass es mir schwer fällt, die Schuld woanders zu sehen.

Ich kenne die Version wie folgt:

Der Code, der angeblich gestohlen wurde, steht unter Open Source Lizenz. Bedingung für eine Nutzung ist, dass die im Quellcode als Kommentar hinterlegte Bedingung mit übernommen wird.

Es handelt sich um eine sehr guten Code im Zusammenhang zum lesen von QR-Codes. Daher wurde er in vielen anderen Anwendungen verwendet.

Der Entwicker bei neXenio (dem Unternehmen, dass luca entwickelt - culture4life ist der Betreiber) hat angeblich den Code aus einer Anwendung übernommen, wo der Kommentar mit der Benutzungsbedingung gelöscht oder verschoben war.

Ich - und auch alle, die jetzt mit großer Empörung darauf reagieren - wissen nicht, ob es so war. Es ist aber durchaus möglich und ebenso plausibel wie die Version, dass neXenio den Code mit den Bedingungen übernommen und dann die Bedingung gelöscht hat. Spätestens seit der Verkündung, dass man den Quellcode veröffentlichen würde, wäre das sehr, sehr dämlich gewesen.

Fakt scheint zu sein:

  1. Der Entwickler und Urheber des übernommenen Codes reagierte sehr gelassen und ist über den entstandenen Rummel eher genervt.
  2. neXenio hat nach Bekanntwerden die Bemerkung sofort ergänzt und (endlich!) ihren gesamten Quellcode unter Open Source gestellt. Damit ist der rechtliche Makel geheilt.

Wenn diese von mir geschilderte Version stimmt, gab es aber auch vor dieser „Heilung“

  1. kein strafrechtlich relevantes Verhalten („Diebstahl“, „Betrug“)
  2. lediglich einen privatrechtlichen Erfüllungsanspruch des Entwicklers auf Einfügung der Nutzungsbedingung. Finanzielle Ansprüche sind ebensowenig entstanden wie ein Schaden im juristischen Sinne. Selbst eine Urheberrechtsverletzung liegt höchstens erst ab dem Zeitpunkt vor, an dem neXenio davon Erfahren hat, dass die Nutzungsbedingung im Quellcode fehlt.

So. Bis wir wissen, welche Version der Geschichte wahr ist: Können wir uns bitte endlich wieder der Frage widmen, wie wir schnellstmöglich die Kontaktnachverfolgung endlich massiv beschleunigen und effizient organisieren können?

2 „Gefällt mir“

Vielen Dank TRq für die Infos!
Ich hatte den Code Diff von zerforschung tatsächlich interpretiert als „beides aus dem Repository der LucaApp“ - allerdings wird der Diff über das Original jBaseZ85 Repository gegen das Repository der Luca App gebildet → Die Lizenz wurde also nicht nachweislich innerhalb des Versionskontrollsystems der LucaApp entfernt (!).

Wenn ich mir Ihren Absatz ansehe, der die Stellungnahme des Entwicklers besser beschreibt als ich es gekonnt hätte, bleibt zumindest ein Kopfkratzen über:

Der Entwicker bei neXenio (dem Unternehmen, dass luca entwickelt - culture4life ist der Betreiber) hat angeblich den Code aus einer Anwendung übernommen, wo der Kommentar mit der Benutzungsbedingung gelöscht oder verschoben war.

Das Ergebnis dieser Debatte ist, dass der Code der LucaApp nun von der individuellen, sehr restriktiven Lizenz in eine standardisierte GNU General Public License v3.0 überführt wurde.

Aus

Der Betrachter darf insbesondere nicht (und darf nicht gestatten, dass Dritte
dies tun) mittelbar oder unmittelbar: (a) den Quellcode anderweitig
vervielfältigen oder verarbeiten; (b) den Quellcode teilen oder öffentlich
wiedergeben; ( c) den Quellcode auf ein öffentliches oder verteiltes Netzwerk
kopieren; (d) den Quellcode modifizieren, anpassen, übersetzen oder abgeleitete
Werke erstellen, die auf dem Quellcode basieren; oder (e) den Quellcode in
sonstiger Weise kommerziell oder nicht-kommerziell nutzen.

wurde

This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.

Siehe LICENSE · a30432ec4a01c2ca7ea9ceb26c145e7b620435fc · luca / Android · GitLab

Hallo Reiner,

Ich kein ITler und verstehe nur Bahnhof. Verstehe ich das richtig: Es konnte nicht nachgewiesen werden, dass die Lizenz
innerhalb des Versionskontrollsystems der LucaApp entfernt werden?

Aber ausgeschlossen ist das auch noch nicht, oder?

Damit hat die Debatte ja mehr erreicht, als man hätte erwarten dürfen!

Hi TRq,

sorry, da war ich zu spezifisch.

Diese Aussage ist soweit korrekt.

Wenn ich sie noch etwas differenzieren darf:
Ein Versionskontrollsystem ist im Prinzip ein Log - anders ausgedrückt, es gibt für jede Änderung die stattfindet ein Protokoll. Sobald einmal etwas gespeichert wurde, wird jede darauf folgende Änderung einzeln erfasst.

Nun sieht man in dem, was die LucaApp freigegeben hat, erst Änderungen seit Mar 30, 2021 4:38pm GMT+0200 - der Zeitpunkt, an dem der Code veröffentlicht wurde. Was davor passiert ist, sehen wir nicht. Daher kann man nicht sehen, ob bzw von wem die Lizenzinformationen aus dem fraglichen Codeteil entfernt wurden. Intern sollte es diese Aufzeichnungen geben, sie stehen der Allgemeinheit allerdings nicht zur Verfügung.

Also bleibt der Status ‚ungeklärt‘ - allerdings mit dem Beweis, dass die Lizenzinformationen zum Zeitpunkt der Veröffentlichung des Codes nicht vorhanden waren.

Sorry, aber das ist egal. Wenn der Entwickler den Code von woanders „übernommen“ hat, müsste er schließlich auch eine Erlaubnis dafür erhalten haben. Ich kann ja auch nicht mir Top10-Hits aus irgendwelchen privat hochgeladenen YouTube-Videos ziehen und dann gegen Geld bei Spotify anbieten, bloß weil bei dem YouTube-Video nicht dabei stand, dass der neueste Helene-Fischer-Song nicht beliebig vervielfältigt werden darf.

Die Übernahme des Codes stellt also definitiv eine Urheberrechtsverletzung dar. Sogar wenn der Code im guten Glauben von einem Dritten erworben wurde, der dann aber natürlich für jeden fälligen Schadensausgleich haftbar wäre.

Was natürlich plausibel ist, dass die Geschäftsführung davon gar nichts wusste, und ein Coder hat einfach während der Entwicklung eine „Abkürzung“ genommen. Dafür wäre aber ebenfalls neXenio verantwortlich, was auch immer sie danach mit dem Entwickler dann anstellen würden.

Jein. Bis zum Zeitpunkt dieser „Heilung“ wurde der Code praktisch als „Raubkopie“ vertrieben. Die Lizenz erlaubt unter bestimmten Bedingungen die Weitergabe und Verwendung des Codes ohne sich mit dem Autor direkt in Verbindung setzen oder irgendwelche Gegenleistungen anbieten zu müssen, außer eben den Bedingungen im Lizenzvertrag. Verstößt man gegen diesen Lizenzvertrag, hat man eben keine Berechtigung und kann sie auch nicht nachträglich durch so eine „Heilung“ erwerben.

Was die „Heilung“ bewirkt ist, dass sie zukünftig ab dem Zeitpunkt die Software legal vertreiben dürfen, aber davor hatten sie halt keine Berechtigung und haben damit schon eine Menge Umsatz gemacht. Der Autor könnte also durchaus seinen Anteil an den Millioneneinnahmen einfordern, die die Firma vor der „Heilung“ u.a. durch Verträge mit mehreren Bundesländern eingenommen hat. Er kann das ganze natürlich auch auf sich beruhen lassen, oder zu einer Einigung kommen, dass bspw. ein bestimmter Betrag irgendwohin gespendet wird, aber das liegt alleine an ihm.

Doch, das dürfte definitiv eine gewerbsmäßige Urheberrechtsverletzung gewesen sein, die laut UrhG eine Straftat darstellt. Unklar ist eben, wer sie begangen hat. Der Entwickler, mit oder ohne Wissen seiner Vorgesetzten, oder irgendjemand anders, der den Code (möglicherweise in einem größeren Paket gegen Bezahlung) zur Verfügung gestellt hat.

Nope. Der finanzielle Anspruch wäre da, und er kann auch nicht nachträglich einseitig „geheilt“ werden, außer mit Einverständnis des Rechteinhabers. Und eine Firma ist dafür verantwortlich, was ihre Entwickler programmieren. Die können sich nicht einfach rausreden mit „haben wir nicht gewusst“. Wenn du die Beatles nicht kennst, und ich verkauf dir deren Musik als meine und du bringst die als Platte heraus, bekommst du auch Ärger.

1 „Gefällt mir“

Wenn der Code, aus dem das entnommen ist, Open Source oder vergleichbar ist, schon. Lizenzbedingungen wie Open Source lädt Entwickler ausdrücklich ein, Code (ohne Vergütung) zu übernehmen, solange die Formulierung der Lizenzbedingungen mit übernommen werden. Wenn diese aus der Source, aus dem sich der Entwickler „bedient“ hat, gelöscht wurde und statt der gesamte Code unter Open Source steht, ist der Entwickler, der den Code übernommen hat, in gutem Glauben. Er, ebenso wie sein Arbeit- oder Auftraggeber, hatte gar keine Chance, festzustellen, dass ein Lizenzverstoß vorliegt.

Wie gesagt, das beschreibt die Version mir mir völlig unzutreffend.

Nein, siehe oben: Open Source.

Das ist falsch. Wenn derjenigen, der den Code im guten Glauben übernommen hat, diese kostenlos getan zu haben, kann er es selbstverständlich nachträglich heilen. Wenn es ein kommerzieller Code war, muss er den Urheber für die bisherige Nutzung vergüten und entweder den Code wieder entfernen oder eine Verfügung für die Zukunft vereinbaren. Im Fall von Open Source hat der Urheber lediglich ein Erfüllungsanspruch: Der Übernehmer muss die Nutzungsbedingungen erfüllen, d.h. den entsprechenden Hinweis auf diese wieder einfügen.

Das ist nicht meinen (mit Juristen abgestimmten) Verständnis von der Rechtslage. Mag aber falsch liegen.

Ist es definitiv nicht. Da die vom Urheber geforderte Bemerkung ja nicht mehr enthalten war, war der angestellte Entwickler wie auch neXenio in guten Glauben (s.o.)

Das hat auch niemand behauptet.

Völlig egal ob Open Source oder nicht. Jeder Code, der geschrieben wird und über eine gewisse Stufe der Trivialität hinausgeht, ist urheberrechtlich geschützt. Das bedeutet, wenn du von irgendwoher Code kopierst, musst du dich darum kümmern, dass du eine Erlaubnis dafür hast. Das kann implizit passieren, wenn der entsprechende Code von einer Lizenz begleitet wird, die die Bedingungen festlegt, oder eben explizit, indem man den Autor kontaktiert und eine Vereinbarung trifft.

Code, der „einfach nur so“ irgendwo rumliegt, dessen Autoren- bzw. Rechteinhaberschaft vielleicht unklar ist, darfst du im Grunde genommen schlicht nicht verwenden.

1 „Gefällt mir“

Es gibt rechtlich keinen Unterschied zwischen Open Source und kommerziellem Code. Beides ist urheberrechtlich geschützt und darf nicht ohne Erlaubnis genutzt werden. Richtig ist: Ohne Vorsatz ist keine Strafbarkeit gegeben. Das hat aber mit evtl. zivilrechtlichen Ansprüchen nichts zu tun.

Richtig ist auch: Es ist oftmals schwierig, bei lizenzwidrig verwendetem Open-Source-Code einen finanziellen Schaden zu bestimmen. Es gäbe im Grunde mindestens zwei Arten, diesen zu bestimmen, aber der erste, nämlich entgangene Lizenzgebühren, ist in der Regel Null, denn der Autor wollte die Software ja gerade (unter bestimmten Bedingungen) kostenlos zur Verfügung stellen. Die andere Methode wäre, sich am damit erzielten Gewinn zu orientieren. Auch das ist oft schwierig, weil das u.a. davon abhängen würde, wie integral der entsprechende Code für das Projekt ist, und wieviel Geld damit nun direkt verdient wurde. Und in der Regel kommt man dann vielleicht auf Cent-Beträge. Genau das sehe ich hier in diesem speziellen Fall aber anders.

Deswegen sind Open-Source-Autoren oft damit zufrieden, wenn dann das Gesamtprodukt ebenfalls unter eine Open-Source-Lizenz gestellt wird, denn im Grunde entspricht das ja dem, was vermutlich ihr Ziel dabei ist, wenn sie Open Source Code schreiben.

Ich weiß jetzt auch nicht, wie Gerichte entscheiden würden, aber nach deiner Rechtsauffassung könnte man ja immer Open Source Code verwenden, solange man nicht erwischt wird, und wenn’s rauskommt, nunja, dann entfernt man eben den Code und die eigenen Programmierer müssen vielleicht ein paar Überstunden machen um ihn zu ersetzen.

Es gibt da allerdings tatsächlich Fälle, wo Leute bei Wikipedia Fotos unter CC-Lizenz einstellen, und dann Leute auf Lizenzgebühren verklagen, die die Fotos auf ihren eigenen Homepages o.ä. verwenden ohne die Lizenz zu befolgen. Das wäre nach deiner Ansicht gar nicht möglich.

Irgendjemand hat irgendwann diesen Code kopiert und dabei die Lizenz gelöscht. Und dieser jenige hat in dem Moment eine strafbare Urheberrechtsverletzung begangen. Wenn er den Code dann bspw als seinen eigenen an neXenio verkauft hat, oder ihn als Angestellter als seinen eigenen ausgegeben hat, hat er sogar damit gehandelt und möglicherweise Betrug begangen. So ein Lizenztext verschwindet schließlich nicht von alleine, und wie gesagt, ohne den Lizenztext hätte auch niemand den Code verwenden dürfen, außer eben jemand hat rechtswidrig eigene Rechte am Code behauptet und der Verwendung unter dieser Vorspiegelung falscher Tatsachen zugestimmt.

Nichtsdestotrotz sind Urheberrechtsverletzungen allerdings Antragsdelikte, d.h. wenn der ursprüngliche Autor mit der Lösung des Disputs einverstanden ist und keinen Strafantrag stellt, gibt’s auch kein Verfahren.

In der aktuellen Folge ‚Logbuch Netzpolitik‘ in Kapitel 9 wird die Situation auch nochmal schön aufgedröselt

Mit diesem Beitrag entferne ich auch das ‚Möglicherweise‘ aus der Überschrift, der Dunst lichtet sich.

Sorry, aber ich hatte diese Folge gerade von vorn bis hinten gehört: Linus plappert hier das nach, was die Empörungswelle auf Twitter ohne jede Prüfung der Fakten behaupt hat. Da ist nix Neues dabei! Keine neue Fakten. Das „Möglicherweise“ ändert sich durch diesen Podcast nicht!

Du hast die mir bekannte (nicht verifizierte!) Version nicht korrekt wiedergeben:

  • Es gibt einen Urgeberrechtsverletzer, der die Library in seinen Code übernommen, aber die Lizenzbedingungen gelöscht hat. Seinen eigenen Code - inklusive der „gestohlenen“ Library - hat er zur freien Verwendung zur Verfügung gestellt (ich weiß nicht, unter welchen Lizenzbedingungen)
  • Der Entwickler von neXenio hat aus dem Code des Ueheberrechtsverletzer die Library in gutem Glauben entnommen, dass sie frei verwendbar ist.
  • Sobald neXenio darauf aufmerksam wurde, hat sie - lizenzgerecht die Lizenzbedingungen wieder eingefügt.

Ich weiß nicht, ob diese Version eine Schutzbehauptung ist. Aber sie ist möglich und plausibel. Ohne Kenntnis der Fakten von Bösgläubigkeit und Diebstahl zu sprechen, ist unseriös, bösgläubig und nicht in Ordnung.

Ja, neXenio hat nicht wenige, z.T. gravierende Fehler gemacht: Im Konzept, im Code, in der Außendarstellung und Kommunikation. Und damit viel Vertrauen zerschlagen. Ob das noch zu heilen ist, vermag ich nicht mehr einzuschätzen. Aber ihnen jetzt alles denk- und erfindbare Böse anzudichten ist nicht in Ordnung und wirft kein gutes Licht auf die Seriösität der Krtitiker

In dem Fall muss ich widersprechen. Dass der Code ohne entsprechenden Lizenzvermerk im Repository auftaucht IST eine Verletzung selbiger.

Wer was wann wo ist dabei egal.

Es gibt keine Beweise, dass hier bewusst Urheberrechtsverletzung begangen wurden. Die andere Version ist wenigstens plausibel. Ansonsten, denke ich, denke, sind jetzt alle Argumente ausgetauscht und ich mag sie nicht wiederholen müssen. Ich mag nicht mehr.

Ich bin auch nicht der Anwalt oder Fürsprecher von neXenio oder Cultur4Life. Stehe denen vielmehr eher kritisch gegenüber (aber eben nicht grundsätzlich-emotional). Daher habe ich mich auch für einen Rahmenvertrag des Bundes / bundesweiten Rahmenvertrag ausgesprochen (was, fürchte ich, zu spät ist) mit Aufsicht durch eine Bundesbehörde. Die dann auch gesetzlich verpflichtet werden muss, dafür zu sorgen, dass das System nach der Pandemie eingestampft wird (das war ein wichtiger Punkt im Podcast).