Autoerotic Defenestration 💉💉💉😷 Profile picture
I knit so I don't kill people. Header image by @audiophiel. Didn't invent that Twitter nick ;-D (sie/she)

Apr 2, 2021, 29 tweets

Ich muss mal was zur dem Lizenzding in der #lucaapp loswerden: das ist eine Sache, die tief blicken lässt.

Es ist Standard, dass man fremde Komponenten benutzt. Man muss nicht jedes Rad neu erfinden, und die Autoren dieser Komponenten publizieren diese ja genau, damit man 1/x

sie benutzt.

Praktische bedeutet das, dass man eine Datei mit dem Code der Komponente herunterlädt und irgendwo im eigenen Projekt ablegt.

Diese Datei/Dateien enthalten oft als festen Bestandteil die Lizenzbedingungen, entweder bei mehreren Dateien als eigene Datei oder 2/x

bei einer einzelnen Datei ganz oben in der Datei.
D.h., wenn man die Komponente herunterlädt, sind die Lizenzbedingungen da schon fest drin.

Man muss sie absichtlich löschen, um sie loszuwerden.

Ich programmiere seit ~25 Jahren und bin in einem Programmierer-Haushalt 3/x

aufgewachsen, und mir fällt kein legitimer Grund ein, warum man die Lizenzbedingungen einer Third-Party-Komponente löschen sollte.

Das ist, wie wenn man ein Gemälde kauft und als erstes die Unterschrift wegschneidet, und es dann in einer Gallerie mit seinen eigenen Bildern 4/x

verkauft.

Man gibt dabei fremde Arbeit als die eigene aus, was a) verwerflich und b) wahrscheinlich ein Verstoß gegen die Lizenzbedingungen ist

Es gibt keinen anderen Grund, dies zu tun, und es ist definitv kein normales Vorgehen in einem professionellen Software-Projekt. 5/x

Es ist also nicht so, dass man diese Texte während des Programmierens erst mal löscht und kurz vorm Livegang wieder einbaut. Nein, man lädt die Komponente runter und baut im eigenen Projekt eine Referenz auf die Komponente ein.
Es gibt keinen guten Grund, den fremden Code 6/x

irgendwie zu ändern.
Die Dinger sind genau so gebaut, dass man nix daran ändern muss.

Insofern ist das Löschen der Lizenzbedingungen aus Programmierersicht so ein niederträchtiges, verlogenes Verhalten, dass es mir den Atem vorschlägt.

Und, kennt Ihr den Spruch "when 7/x

people show you who they are, believe them"?
Die #LucaApp-Entwickler haben mir gezeigt, wer sie sind, und ganz ehrlich:

Niemand braucht mit der LucaApp im Lebenslauf zu mir zu kommen.
Solches Verhalten eines Angestellten ist für eine Firma extrem gefährlich und und ich 8/x

würden nicht mit so jemandem zusammenarbeiten wollen.

Und da hab ich noch kein Wort über *deren* Arschloch-Lizenzbedingungen verloren...

Insofern erwarte ich, dass sich da noch andere Stinkbomben im Code / in der Architektur finden werden, und ich gebe genau nix auf das 9/x

Wort von irgendwem aus dem Team, wenn sie uns erzählen, dass wir ihnen schon vertrauen können.

Vergesst es, dieses Vertrauen habt *ihr* zerstört.

Und ich werde Lady Karma ein Trinkopfer bringen und dabei zusehen, wie die LucaApp mit Schimpf und Schande davongejagt wird 10/10

Ich bin übrigens ganz Ohr, falls jemandem einen legitimer Grund für das Löschen der Lizenzbedingungen einfällt.
Ich lerne immer gerne dazu.

Jetzt geht das Ding ab wie Schmidts Katze und ich hab keine Soundcloud zum Bewerben /o\

Also, tragt eine Maske, haltet Abstand, lasst Euch impfen und fragt Eure lokalen IT-Expert:innen, bevor Ihr teure Apps kauft :-)

