Legacy Issues //1512

Für einen früheren Bekannten hatte ich vor etlichen Jahren einmal eine Software geschrieben – rein privat, da mich das Projekt reizte.

Vor einigen Tagen kontaktierte mich der Bekannte, dass die Software abgelaufen sei. Bei allen nicht-kommerziellen Programmen kodiere ich ein Ablaufdatum hinein. Damals war es zwar noch weit in der Zukunft gelegen, aber inzwischen war die Zeit halt doch um.
Der Bekannte erzählte mir, dass er das Programm zwar nur selten nutzte, aber hin und wieder bräuchte er es doch.

Ich dachte mir: Kein Problem, ein paar kleine Änderungen, und einfach noch mal neu bauen.
Allerdings brauchte ich dafür eine bestimmte VM, auf der der Compiler und die Umgebung passend konfiguriert waren, die ich schon lange nicht mehr benutzt hatte, und wo mittlerweile einige Dateien veraltet waren. Aber wozu habe ich schließlich meine Versionsverwaltung.

Gedacht, getan. Maschine aktualisiert, Sourcen in die IDE geladen, Compiler angeworfen, fertig.
Testweise Programm gestartet. Kryptische Fehlermeldung.
Nochmal mit Debug-Information gebaut. Programm gestartet. Exception beim Aufruf einer API-Funktion. Da kann ich nicht reinsteppen.
Hm .. die Software besteht aus zwei Executables und einer gemeinsam genutzten DLL. Die andere Exe funktionierte. Ich startete die problematische Exe außerhalb der IDE. Die gleiche blöde, nichtssagende Fehlermeldung.
Ich probierte noch ein wenig rum. Plötzlich ging es.
Dann wieder nicht mehr. Ich guckte in die Sourcen, ob mir etwas auffiele, aber alles erschien in Ordnung zu sein. Ich ließ mir von der Versionsverwaltung zeigen, ob es irgendwelche Änderungen in den Sourcen gab, die vielleicht ursächlich sein könnten. Aber da sah alles sauber aus. An der Funktionalität hatte ich nichts geändert, nur ein paar optische Modifikationen und Aktualisierungen.
Standhaft weigerte sich das Programm zu laufen.
Ich kopierte die Binaries auf einen anderen Rechner, und startete das Programm dort. Funktionierte.
Ich bootete die VM, und startete das Programm. Funktionierte. Da musste sich irgendetwas in der VM verhakt haben.

Software .. ich sag’s ja ..

Über Anne Nühm (breakpoint)

Die Programmierschlampe.
Dieser Beitrag wurde unter Uncategorized abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

