Benutzt irgendwer dynamische Libs?



  • Keine Ahnung was du daran kompliziert oder missverstaendlich findest, aber wenn ich schreibe...

    You may not use this file for commercial purposes.

    ...wuesste ich nicht, wie man das missinterpretieren koennte.



  • falsch verstanden. schrieb:

    hustbaer schrieb:

    Courier schrieb:

    summa summarum müsste es eigentlich egal sein, ob ich Codeteile als so/dll kompiliere und dann dynamisch dazulinke, oder den Code gleich mit in die executable miteinkompiliere.

    Nö, ist nicht egal.
    Wenn man von einer EXE ausgeht, die 1x "frisch" nach dem Neustart des OS gestartet wird, und sich keine DLLs mit anderen EXEn teilen kann, dann gewinnt immer der Monolith.

    Wenn man dagegen mehrere EXEn hat von denen auch mehrere gestartet werden, u.U. sogar mehrfach, dann kann es sein dass die DLL Variante gewinnt.

    ja, du gehst aber immer von "allgemeingebräuchlichen" DLLs aus, also DLLs, die mehrere Programme brauchen und benutzen. Da stimmt das, was du sagt, völlig.

    Nein, du hast mich nicht verstanden. Ich hab doch im ersten Absatz geschrieben dass der Monolith (=alles in eine EXE zusammengelinkt, ohne DLLs) gewinnt, wenn die DLLs nicht "allgemeingebräuchlich" sind.

    Aber wenn ich eine Anwendung habe, die neben der exe noch 5 DLLs mit nichtssagendem Namen hat ("GameEngine.dll", "ScriptingEngine.dll", "audio.dll" usw.), dann bringt das eben keinen Vorteil.

    Es bringt nur nicht keinen Vorteil, sondern sogar einen Nachteil. Weil die EXE+DLLs in Summe fast immer grösser sein werden als die EXE die ohne DLLs auskommt, und weil die EXE die ohne DLLs auch bei gleicher Grösse schneller geladen wird. Auch wenn der Unterschied nicht gross sein wird.

    Verstehst du nicht, wie ich das meine? Wenn ich eine exe mit "einmal-gebrauchten-DLLs" habe, das ganze Pack 20 MB groß ist, dann kann ich das ganze auch gleich in eine exe kompilieren, die dann im Endeffekt 20 MB groß ist, aber keine unnütze DLLs mitbringt.

    Siehe oben: in dem Fall ist die EXE ohne DLLs sogar *besser*. Und vermutlich auch kleiner als 20 MB.



  • ...



  • 👍



  • Swordfish schrieb:

    Kellerautomat schrieb:

    Keine Ahnung was du daran kompliziert oder missverstaendlich findest, aber wenn ich schreibe...

    You may not use this file for commercial purposes.

    ...wuesste ich nicht, wie man das missinterpretieren koennte.

    Was heißt missinterpretieren? Wenn og. Satz in deiner license.txt steht, hast du schon verloren. Denn "this file" ( license.txt ) will wohl niemand kommerziell verwenden ...

    Jaja, du mich auch.



  • Hat aber Recht.



  • Was du nicht sagst. Ein bisschen nachdenken ist nicht verkehrt.



  • hustbaer schrieb:

    Siehe oben: in dem Fall ist die EXE ohne DLLs sogar *besser*. Und vermutlich auch kleiner als 20 MB.

    Ok, aber warum machen das dann Programmierer?

    Damit die Anwendung "professioneller" Aussieht?



  • Kellerautomat schrieb:

    Was du nicht sagst. Ein bisschen nachdenken ist nicht verkehrt.

    Rechtstexte haben nix mit nachdenken zu tun, sondern ob sie rechtlich korrekt definiert sind.



  • Nur mal so nebenbei: wenn du hat keine Lizenz angibst darf der GAR NICHSTS mit der Datei gemacht werden weil dann das Urheberrecht gilt daher müssen alle dich vorher fragen....
    Ich nutze aber Lizenzen gerade dafür das die ohne mich zu fragen alles mit den Programmen machen dürfen 😉



  • Zeus schrieb:

    Kellerautomat schrieb:

    Was du nicht sagst. Ein bisschen nachdenken ist nicht verkehrt.

    Rechtstexte haben nix mit nachdenken zu tun, sondern ob sie rechtlich korrekt definiert sind.

    Eigentlich meinte ich damit, dass ihr euch stattdessen ein "these files", oder was auch immer hindenken sollt...



  • Kellerautomat schrieb:

    Ich schreib meine eigene LICENSE.txt, wo nicht so viel BS drinsteht.

    Naja, zumindest für Open-Source-Software ist das mit das schlechteste, was du machen kannst. Zumindest wenn du möchtest, das dein Programm auch benutzt wird. Bei gängigen Lizenzen ist die Aufnahme in eine Distribution ein Klacks. Irgendwelche Eigenkreationen müssen hingegen, je nach Distribution, erst aufwändig durch jemanden mit Fachwissen beurteilt werden. Da kann es schonmal passieren, dass dein Package-Review monatelang "blocked on legal review" ist, nur um dann zu erfahren, dass ein Jurist deine Lizenz etwa wegen Field-of-Use-Einschränkungen ("use this for good, not evil" ;)) als unfrei betrachtet.

    Auch haben viele Arbeitgeber ein simples Prozedere für verbreitete Lizenzen. Wenn du dir was eigenes zusammenbastelst, muss ein potenzieller Contributor evtl. erst aufwändig die Erlaubnis des Arbeitgebers einholen, bevor er dir Patches schicken darf. Gleiches gilt für die simple Verwendung deines Codes in Unternehmen.

    Ganz abgesehen davon, dass nicht jede Open-Source-Lizenz groß und komplex ist. Die paar Zeilen einer MIT/X11-style-Lizenz kann wohl jeder lesen und verstehen.


  • Administrator

    Kellerautomat schrieb:

    Eigentlich meinte ich damit, dass ihr euch stattdessen ein "these files", oder was auch immer hindenken sollt...

    Und "these files" bedeutet nun was? Welche gehören da alle dazu? Du wirst ja kaum jedes File einzeln darin auflisten, was ziemlich fehleranfällig wäre. Zudem kämst du dann auch bald auf die 100 Seiten :p

    Aber ich empfinde es schon als bezeichnend genug, dass du uns vorwirfst, dass wir bei einem Rechtstext doch etwas menschliche Vernunft anwenden sollen. Das ist gerade der Fehler, welcher man machen kann, wenn man Rechtstexte entwirft. Man soll auf gar keinen Fall von menschlicher Vernunft ausgehen, denn dann sind die Texte bereits schon viel zu ungenau.

    Du scheinst wirklich der Meinung zu sein, die Leute, welche z.B. die GPL geschrieben haben, hätten den Text rein aus Spass so lang und kompliziert geschrieben? Oder die Richter bei Urteilssprüchen möchten nur mit ihrem Juristendeutsch angeben, wenn sie ein Urteil machen?

    Übrigens, wie sieht es eigentlich mit der Haftung bei deiner Lizenz aus? 😉

    Grüssli



  • aber warum dann? schrieb:

    hustbaer schrieb:

    Siehe oben: in dem Fall ist die EXE ohne DLLs sogar *besser*. Und vermutlich auch kleiner als 20 MB.

    Ok, aber warum machen das dann Programmierer?

    Damit die Anwendung "professioneller" Aussieht?

    In den Fällen wo es wirklich nur eine .exe gibt, und wo die DLLs nicht wegen LGPL o.ä. gemacht wurden ... keine Ahnung, vielleicht Gewohnheit?



  • kotnascher schrieb:

    Ganz abgesehen davon, dass nicht jede Open-Source-Lizenz groß und komplex ist. Die paar Zeilen einer MIT/X11-style-Lizenz kann wohl jeder lesen und verstehen.

    Ich weiss nicht ob das die kürzeste Lizenz ist, aber die WTFPL ist in der FLOSS-Gemeinschaft allgemein anerkannt.

    WTFPL schrieb:

    0. You just DO WHAT THE F

    UCK YOU WANT TO.



  • hustbaer schrieb:

    aber warum dann? schrieb:

    hustbaer schrieb:

    Siehe oben: in dem Fall ist die EXE ohne DLLs sogar *besser*. Und vermutlich auch kleiner als 20 MB.

    Ok, aber warum machen das dann Programmierer?

    Damit die Anwendung "professioneller" Aussieht?

    In den Fällen wo es wirklich nur eine .exe gibt, und wo die DLLs nicht wegen LGPL o.ä. gemacht wurden ... keine Ahnung, vielleicht Gewohnheit?

    Aus Gründen der Wartung/Unabhängigkeit. Die DLL kann weitestgehend unabhängig vom nutzenden Programm entwickelt und auch gefixt werden. Es ist halt einfacher, irgendwo eine neue DLL reinzuwerfen, als 10 Programme neu zu kompilieren.



  • @Morle
    Nicht wirklich. Die LIB kann auch unabhängig entwickelt/gewartet etc. werden.

    Und 10 Programme neu übersetzen ist auch nur dann mehr Aufwand, wenn man keine guten Build-Skripte hat.



  • Courier schrieb:

    Wenn du über das "CD-Maximum" von ca. 650MB kommst, nimmt man halt einfach eine DVD mit 4,7GB oder mehr.

    Lesen hilft. Ich habe bereits von DVD geschrieben. Sollen wir stattdessen eine Bluray verwenden?
    Unter anderem enthält diese Software 3 Qt Anwendungen, welche jeweils eine Abhängigkeit zu QtWebkit (und damit auch zu QtGui) haben. Die beiden DLLs zusammen sind ~20MB. Das heisst, man spart da 40 MB an Platz. Und die Software von mir ist da noch eine von den kleineren.

    hustbaer schrieb:

    Und 10 Programme neu übersetzen ist auch nur dann mehr Aufwand, wenn man keine guten Build-Skripte hat.

    Die 10 Programme müssen dann aber auch alle an den Kunden geliefert werden, statt nur eine einzelnen DLL. Wären eben bei sowas wie Qt Anweudngen statt vielleicht 1 MB für ne kleine DLL dann 300 MB für alle Anwendungen. Und das nur, weil eine kleine Funktionalität hart reingelinkt wurde.



  • @KuhTee
    Lesen hilft.

    Es ging zuletzt um Gründe DLLs zu verwenden, wenn es nur eine einzelne EXE gibt.
    Und wenn die 300 MB gross wird, dann hat man wohl sowieso ein Problem.



  • hustbaer schrieb:

    @Morle
    Nicht wirklich. Die LIB kann auch unabhängig entwickelt/gewartet etc. werden.

    Und 10 Programme neu übersetzen ist auch nur dann mehr Aufwand, wenn man keine guten Build-Skripte hat.

    Ich habe beim Schreiben meines Ursprungsbeitrags schon damit gerechnet, dass sowas kommt. Es ging aber beim Ursprungsbeitrag gar nicht darum, wie die Vorteile wären man man dies und jenes hätte oder machen würde.

    Ein weiterer Vorteil, den ich vergessen habe zu erwähnen: Bei DLLs ist man unabhängig vom Compiler und dessen Einstellungen der eigentlichen EXE Datei. Zumindest wenn man DLLs nur mit PODs benutzt und auf die Speicherverwaltung achtet. Reichen aus irgendwelchen Gründen keine PODs in der DLL Schnittstelle wird es bei uns übrigens immer eine echte LIB.


Anmelden zum Antworten