Immer noch hier?

Habt Ihr schon @1atalante1's wunderschöne Strickmuster gesehen?
linktr.ee/LottaGroeger

Das ist bisher das einzige, was einem Grund fürs Löschen nahekommt. Aber ich stimme mit @maettig überein: ein *guter* Grund ist das auch nicht...

Ach, dann ist ja alles gut :-D

Das ist es nämlich: da draussen hat irgendjemand eine Bibliothek* geschrieben, die genau mein Problem löst, und ich danke ihm das, indem ich seinen Namen aus dem Abspann lösche??

* Komponente, Bibliothek, Modul etc werden synonym benutzt

Eine gute Frage!

Ich erinnere mich an EIN Projekt, in dem wir aus Verzweiflung den Code einer fremden Komponente geändert haben. Das passiert extreeeem selten, zumal es bei Open Source Software einen "Dienstweg" für Änderungswünsche gibt.

Und das 1/2

mit den Updates ist tatsächlich ein Problem.
Viele Projekte benutzen Mechanismen, mit denen fremde Komponenten automatisch geupdatet werden.

Ein autom. Update würde alle Änderungen überschreiben. Um das zu verhindern, müsste man manuell updaten, was eine blöde Idee ist. 2/2

Ein Schuft, wer Schlimmes dabei denkt... :-D

Die Begründung mit dem automatischen Entfernen von Kommentaren wirft eine weitere Frage auf:

normalerweise legt man alle fremden Komponenten in einen Ordner und allen eigenen Code in einen anderen. Man hätte den Kommentarlöscher nur über den eigenen Code laufen lassen können...

Ah, hier ist das Problem:

gitlab.com/lucaapp/androi…

In diesem utils-Ordner liegt einerseits TimeUtil.java (Luca-Code) und Z85.java (fremder Code), dh eigener und fremder Code sind gemischt.
Blöde Idee.

Normalerweise gehört fremder Code in einen 1/2

eigenen Ordner.
Ich kenne mich in Java nicht sooo aus, aber ich hätte hier

gitlab.com/lucaapp/androi…

einen thirdParty-Ordner angelegt und Z85 da reingepackt. Macht von der Benutzung Null Unterschied, und man hätte den Comment-Stripper auf /java hetzen können. 2/2

Übrigens, die Rückmeldung zu diesem Thread sind bis auf eine Ausnahme positiv.
Diese Person warf mir vor, eine gute Sache zu zerreden. Okay.

Aber auch 350 RTs und Dutzende Replies und Quotes
später gibt es niemanden, der mir widerspricht und behauptet, ich würde Unsinn reden.

Warum ist das alles wichtig? Bei Luca werden - wenn ich das richtig verstanden habe - Echtzeitdaten auf einem Luca-eigenen Server gespeichert.
Bedenken dazu wurden weggewischt, man müsse schon in ein Gesundheitsamt einbrechen, um an die Daten zu kommen.

Ja, oder 1/2

Luca-Programmierer mit Passworten für diesen Server sein.

Der Gedanke, sich am Server zu bedienen, verschlägt mir den Atem. Das ist für verantworungsvolle Programmierer:innn der ultimative Vertrauensbruch.

Und die Luca-Programmierer haben grade Zweifel aufgeworfen, ob sie 2/x

ihr Handwerk respektieren und eine vertrauenswürdige App schreiben.
Und ihre Kommunikation lässt nicht durchblicken, dass sie berechtigte Bedenken ernstnehmen. Ich befürchte, dass wir da noch mehr "rundgewischte Ecken" finden könnten.

Komische Situation :-/
3/3

.@johl weist darauf hin, dass nicht *alle* Kommentare entfernt wurden...

och nöö :-/

Da ich keine Expertin für das Erstellen von Lizenzen bin, reiche ich die Frage an meine Community weiter :-)

In kommerziellen Projekten lässt man die Lizenzen im Quellcode, in Apps kann man irgendwo eine Seite einbauen, die alle Lizenztexte enthält.

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling