Journal Clang compilé par Clang compile Clang et LLVM

Posté par  (site web personnel) .
Étiquettes :
23
5
fév.
2010
Bonjour,

Sous ce titre assez étrange et récursif s'annonce une excellente nouvelle pour la chère diversité à laquelle le Libre accorde tant d'importance.

Depuis quelques années, le projet LLVM essaie de créer une infrastructure de compilation, basée sur une représentation abstraite du code, indépendante de la machine. Le projet LLVM comporte également un «sous-projet» dénommé Clang, un compilateur pour les langages basés sur le C (C, C++, Objective-C et Objective-C++).

Les avantages de LLVM et de Clang par rapport à GCC sont les suivants :

  • Une architecture en bibliothèques alors que GCC est un gros machin monolithique (plus tellement à partir de la version 4.5). Tout le monde peut développer d'autres bibliothèques et leurs clients, et réutiliser LLVM. Ainsi, LLVM est utilisé dans Gallium, OpenShiva, et encore quelques autres.
  • La rapidité. Clang est largement plus rapide que GCC comme montré sur cette page
  • Consommation limitée de RAM (il est maintenant possible de compiler en -j16 sur un double quad core HT avec seulement 2Gio de RAM sans que la RAM manque !)
  • Fonctionnalités intéressantes pour le développeur (analyse de code, erreurs détaillées, etc)

Une page de comparaisons a été créé pour vous permettre de voir ce que Clang apporte.

Le C et l'Objective-C sont supportés depuis pas mal de temps, quasiment à un niveau de production. Le noyau FreeBSD est compilable par LLVM, ainsi que d'autres très gros projets.

Par contre, le C++ a toujours manqué à l'appel, et a été la bête noire de Clang. En effet, le C++ est un langage extrêmement complexe pour le compilateur (et les trolleurs diront aussi pour le programmeur), avec ses templates, ses classes, sont héritage multiples, les exceptions, etc.

Il y a quelques jours, une excellente nouvelle est tout de même arrivée sur le blog de LLVM : Clang sait se compiler lui-même !

C'est un grand pas, quand on sait que le code de LLVM est très complexe et utilise quasiment toutes les fonctionnalités du C++. Il est également très important : plus de 500 000 lignes (à en croire le billet cité ci-dessus).

C'est donc une belle avancée pour Clang. Dans quelques mois, il se pourrait que Clang compile de plus en plus de choses.

Des patches volent déjà pour compiler quelques programmes C++ utilisant Qt avec Clang. Malheureusement, bien que la compilation soit un succès, la liaison ne marche pas. En effet, Clang a encore du mal a gérer les symboles partagés de type «friend», très utilisés dans Qt pour les valeurs partagées (par exemple une chaîne nulle, un tableau vide, etc).

C'est cela qui provoquait les erreurs que je décrivait dans mon journal Clang arrive avec le C++, et ça va faire mal !. Merci d'ailleurs à tous ceux qui ont essayé de résoudre mon problème.

J'espère donc un jour pouvoir compiler Qt, puis KDE, puis tout mon environnement avec Clang.

D'ailleurs, pour parler de choses plus personnelles, j'ai encore toujours comme idée de mettre LLVM dans mon gestionnaire de paquets. J'ai réussi récemment à compiler le petit navigateur web Cream développé par une connaissance en GTK/C avec Clang, en produisant ce fameux fichier bytecode, sans toucher au moindre Makefile, uniquement en tunant les paramètres des autotools. Tout marche très bien et est très rapide.

De plus, Clang m'a également surpris. En effet, depuis un mois environ, j'essaie de développer un algorithme de différences binaires parfait, dans le sens qu'il produit le plus petit patch possible. Il n'y a pas encore de code source disponible, mais les informations sur les avancées se trouvent ici.

Bref, je m'égare. L'important ici est que j'ai utilisé Clang, et uniquement Clang, pendant tout le développement de l'application de test en C. J'ai ainsi pu profiter de sa vitesse (compilation en moins d'une seconde en -02, alors qu'une compilation de KDE tournant à côté, processeur chargé à 100%). J'ai également été très surpris par les optimisations qu'il fait. En effet, un simple -O2 m'a permis d'obtenir un exécutable plus rapide que celui produit par GCC 4.4 en -O2 ou -O3. Je n'ai plus les nombre, mais le bench prenait 0,9 secondes avec Clang, et 1,1 secondes avec GCC (grande valeur de 0,9, petite valeur de 1,1, mais quand-même).