28 Antworten zu Legacy Issues //1512

  1. Plietsche Jung schreibt:

    Das klemmte nur ein Bit….

    Gefällt 3 Personen

  2. RAID schreibt:

    Ich hab bei einem recht primitiven internen Tool zu meinen Studentenzeiten mal mit den Farben der GUI rumgespielt. An meinem und anderen Rechnern hab ich keine Änderungen gesehen, also nicht weiter dran gedacht.

    Irgendwann hat es doch mal jemand einem Kunden gegeben, dort war dann alles rosa. Großartig 😀

    Liken

  3. claudius2016 schreibt:

    Tja, unter z/OS wäre das nicht passiert… 😉

    Liken

  4. Leser schreibt:

    Aus welchem Grund baust Du bei nichtkommerziellen Programmen ein Ablaufdatum mit ein? Ist das nicht einfach nur niederträchtig? Ich meine … wenn ich (wie unter Windows früher mal üblich) irgendwo ein kleines, kostenloses Programm gespeichert hatte, was ich irgendwann mal runtergeladen hatte und seine selten gebrauchte Aufgabe perfekt erledigte, warum sollte ich dann nicht die Erlaubnis haben, so ein Programm unbegrenzt (bzw. so lange, wie von der Plattform unterstützt) weiterzubenutzen??

    Liken

    • warum sollte ich dann nicht die Erlaubnis haben

      Du stellst ja ziemliche Ansprüche!
      Wenn ich jemandem – ohne Gegenleistung – die Erlaubnis gewähre, heißt das doch nicht, dass die für ewig und alle Zeit gilt.
      Ich behalte mir vor, die Erlaubnis zu widerrufen. Das kann ich technisch nur durchsetzen, indem ich nach dem Ablaufdatum die Erlaubnis nicht erneuere.
      Üblicherweise mache ich das ja, aber wenn ich z.B. einen größeren Bug in dieser SW wüsste, wäre das die Gelegenheit, die SW durch eine gefixte Version zu ersetzen.

      Gefällt 1 Person

      • Leser schreibt:

        Und wenn Du kein Interesse mehr daran hast, das Projekt weiter zu entwickeln, dann stirbt ein hilfreiches Tool, was von einer Handvoll Nutzer gerne benutzt wird, einfach so einen Tod in die Sang- und Klanglosigkeit, und die Nutzer müssen sich ärgern, dass sie jemals die Entscheidung getroffen haben, dieses zu nutzen, anstatt gleich auf was anständiges zu setzen, was sich unbegrenzt nutzen lässt.
        Da kann man Dir nur wünschen, dass für solche Tools (falls Du sowas mal öffentlich auf Deiner Website zum Download angeboten hattest, und es inzwischen verschwunden ist) schnell „Hacks“ ausfindig gemacht werden, wie man das „Halbwertsdatum“ auf das Jahr 2100 oder ähnliches stellen kann. Oder dass es jemand dekompiliert und aus dem Quellcode eine bessere Version macht (die er dann unter einer Open Source Lizenz veröffentlicht).
        Wirklich, diese Herangehensweise ist ja nicht nur einfach „proprietär“, die ist ja schon fast in Richtung „totalitär“ gegenüber den Nutzern. Von so einem Entwickler würde ich nie ein Programm nutzen wollen, denn ich weiß er könnte mir jederzeit den Stecker ziehen (was ist mit „meine Maschine gehört mir, ich entscheide, was darauf geschieht“??)
        Sorry, aber das halte ich wirklich für das allerletzte.

        Liken

        • Du hast ja nicht gerade Respekt vor dem geistigen Eigentum anderer.

          Liken

          • Leser schreibt:

            Ebenso könnte man Dir vorwerfen, dass Du nicht gerade Respekt vor den Nutzern Deiner Software hast, wenn Du so einen Selbstzerstörungs-Timer (aka „Halbwertszeit“) einbaust. Und natürlich gilt eben auch da: Wie es in den Wald hinein ruft, …
            (Ich kann durchaus das geistige Eigentum von Leuten genauso glühend verteidigen – dann muss es das aber auch wert sein, verteidigt zu werden!)

            Was Du da machst, ist dasselbe wie diese „IoT-Heizungsthermostate“-Firma, die irgendwann aufgekauft wurde, und unter dem neuen Besitzer dann die Serverinfrastruktur für sämtliche zuvor verkauften Produkte abgeschaltet hat, wodurch dann etliche Kunden dieser Geräte plötzlich in der Kälte saßen, weil ihre Heizung nicht mehr ansprang, weil der Server nicht mehr erreichbar war. Stand irgendwann mal was von auf Heise…
            So ein Vorgehen ist jedenfalls verachtenswert – *und* führt für Dich auch noch zu mehr Arbeit, nämlich regelmäßig eine neue Version mit einem nach hinten verschobenen Selbstzerstörungstimer rauszubringen, was die Wahrscheinlichkeit des Unmuts darüber/der Unlust dazu Deinerseits erhöht, also auch die Wahrscheinlichkeit, dass die Software sich selbst unbrauchbar macht. Wer sowas nutzt, muss wirklich dumm sein, ist er nämlich dann einfach mal angeschmiert, wenn Du keine Lust mehr hast.
            Kann man wirklich niemandem zu raten, sowas zu benutzen.

            Stell Dir vor, Du kaufst Dir ein Notebook, und der Hersteller sagt nach 2 Jahren: „So, jetzt ist Ihre Garantiezeit abgelaufen, dieses Gerät funktioniert nicht mehr!“ – und das Ganze ist aber lediglich ein Codebestandteil im UEFI des Geräts, der eine Sicherung auf dem Mainboard durchbrennen lässt, weil seit dem Timestamp der ersten Aktivierung 24 Monate vergangen sind, d.h. es gibt keinen technischen Grund dafür (außer, dass es inzwischen neuere/schnellere/bessere Hardware gibt)! Würdest Du jemandem zu so einem Produkt raten?!?

            Liken

            • Ich erklär es dir noch mal:
              Es handelt sich um *Freeware*. Dafür bekomme ich keinen Cent, habe aber Zeit, Arbeit und Mühe hineingesteckt.
              Ich will manchmal nicht, dass eine nicht mehr zeitgemäße SW noch weiter genutzt werden kann. Entweder mache ich dann ein Update, oder nicht – meine Entscheidung.
              Und wenn ich mich entschließe, dass eine (vielleicht mittlerweile erweiterte und verbesserte) Version zukünftig nur noch kommerziell zu erhalten ist, dann ist das mein gutes Recht.

              Nutzer, die zahlen, bekommen eine unbegrenzt lauffähige Version (soweit ich das beeinflussen kann).
              Wer glaubt, er kriegt alles umsonst, soll froh sein, wenn er etwas eine Zeitlang nutzen darf, aber nicht auf die Idee kommen, ihm stünde das bis in alle Ewigkeit zu.

              Liken

            • Leser schreibt:

              Sorry, aber das ist trotzdem verachtenswert. Es ist tendenziell totalitär, etwas zu verschenken, und dann zu sagen „Nö, jetzt aber nicht mehr.“ Oder anders gesagt: Wenn ich so eine kostenlose Version nutzen würde, und damit zufrieden wäre, und der Anbieter dann plötzlich sagt: „Fuck you, jetzt will ich Geld von Dir“, dann wäre das für mich ein Grund, eine andere Lösung zu finden: Entweder bei einem anderen Anbieter, der von vornherein Geld haben will, zu kaufen, oder eben mit dem HEX-Editor um das Ablauf-Datum zu verändern (oder wo auch sonst sich das findet).
              Ich habe sogar auf einem USB-Stick für gelegentliche Wartungsarbeiten an Windows-Rechnern, die ich (idealerweise gegen etwas Schmerzensgeld) vornehme, so ein Programm: das habe ich mal in einer Version runtergeladen, diese Version funktioniert problemlos, aber heute gibt es nur noch eine Version, die nicht kostenlos funktioniert. Wenn mir der Anbieter über so einen Selbstzerstörungsmechanismus jetzt sagen würde: „Ätsch, haste eben Pech gehabt, dass Du Dich mit mir eingelassen hast“, dann würde ich vieles tun, aber unter keinen Umständen mehr bei diesem Anbieter kaufen, weil wer weiß zu welchen totalitären, bevormundenden Maßnahmen der noch fähig ist. Und hoffen, dass er irgendwann erkennt, wie geschäftsschädigend für ihn selbst sein eigenes Verhalten ist (was sich natürlich nur bei nennenswerten Verkaufs- und Downloadzahlen bemerkbar macht).
              Die Tatsache, dass jemand ein kostenloses Tool von jemandem nutzt, heißt doch nicht, dass der Ersteller des Tools dann die Macht hat zu sagen „So, Du darfst das jetzt nicht mehr nutzen“ oder „Von Dir möchte ich dafür jetzt Geld haben“ – und natürlich auch nicht „von Euch allen möchte ich jetzt Geld haben“.
              Kennst Du das Sprichwort: „Geschenkt ist geschenkt – wiederholen ist gestohlen“? Genau das ist es, was Du da machst. Ich finde so ein Gebahren erbärmlich, geradezu asozial. Wenn man das Programm einfach nur nicht mehr zum Download anbietet, ist das ja OK. Wenn man auch noch andere Quellen, die die alte Version weiter vertreiben, daran hindert, kann ich das zu einem gewissen Grad auch verstehen (wobei das schon grenzwertig ist). Aber wenn man statt dessen wie ein Diktator jede Spur dieses Programms auf allen Computern dieser Welt komplett auszurotten versucht, dann ist das absolut indiskutabel. Zumindest sollte man beim Start des Programms deutlich davor warnen (müssen, als gesetzliche Vorschrift), und auch beim Downlad: „Diese Version ist lauffähig bis xx.yy.zzzz“. Alles andere könnte womöglich sogar wettbewerbsrechtlich bedenklich sein (vorausgesetzt man sieht kostenlose Programme als Werbemaßnahmen an). Dann kann sich jeder entscheiden, ob er mit einem derartigen Anbieter zusammenarbeiten möchte oder nicht (ich würde mich immer für das nicht entscheiden, selbst wenn die Konkurrenz eine teurere, nur kostenpflichtig erhältliche Version anbietet).

              Liken

            • Die Tatsache, dass jemand ein kostenloses Tool von jemandem nutzt, heißt doch nicht, dass der Ersteller des Tools dann die Macht hat zu sagen „So, Du darfst das jetzt nicht mehr nutzen“

              Oh, doch!
              Bei einer Softwarelizenz handelt es sich um KEIN GESCHENK. Das Eigentum und sämtliche Rechte liegen nach wie vor beim Urheber.
              Dem Nutzer ist es lediglich gestattet, die SW gemäß der EULA zu nutzen. Der Urheber kann daran beliebig Bedingungen knüpfen. Niemand zwingt den Nutzer, die SW zu verwenden, wenn ihm die Bedingungen nicht gefallen.

              Eine Leihe ist vielleicht ein besserer Vergleich. Wenn dir jemand unentgeltlich ein Fahrrad leiht, kann er das jederzeit zurückfordern.
              Und wenn du halbwegs Anstand hast, wirst du es ihm dann unverzüglich zurückgeben und dich für seine bisherige Großzügigkeit bedanken. Du wirst ihn nicht anschnauzen, wie „verachtenswert“, „totalitär“, „bevormundend“ und „erbärmlich“ es von ihm ist, dir sein Fahrrad nicht noch länger zu überlassen. Oder doch?
              Es gibt dafür kein „Gewohnheitsrecht“.

              Wir werden hier zu keiner Einigung kommen, und ich will heute meine Zeit anders verbringen, als mit fruchtlosen Diskussionen.
              Aber ich werde demnächst noch mal auf das Thema in einem Blogeintrag zurückkommen.

              Übrigens sind deine Vorschläge mit Disassemblieren und Hacken hochgradig kriminell.
              Wenn mir so etwas unterkäme, verstünde ich keinen Spaß!

              Liken

            • Leser schreibt:

              Nein, es ist nicht wie die Leihe eines physischen Gegenstands, denn Software ist kein solcher, kann also beliebig oft kopiert werden, ohne dabei im Original „verloren“ zu gehen. Und den Unterschied zwischen Kauf-Software und Freeware sehe ich da auch nicht so sehr. Wenn aber jemand eine Software bei Dir kauft (nicht: mietet, also regelmäßig für die Nutzung zahlen muss), dann darfst Du ihm die auch nicht einfach so wegnehmen. Die Tatsache, dass es sich dabei um eine kostenlose Software handelt, ändert daran nichts – zumindest vom ethisch-moralischen Standpunkt her. Sich gegenüber den Nutzern dann derartig nach Gutsherrenart zu verhalten ist schlicht und ergreifend a-sozial im eigentlichen Wortsinne. Und so manche EULA-Klausel die z.B. in Übersee legal ist, ist es hierzulande nicht, weil sie gegen hier geltendes Recht verstößt. Dass es in dem Fall „nur“ gegen die Regeln des Anstands verstößt, und nicht gegen geltendes Recht (worüber ich mir hier nicht mal sicher bin – zumindest, solange nicht direkt beim Download und der Installation des Programms deutlich darauf hingewiesen wird, dass es sich dabei um eine zeitlich beschränkte Mietsoftware handelt), macht es nicht richtiger.
              Und das Ablaufdatum bei der bei sich auf dem Rechner laufenden Software zu ändern (ohne das Programm dann anderweitig weiterzugeben, oder das irgendjemandem mitzuteilen), wäre nichts als reine Gegenwehr. Selbstschutz: Einem unfairen Schachzug mit einem unfairen Schachzug zu begegnen.
              Und natürlich nur, wenn es kein gleichwertiges Programm von einem anderen Anbieter (gegen Geld oder kostenlos) gibt, man auf das Programm also angewiesen ist, obwohl der Anbieter eindeutig zu der Sorte Unternehmen gehört, mit denen man unter keinen Umständen in einer Geschäftsbeziehung stehen möchte.

              Liken

            • Nur weil es sich um ein digitales Produkt handelt, das man beliebig kopieren und vervielfältigen kann, heißt das noch lange nicht, dass man rechtlich alles damit machen darf.

              Wie kommst du darauf, dass alles erlaubt ist, nur weil es nichts kostet?

              Um mal bei dem Beispiel mit dem Fahrrad zu bleiben:
              Du hast das Fahrrad zwar zurückgegeben, schleichst dich aber zu nachtschlafender Zeit auf das Grundstück des Eigentümers, brichst sämtliche Schlösser auf, und entwendest das Fahrrad schließlich.

              Hast du kein Unrechtsempfinden und Anstand gegenüber dem Schöpfer der SW?

              Das ist vergleichbar mit einer Situation, bei der jemand Freibier in einer Kneipe bekommt, und dann randaliert, wenn es keinen Nachschub mehr gibt.

              Liken

            • Leser schreibt:

              Das Fahrrad ist wie gesagt ein schlechtes Beispiel. Man könnte es evtl. so auslegen: Man bekommt das Fahrrad für zwei Wochen geliehen, aber nach einer Woche erstattet der Eigentümer, der es ursprünglich verliehen hat, Anzeige wegen Diebstahls gegen den leihweisen Nutzer und verlangt es wieder zurück. (Nicht: Er meldet sich und entschuldigt sich, weil er es schon früher wieder braucht – denn das wäre ja ein faires Vorgehen. Ein Ablaufdatum nicht klar und deutlich dazu zu schreiben, sondern den Nutzer blind ins Verderben rennen zu lassen, ist das nicht.)

              Oder mit dem Freibier: Das wäre so, als würde der Kneipenwirt vom Kunden verlangen, das Bier wieder auszuspucken, weil er es sich anders überlegt hat. Oder, als würde der Kneipenwirt dem Kunden das halb volle Glas Freibier wieder abnehmen, weil dieser es nicht schnell genug getrunken hat und die tägliche „Happy Hour“ (=Freibierstunde) vorbei ist…

              Da muss man schon fragen, hast Du als Softwareanbieter keinen Anstand und kein Unrechtsempfinden gegenüber den davon abhängigen Nutzern Deiner Produkte?

              So, jetzt können wir damit nun ewig Argumente-Ping-Pong spielen…hin und her, immer wieder… 😉

              Liken

            • Das ist Unsinn. In diesem Vergleich würde das Fahrrad eben nicht mehr fahren, und der Bierkrug wäre leer.

              Zur weiteren Diskussion sh. mein neuer Eintrag zum Thema:
              https://breakpt.wordpress.com/2017/04/12/das-recht-am-geistigen-eigentum-1515/

              Liken

  5. Jezek1 schreibt:

    So kann man ein SW-Problem lösen…ich mach es immer anders:

    SW tut nicht –> WTF, kräftig über den ganzen IT-Scheiß schimpfen –> Hotline anrufen –> den Hotline-MA kräftig kärchern um den Frust abzubauen –> und einen Termin zur Erledigung setzen

    Hat sich bisher immer bewährt….

    Liken

  6. Hans schreibt:

    Ich finde es recht interessant, was für Ansprüche manche Leute an freeware stellen…

    Liken

  7. Pingback: Das Recht am Geistigen Eigentum //1515 | breakpoint

  8. Pingback: In den April getwittert //1714 | breakpoint

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.