Bonjour,
Ceux qui touchent de temps en temps aux compilateurs savent que le compilateur libre le plus utilisé est GCC. Ceux d'entre eux qui sont également de fins trolleurs savent que ce compilateur est fermé sur lui-même du côté des extensions.
En effet, GCC se comporte comme un seul gros bloc de code duquel rien ne sort et dans lequel rien n'entre. Une fois son GCC compilé, on ne peut le modifier qu'en touchant à des fichiers de configuration.
D'un autre côté, son concurrent, la suite Clang/LLVM, tout aussi libre (et les trolleurs encore plus fins diront qu'il est même plus libre), en partie développée par Apple propose depuis déjà des lustres l'utilisation d'extensions pour personnaliser son compilateur.
Cette différence a toujours été reprochée à GCC, et l'excuse mise en avant est que Richard Stallman ne veut pas d'extensions pour éviter que tout logiciel propriétaire ne puisse utiliser GCC. C'est donc un problème "philosophique" bien ancré.
Aujourd'hui, j'ai voulu voir ce que nous prépare la future version 4.5 de GCC. Je me rends donc sur la page des spécifications de cette version, lis un peu le tout, et tombe sur un dernier paragraphe en dessous.
Ce paragraphe m'étonne vraiment, car il dit que GCC supportera les extensions. Il ne s'étend pas sur le sujet, mais «It is now possible to extend the compiler without having to modify its source code. A new option -fplugin=file.so tells GCC to load the shared object file.so and execute it as part of the compiler. The internal documentation describes the details on how plugins can interact with the compiler.» semble très encourageant.
Alors, est-ce que ce changement est définitif ? Et surtout, qu'est-ce que ça va changer ? On aura peut-être plein de petites extensions pour personnaliser ses compilations. Gentoo va peut-être faire des petits machins avec ça (c'est une distribution source, donc les compilateurs, ça la connaît). Il y aura peut-être encore d'autres applications, utiles ou pas.
En tous cas, c'est un important changement de direction de la part des développeurs de GCC !
# Re:
Posté par IsNotGood . Évalué à 3.
Il y avait des problèmes compliqués de licence à régler, c'est maintenant fait.
[^] # Re: Re:
Posté par Anthony F. . Évalué à 10.
Ceci est une intervention totalement assumée d'un vendredi soir, de toute façon il y a très longtemps que GCC de développer...~~~> [ ]
[^] # Re: Re:
Posté par patrick_g (site web personnel) . Évalué à 3.
Oui je l'ai mentionné rapidement dans la news de GCC 4.4.
# GGCC et GCC-ICI
Posté par Victor STINNER (site web personnel) . Évalué à 6.
http://www.ggcc.info/
http://2008.rmll.info/Projet-GGCC-Global-GCC.html
GGCC utilise par exemple du LISP et du Prolog pour les vérifications, et se branche sur GCC avec ICI :
http://ctuning.org/wiki/index.php/CTools:ICI
« The Interactive Compilation Interface (or 'ICI' for short) is a plugin system with a high-level compiler-independent and low-level compiler-dependent API to transform current compilers into collaborative open modular interactive toolsets. The ICI framework acts as a "middleware" interface between the compiler and the user-definable plugins. »
Et au sujet des plugins, il y a cette page qui explique un peu plus de choses :
http://gcc.gnu.org/wiki/GCC_Plugins
[^] # Milepost
Posté par Thierry Thomas (site web personnel, Mastodon) . Évalué à 2.
[http://www.milepost.eu/]
# llvm-gcc
Posté par ecyrbe . Évalué à 2.
Celà permettra à llvm-gcc d'être à jour avec les dernières versions de gcc sans avoir à forker à chaque fois gcc...
# Craintes
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 9.
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: Craintes
Posté par nullisimo . Évalué à 4.
des contributions ou des contributions committees ? ;-)
[^] # Re: Craintes
Posté par GeneralZod . Évalué à 3.
Soit GCC prends le train en route pour rester compétitif, soit il attend sagement que LLVM lui grille la politesse.
Je ne pense pas que ça affectera les backends, l'évolution matérielle et les compétences (rares) encouragent la collaboration à ce niveau. ça servira surtout à développer des outils annexes où l'intégration à des IDE et effectivement, on peut craindre une propriétérisation de GCC.
Continuer à rester attractif et risquer la propriétérisation de quelques plugins ou bien risquer d'être délaisser pour LLVM, vat iz ze quouaichtion !
[^] # Re: Craintes
Posté par Patrick Lamaizière (site web personnel) . Évalué à 2.
Il me semblait que justement la licence de Gcc plus la GPL V3 interdisaient ce risque de plugins proprio ?
les pixels au peuple !
[^] # Re: Craintes
Posté par grid . Évalué à 7.
Maintenant, GCC n'a pas trop le choix. Il faut que GCC garde son avance par rapport à LLVM. Donc, il doit évolué.
Finalement, LLVM gagne du terrain parce qu'il est plus libre que GCC.
[^] # Re: Craintes
Posté par GeneralZod . Évalué à 10.
[^] # Re: Craintes
Posté par grid . Évalué à 3.
[^] # Re: Craintes
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 3.
Ah ben oui, finalement c'était bien un troll BSD opposé à la GPL. Vous aviez raison.
——>{}
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: Craintes
Posté par nullisimo . Évalué à 7.
[^] # Re: Craintes
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 2.
- c'est grâce à gcc que je peux compiler mes propres programmes ;
- si les langages de programmation que j'utilise tendent de plus en plus à se standardiser [1], je l'attribue à tort ou à raison à gcc et à sa position éminente ;
- les constructeurs de matériel informatique qui souhaitent voir leur matériel utilisé sous linux, BSD, etc, doivent passer par la case ouverte gcc.
[1] les extensions propriétaires aux divers langages sont de moins en moins utilisées me semble-t-il. Ne serait-ce pas parce que tout le monde peut et veut tester son code avec GCC qui devient un standard de fait. Mais un standard ouvert, libre et libérateur.
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: Craintes
Posté par nullisimo . Évalué à 7.
Je faisais seulement allusion a l'hermetisme du projet gcc dont l'hegemonie est parfois incompatible avec d'autres interets (c'est "marche ou creve")
En ce qui concerne le point 1, C'est une presque une tautologie.
le point 2, c'est plus delicat... Tu as beaucoup de "gcc-ism" qui trainent. Tout comme on trouve des "linux-ism" dans les LL. Meme si ca reste du LL, c'est une dependance technologique. Ca reste des extensions propres a gcc qui sont massivement utilisees.
Pour les couches "bas niveaux" (libc, compilo) la standardisation est de plus en plus un leurre. On peut prendre sendfile(2) comme exemple. C'est celui qui domine qui definit.
Pour le troisieme et dernier point, ce sont les constructeurs qui contribue directement au code ? (j'en sais rien, je pose la question)
[^] # Re: Craintes
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à -1.
Alors utilise http://bellard.org/tcc/ à la place.
>> si les langages de programmation que j'utilise tendent de plus en plus à se standardiser [1], je l'attribue à tort ou à raison à gcc et à sa position éminente ;
Alors programme en Scheme, Common Lisp ou Ada
Puis bon, coder en C, c'est une connerie pour plus 80% du code pondu.
C'est juste bon à créer des failles supplémentaires dans les logiciels.
[^] # Re: Craintes
Posté par téthis . Évalué à 6.
GCC = GNU Compiler Collection, pas GNU C Compiler.
The capacity of the human mind for swallowing nonsense and spewing it forth in violent and repressive action has never yet been plumbed. -- Robert A. Heinlein
[^] # Re: Craintes
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 0.
Ça fait encore beaucoup de C écrit à la main et autant de bugs.
[^] # Re: Craintes
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 2.
C'est chiant IPoT, t'en a toujours un pour te faire chier.
Bon, j'y vais, y a le Flic de Beverly Hills 2 qui vient de sortir au cinoche…
[^] # Re: Craintes
Posté par téthis . Évalué à 2.
Bof... je ne suis pas encore né à l'heure où je réponds. Alors je suis loin d'être concerné.
IPoT, c'est surpuissant.
The capacity of the human mind for swallowing nonsense and spewing it forth in violent and repressive action has never yet been plumbed. -- Robert A. Heinlein
[^] # Re: Craintes
Posté par barmic . Évalué à 1.
Ensuite les troll sur le C tu peut les garder on est plus vendredi.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Craintes
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 2.
Oui, je l'ai utilisé aussi. J'aime beaucoup Ada.
>> Ensuite les troll sur le C tu peut les garder on est plus vendredi.
Le problème est que j'utilise tous les jours de la semaine des logiciels libres remplis de bugs car écrits en C alors que c'était l'un des plus mauvais choix qui soient.
Encore ya serait un dialecte comme cyclone [1], je serais ravi, mais c'est pas le cas. Ça reste un langage peu sûr, avec peu d'analyses automatiques de code fiables, et trop bas niveau pour la majorité des applications développées avec.
Excuse moi encore de me soucier de la qualité et de la sécurité des applications que j'utilise en dehors du vendredi.
[1]: http://cyclone.thelanguage.org/
[^] # Re: Craintes
Posté par barmic . Évalué à 4.
C'est un sujet très hautement trollifère car c'est une question à la quel on a jamais su répondre. Sachant qu'il faut aussi prendre en compte les choix des dévelopeurs. Tu ne peux pas obliger quelqu'un à coder en eiffel parce que c'est super sécurisé etc, alors que le gars ce qui lui plaît c'est le perl et qu'avec il coderas son application 100 fois plus vite (je ne fais pas référence à la qualité des deux langages mais aux connaissances du codeur fictif).
Le C comme le Fortan par exemple ont des qualité indéniables.
Les choix ne sont pas toujours judicieux, mais j'aime pas l'idée de dire « ça pue le C, code ça en Java t'auras moins de bug ».
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Craintes
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 8.
Les bugs en question (segfaults, corruption de mémoire, bugs de format string), tu les retrouverais pas si tu codais dans un langage à peine plus haut niveau, sans pour autant perdre des poils de bite en rapidité/efficacité.
Les bugs "logiciels" (genre t'écrase ton fichier au lieu de faire un append), c'est une chose que je laisse faire comme un grand.
Tu fais l'algorithme, c'est déjà pas mal.
Encore une fois, je ne dis pas que C pue parcequ'il est bas niveau, je dis que bien des codeurs puent, car ils codent en C du code qui pue alors qu'ils pourraient faire aussi bien et avec moins de bugs (segfaults, corruption de mémoire, etc) s'ils prenaient un langage plus adapté à la programmation "générale" (en opposition à "système/bas-niveau").
Je pense qu'Ada est un "C-like" déjà super bien par exemple (avec en natif concurrence et POO pour ceux qui veulent). Je cherche pas à faire passer tout le monde à OCaml, je cherche juste à avoir des logiciels de qualités écrits dans un langage qui fait abstraction de l'endianness de la belle sœur du programmeur.
[^] # Re: Craintes
Posté par Nicolas Boulay (site web personnel) . Évalué à 3.
"La première sécurité est la liberté"
[^] # Re: Craintes
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 3.
Quant au C, il me semble jusqu'ici particulièrement apte pour le calcul scientifique. Et on aura du mal à me convaincre de coder en python, perl, ou lisp pour ce genre d'algorithmes. Ai-je mentionné que je me préoccupe comme d'une guigne des failles de sécurité ?
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: Craintes
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 5.
Scheme ou Lisp, tu aurais tort de t'en priver.
Ça se compile, c'est rapide, ça gère les bignums, ça a une arithmétique en précision infinie, c'est fortement typé…
J'en connais plus d'un qui utilise ces langages pour du calcul scientifique…
Puis tu peux toujours insérer un coup de C dedans si t'en as vraiment envie (et même un coup d'assembleur si t'es vraiment à ça près)
[^] # Re: Craintes
Posté par Albert_ . Évalué à -2.
Soyons serieux s'il te plait. C'est une horreur de faire du scheme. J'ai eu le malheur que cela soit le langage qu'avait choisit les profs d'informatique comme premier langage. D'ailleurs je ne connais personnes qui l'utilisent encore et je n'ai jamais vu de logiciel scientifique en scheme. En Fortran, en C, en C++, en python, en perl mais en scheme je n'en connais aucun.
[^] # Re: Craintes
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 2.
En tout cas, si tu compares Scheme à ce que tu as vu en 1ère année dans ton cours "programmation récursive", alors c'est comme si après avoir essayé ton tricycle offert pour tes 3 ans, tu revenais plus tard, blasé, en disant "la moto, c'est nul. En plus, personne ne peut monter à deux dessus. Je le sais, je l'ai *pas* vu."
Tu ne connais personne qui utilise Scheme, moi j'en connais plein !
D'ailleurs,
- du Scheme, j'en ai fait en entreprise (c'était pas scientifique, je vais pas te mentir).
- du Common Lisp, j'en ai fait en entreprise (c'était scientifique. Du logiciel d'analyse financière jusqu'à l'étude de déformations de matériaux, en passant par le data-mining)
Scheme scientifique, t'en trouve pas mal chez les utilisateurs de Gambit-C. Même du jeu vidéo en Scheme d'ailleurs. C'est juste pas forcément du LL, et pas forcément des produits répandu.
Perl et Python, là, je me permet à mon tour d'être dubitatif…
(J'ai bien vu des API d'IA en python dans une de mes facs, mais les gars se plaignaient de la rapidité)
Allez, pour le fun, encore du Scheme : http://philosecurity.org/2009/01/12/interview-with-an-adware(...)
[^] # Re: Craintes
Posté par Albert_ . Évalué à -1.
ps: pas la peine de me filer des liens sur le scheme j'arrache les touches parentheses de me clavier des que je vois un truc s'en approchant...
[^] # Re: Craintes
Posté par Littleboy . Évalué à 2.
C'est vrai, tout le monde sait que la recherche, ca se reduit a l'astrophysique. Si t'en a jamais vu ou entendu parler, c'est que ca doit pas exister, en effet...
[^] # Re: Craintes
Posté par Albert_ . Évalué à 0.
Moi je peux t'en citer et pas que dans la discipline que tu cites, en fortran, c, c++, java, python, meme perl.
[^] # Re: Craintes
Posté par Littleboy . Évalué à 1.
"Petit con, tu me permets que je t'appelle par ton prenom n'est ce pas? Je tiens a te dire que cette fois je ne me laisserais pas impressionner par tes menaces et tes tentatives pour me faire partir de ce site. Tu peux continuer a faire le cretin et a croire que tu sais qui je suis. Ton comportement et ceux des copains de la secte microsoft(quoique se sont souvent des multis) ne font que confirmer mes dires sur le fait qu'il est dangereux de laisser trainer son identite sur le net."
[^] # Re: Craintes
Posté par Albert_ . Évalué à -2.
Bullying is repeated acts over time that involves a real or perceived imbalance of power with the more powerful child or group attacking those who are less powerful. (U.S. Dept. of Justice, Fact Sheet #FS-200127) Bullying can be verbal harassment, physical assault, or other more subtle methods of coercion such as manipulation.
Tu es amusant mais tu ne me fais pas peur malgre tes tentatives. Tu as repondus a un message dans un fil auxquel tu n'as pas participe un chouilla mais cela ne t'empeche pas de venir faire une attaque gratuite. ET en dehors de ce genre de comportement qui est du "bullying" en anglais tu n'as pas vraiment beaucoup d'argument en tout cas aucun visiblement concernant le sujet du message auquel tu repondais. Je sais bien que ce message va disparaitre sous les moinssages et que le tiens va avoir un +10 je ne suis pas inquiet sur le sujet. De tout de facon mis a part quelques rares personnes il n'y a plus que des windowsiens trainant ici. Les methodes de bullying applique ayant fait fuir les vrais utilisateurs de linux.
[^] # Re: Craintes
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 1.
Mais non. C'est juste qu'en général on essaye de se tenir à l'écart des fils de discussions risquant de dégénérer en troll. Par ailleurs, il ne faut pas devenir paranoïaque. Par exemple il ne me semble pas irréaliste et anormal que la majorité préfère la licence BSD à la GPL et refuse même d'entendre évoquer ses faiblesses. C'est la vie. On ne peut pas toujours avoir raison. Et par ailleurs, même en soignant au mieux son expression on arrive toujours, soit à écrire des inepties, soit à écrire des choses équivoques qui sont comprises de travers par les autres. Quand on s'en rend compte, il est tout juste temps de manger son chapeau pour mettre un terme à un échange devenu stérile.
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: Craintes
Posté par Littleboy . Évalué à 2.
Je reponds seulement a ton troll minable. Il y a plein de tes messages sur des sujets ou tu ne fait pas du troll systematique qui sont interessant (d'ailleurs c'est bizarre ils finissent a +4/5 alors que les autres sont a -10).
Te plaindre alors que tu debarques systematiquement dans les threads sur mono/windows pour raconter des betises ou troller, c'est tres drole... Insulter pBpG et balancer des infos persos sur lui, je suppose que c'est pour le bienfait de l'humanite?
tu n'as pas vraiment beaucoup d'argument en tout cas aucun visiblement concernant le sujet du message auquel tu repondais
Voyons, quel interet a repondre a ton troll...
Si on reprend le sujet au debut, ǝsɐʃdoıx∀ ıɥs∀ parle du scheme comme language possible pour le calcul scientifique et toi tu arrives pour cracher dessus.
Personne n'a parle de logiciel majeur ecrit en scheme a part toi, et surtout personne ne nie que fortran, c, c++, java, python, meme perl soient utilises dans la recherche. Ton seul argument c'est que tu n'en a jamais vu, donc tu trolles dans le vide, comme d'habitude.
Note: une simple recherche google t'aurais mene aux pages du MIT avec les projets de recherche utilisant du Scheme...
[^] # Re: Craintes
Posté par Albert_ . Évalué à 0.
Comme d'habitude avec vous que des affirmations mais pas de lien
Voila ce que l'on trouve sur les mails listes scheme.
http://www.rhinocerus.net/forum/lang-lisp/582469-lisp-numeri(...)
Je te laisse lire mais bon pour ceux qui ont la flemme. En gros scheme/lisp et calcul numerique cela est a peu pres inexistant.
J'attend donc un lien un vrai vers un gros logiciel de physique utilisant scheme. Je ne parle pas de d'informatique style IA (vu que schemen/lisp est principalement utilise pour cela) je parle de logiciel de calcul numerique.
[^] # Re: Craintes
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 4.
A moins que tu ne méprises profondément ceux qui font de l'informatique (dans le sens scientifique du terme), http://www.plt-scheme.org/ est un bon exemple de recherche académique avec Scheme.
[^] # Re: Craintes
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 3.
>> ps: pas la peine de me filer des liens sur le scheme j'arrache les touches parentheses de me clavier des que je vois un truc s'en approchant...
Ha oui, en effet.
Pas étonnant que tu n'aies jamais vu de gros code en Scheme…
Tiens, un jeu très marrant : http://www.quantzgame.com/quantz-le-jeu.html
Dans le monde de la recherche, il existe la recherche sur les langages de prog : et alors des projets de recherche en Scheme, y en a pas mal (qui vont reposer sur MIT Scheme, Gambit-C, Larceny, etc)… T'as aussi HOP à l'INRIA.
Je connais aussi des matheux qui font du calcul symbolique en Scheme (et d'autres en CL)
Du Scheme, t'en as aussi dans la finance, dans la gestion d'universités…
En revanche, là où je suis d'accord, c'est
1/ que c'est pas "mainstream"
2/ que c'est rarement mis en avant par les boites
Je ne te dis pas non plus que c'est "classique", je te dis que tu peux considérer le langage si t'es pas borné.
Un langage à la sémantique simple, qui se compile efficacement, qui s'étend les doigts dans le nez pour en faire un DSL, qui permet la prog orientée objet, qui peut avoir des exceptions, un gestion complexe du flux d'exécution (via call/cc), des threads, de la prog distribuée, des bindings pour le web, le graphisme, l'IA, l'audio… des debuggers, des IDEs, etc…
J'estime qu'il faut être ignorant pour se dire que C est forcément mieux adapté pour développer un logiciel.
Et je ne dis pas non plus que Scheme est mieux que tout, je dis juste encore une fois que C n'est pas *du tout* la panacée, et qu'il serait mieux pour les programmeurs (et transitivement pour les utilisateurs) d'utiliser des langages un peu plus pratiques.
Si t'as pas envie de faire de calcul numérique en Scheme, je te rassure, moi non plus.
Et j'ai pas envie d'écrire un jeu vidéo en C non plus. Mais si certains sont prêts à se faire chier avec C pour coder un jeu, on peut consciemment se faire plaisir à faire du calcul en Scheme. Le temps que tu perds à l'exécution, tu le gagneras sans doute dans le temps de développement. Et encore une fois, tu peux embarquer du C dans la plupart des Schemes, pour tes endroits critiques.
Bref, si je n'arrive pas à te convaincre (de toute façon, j'ai autre chose à faire), je souhaite juste que tu comprennes que Scheme n'est pas un gadget, aussi mauvaise et limitée qu'ait pu être ton expérience avec.
[^] # Re: Craintes
Posté par Albert_ . Évalué à 1.
Je n'ai jamais considere scheme comme un gadget juste comme le pire langage pour apprendre a programmer.
Je suis persuade que le scheme a des applications tres interessantes cela ne fait aucun doutes mais comme tu le dis pour le calcul numerique cela est vraiment un truc fais par quelques personnes dans leurs coins sans aucune diffusion.
Je redis bien: JE ne connais pas de code numerique en scheme utilise en physique. Maintenant je veux bien d'un lien qui pointe vers un truc comme lapack ou cernlib par exemple.
Et je n'ai pas dit que cela n'etait pas utilise en mathematique ou en informatique (je sais que c'est un des langages privilegie pour les IA). Mais meme le lien que tu fournis au dessus ne concerne pas des calculs bourrins numerique comme cela peut etre propose en fortran, C, java etc
[^] # Re: Craintes
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 3.
Moi aussi, j'ai ri/pleuré avec mes premiers cours de Scheme à la fac, alors que j'avais une formation autodidacte en ASM 80x86.
Puis un jour, j'ai eu des vrais trucs à coder, et j'ai appris la puissance de Scheme (et de CL) en pratique.
Pour les maths, t'as http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Dumpin(...) qui te liste
1. Ising: Computer simulations of the Ising model of spins using the Metropolis algorithm or the Wolff algorithm.
2. BLAS: Thin wrapper for level 1, 2 and 3 BLAS linear algebra routines for the Gambit Scheme system.
3. LAPACK: Thin wrapper for higher-level linear algebra routines for the Gambit Scheme system.
4. FFTW3: A wrapper for some FFTW3 functions for the Gambit Scheme system. (real, complex, multi-dimensional FFT functions)
Aussi, vctlib is released into public domain (BSD license). It is not as optimized as BLAS and LAPACK are, but vctlib still delivers C-like performance for most operations.
http://carretechnologies.com/scheme/vctlib/
Bon, ben si je dois *intégrer* de l'algèbre linéaire dans une appli, je pense que je vais faire le choix Scheme (ou ML, ou autre. Mon langage de choix dépend souvent de l'approche que je vais suivre pour la résolution du problème, en fonction de la facilité avec laquelle je peux représenter mes données et contraintes).
Quand à Scheme/Lisp pour l'IA, c'était vrai pendant le boom de l'"Inintelligence Artificielle".
Maintenant, que la mode est passée, et qu'on s'est aperçu qu'un bot n'allait pas tromper un humain juste en embarquant un interprète Prolog, les gens utilisent beaucoup plus R (pour le calcul) ou Python (pour une raison qui m'échappe, mais je connais pas le langage).
[^] # Re: Craintes
Posté par Albert_ . Évalué à 2.
Mon avis c'est que c'est facile dans le sens facile a apprehender tout en restant puissant. Les concepts sont classiques et si tu veux aller plus loin tu as toute une machine derriere qui permet de le faire. Les bibliotheques sont bien fournis, Le nombre de bindings est impressionnant. Cela permet aussi de faire du prototypage de facon tres facile en remplacant les parties lentes par du C/fortran sans tout casser. Et c'est lisible c'est a dire que en python pour avoir un code illisible il faut bosser dessus et ca c'est tres agreable.
[^] # Re: Craintes
Posté par lasher . Évalué à 4.
Concernant le calcul scientifique, tous les codes que j'ai vus passer depuis bientôt 4 ans sont écrits principalement dans 3 langages : Fortran, C, et C++. Avec parfois un peu d'assembleur pour faire bonne mesure (mais comme la plupart du temps il s'agit de programmes écrits par des physiciens, l'ASM quand je le vois, c'est généralement que je l'y ai mis).
Je ne dis pas que scheme/lisp/etc. ne sont pas faits pour ça, mais euh. Un peu quand même en fait. Plus exactement : faire un soft de CFD (Computational Fluid Dynamics) nécessite d'utiliser des bibliothèques/fonctions d'algèbre linéaire dense et creux. Jusque là, pas de problème, on peut utiliser n'importe quel langage. Mais quand on parle de logiciel de calcul intensif, le moindre cycle compte (au moins pour les fonctions les plus appelées), et là on commence à voir poindre pas mal de soucis, pour la plupart liés à l'architecture. De ce côté, Fortran et C(++) se débrouillent mieux bêtement parce qu'ils sont plus « bêtes » que LISP/Scheme/OCaml/etc.
[^] # Re: Craintes
Posté par Albert_ . Évalué à 5.
Ah ah ah! J'ose esperer que c'est une blague ou de la meconnaissance. Non le C n'est absolument pas adapte au calcul scientifique. Il est trop bas niveau et chiant comme pas possible pour la gestion de la memoire (par exemple). Le Fortran est adapte pour le calcul scientifique car il a ete fait pour cela mais malheureusement les etudiants apprennent plus souvent le C (les profs d'informatiques etant des ... informaticiens et non des physiciens) du coup il y a de plus en plus de logiciel dans ce langage avec de plus en plus de problemes ou les devs deviennent plus des programmeurs que des physiciens. Le Fortran il est vieux mais au moins il avait une caracteristique tres cool, il partait du principe que celui qui programmait voulait faire des maths (d'ou une ecriture quasi mathematique et donc lisible) et que c'etait un debile profond quand a la gestion bas niveau (a juste titre la plupart du temps) d'ou tout plein de mecanisme de protection qui empechait de faire des grosses betises sur le systeme.
[^] # Re: Craintes
Posté par Sytoka Modon (site web personnel) . Évalué à 4.
C'est faux ! Le fortran est un des plus vieux langage mais aussi un langage qui sais evoluer donc je lui prédit encore pas mal d'année devant lui.
Avec le fortran 90, on a la notion de type, de pointeur et d'interface, avec le fortran 98, tu as les attributs "allocatable", avec le fortran 2003, tu as l'héritage simple, avec le fortran 2008, on aura les tableaux distribués... J'oublie les boucles FORALL et les fonctions PURE ainsi que la possibilités d'écrire du Fortran comme du Pascal ou de l'Ada, les fichiers d'en tête en moins. Bref, que de changement depuis les premiers Fortran. A coté, le C est un langage qui sent carrément la poussière !
Bref, le Fortran n'est pas vieux, j'ai rarement vu un langage aussi jeune ;-)
[^] # Re: Craintes
Posté par Albert_ . Évalué à 2.
[^] # Re: Craintes
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
Pour le Fortran 2003, c'est vrai que les compilos n'ont toujours pas sortis l'extension sur l'héritage simple et pourtant, c'est pas si compliqué que cela, l'héritage simple, un CAST suffit ! Lorsque j'avais encore le temps de programmer, 1999, je faisais déjà de l'héritage manuel avec Fortran 95.
Un des problème de l'objet dans le calcul parallèle, c'est que c'est lent car souvent les attributs de deux éléments peuvent être loin en mémoire contrairement a une programmation plus "matricielle". Une voie pour s'en sortir serait peut être que le compilateur stocke les objets sous forme inversé, comme il est possible de le faire en Perl5. En objet inversé, les attributs sont stocké dans la classe et non dans l'objet ! C'est un peu bizarre comme concept au début mais, comme en Perl 5, on peut faire comme on veut, cette méthode s'avère pour le Perl assez redoutable ;-) Je ne vois pas comment on pourrait rendre cela efficasse pour un langage compilé comme le Fortran mais bon, j'aime bien ce concept d'avoir tout inversé.
[^] # Re: Craintes
Posté par Albert_ . Évalué à 3.
j'aime bien ce concept d'avoir tout inversé.
On s'en serait doute si tu aimes le perl :)
< / >
[^] # Re: Craintes
Posté par Tonton Th (Mastodon) . Évalué à 3.
Les named common, c'est les namespaces des variables globales, et c'est pas forcément le mal absolu...
[^] # Re: Craintes
Posté par Albert_ . Évalué à 2.
[^] # Re: Craintes
Posté par lasher . Évalué à 3.
Tu dis n'importe quoi. Le C est tout aussi bon que Fortran pour faire du calcul intensif/scientifique. Ou tout aussi mauvais, ça dépend du point de vue.
Il [le C] est trop bas niveau et chiant comme pas possible pour la gestion de la memoire (par exemple).
Le Fortran est aussi bas niveau que le C, avec en plus comme désavantage de cacher les pointeurs à l'utilisateur (certains pensent sans doute que c'est une bonne chose, mais quand il s'agit de faire de l'optimisation de code, c'est clairement un problème).
Là où je te rejoins, c'est qu'il propose un ensemble d'opération sur les tableaux assez pratiques (pouvoir faire tabC = tabA + tabB est quand même appréciable, sans avoir à faire de boucle ou autre).
Concernant la gestion de la mémoire, les codes que j'ai pu voir géraient *tous* la mémoire à la main, que ce soit en C ou en Fortran. La méthode est assez simple : gros allocate() ou gros malloc() en début de programme, puis on découpe à la main cette grosse zone mémoire entre les différentes structures de données à allouer. D'ailleurs le faire en Fortran est bien plus simple qu'en C, vu qu'il n'y a pas de notion de prototype de sous-routine/fonction. Du coup pas de vérification des types, notamment lors de l'appel d'une sous-routine (et donc, si le programmeur fait une erreur, il ne la verra que trop tard ...).
Tant qu'on se cantonne à du Fortran 77, au moins comme tout est alloué statiquement, on maîtrise réellement tout (et le compilateur peut faire des merveilles). À partir du moment où on glisse vers F90, le compilateur se retrouve avec les mêmes préoccupations qu'un compilo C. Sauf qu'en plus je trouve que la syntaxe pour utiliser des pointeurs est juste merdique (mais cet avis n'engage que moi, et c'est vrai que j'ai 8 ans de C derrière moi, forcément, ça me déforme un peu).
Bref, c'est quasiment bonnet blanc et blanc bonnet entre utiliser C et Fortran, en termes d'abstraction (je parle de F77 en particulier).
La plupart des codes industriels que j'ai pu toucher qui étaient écrits en Fortran l'étaient en Fortran 77 en grande majorité (avec parfois un peu de Fortran 90, mais presque rien du langage n'était réellement utilisé, juste les facilités pour les boucles, la déclaration des variables, ce genre de choses).
Ensuite, il existe tout un tas de classes de problèmes qui nécessitent du calcul intensif et qui se résolvent plus facilement en C qu'en Fortran. Le plus clair a trait à la cryptographie, avec tous les XOR qu'ils nécessitent (je ne dis pas que ce n'est pas possible en Fortran, juste que de ce que j'ai pu voir, c'est moins pratique).
Je peux même te dire que certains ont développé un environnement de calcul scientifique écrit tout en C++, avec tous les trucs crades possibles dedans (surcharge d'absolument TOUS les opérateurs, templates, etc.). Pas de classes par contre.
[^] # Re: Craintes
Posté par Albert_ . Évalué à 2.
Dans les calculs scientifiques les matrices et les tableaux sont tres utilise et il y a toute un machine en fortran qui fait cela de facon bien plus pratique (a mon gout) que en C.
Pour les pointeurs en fortran ce ne sont que des alias et pas des pointeurs et tu n'a pas acces a l'adresse de facon direct (toujours le principe que celui qui programme est pas un dieux du systeme et va donc faire des conneries). Je pense que leur utilisation sont plus une question d'habitude qu'autre chose mais il est vrai que cela est fait de facon tres parcimonieuse. Je pense que la principale raison c'est que contrairement au C ou tu n'as pas trop le choix de ne pas t'en servir en particulier pour la gestion des tableaux en Fortran c'est pas forcement tres utile.
Je peux même te dire que certains ont développé un environnement de calcul scientifique écrit tout en C++, avec tous les trucs crades possibles dedans (surcharge d'absolument TOUS les opérateurs, templates, etc.). Pas de classes par contre.
Ca doit etre propre pour s'en servir de se genre de truc...
[^] # Re: Craintes
Posté par lasher . Évalué à 2.
Que tu tapes
C = A + B
oufor (int i = 0; i < N; ++i) c[i] = a[i] + b[i]
le compilateur sait correctement optimiser la chose. Là où ça peut être trompeur, c'est quand tu fais des trucs du genreC = A * B
en Fortran, car ça ne fait pas du tout un produit matriciel, mais un produit membre à membre. Au final, tu te retrouves à devoir coder la plupart des noyaux de calcul d'algèbre linéaire à la main, et que ce soit du C ou du Fortran, la difficulté (et finalement la syntaxe) est plus ou moins la même.[^] # Re: Craintes
Posté par Albert_ . Évalué à 2.
[^] # Re: Craintes
Posté par lasher . Évalué à 2.
do i = 1, M
____do j = 1, N
________acc = beta * C(i,j)
________do k = 1,L
____________acc = acc + alpha * A(i,k) * B(k,j)
________enddo
________C[i,j] = acc
____enddo
enddo
En C, on aurait :
for (i = 0; i < M; i = i + 1)
{
____for (j = 0; j < N; j = j + 1)
____{
________acc = beta * C[i][j];
________for (k = 0; k < K; k = k + 1)
________{
____________acc = acc + alpha * a[i][k] * b[k][j];
________}
________c[i][j] = acc;
____}
}
(En se souvenant qu'en Fortran on est en column major, alors qu'en C on est en row major... Techniquement ça veut dire qu'il faudrait échanger toutes les boucles de mon code Fortran pour faire plaisir à la machine, ce qui rend le code beaucoup moins intuitif, de suite).
Déjà, je ne vois pas de grande différence entre les deux codes. Ensuite, les entrées sorties en C, c'est déjà pas la fête, mais en Fortran c'est carrément imbitable. Du coup je persiste dans mes dires : soit on parle de Fortran 77, et là comme tout est statique ou presque, effectivement il y a un gros avantage sur le C; soit on parle de Fortran 90 et plus, et là en gagnant des fonctionnalités, on perd en simplicité (logique), obligeant le compilateur à être plus intelligent, et du coup on ne gagne plus rien sur le C/C++.
[^] # Re: Craintes
Posté par Albert_ . Évalué à 2.
C'est amusant c'est exactement la meme reflexion que je me suis faite mais lors du passage Fortran -> C/Python... Je soupconne que c'est plus une question d'habitude qu'autre chose.
Par rapport a la lisibilite le petit exemple que tu donnes est en effet tout a fait equivalent mais malheureusement je connais des codes en C totalement illisible car utilisant au maximum les "raccourcis" d'ecriture. En Fortran c'est faisable de faire de code illisible mais une formule mathematique est generalement lisible comme dans un bouquin de math. Enfin les gouts et les couleurs...
[^] # Re: Craintes
Posté par GeneralZod . Évalué à 10.
Est-ce que c'est le cas pour le compilateur ? Je n'en suis pas sûr, mais LLVM a changé la donne.
Tant que GCC n'avait pas de réel compétiteur, GCC pouvait se permettre de ne pas offrir une architecture de plugins. Au fait, vous avez essayé clang-analyzer, l'analyseur statique de code fourni en tant que plugin de LLVM ? Ce truc est monstrueusement génial !
Le jour clang/llvm auront un support correct de C++, supporteront les plateformes principales presque aussi bien que GCC, beaucoup se poseront la question de changer de compilateur y compris parmi les libristes.
Les mecs derrière n'ont pas oubliés d'être intelligents et visionnaires et veulent continuer à faire de GCC le meilleur compilateur libre qui soit
http://gcc.gnu.org/wiki/GCC_Plugins
[^] # Re: Craintes
Posté par Etienne Bagnoud (site web personnel) . Évalué à 6.
"It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell
[^] # Re: Craintes
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 6.
[^] # Re: Craintes
Posté par Etienne Bagnoud (site web personnel) . Évalué à 6.
De nouveau la faute de BSD ça ... La licence BSD est vraiment la source de tous les maux de cette planète ...
"It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell
[^] # Re: Craintes
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
OpenSSH s'est imposé parce qu'il beaucoup mieux que telnet !
S'il y aurait eu un équivalent avec version GPL de réalisé à la place d'OpenSSH à l'époque, on utiliserait tous cette version de nos jours. D'ailleurs, j'ai utilisé ssh avant qu'OpenSSH n'existe ! Il ne faut pas refaire l'histoire, le truc génial, c'est le protocole SSH et cela, ce n'est pas OpenSSH qui l'a inventé mais Tatu Ylönen.
Lors du changement de licence de SSH, l'équipe d'OpenSSH a repris la suite en partant de la dernière version libre mais cela aurait pu être une autre équipe (voir OSSH) tellement SSH était bien. A partir du moment ou OpenSSH était très bien, pourquoi vouloir a tout prix en avoir un autre ?
http://www.openssh.org/fr/history.html
A noter qu'il existe tout de même lsh, une réalisation GNU GPL du client et du serveur que je n'ai pas testé depuis des années et que sous Windows, il y a l'excellent client putty qui a ma connaissance ne partage pas la moindre ligne de code avec OpenSSH.
lsh : http://www.lysator.liu.se/~nisse/lsh/
putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/
ossh : ftp://ftp.nada.kth.se/pub/krypto/ossh/
[^] # Re: Craintes
Posté par Jérôme Pinot (site web personnel) . Évalué à 5.
Si OpenSSH s'est imposé, c'est surtout du fait de sa qualité. Les p'tits gars d'OpenBSD s'y connaissent en sécurité, et c'est ce qui fait toute la différence sur leur implémentation du protocole.
[^] # Re: Craintes
Posté par Sytoka Modon (site web personnel) . Évalué à -2.
Ah oui ? Lesquelles ? J'aimerais avoir une solution qui marchait 10 ans en arrière. En 2000, il n'y avait qu'OpenSSH qui marchait. Ensuite, pourquoi changer de logiciel alors que celui-ci marche bien et continue son bonhomme de chemin.
Je n'aime pas trop le ton de ton post qui sous entend que parce que c'est fait par l'équipe d'OpenSSH, alors c'est forcément mieux que n'importe quelle solution car ils sont top moumoute ! Il font du bon boulot et c'est tant mieux !
Il se sont imposé car ils étaient organisé et ont su maintenir et faire évoluer le code de ssh tout en gardant en vue la sécurité. Ils ont commencé au bon moment. A partir de ce moment là, il n'y avait pas de raison d'avoir une équipe concurrente...
Il y a quand même des "trous" dans le protocole SSH, par exemple, les clefs n'ont pas de durée de vie !
[^] # Re: Craintes
Posté par Deuterium . Évalué à 2.
[^] # Re: Craintes
Posté par IsNotGood . Évalué à -6.
Pipo.
Gcc évolu, mais pas en rognant sur la liberté des UTILISATEURS (BSD se torche de la liberté des utilisateurs, mais seulement des développeurs (s'ils ont les sources... ce que ne garantit pas la BSD)).
RMS y veille. RMS en a rien à foutre des parts de marché, ce qui compte avant tout c'est la liberté de l'utilisateur. Si pour être populaire le libre doit être proprio, il a tout à y perdre.
[^] # Re: Craintes
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 2.
Ceci dit l'expression « se torche de la liberté des utilisateurs » est quelques peu familières mais n'est-elle pas une description juste et précise d'une partie de l'idée derrière les licences BSD ?
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: Craintes
Posté par windu.2b . Évalué à 8.
La phrase initiale* est tirée du mariage de Figaro, de Beaumarchais, et non du Figaro (qui l'a reprise comme devise).
* "Sans liberté de blâmer, il n'est point d'éloge flatteur"
[^] # Re: Craintes
Posté par Kerro . Évalué à 10.
Selon toi, les licences BSD sont plutôt utilisées par des personnes qui n'ont que faire des libertés des utilisateurs ?
Ah bon.
Pour ma part j'ai publié un petit morceau de code sous licence BSD (et GPL, les deux, mais ça ne fait pas taire ceux qui râlent sans n'avoir jamais rien codé). Il se trouve que je ne me fiche pas des libertés des utilisateurs. Par contre je me fiche qu'une entreprise se fasse de cxxx en or en utilisant mon bout de code. Grand bien leur fasse.
Va parler avec des développeurs *BSD. Il y a en en France, et l'un d'eux à eu une interview sur ce site. Si tu arrives à trouver dans leurs propos qu'ils se fichent des libertés des utilisateurs, tu as une grande carrière d'hypnotiseur devant toi :-)
[^] # Re: Craintes
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à -3.
Malgré son caractère graveleux, il faut chercher un sens plus subtil (oui la rédaction n'y encourage guère) à cet extrait. Il y est question de la liberté à long terme de l'utilisateur : dans quel monde vivra-t-il, de quel environnement logiciel pourra-t-il disposer, de quelles libertés informatiques jouira-t-il, etc.
De manière général on pourrait caricaturer le discours des tenants de la licence GPL (dont je suis) en affirmant qu'ils prétendent que choisir la BSD c'est choisir une vision de liberté à court terme et refusé l'engagement pour l'avenir. Le discours n'est en réalité pas aussi tranché car il peut parfois être utile d'utiliser d'autres licences que la GPL. Cependant, toute caricaturale qu'elle est, la phrase dont nous discutons reflète bien la position général des tenants de la GPL. C'est-à-dire : globalement choisir une licence BSD c'est choisir de ne pas s'engager et de ne pas combattre pour le maintient des libertés fondamentales en informatique. Je crois qu'il faut en être conscients. C'est, selon moi du moins, la limite claire des licences BSD.
C'est une positions philosophique et politique bien connue, et entre autre très clairement exprimée par Tocqueville dans De la liberté en Amérique : ceux qui ne combattent pas pour leur liberté et l'abdiquent pour un peu de tranquillité ne la méritent pas. Le choix de la BSD par manque de volonté me paraît donc forcément critiquable. Mais je ne suis pas si manichéens que je me permette de juger des choses dont je ne connais rien. D'autant que je n'ai moi même jamais vraiment contribué dans des codes importants pour le monde du libre.
Pour ce qui est de la question de qui se fait de l'argent avec quoi. Il me semble qu'elle n'est que très périphérique au débat. La GPL n'a pas pour vocation le communisme stalinien et la mort de toutes les entreprises. Bien au contraire, la GPL vise à organiser la liberté et le marché afin de prévenir certaines de ces vicissitudes les plus connues et les plus néfaste au progrès.
NB
Je n'ai pas l'impression d'être très clair. Mais pour résumé ce que je souhaitais partager :
mon impression c'est que écrire du code sous BSD c'est bien, en tout cas bien mieux que de ne pas publier, de ne pas se préoccuper du droit d'auteur, ou de publier sous une licence plus privatrice. Mais que publier sous GPL c'est bien mieux parce que cela témoigne généralement d'un degré d'altruisme et d'engagement pour autrui plus élevé et en tous cas nécessaire au bon fonctionnement de la société humaine.
De surcroît je tenais à préciser que ma défense de la licence GPL ne devrait en aucun cas être perçue en forme de jugement pour ou d'attaque contre qui que ce soit. Il me semble qu'il s'agit d'une opinion personnelle mais basée sur des éléments factuelles. (Et par ailleurs, il me semble qu'il serait néfaste de taire ces faits pour ménager la susceptibilité de ceux qui ne souhaitent pas s'en préoccuper. )
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: Craintes
Posté par Moonz . Évalué à 10.
> Mais que publier sous GPL c'est bien mieux parce que cela témoigne généralement d'un degré d'altruisme et d'engagement pour autrui plus élevé et en tous cas nécessaire au bon fonctionnement de la société humaine.
C’est la raison la plus stupide que j’aie jamais entendu parler pour défendre la GPL. Je code en GPL pour faire hype, pour « étaler mon altruisme désintéressé » (comme la confiture et la culture ?)
À moins que tu cherches à signifier que tous les BSDistes sont de sales égoïstes anomistes qui veulent détruire la société ?
[^] # Re: Craintes
Posté par beagf (site web personnel) . Évalué à 9.
La licence BSD mise sur le fait que techniquement le code ouvert est superieur au code fermer car plus il y a de personnes à regarder, vérifier et contribuer à un code meilleur il sera. Donc il n'y a pas besoin d'utiliser une licence complexe pour assurer l'avenir, technique ceux qui ne jouent pas le jeu finiront par perdre.
Au contraire la GPL c'est n'avoir aucune confiance en l'avenir et être persuader qu'une boite qui reprend le code pour en faire quelque chose de fermé fera mieux que ceux qui y contribuent de manière ouverte, et donc on préfère metre une licence qui empêche cette possibilité.
Mon point de vue c'est que je n'ai pas envie de faire de la politique quand je donne du code, mais juste partager de la technique, donc mon code je le publie sous licence BSD ou équivalente.
[^] # Re: Craintes
Posté par Kerro . Évalué à 7.
Tu exagères :-)
Je pourrais traduire en disant que la GPL ne fait pas confiance à la société (en dehors de ma vision des choses, c'est mal), alors que la BSD oui (faites ce que vous voulez, globalement ce sera bien même si il y a des pouilleux).
Dans mon esprit, la GPL est très bien lorsqu'on ne souhaite pas qu'une branche puisse devenir fermée. Que la raison soit bonne ou mauvaise.
Par exemple si je suis éditeur d'un logiciel libre et que j'en vis, je préfère publier sous GPL. Si un concurrent utilise mon code, il est obligé (théoriquement...) d'avoir un code ouvert, donc je peux piocher dedans. Si dans ce cas j'utilise la BSD, mon concurrent peu garder son code fermé: il profite de mon travail sans que je puisse profiter du sien.
[^] # Re: Craintes
Posté par beagf (site web personnel) . Évalué à 8.
La GPL le force à partager ses modification avec toi même s'il n'en a pas envie. L'idée de la BSD c'est que techniquement la meilleure solution c'est de partager donc pas besoin de le forcer à partager, il finira bien par le faire, ou alors ta solution ouverte attirera d'autre personnes qui ferons la même chose en mieux.
En gros (attention passage à fort caractère trollogène) :
- La GPL c'est "rejoin ma religion et tu profiteras de mon savoir" ;
- La BSD c'est "profite de mon savoir, tu finiras bien par rejoindre ma religion".
J'ai toujours choisit la licence BSD pour mon code tout simplement car je m'en fout que quelqu'un éssaye de faire du proprio avec, par contre si un mec dans une boite pense que mon code peut lui servir et l'intègre dans son logiciel avec quelques améliorations, peut-être qu'il m'enverra un patch ; et ça c'est pas possible avec la GPL.
Et je reste convaincu qu'un jour il n'y aura plus besoin de licence sur les code source car il ne sera même pas envisageable qu'il ne soit pas partageable ou que l'on puisse garder des modifs pour soit. C'est mon côté idéaliste...
Mais en matière de licences, chacun ses goûts.
PS: Pour alimenter les trolls, je rajouterais que j'ai jamais été fichu de comprendre toute la GPL tellement elle est imbitable (comme à peu près tous les document juridiques) donc je préfère mettre mon code sous une licence que je comprend et que me utilisateurs comprendrons surement eux aussi...
[^] # Re: Craintes
Posté par Nicolas Boulay (site web personnel) . Évalué à 1.
Unix, par exemple, car si un projet libre n'a pas intérêt à forker sans risque d'être marginalisé rapidement (imaginer un fork de linux...), ce n'est pas le cas d'un logiciel proprio qui ont besoin de se différencier, même si c'est sur la périphérie.
L'Unix proprio est mort de sa fragmentation.
J'ai aussi l'exemple de Spice, utilisé par tout les simulateurs de transistors au niveau analogique. Chaque fabricant a modifier l'interface et les fichiers de description de circuit sont tous incompatible entre eux !
"La première sécurité est la liberté"
[^] # Re: Craintes
Posté par psychoslave__ (site web personnel) . Évalué à 1.
Et l'entreprise qui se fait des couilles en or est-ce qu'elle respecte la libertés des utilisateurs ? Car c'est ça la différence profonde avec une licence copyleft, pas le fait de se faire ou non de l'argent avec une œuvre conçu par quelqu'un d'autre, mais le fait de préserver les libertés conférés à travers le temps.
Autrement dit, est-ce que tu te fiches que d'autres respect la libertés des utilisateurs (dont toi évidemment), qui plus est quand il utilise une œuvre de ton fait ?
[^] # Re: Craintes
Posté par Kerro . Évalué à 10.
Qu'est ce que ça peut te faire qu'un code que j'ai créé soit utilisé par une entreprise de manière fermée ? Ca t'enlève quoi ? Ca te prive de quoi ?
Le fait que Windows NT utilise la pile IP de *BSD ça t'a privé de quoi ?
Imaginons que la meilleure bibliothèque de calcul soit sous licence BSD. Imaginons qu'une entreprise esclavagiste-capitaliste-polueuse-nazie utilise cette bibliothèque et en fasse le meilleur logiciel de calcul de l'univers. Tout le monde se l'arrache.
Et bien ? Ca te prive de quoi ?
[^] # Re: Craintes
Posté par Etienne Bagnoud (site web personnel) . Évalué à -6.
D'un peu de calme sur Internet. C'est pas avec NetMachin de MS que Redmond aurait pu fournir aux pirates ces millions de zombies prêts à exploser ta boîte au lettre avec des spams.
Donc on peut ouvertement affirmer que la licence BSD est la cause originelle du spam.
"It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell
[^] # Re: Craintes
Posté par Moonz . Évalué à 4.
Remarque, tu as raison : sur ton IETFnet, tu aurais été tranquille des botnets sur le MSnet…
[^] # Re: Craintes
Posté par Joris Dedieu (site web personnel) . Évalué à 4.
Le fait que Windows NT utilise la pile IP de *BSD ça t'a privé de quoi ?
D'un peu de calme sur Internet. C'est pas avec NetMachin de MS que Redmond aurait pu fournir aux pirates ces millions de zombies prêts à exploser ta boîte au lettre avec des spams.
Donc on peut ouvertement affirmer que la licence BSD est la cause originelle du spam.
Je rappelle aux usagers de ce site que les gens normaux voient les commentaires notés négativiment comme repliés. Ce qui les prive de la lecture de cette remarque fort drôle.
Vivement que linuxfr change de système de notation.
[^] # Re: Craintes
Posté par Sytoka Modon (site web personnel) . Évalué à 1.
Si la société en face devient en situation de quasi monopole, si la société en face fait du lobby pour changer les lois a son avantage, tu peux tout perdre ;-(
La GPL n'empêche pas le profit, mais elle ne veut pas que le profit se retourne contre l'oeuvre originelle ni contre les utilisateurs. D'ou le copyleft.
Dans les couches bases, la licence BSD a aussi du bien car il a été montré que les industriels en utilisant le code et en le modifiant a leur usage ont finit par normaliser les usages sur internet.
Donc les deux licences sont bien, a chacun de choisir en fonction du contexte et de ce que l'on pense que sera l'avenir.
[^] # Re: Craintes
Posté par Kerro . Évalué à 5.
Mais tu perds quoi brdxl ?! Puisque le code de la bibliothèque est libre et ouvert, il ne tient qu'à toi de faire le même logiciel si tu y tient. Si tu ne l'as pas fait, et qu'une entreprise d'horribles capitalistes a bossé dessus, ne vient pas pleurer.
Cette entreprise au code fermé NE TE PRIVE DE RIEN. Si tu ne veux pas utiliser ses logiciels, alors c'est comme si elle n'existe pas pour toi. Et si tu veux tout de même payer pour les utiliser, alors tu as la chance d'avoir accès à un logiciel que le libre n'a pas pu te fournir.
Dans un cas tu ne perds rien, dans l'autre tu y gagnes.
Un changement de loi ne t'enlèvera pas l'accès aux codes libres. Ou alors on arrive dans une situation ou les lois sont hyper bricolées, et de toutes manières tu n'as plus aucun droit. Code libre ou pas, dans cette situation c'est la désobéissance civile qui s'impose.
[^] # Re: Craintes
Posté par Sytoka Modon (site web personnel) . Évalué à 1.
Essayons un autre exemple. Moi en tant qu'individus, je ne suis privé de rien mais imagine qu'un groupe dont pas mal de membre travaillent dans l'éducation nationale participe à une suite office libre type BSD et qu'une grosse boite pompe le code et impose sa solution a toute l'éducation nationale ! Sur que les mecs peuvent encore utiliser leur suite chez eux mais ce n'était pas complètement leur objectifs ! Dans ce cas là, le code peut tout simplement mourrir de ne plus être nourrie !
Vie d'un code : Un code qui n'évolue pas est à terme un code mort... Le code existe toujours mais il est tout simplement périmé, impossible à maintenir car trop de chose ont évolué. Pour que le code reste, il doit vivre donc évoluer. Si la boite te bouffe toute ta communauté, tu auras perdus ton code à terme. C'est juste un exemple.
[^] # Re: Craintes
Posté par dinomasque . Évalué à 4.
C'est arrivé avec Spip qui a été forké pour devenir Spip-Agora utilisé par les ministères. Spip était pourtant sous GPL et pas sous BSD.
Quand un concurrent sorte un produit meilleur (ou perçu comme tel) ce n'est pas la licence de son logiciel qui pourrait changer quoi que ce soit.
BeOS le faisait il y a 20 ans !
[^] # Re: Craintes
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
Je voulais prendre l'exemple de Mosaic mais Netscape n'était pas un fork de Mosaic et je ne suis pas sur que Mosaic était libre...
Bref, j'ai pas vraiment d'exemple en tête ou je sois sur. Il y a eu des craintes je crois du coté de Nessus ou de produits de ce genre mais là, je n'ai pas le temps de faire un coup de biblio pour vérifier tout cela ? Cela me rappelle le cas de Tripwire qui a quasiment disparu et je n'ai pas l'impression que les systèmes comme AIDE l'ont vraiment remplacé.
[^] # Re: Craintes
Posté par kowalsky . Évalué à 2.
A moins qu'ils ne soient partit travaillé dans la grosse boite...
[^] # Re: Craintes
Posté par Nicolas Boulay (site web personnel) . Évalué à 0.
C'est le principe du libre qui y perd. L'exemple typique est que malgré le coté hyper propriétaire friendly de la BSD, la grosse communauté est autour de la GPL. *BSD est un nain à coté de Linux.
La GPL ne fait pas confiance dans la nature humaine. La BSD si.
L'expérience montre que la GPL à raison. surtout si tu regardes le chiffres d'affaires des entreprises qui gravitent autour.
"La première sécurité est la liberté"
[^] # Re: Craintes
Posté par IsNotGood . Évalué à -3.
Et si Windows NT était sous GPL ?
Windows pourrait être sous BSD, d'un point vu utilisateur ça ne change rien (la BSD est proprio ou libre, avec MS elle est proprio).
S'il était sous GPL, ça changerait beaucoup. Je ne vais pas expliquer en quoi, car ... tu t'en fous.
[^] # Re: Craintes
Posté par psychoslave__ (site web personnel) . Évalué à -1.
Qu'elle utilise ou non un code libre à la base pour faire du logiciel non-libre, si je veux utiliser ce logiciel, je ne pourrait l'utiliser que dans les conditions que pose la dite entreprise.
[^] # Re: Craintes
Posté par kowalsky . Évalué à 5.
[^] # Re: Craintes
Posté par psychoslave__ (site web personnel) . Évalué à -1.
[^] # Re: Craintes
Posté par kowalsky . Évalué à 4.
Ba tu t'adresses à ton éditeur, comme pour tout les logiciels. Et si il ne répond pas à tes besoins, pourquoi avoir utilisé son soft et pas le BSD ? Mets des développeurs toi même sur la version BSD alors pour résoudre le problème, mais ça te coûteras chère.
En quoi ce problème change avec du code GPL ?
Si je rencontre un problème avec asterisk, je vais appeler Digium et leur dire :
"Hey ho, j'utilise votre logiciel, pourquoi le support de h323 n'est pas tip-top ? Magnez vous l'arrière train !!!"
et eux de me répondre :
"Ah pardon môsieur l'utilisateur, je mets une équipe dessus" !!
Bon, bien sur qu'en vrai, je vais devoir le faire moi même, mais Digium accepte difficilement les patchs, donc je vais devoir faire un fork et appliquer les patchs à chaque version parce que je ne peux pas faire tout le travail de Digium à coté...
Bref, c'est pareil, c'est le bordel de faire un fork en BSD ou en GPL.
Et le mythe du fork de code BSD pour faire du proprio qui devient mieux que le BSD, c'est pas courant, il faut arrêter de bloquer la dessus.
[^] # Re: Craintes
Posté par IsNotGood . Évalué à -3.
On parle quoi ?
Je parle de la licence. Dans la BSD (LA LICENCE !!!) il n'y a pratiquement rien pour l'utilisateur (contrairement à la GPL). C'est un fait, point barre.
Il y a des gens tout à fait charmant qui font du logiciel proprio ou qui le distribuent et ça rend service à l'utilisateur final !
Ce n'est pas pour autant que les licences proprio soient un cadeau pour l'utilisateur ni qu'elles défendent la liberté des utilisateurs (même si quelqu'un qui a Windows est plus libre que s'il n'y a rien du tout).
[^] # Re: Craintes
Posté par beagf (site web personnel) . Évalué à 8.
Il faut bien ce mettre dans le crane que ce sont deux licences différentes et que chacun choisit celle qu'il veut. Et le fait de choisir l'une ou l'autre n'implique pas que tu soit un gentil ou un connard.
[^] # Re: Craintes
Posté par Nicolas Boulay (site web personnel) . Évalué à 0.
"La première sécurité est la liberté"
[^] # Re: Craintes
Posté par barmic . Évalué à -2.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Craintes
Posté par Vivien MOREAU . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.