Clang est donc plus que jamais un projet à garder à l'oeil, et qui évolue toujours plus vite :-) .
  • # La fin est intéressante

    Posté par  (site web personnel) . Évalué à -9.

    Bref, je m'égare. L'important ici est que j'ai utilisé Clang, et uniquement Clang, pendant tout le développement de l'application de test en C. J'ai ainsi pu profiter de sa vitesse (compilation en moins d'une seconde en -02, alors qu'une compilation de KDE tournant à côté, processeur chargé à 100%). J'ai également été très surpris par les optimisations qu'il fait. En effet, un simple -O2 m'a permis d'obtenir un exécutable plus rapide que celui produit par GCC 4.4 en -O2 ou -O3. Je n'ai plus les nombre, mais le bench prenait 0,9 secondes avec Clang, et 1,1 secondes avec GCC (grande valeur de 0,9, petite valeur de 1,1, mais quand-même).

    Bonne introduction pour ce paragraphe. Il faut bien avouer que ni la propagande BSD ni surtout les tests de vitesse de compilation ne me paraissent bien pertinents : quand il faut moins de 6 heures pour ré-émerger l'ensemble des programmes d'une gentoo « bureautique » avec un PC à 400 euros, il me semble qu'on peut légitimement se demander si la course à la vitesse de compilation est réellement pertinente.
    En revanche, l'annonce d'une fiabilité accrue et de performances d'optimisation de qualité, voilà qui pourrait en intéresser plus d'un malgré la BSD. À quand une alternative à GCC pour compiler le GNU/linux ou le liveCD de monsieur Toutlemonde madame Michu ?

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

    • [^] # Re: La fin est intéressante

      Posté par  . Évalué à 1.

      Pour les perf, clang n'est pas toujours au niveau de gcc : http://multimedia.cx/eggs/compiler-smackdown-2010-1-64-bit/

      Surtout qu'il a encore du mal avec l'asm inline...
    • [^] # Re: La fin est intéressante

      Posté par  (site web personnel) . Évalué à 7.

      Nan mais franchement c'est quoi encore ce truc de merde : "propagande BSD" ou "malgré la BSD" nan mais sérieux laisse les BSDs où ils sont!!!
      Parle du truc (llvm/clang) si ça t'intéresse, mais laisse les BSD où ils sont, qui plus est il n'y a aucune propagande BSD autour de ce projet, c'est pas parce que des mecs tentent de build un ou deux OS BSD avec cet outil ou qu'il est sous licence qu'il y a propagande BSD. Sache qu'il y a autant si ce n'est plus de gens non BSD qui testent/attendent llvm.
      • [^] # Re: La fin est intéressante

        Posté par  . Évalué à 1.

        Soit il trolle, soit il est trop lobotomisé pour se rendre compte que c'est lui, propagande.
        • [^] # Re: La fin est intéressante

          Posté par  (site web personnel) . Évalué à 0.

          ...Soit encore vous n'avez pas lu les liens donnés qui proclament haut et fort les grands avantages de la BSD sur la GPL. Il y des gens à qui cela paraît intéressant ; d'autres considérerons ça comme une provocation anarchiste ; enfin pour certains cela sera parfaitement indifférent. Dans le cas présent, il me semblait que mon message disait que ces choses (entre autre les avantages de licences, autrement dit le troll BSD vs GPL) ne me paraissaient pas particulièrement significative en matière d'intérêt de clang/llvm, et que la fiabilité et les performances finales du code généré seraient probablement ce qui intéresseraient le plus grand nombre. S'agit-il vraiment d'un troll ? Me serais-je mal exprimé ? Ou bien auriez-vous mal compris ? Ou au contraire, vous êtes-vous amusé à déformé sciemment mon propos afin de lancer le troll ?

          « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

          • [^] # Re: La fin est intéressante

            Posté par  . Évalué à 5.

            C'est tellement pas significatif que RMS a longtemps fait pression sur gcc pour qu'il garde une architecture qui permette une utilisation qui contournerait le copyleft, genre permettre des plugins, difficile ou impossible.

            Cela dit quelques lignes dans la FAQ pour expliquer que c'est une licence libre non copyleft, et une ou deux références à la BSD dans le reste des liens, c'est très très loin d'être de la propagande.

            On peut très bien y voir une référence à la première phrase de mon commentaire en tout cas, surtout que le projet à dû commencer avant que gcc commence à "s'ouvrir" un peu.
          • [^] # Re: La fin est intéressante

            Posté par  (site web personnel) . Évalué à 6.

            >> ...Soit encore vous n'avez pas lu les liens donnés qui proclament haut et fort les grands avantages de la BSD sur la GPL. Il y des gens à qui cela paraît intéressant ; d'autres considérerons ça comme une provocation anarchiste ; enfin pour certains cela sera parfaitement indifférent.

            <troll>Et ceux qui trouvent que oui, décidément, la BSD est mieux que la GPL</troll>
      • [^] # Malgré la BSD

        Posté par  . Évalué à 3.

        Je pense que le monsieur fait référence à la licence de LLVM, qui n'est pas tout à fait une BSD mais pas loin quand même. Quand on lit la FAQ de LLVM [1] , on retrouve le clivage GPL/BSD sur les licences, et ils prennent ouvertement parti pour les licences BSD-like.

        [1] http://llvm.org/docs/FAQ.html#license
        • [^] # Re: Malgré la BSD

          Posté par  . Évalué à 4.

          Et quel est le problème avec une license BSD(-like)?
          • [^] # Re: Malgré la BSD

            Posté par  . Évalué à 1.

            « Can I modify LLVM source code and redistribute binaries or other tools based on it, without redistributing the source?

            Yes. This is why we distribute LLVM under a less restrictive license than GPL, as explained in the first question above. »


            Le copyleft

            Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

            • [^] # Re: Malgré la BSD

              Posté par  . Évalué à 4.

              En quoi est-ce un problème ?

              Les méchants vont voler le code ? Bigre, qu'ils le fassent, nous aurons toujours notre code...
              • [^] # Re: Malgré la BSD

                Posté par  (site web personnel) . Évalué à 7.

                Et pour ce qui est du vol de code BSD, le plus bel exemple c'est le grand méchant Apple qui est un des plus gros contributeurs de LLVM et CLang, et qui malgré la BSD refile quand même ses patchs dans le tronc commun.

                Cela n'engage que moi, mais je suis à peu près persuadé que la GPL aurait été bien plus efficace dans ce cas pour protéger le code de LLVM de l'emprise des entreprises qui y contribuent....

                PS: humour et ironie inside....
                • [^] # Re: Malgré la BSD

                  Posté par  . Évalué à 4.

                  Ce n'est pas en sortant un exemple qui t'arrange que tu prouveras quoique ce soit.
                  Parce qu'on pourrait tres bien parler de Poseidon for UML aussi. Et en faire une generalite a l'encontre de la BSD.
              • [^] # Re: Malgré la BSD

                Posté par  (site web personnel) . Évalué à 2.

                >>> Les méchants vont voler le code ? Bigre, qu'ils le fassent, nous aurons toujours notre code...

                Certes. Et dans un monde idéal ce ne serait pas du tout un problème et le copyleft serait inutile.
                En revanche dans le monde réel ou il existe un acteur monopolistique (Microsoft pour ne pas le nommer) tout code sans copyleft peut être utilisé par cet acteur pour perpétuer son monopole.
                Ses ressources marketing, publicitaires, politiques, économiques, sont telles qu'il étouffe la concurrence, qu'il impose ses normes et que le grand public ne voit rien d'autre que ses produits sans pouvoir vraiment profiter du code libre qui peut exister à côté.
                Dans ce monde là, le notre, le copyleft est vraiment utile.

                Si on utilise une comparaison basée sur la théorie des jeux et le dilemme du prisonnier:
                - Les partisans de la licence BSD pensent que toute la population est formée de coopérateurs et que même si il existe des défecteurs cela n'a pas d'importance.
                - Les partisans de la licence GPL savent que la population est formée d'un mix de coopérateurs et de défecteurs et que la stratégie gagnante c'est tit for tat sinon on se fait bouffer par les défecteurs.
                • [^] # Re: Malgré la BSD

                  Posté par  (site web personnel) . Évalué à 10.

                  Pas vraiment d'accord avec toi.

                  Je suis plutôt partisant de la BSD et je vois ça plutôt de cette manière. Je joue uniquement avec ceux qui veulent bien jouer avec moi, c'est à dire ceux qui partagent leur code de la même manière ; les autres je ne m'en occupe pas. Ce qui veux dire qu'ils peuvent faire ce qu'ils veulent avec mon code, je m'en fou ce n'est pas mon problème.

                  Par contre, le fait qu'ils l'utilisent à pour conséquence qu'il y a un peu plus de chance qu'ils viennent jouer avec moi un jour, et en plus si cela ce produit, ils seront déjà familier avec mon code, donc c'est tout benef pour moi de les laisser faire ce qu'ils veulent.

                  C'est pour moi la différence entre BSD et GPL : la BSD c'et fait ce que tu veux, tu finira bien par me rejoindre un jour ; là ou la GPL c'est si tu veux mes jouets tu dois jouer avec moi.
                  • [^] # Re: Malgré la BSD

                    Posté par  (site web personnel) . Évalué à 3.

                    donc c'est tout benef pour moi de les laisser faire ce qu'ils veulent

                    Oui, si l'autre en question ne cherche pas t'empêcher légalement/économiquement d'agir en utilisant les moyens qu'il aura monopolisé en partie grâce à ton code.

                    Puisque l'on est dans un système économique où la politique incité est la concurrence plutôt que sur la synergie, la probabilité qu'un autre acteur coopère avec toi est inversement proportionnel à son engagement dans la politique incité.

                    Pour reprendre ton exemple, tu ne demandes rien de mieux que d'avoir de nouveaux camarades de jeux. Mais à toutes les têtes blondes autours de toi on enseigne que dans la vie faut pas partager les jouets et qu'il faut tout faire pour en avoir le plus possible rien que pour soi. Quand tu vas prêter ton jouet à un de ces gamins, y a peu de chance qu'il ai envie de te le rendre. Et même pour lui idéalement tu devrais crever histoire de ne pas l'empêcher de s'accaparer plus de jouets. Au minimum il devrait te mettre quelques coups de taloche en te menaçant de te faire encore plus mal si il te prend à vouloir encore jouer.
                    • [^] # Re: Malgré la BSD

                      Posté par  . Évalué à 0.

                      Histoire de continuer sur le parallèle, la solution selon toi c'est d'imposer de faire tout à fait l'opposé et de les forcer à partager leurs jouets ? Personnellement je préfère ne pas rentrer dans le jeu et laisser les deux camps se disputer pour quelque chose de tout à fait insignifiant. Tu n'imagine même pas la paix qu'on a quand on ne se soucis pas du reste du monde et qu'on tue le temps en faisant ce qu'on aime.
                      • [^] # Re: Malgré la BSD

                        Posté par  (site web personnel) . Évalué à 6.

                        Tu n'imagine même pas la paix qu'on a quand on ne se soucis pas du reste du monde et qu'on tue le temps en faisant ce qu'on aime.

                        C'est grâce à ce genre de super philosophie que nos rivières sont pourris de déchets, merci.
                        • [^] # Re: Malgré la BSD

                          Posté par  (site web personnel) . Évalué à 3.

                          Rien à voir, tu utilises une autre interprétation de sa phrase pour détourner son discours. Il parle bien entendu de l'usage qu'ils ont de ce que tu produits. Pour illustrer, il ne demande pas à ses potes de tenir une ardoises des cafés payés pour les uns ou les autres, chacun paye de temps en temps et on ne se préoccupe pas de qui doit combien à qui.
                    • [^] # Re: Malgré la BSD

                      Posté par  . Évalué à 5.

                      la probabilité qu'un autre acteur coopère avec toi est inversement proportionnel à son engagement dans la politique incité.

                      C'est beau, ça utilise des mots scentifiques, mais c'est creux comme phrase.
                    • [^] # Re: Malgré la BSD

                      Posté par  (site web personnel) . Évalué à 4.

                      Tu ne reprends pas du tout mon exemple car j'ai l'impression que tu n'en as pas compris la philosophie. Si les autres veulent prendre mon jouet pour faire toutes les conneries qu'ils veulent avec, je m'en bas les couilles. Ça ne me prive de rien car ils ne prennent qu'une copie de mon jouet et ce qu'ils en font ne m'intéresse que s'ils ont envie de jouer avec moi.

                      S'ils pensent que des problèmes économique ou politiques sont plus important pour eux, c'est leur problème, pas le mien ; et dans ce cas la je préfère même qu'il ne viennent pas jouer avec moi, j'ai pas envie qu'ils me gonflent avec leur discours pseudo politico-économique.
                      C'est le deuxième effet kisskool de la BSD, vu que tu ne force pas les gens à partager, tu ne récupère que ceux qui en on envie. Les boulets restent dans leur coins et on peu facilement les ignorer.

                      La probabilité qu'un acteur coopère avec moi elle peut être ce qu'elle veut, moi j'ai mon code, j'ai des potes qui jouent avec moi ; et les autres, ils savent ce qu'ils ont à faire s'il veulent jouer avec moi eux aussi.
                      • [^] # Re: Malgré la BSD

                        Posté par  (site web personnel) . Évalué à 2.

                        Oh si c'est bien ton exemple que je reprend.

                        Le problème c'est précisément que tu t'en fou de ce que font les autres de tes jouets. Or il se trouve que certain s'en serve pour monopoliser des ressources (jusque là tu t'en fou toujours), et dans leur esprit, le fait que tu gardes la possibilité de jouer et de partager tes jouets dans ton coin, ça ne les arrange pas : tu les empêches d'optimiser leur actions de monopolisation. Du coups, ils fabriquent des pelles économico-législatives avec les ressources qu'ils ont déjà, et commence à creuser un trou pour t'enterrer toi et tes sales idées de partage de jouets.

                        Il ne suffit pas de ne pas chercher des emmerdes aux autres pour qu'ils ne viennent pas te pourrir la vie.
                        • [^] # Re: Malgré la BSD

                          Posté par  (site web personnel) . Évalué à 3.

                          Le débat ici est sur le choix entre BSD et GPL, et de ce points de vue là, les deux t'offrent la même protection : absolument rien et ce n'est pas leur objectif.

                          Le plus que tu peut espérer c'est : le copyright que tu garde sur ton code et le fait qu'il soit publié. Cela empêche de déposer un brevet sur tes jouets, mais aucune licence libre que tu met sur ton code ne te protègera des «pelles économico-législative» ou tout autre conneries du même genre.
                          • [^] # Re: Malgré la BSD

                            Posté par  (site web personnel) . Évalué à 3.

                            Ce n'est pas pour rien que Ballmer déteste la GPL qui lui fait penser à un cancer : elle offre un moyen de défendre l'intérêt général face aux dents pointus de quelques requins.

                            Donc non, les BSD-like n'offrent pas les mêmes « protection ». Mais je ne conspue pas la BSD, soyons clair, c'est simplement qu'en l'état on ne peu pas s'en contenter pour défendre l'intérêt général.
                            • [^] # Re: Malgré la BSD

                              Posté par  (site web personnel) . Évalué à 5.

                              T'as pas du tout l'air de comprendre mon point de vue. Ce que fais Balmer je m'en bas les couilles, de même que les gens qui choisissent d'utiliser ses logiciels.
                              Ça ne me concerne absolument pas.

                              Moi je met mon code sous une licence qui me permet à moi et à ceux qui on la même vision des choses que moi de faire ce qui nous plait facilement et simplement, sans se prendre la tête.
                              Si d'autre personne veulent reprendre ce que l'on fait pour l'utiliser ailleurs, ils font ce qu'ils veulent et je considère que c'est tout bénef pour tout le monde. Pour eux car ils font ce qu'ils veulent, et pour moi car je ne me prend pas la tête, et si un jour ils veulent venir jouer avec moi, c'est simple vu qu'ils utilisent déjà mes outils.

                              C'est la différence philosophique de base entre la GPL et la BSD; la BSD dit faites ce que vous voulez, je sais que vous finirez bien par vous rendre compte que partager le code est la meilleure solution, là ou la GPL dit revenez me voir quand vous serez déjà convaincu que le partage est la meilleure solution.

                              Chacun son point de vue.
                              • [^] # Re: Malgré la BSD

                                Posté par  (site web personnel) . Évalué à 2.

                                Je pense que j'avais bien compris ton point de vu, en tout cas ce que tu me dis là me conforte dans l'idée que je t'ai compris.

                                Par contre tu ne me sembles pas comprendre ce que j'explique, ou tenter d'en faire fi.

                                Ton raisonnement me semble soutenu par un déni des agressions potentiels des autres acteurs, comme si les seuls interactions qu'ils pouvaient entreprendre vis à vis de toi était l'indifférence ou la coopération.

                                J'en serait ravis si c'était les seuls possibilité d'interaction, mais je constate que ça n'est pas le cas, et que l'encouragement à la concurrence couplé aux volontés monopolistiques des transnationales font de ces cas des phénomaines relevant plus de l'exception que de la règle.

                                Tes arguments me fait penser à ceux des soit disant pragmatistes. J'ai commencé un petit document à ce sujet si cela t'intéresse : http://www.culture-libre.org/wiki/Ce_que_n%27est_pas_le_prag(...)
                                • [^] # Re: Malgré la BSD

                                  Posté par  (site web personnel) . Évalué à 2.

                                  Tu me ressort le coup des agressions contre lesquelles la GPL est sensée mieux me protéger mais la je dois avouer que je ne vois toujours pas de quoi tu parle.

                                  Tu peut me donner un exemple de cas ou du code sous BSD t'expose à plus de risque que du code en GPL ?
                                  • [^] # Re: Malgré la BSD

                                    Posté par  (site web personnel) . Évalué à 2.

                                    Ne pas faire de prévention ne veut pas dire courir sciemment après les risques, c'est simplement ne pas tenir compte des risques.

                                    La BSD c'est ça, tu t'en fous des risques économico-légiféro-sociaux que peuvent entraîner tes agissement. La GPL, c'est tenter de voir où risque de te mener telle ou telle politique et agir de la manière qui semble la plus efficace à l'épanouissement de l'intérêt général.
                                    • [^] # Re: Malgré la BSD

                                      Posté par  (site web personnel) . Évalué à 2.

                                      Donc si je comprend bien tu confirmes que tu racontes n'importe quoi ?

                                      Moi je veux bien que tu me parles de «risques économico-légiféro-sociaux» et je veux bien que tu me dise que la GPL protège mieux que la BSD contre ces risques, je veux même bien écouter des arguments, mais faudrait peut-être me les donner ces arguments.

                                      Là, tu ne fais que brasser du vent, donc je répète, donne moi un exemple de risque où la GPL te protège mieux que la BSD. Même si c'est minime ou juste de la prévention, mais donne moi un exemple plutôt que d'assener tes vérités.
                                      • [^] # Re: Malgré la BSD

                                        Posté par  (site web personnel) . Évalué à 2.

                                        Je te confirme qu'on ne saurait faire comprendre à quelqu'un quelque chose qu'il ne veut pas comprendre.

                                        J'ai déjà expliqué plus haut les problématiques qu'entraînent un comportement laxiste sur les activités des autres personnes : acteurs qui gagnent en influence et utilise celle-ci pour menacer l'intérêt général. Les licences copyleft limites les possibilités des autres à acquérir une telle influence néfaste, et cela fonctionne bien, comme le prouve le rejet de la GPL par le CEO de microsoft, archétype de l'acteur aux actions néfastes sus-cité.

                                        Bien sûr le copyleft n'est pas parfait et n'empêche pas tous les comportements inciviques, elle ne fait qu'en restreindre une partie.

                                        Les actions de « GPL Violations project » sont autant d'exemple des plus qu'apporte le copyleft en aval.

                                        Àmha, l'énorme plus est non mesurable, car il agit en amont. Bien sûr je ne peux que te brasser du vent, puisque par définition les actions préventives visent à empêcher la réalisation d'un risque : tu ne peux pas mesurer objectivement ce qui c'est produit par rapport à ce qui ce serait produit si tu avais agit différement, tu ne peux que faire des suppositions par rapport à tes expériences.

                                        Le fait de donner des assurances d'un respect du pot commun pour tout ce qui est publié est un moteur important à la participation de nombreux acteurs du libre. La BSD offre moins de garantie à ce niveau là, elle effraie donc plus les personnes effrayés par les conséquences d'un partage qu'ils n'ont pas l'habitude de pratiquer, notamment les nombreux petits acteurs (PME).

                                        Tout cela est du domaine du ressenti, et tu peux tout à fait le critiquer à ce niveau là. Cela étant ce n'est pas la peine de sous-entendre que mes propos sont absurdes et ne reposent sur rien : ils reposent sur l'analyse (forcément subjective) que je fait des comportements humains que j'ai pu voir/expérimenter.
                                        • [^] # Re: Malgré la BSD

                                          Posté par  (site web personnel) . Évalué à 3.

                                          Ce n'est pas que je ne veut pas comprendre, c'est que tu ne me donne pas les moyens de comprendre.

                                          Je ne voit pas en quoi le fait d'obliger les gens à partager leur code s'ils veulent utiliser le tiens permet de ce protéger des risques dont tu parles. (je ne critique pas cette obligation, la licence est un choix personnel)

                                          Àmha, l'énorme plus est non mesurable, car il agit en amont. Bien sûr je ne peux que te brasser du vent, puisque par définition les actions préventives visent à empêcher la réalisation d'un risque : tu ne peux pas mesurer objectivement ce qui c'est produit par rapport à ce qui ce serait produit si tu avais agit différement, tu ne peux que faire des suppositions par rapport à tes expériences.

                                          Des actions préventive servent à prévenir quelque chose qui aurait pus arrivé, donc ça veut bien dire que :
                                          - quelque chose aurait pus arriver ;
                                          - quelque chose l'en a empêché.
                                          Hors, depuis le début tu me dis qu'il y a des risques sans me dire lesquels, et tu me dis qu'il y a quelque chose dans la GPL et pas dans la BSD qui les à empêcher sans me dire quoi.
                                          Tout ce que je demande pour essayer de comprendre ton point de vue c'est que tu me dise quels sont ces risques et comment la GPL les empêche d'arriver.
                                          Si tout le code sous GPL avait été sous BSD qu'est-ce qui ce serait passé de si grave selon toi ?

                                          Le fait de donner des assurances d'un respect du pot commun pour tout ce qui est publié est un moteur important à la participation de nombreux acteurs du libre. La BSD offre moins de garantie à ce niveau là, elle effraie donc plus les personnes effrayés par les conséquences d'un partage qu'ils n'ont pas l'habitude de pratiquer, notamment les nombreux petits acteurs (PME).

                                          C'est plutôt le contraire que l'on observe. Une entreprise qui n'a pas l'habitude du partage n'utilisera pas un code sous GPL et fera son truc dans son coin. Par contre un code BSD, elle va s'en servir pour faire du proprio car c'est ce qu'elle connait, et avec le temps, il y a une chance pour qu'elle se rende compte des avantages du libre et envoie ses patchs.

                                          Et même si elle connait bien les principes du libre et y adhère, si elle utilise aussi du code qui n'est pas libérable, la BSD lui permet d'envoyer ses patchs en libre tout en gardant le reste en proprio. Elle peut combiner le libre avec ses contraintes.
                                          • [^] # Re: Malgré la BSD

                                            Posté par  (site web personnel) . Évalué à 1.

                                            J'ai déjà expliqué plus haut les problématiques qu'entraînent un comportement laxiste sur les activités des autres personnes : acteurs qui gagnent en influence et utilise celle-ci pour menacer l'intérêt général. Les licences copyleft limites les possibilités des autres à acquérir une telle influence néfaste, et cela fonctionne bien, comme le prouve le rejet de la GPL par le CEO de microsoft, archétype de l'acteur aux actions néfastes sus-cité.

                                            À lire 789 fois à voix haute. Si après cela tu n'as toujours pas saisie l'explication, c'est que tu refuses inconsciemment (ou non) de comprendre.

                                            Sinon, àmha, le libre les pratiques monopolistiques c'est juste antinomique. L'open source n'est pas le libre.
                                            • [^] # Re: Malgré la BSD

                                              Posté par  (site web personnel) . Évalué à 3.

                                              Je suis désolé mais tu as réussit à m'énervé. Donc, non tu n'a rien expliqué plus haut.

                                              Tout ce que tu as fait c'est dire des généralités enrobé d'un pseudo-jargon économique pour faire sérieux. La seule chose que tu dis c'est que des entreprise peuvent repiquer du code sous BSD pour obtenir une position dominante et détruire le libre, et que la GPL (le copyleft en tout cas) empêche cela.

                                              Et tout ça c'est, pour moi, de la connerie. Si tu veux me convaincre du contraire donne moi, au choix :
                                              - un exemple de code BSD qui à permit à une entreprise d'obtenir une telle position dominante (ou au moins un réel avantage sur ses concurrents)
                                              - un exemple de code sous GPL qui aurait permis à une entreprise d'obtenir un tel avantage.
                                              En gros donne moi un exemple qui étaye tes propos, que ce soit un cas qui as pus être éviter ou pas.

                                              Un code sous BSD ne te donnera pas un avantage réel sur les concurrents puisque ceux-ci peuvent eux aussi prendre le code et l'améliorer. Bien sûr tu peut être un peu en retard ou avoir un peu moins de moyens mais je doute que tu trouve un exemple ou cela soit suffisant pour permettre d'obtenir une position dominante.
                                              Sans compter le fait que ceux qui jouent le jeu peuvent facilement suivre les évolution de la version libre, alors que les autres, s'il veulent le faire, doivent se synchroniser régulièrement ce qui coute du temps et de l'argent. Le concurrent s'il joue le jeu verra peut-être même ses améliorations maintenues par les développeurs libres. Bien sûr la grosse boite en "position dominante" pourra en profiter aussi mais à quel coût ?

                                              Bien sûr que la BSD est plus attirante pour une entreprise, mais l'impact sur l'entreprise entre les deux est minime.
                                              Si la BSD était aussi attirante par rapport à la GPL pour les entreprises, tu peut être sûr qu'il y aurait beaucoup plus de noyau BSD dans l'embarqué et beaucoup moins de noyaux Linux.

                                              De même, si OpenSSH n'avait pas été en BSD, il aurait peut-être été moins diffusé que maintenant et d'autre protocoles propriétaires ce seraient imposés à la place, résultat on aurait tous été moins libres, et peut-être même qu'une société aurait réussi à imposer son propre protocole de communications chiffrées et serait maintenant en position dominante.

                                              Donc, si tu ne te décide pas à donner de vrais arguments, je considère cette discussion comme terminée.
                                              • [^] # Re: Malgré la BSD

                                                Posté par  (site web personnel) . Évalué à 3.

                                                Je voulais juste te présenter mes excuses par ce que je me suis emporté. Je suis frustré de ne pas arriver à te communiquer ma pensée, d'où mon énervement. Je préfère aussi m'arrêter là, pour le moment, car je ne vois pas ce qui pourrait nous sortir de ce dialogue de sourds.
                                                • [^] # Re: Malgré la BSD

                                                  Posté par  (site web personnel) . Évalué à 2.

                                                  Alors il faut commencer par lui demander de lire ça déjà, ça aide :
                                                  http://www.april.org/files/groupes/trad-gpl/doc/GPLv3/www.ro(...)

                                                  On peut y voire toutes les protections supplémentaires apportées par la GPL. La GPL ce n'est pas juste la "viralité" GPL et le libre, sinon la version 2 des années 90 suffisait ;)

                                                  Sans porter de jugement, la BSD c'est un peu plus brut de décoffrage et c'est donc plus facile de comprendre et de retenir tout les termes du contrat. Mais pour la GPL, bah il faut déjà commencer par la lire...

                                                  --
                                                  Sinon pour moi, en tant qu'utilisateur la BSD et la GPL se valent : c'est libre.
                                                  En tant que dev mon coeur est à RMS, je n'ai pas le choix :D
                                            • [^] # Re: Malgré la BSD

                                              Posté par  . Évalué à 2.

                                              Le risque c'est qu'il y a du danger ?

                                              Ton explication n'est pas claire. Quelle est l'action néfaste de Microsoft sur les logiciels libres sans copyleft dont les logiciels libres avec copyleft sont protégés ?

                                              BeOS le faisait il y a 20 ans !

                                              • [^] # Re: Malgré la BSD

                                                Posté par  (site web personnel) . Évalué à 3.

                                                La GPL 3 inclus par exemple des mécanismes d'entrave au brevet logiciel (la GPL 2 aussi, mais moins efficaces).
                                                Finally, every program is threatened constantly by software patents.
                                                States should not allow patents to restrict development and use of
                                                software on general-purpose computers, but in those that do, we wish to
                                                avoid the special danger that patents applied to a free program could
                                                make it effectively proprietary. To prevent this, the GPL assures that
                                                patents cannot be used to render the program non-free.


                                                Source : http://www.gnu.org/licenses/gpl.txt
                                                • [^] # Re: Malgré la BSD

                                                  Posté par  . Évalué à 2.

                                                  Donc la GPL empêche l'action de produire grâce à des brevets un logiciel propriétaire à partir d'un logiciel libre.

                                                  C'est du copyleft, rien de nouveau là dessus.

                                                  Si un logiciel enfreint dès le début un brevet logiciel, sa licence n'y changera rien; qu'il s'agisse d'une licence propriétaire, libre, ou libre avec copyleft.


                                                  Cela dit, les "clauses anti-brevet" de la GPL 3 réduisent considérablement le risque d'être perturbé par les revendications de détenteurs de brevet qui utilisent eux-même le logiciel.

                                                  Ça veut dire que la GPL V3 ne protège pas des "effets néfastes" portentiels de tous les détenteurs de brevets qui n'éditent pas de logiciels sous GPL V3.

                                                  BeOS le faisait il y a 20 ans !

              • [^] # Re: Malgré la BSD

                Posté par  (site web personnel) . Évalué à -2.

                Non, mais des personnes peu scrupuleuses peuvent continuer d'amasser plein d'argent en faisant de l'informatique déloyal, dont une partie sera utilisé pour faire du lobying permettant de légaliser des pratiques encore plus douteuses du point de vu de l'intérêt général.
    • [^] # Re: La fin est intéressante

      Posté par  . Évalué à 8.

      La vitesse de compilation c'est pas seulement important pour compiler un systeme entier, c'est aussi tres pratique lorsque tu developpes le programme.

      Ca ouvre la voie pour de la "compilation" en arriere plan dans ton IDE, permet de se passer de compilation repartie pour les "petits" projets, etc.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.