Annonce

Réduire
Aucune annonce.

Pourquoi les logiciels sous licence pèsent-ils si lourd ?

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Pourquoi les logiciels sous licence pèsent-ils si lourd ?

    Inutile de vous donner d'exemple, il y en a pléthore.

    Un soft sous licence qui, bien entendu, dispose strictement des mêmes fonctionnalités qu'un autre logiciel libre, pèsera toujours plus lourd, et bien souvent même anormalement lourd.

    Note : ceci apportant donc son lot de travers :

    - lenteur de téléchargement du logiciel
    - lenteur et récurrences plus élevées des mises à jour
    - lenteur d'exécution au démarrage
    - risques de bugs plus élevés (more codes lines, more bugs)
    - etc.

    Pourquoi ?

    Je pose ici la question aux développeurs aguerris qui ont déjà réalisé un soft digne de ce nom, GUI incluse, et qui ont pu comparer avec une équivalence en non libre, et, si possible, qui ont déjà travaillé dans une société d'édition de logiciels.

    C'est bien souvent double ou triple, voire même décuplé (*10).

    NOTE : Arrêtez ici la lecture si vous souhaitez donner votre avis AVANT d'avoir connu le mien. Ca pourrit biaiser le vôtre, ce qui ne serait pas très intéressant !

    Selon moi, plusieurs raisons à cela :

    - les softs sous licence sont développés par de multiples intervenants. Trop. Chaque soft est séparé en plusieurs équipes, elles-mêmes composées de dizaines de développeurs, ce qui fait qu'il y a de facto des mauvaises interprétations dans la lecture du code et donc des rafistolages hasardeux avec pour unique but : que ça fonctionne.

    Note : je pense que cet argument est peu valable car il pourrait également s'adapter au dév en open source.

    - la compétence moindre des développeurs sous licence. Ils ont leurs horaires de bureau, leurs salaires, ne vont pas chercher à se surpasser pour améliorer la qualité du code. Il peut y avoir également pas mal de stagiaires sur le coup ou de débutants.

    Note : argument peu valable car il y en a beaucoup qui sont très bien payés et qui sont fort compétents. De plus, le contrôle des spécifications / contrôle qualité, est plus ferme que dans l'open source. Il y a donc des gardes-fous.

    - les nombreux appels aux serveurs : afin de grappiller un maximum d'informations clients (à revendre à des fins publicitaires ou statistiques pour mieux cibler les utilisateurs), de nombreuses informations sont envoyées vers les serveurs de la société éditrice. Cela nécessite plus de code et n'est pas fait dans l'open source.

    Note : cependant je ne vois pas en quoi des appels serveurs et des fichiers éclatés un peu partout dans l'arborescence système des utilisateurs pourraient peser tant que cela.

    - la GUI est souvent de meilleure qualité : qui dit de meilleure qualité dit plus lourde.

    Note : là je ne vois pas de réel contre-argument, cela dit, en général les softs sont composés de quelques pictos, je ne vois pas en quoi cela puisse radicalement (décupler) changer le poids du soft.

    - la nécessité d'obfuscation : afin d'éviter de se faire cracker, ils obfusquent leur code. Quelle proportion tiennent les lignes de codes inutiles dans la globalité du logiciel sous licence ?

    Note : 9/10e me paraît aberrant. Il est bien logique qu'ils fassent appel à ces techniques mais de là à ce que ça en arrive à décupler le poids ça me paraît contre-performant, surtout en sachant que les softs finissent toujours par être crackés, et ce souvent très très rapidement.

    - DRM : idem que pour l'obfuscation, ça me paraît logique que les sociétés d'édition y fassent appel.

    Note : mêmes arguments que pour l'obfuscation.

    - etc.

    Nota bene : bien souvent, les softs sous licence disposent de plus de fonctionnalités que leurs homologues libres. Ce qui tendrait à justifier leur poids supérieur (bien que pas à ce point). Mais là je précise bien que ces softs disposent des mêmes fonctionnalités, obtenant à peu près les mêmes résultats.
    Dernière modification par SAKAROV, 25 février 2015, 02h21.
    sigpic

    Cyprium Download Link

    Plus j'étudie plus j'me rends compte que je n'sais rien.

    †|

  • #2
    Je rajouterais un argument considérable qui fait pencher la balance : le temps de développement.

    Dans un cadre de projet libre, le développement se fini quand il est fini, les intervenants programmeurs avançant à la vitesse des progrès sans contrainte de budget.
    Par contre, lors d'un développement pour un logiciel commercial, le temps de développement est un facteur important. De ce fait, l'utilisation de framework plus ou moins lourd pour gagner du temps (et qui par conséquent apporte des libs totalement inutiles au projet), pas le temps d'optimisation non plus.

    Et autre facteur très important : l'avancée matérielle ! Pourquoi dépenser 2 mois de dev' supplémentaire qui va réduire de 10% la latence alors que le client possède en général une machin largement puissante pour ne pas percevoir l'optimisation "optimale"...

    Quoiqu'on en dise, un programme en C# (de plus en plus utilisé dans le cadre pro) sera globalement moins rapide à l’exécution qu'un programme en C ou C++ (majoritairement utilisé en libre).

    Commentaire


    • #3
      Concernant ton "Nota bene", certain logiciels libres fonctionnent mieux que les propriétaires

      Le meilleur exemple: VLC
      Mais aussi transmission le meilleur client torrent que je connaisse.
      WITHOUT DEVIATION FROM THE NORM, PROGRESS IS NOT POSSIBLE
      -Frank Zappa

      Commentaire


      • #4
        @int80h: tout à fait. à ajouter à ma liste. points essentiels.
        @iddl3: l'avantage va somme toute dans l'ensemble au propriétaire, admettons-le ! Par ailleurs, VLC est de surcroît... français ! Ceci explique peut-être cela Cela dit, il pèse quand même environ 20Mo, ce qui me paraît fort conséquent. À force de rajouter de multiples fonctionnalités (souvent inutiles)... Ils feraient mieux de développer une app qui fonctionne dans 95% des cas et les 5% de cas rares (qui doivent représenter 30 à 60% du poids total), demander de télécharger une extension ciblée (via une erreur numérotée par ex.) ; bon après tout le monde n'a pas forcément envie de se faire chier à aller DL un add-on mais quand même...

        Bien, la conversation n'avance pas beaucoup... Peut-être avais-je déjà donné trop d'idées dans mon post initial, complétées par int80h (framework lourd pour tenir les deadlines), du coup personne répond.

        Bon, en fait j'avais déjà la réponse à ma question.

        Si vous deviez chiffrer le poids inutile d'une app telle que X (de votre choix), quel serait-il ? Pourquoi ? Vous vous basez sur quoi ? Développez !

        On peut également étendre la question aux OS. W8 est ~4Go. Quand on voit que Elementary OS pèse 0.78 ou encore Arch qui pèse 0.58, on se dit que 4 y'a vraiment de la merde inutile là-dedans.
        sigpic

        Cyprium Download Link

        Plus j'étudie plus j'me rends compte que je n'sais rien.

        †|

        Commentaire


        • #5
          La conversation n'avance pas parce qu'il faut être dev pour y répondre et encore, selon ce qu'on développe, l'IDE qu'on utilise, les API etc.. ça change encore la donne.
          On donnerait soit une réponse limitée, soit on pond un livre ou un pdf car il n'y a pas une réponse mais des réponses à ce post.

          Puis il y à lourd et lourd, on a parlé de VLC et de ses 20Mo même avec beaucoup de fonctionnalité, un outil peux rester "léger" c'est à dire consommer peu de ressources CPU et RAM.

          J'utilise VLC car il lit tout (c'est déjà l'un des point le plus important à mes yeux) mais aussi pour la conversion de format, l'extraction audio, le split, mais aussi écouter des radios.
          Il s'utilise aussi en version terminal (nvlc et cvlc) avec ou sans ncurse, et enfin il est multi-plateforme.

          Avec tout ça je ne trouve pas VLC "lourd" si on le compare à d'autres lecteurs, maintenant si je ne devrais pas utiliser toutes ces fonctionnalités libre à moi de me tourner vers mplayer ou moc.

          Personnellement, l'obfuscation à elle seule n'excuse pas le poids d'un logiciel propriétaire, il y a aussi l'injection du système de licence ou de sérial et leurs contrôles, la possibilité d'évaluation dans un temps limité, des clés de registres inutiles (ajout au démarrage, préload), des outils de contrôles de mises à jours (en particulier sous Windows qui ne possède pas de dépôts).

          Si on étend la question à tout l'OS c'est à peu près les même remarque que je ferais, avec la critique sur Windows qu'il exagèrent, même un simple thème ne se trouve pas en format "image + fichier de conf" les fond d'écran en .bmp (on est en 2015 les mecs), l'incapacité à la visionneuse d'image de lire un gif animé (on crois rêver là..) si je continue les critique je ne m’arrête pas sur ce système, comme par exemple, le fait d'appuyer sur la touche "imprim écran" n'ouvre toujours pas d'assistant pour enregistrer une capture d'écran alors que tout les gestionnaires de bureau peuvent sous BSD ou GNU.
          Pas d'historique de commandes dans l'invite de commande, pas de complétion de commande, pas d'ajout dans le PATH des nouvelles applications.

          Si on continue, il est obliger de maquiller un "shutdown" en pseudo mise en veille pour faire croire à l'utilisateur lambda que Windows démarre plus vite et je ne parle pas de l'extinction en lui même.

          Toujours pas de dépôt, toujours pas de drivers auto inclus dans le DVD d'installation (ne confondez pas avec DVD de restaurations) en particulier les drivers de cartes réseaux filaire(c'est pas comme si ils y avait 100 constructeur et 50 normes).

          Mais je m'éloigne du sujet initial là, bref c'est pratiquement tout un débat entre dev qu'il faut et ensuite en faire un livre.
          WITHOUT DEVIATION FROM THE NORM, PROGRESS IS NOT POSSIBLE
          -Frank Zappa

          Commentaire


          • #6
            Envoyé par iddl3
            La conversation n'avance pas parce qu'il faut être dev pour y répondre et encore, selon ce qu'on développe, l'IDE qu'on utilise, les API etc.. ça change encore la donne.
            mais tout à fait, c'est justement ma requête. un retour d'exp de dévs qui ont déjà réalisé un soft pour le compte d'une société et un autre à but non lucratif, sur leur temps libre, afin de pouvoir comparer plus précisément que ce qu'on a déjà énuméré. bien sûr que l'IDE, les API utilisées, versioning, agile, etc. tout cela est à prendre en compte.
            Envoyé par iddl3
            On donnerait soit une réponse limitée, soit on pond un livre ou un pdf car il n'y a pas une réponse mais des réponses à ce post.
            tout à fait, là je n'demande qu'un retour d'exp, pas une réponse exhaustive ça n'aurait aucun sens^^
            concernant le reste de ton post (HS) tu as craché ta haine de windows, bravo, je ne vous félicite pas monsieur. en fait, si l'impr. écran est tout simplement magnifique. mais là encore, s'il fallait énumérer le tout, faudrait envisager une année sabbatique et sortir une dizaine de tomes.

            bon, en attendant, autant dévier un peu de ma demande initiale, ma question secondaire (qui était primaire dans ma tête en fait) est + orientée sécu, niveau obfuscation & DRM. ainsi, pour ceux qui ont déjà dév un soft propriétaire, si possible dans la partie sécu, quelle est le %weight de l'obfuscation et du DRM par rapport au %global du soft ? et, pourquoi pas, sans trop en dire ni préciser de quel projet il s'agissait, en dire un petit peu plus sur les techniques utilisées (afin de savoir si celles-ci pèsent lourd inutilement ou non).

            ps: j'ai l'impression d'être un Sk qui tente de faire du SE, alors que pas du tout, c'est purement informatif !

            pps: on est tous déjà tombé sur des système d'obfuscation +/- conséquents ; je me rappelle notamment être tombé sur une méthode d'obfuscation qui après quelques recherches avait été réalisée par le MIT et qui était à la fois fort robuste (c'est le moins qu'on puisse dire) et fort légère.
            sigpic

            Cyprium Download Link

            Plus j'étudie plus j'me rends compte que je n'sais rien.

            †|

            Commentaire

            Chargement...
            X