Quel ne fut pas ma joie de voir un logiciel "gratuit pour ceux qui aiment les pubs sous Windows et *payant* pour les autres". Je l'ai décompacté et regardé. J'ai été surpris de voir du code Postscript (et oui c'est aussi un langage) en GPL et des fichiers au nom de gs_....pfb, comme ceux de ghostscript. En fait il semblerait qu'il maquille Ghostscript derrière un "clikodrome".
Avant de crier au loup, trois questions :
- quelqu'un peut il confirmer ou infirmer qu'il s'agit bien de fichiers de Ghostscript?
- le fait de mettre un front-end devant un logiciel GPL est-il une violation de la GPL?
- si c'est vraiment une violation, qu'est-on censé faire?
Aller plus loin
- le copiteur *supposé * (3 clics)
- Ghostscript (2 clics)
- fun: un serveur de page web en postscript (3 clics)
# Il s'agit bien de GS
Posté par Jérôme Nègre (site web personnel) . Évalué à 10.
Oui, d'après leur FAQ http://pdf995.com/faq.html(...) :
<extrait>
PDF995 refers to an unmodified version of GNU Ghostscript and also supports other Postscript-to-PDF converters. GNU Ghostscript is distributed under the GNU General Public License. You may obtain the source code for GNU Ghostscript here.
</extrait>
[^] # Re: Il s'agit bien de GS
Posté par Jul (site web personnel) . Évalué à 10.
J'aimerais savoir comment on fait pour lire la table des symboles pour une dll ou un exe sous windows. Comme ça éventuellement je pourrais vérifier qu'il n'appellent pas de fonctions exportées par ghostscript. Je me sens pas encore assez chaud pour désassembler le code.
Sinon, j'ai demander à un officiel de la FSFE chapîte France qui se reconnaîtra j'espère ce qu'on est censé faire. Il m'a dit la chose suivante:
Quand tu penses avoir à faire à une violation de la GPL fait la chose suivante :
- essaies de trouver les preuves par toi même,
- éventuellement discutes en avec l'auteur du logiciel,
- si tu penses avoir des preuves, discutes en avec le possible copiteur,
- et si les choses ne s'arrangent pas à l'amiable contacte la FSF.
Bref, lire
http://www.gnu.org/licenses/gpl-violation.html(...)
La raison est la suivante : ils ont très peu de moyens, il est donc nécessaire, (et je trouve sain) que les personnes apportent comme première contribution leur travail sur le sujet.
Pour ma part, après avoir bien regardé, je m'aperçois que je suis strictement incapable de pouvoir déterminer si le logiciel incriminé appelle ghostscript par un system() ou non.
Je me fous un peu de la licence remarquez, pour moi il n'y a peut être pas viol technique de la licence, mais il y a sûrement un viol moral de la licence. Bref, j'aime pas.
Plutôt que d'installer leur click'a click il existe une solution smart. Pour ceux qui veulent générer du pdf sous windows avec ghostcript voici un lien pertinent et utilisable :
http://www.cs.wisc.edu/csl/doc/howto/pdf_generation/index.html#writ(...)
[^] # Pour lire la table des symboles ...
Posté par Julien Guedon . Évalué à 10.
Il me semble aussi que le pack cygwin, et plus particulièrement le portage des 'binutils' offre objdump en version Win, qui permet lui aussi de vérifier les appels et les besoins.
[^] # Re: Pour lire la table des symboles ...
Posté par Tutur . Évalué à 7.
http://www.mingw.org(...)
Sinon, tu prend un editeur hexadecimal et tu recherches les noms de fonctions dans la dll.
[^] # Re: Il s'agit bien de GS
Posté par Obi MO (site web personnel) . Évalué à -1.
il te montrera tous les dessous de table.
un petit :
[monnier@bokado monnier]$ strace -o out.txt bash
[monnier@bokado monnier]$ xeyes &
[1] 21343
[monnier@bokado monnier]$ exit
exit
[monnier@bokado monnier]$ xemacs out.txt
et tu verras un beau :
[...]
stat("/usr/bin/X11/xeyes", {st_mode=S_IFREG|0755, st_size=11584, ...}) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
fork() = 21343
setpgid(21343, 21343) = 0
[...]
bon, comme c'est un fork, on n'est pas sûr de ce que le process fils fait, et c'est ce qui nous intéresse. Mais un system, tu le verrais. Je crois.
enfin bon, on perd rien à essayer, non ?
[^] # Re: Il s'agit bien de GS
Posté par Moby-Dik . Évalué à 10.
Déplace ou supprime tous les exécutables Ghostscript (*.exe) jusqu'à ce qu'il n'en reste plus un. Si le programme continue à fonctionner, c'est en toute logique qu'il se lie avec une DLL Ghostscript.
(pratique les extensions de fichier, non ? ;-))
[^] # Une autre solution pour "imprimer" des PDF sous Windows
Posté par Dolmen (site web personnel) . Évalué à 1.
n'est pas équivalente : pdf995 permet de générer des PDF directement depuis une quelconque application, y compris propriétaire, car il se présente comme une imprimante.
Personnellement, j'avais réussi à bidouiller une solution proche de pdf995 (d'après ce que je lis sur le site) en utilisant RedMon ( http://www.cs.wisc.edu/~ghost/redmon/index.htm(...) ) et GhostScript combiné au driver PostScript générique d'Adobe ( http://www.adobe.com/support/downloads/product.jsp?product=pdrv&(...) ). Il est important de bien sélectionner le fichier PPD (il me semble qu'il en a un qui est "générique" ou "standard"). Ca marchait avec le driver Adobe 4.2.x. La dernière fois que j'ai essayé, il y a deux ou trois ans, avec le nouveau driver Adobe 1.x (oui, la version 1 est postérieure à la version 4), Ghostscript avait des problème pour lire le PostScript généré.
Tout ceci permet probablement d'obtenir une meilleure qualité de reproduction que pdf995 car on utilise un pilote provenant directement d'Adobe.
Donc si vous tentez l'expérience, ou si vous voulez plus d'infos, contactez-moi.
dolmen .arobase. bigfoot .point. com
Mainteneur de LiquidPrompt - https://github.com/nojhan/liquidprompt
# Je crois que ...
Posté par Beretta_Vexee . Évalué à 10.
Rien n'interdit a un programme proprio, ou méme a un OS proprio de lancer un programme libre ou de lui passer des arguments, hors c'est plus ou moin ce que fait un frontend, le cas est courant pour beaucoup de logiciel libre comme Lame ou le codec MP3_Lame.dll avec les ripper de CD.
[^] # Re: Je crois que ...
Posté par Jerome Alet (site web personnel) . Évalué à 10.
examiner le contenu de l'archive avec les outils appropriés, avant de conclure, et le cas échéant envoyer un mail à license-violation@gnu.org
[^] # Re: Je crois que ...
Posté par Alberto . Évalué à 10.
[^] # Re: Je crois que ...
Posté par Laurent Mazet (site web personnel) . Évalué à 6.
[^] # Re: Je crois que ...
Posté par Jean-Marc Spaggiari . Évalué à 4.
JMS.
[^] # Re: Je crois que ...
Posté par Beretta_Vexee . Évalué à 10.
Ce qui n'est pas specifiquemant genant puisque que toute la partie libre reste libre.
Dans le cas present:
Si le programme repompe le code de ghostscript, c'est une violation de la GPL.
Si le programme et lié statiquemant a du code de ghostscript c'est encore une violation de la GPL.
Si il communique par des procedés XYZ avec ghostscript, sans le lier statiquemant ou par le biers de modifications faite a ghostscript dans le cadre de la GPL, il n'y a pas violation de la GPL .
Pour prendre un exmple concret,il existe un excelent decoder MP3 sous GPL appelé MAD, il est present dans de nombreux lecteur GPL, mais aussi sous winamp par le bier d'un plug-ins, les sources du plug-ins sont sous GPL mais pas Winamp, puisque celui-ci ne viole pas la GPL en utilisant une librairie dynamique libre/GPL. ( le plug-ins MAD n'est pas fournis par default avec winamp, faut aller le chercher sur le net, je precises pour ce qui le cherche ).
[^] # Re: Je crois que ...
Posté par Space_e_man (site web personnel) . Évalué à 3.
Par contre, lorsque le bon fonctionnement d'un logiciel non GPL (ou d'une de ces principales fonctionnalités) dépend de la présence d'un objet (logiciel) GPL, au point que ce dernier doit accompagner la diffusion du premier, alors, il y a bien, selon moi, en toute logique (la mienne donc ;), violation de la PGL.
[^] # Re: Je crois que ...
Posté par Florian Hatat . Évalué à 3.
Non. Même si l'exécution normale d'une application propriétaire dépend nécessairement de la présence d'un composant externe sous GPL, l'application en question n'est pas un travail modifié ou dérivé du composant sous GPL. Ce n'est pas comme un lien statique ou dynamique, qui entraîne la fusion des deux programmes, au moins dans leur forme compilée.
Mais je suis parfaitement d'accord avec toi quant à l'abus que ce contournement présente, et l'on peut considérer que la GPL n'a pas encore placé la barre assez haut dans sa protection.
Personnellement je pense qu'il est parfaitement immoral, mais légal, d'éviter ainsi les restrictions imposées par l'auteur. Cependant il est également impensable de modifier la GPL.
[^] # Re: Je crois que ...
Posté par DPhil (site web personnel) . Évalué à 10.
In what cases is the output of a GPL program covered by the GPL too?
Only when the program copies part of itself into the output.
et ceci
I'd like to incorporate GPL-covered software in my proprietary system. Can I do this?
You cannot incorporate GPL-covered software in a proprietary system. The goal of the GPL is to grant everyone the freedom to copy, redistribute, understand, and modify a program. If you could incorporate GPL-covered software into a non-free system, it would have the effect of making the GPL-covered software non-free too.
A system incorporating a GPL-covered program is an extended version of that program. The GPL says that any extended version of the program must be released under the GPL if it is released at all. This is for two reasons: to make sure that users who get the software get the freedom they should have, and to encourage people to give back improvements that they make.
However, in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program.
The difference between this and "incorporating" the GPL-covered software is partly a matter of substance and partly form. The substantive part is this: if the two programs are combined so that they become effectively two parts of one program, then you can't treat them as two separate programs. So the GPL has to cover the whole thing.
If the two programs remain well separated, like the compiler and the kernel, or like an editor and a shell, then you can treat them as two separate programs--but you have to do it properly. The issue is simply one of form: how you describe what you are doing. Why do we care about this? Because we want to make sure the users clearly understand the free status of the GPL-covered software in the collection.
If people were to distribute GPL-covered software calling it "part of" a system that users know is partly proprietary, users might be uncertain of their rights regarding the GPL-covered software. But if they know that what they have received is a free program plus another program, side by side, their rights will be clear.
Donc on a tout à fait le droit de faire un front-end closed source pour un soft GPL, ce qui a l'air d'être le cas, mais il me semble qu'ils doivent bien expliquer que leur distrib est composée de deux soft dont l'un est sous licence GPL.
[^] # Re: Je crois que ...
Posté par Beretta_Vexee . Évalué à 10.
Donc tous semble correct, les 2 programmes sont biens distinctes et peuvent méme étre remplacés.
[^] # Re: Je crois que ...
Posté par Jar Jar Binks (site web personnel) . Évalué à 0.
Je crois qu'il y avait déjà eu des discussions ici à propos d'un cas similaire concernant GNU Parted.
[^] # Re: Je crois que ...
Posté par DPhil (site web personnel) . Évalué à 7.
Extrait de la faq :
PDF995 refers to an unmodified version of GNU Ghostscript and also supports other Postscript-to-PDF converters. GNU Ghostscript is distributed under the GNU General Public License. You may obtain the source code for GNU Ghostscript here.
Le soft peut donc fonctionner sans Ghostscript et probablement utiliser Acrobat PDF Writer.
[^] # Re: Je crois que ...
Posté par Matthieu Moy (site web personnel) . Évalué à 7.
Dans le cas ou quelqu'un ferait un executable-librairie, cet executable serait relativement facilement réutilisable pour d'autres projets libres, donc, je ne vois pas de problème.
[^] # Re: Je crois que ...
Posté par Alberto . Évalué à 3.
Ce qui est difficile, c'est de passer des structures de données compliquées d'un process à l'autre (par exemple, essaye de passer un pointeur d'un processus à l'autre ... ça ne rime à rien)
C'est technique mais tu peux bien souvent lineariser/serialiser tes donnees. C'est d'ailleurs ce que tu fais si tu veux sauver ou faire passer sur un reseau.
Selon ma logique lorsque l'on depend d'une librairie ou d'un programme sous license gpl pour fonctionner alors on doit etre sous license gpl. Cette dependance peut se materialiser de differentes facons (link statique, link dynamique, appel de programme, appel de procedure a distance...). C'est d'ailleurs pourquoi je pense que pour diffuser certaines librairies il faut mieux utiliser des librairies sous license lgpl.
[^] # Re: Je crois que ...
Posté par Walraet Matthieu . Évalué à 3.
Sinon, je suis d'accord avec toi sur la license LGPL. Il faut penser aux pauvres développeurs qui n'ont pas la chance de faire du libre et qui sont bien embêtés quand ils trouvent une superbe librairie dont ils ont bien besoin et qu'ils ne peuvent pas utiliser parce qu'elle est en GPL.
C'est dommage pour la librairie en question, qui pourrait avoir plus de gens interessés pour la faire évoluer.
Je trouve qu'une librairie est bien plus "libre" en LGPL qu'en GPL.
Mettre une librairie en GPL se justifie si le but est de protéger une application en license GPL qui repose principalement sur la libraire en question.
Si c'est juste par principe, comme pour la libgtop, cela ne me semble pas très constructif.
Mais bon, l'auteur d'un logiciel a le droit de choisir la licence qu'il veut.
Matthieu.
[^] # Re: Je crois que ...
Posté par Code34 (site web personnel) . Évalué à 3.
Le but de la GPL n'est pas de restreindre l'utilisation des sources, mais de proteger les sources contre ceux qui veulent restreindre leur diffusion, accès, modification, ou bénéfices.
Le principe du logiciel sous GPL est simple: "Tu peux bénéficier des sources, et de ce qu'elles rapportent, car la connaissance se partage".
Le principe proprio est différent: "L'esclusivité d'utilisation d'un programme s'achète, et rémunère uniquement son auteur, car la connaissance doit resté secrète".
Dans la logique du logiciel propriétaire, il est évident que quand le développeur n'est pas l'auteur, il ne puisse pas jouir exclusivement des bénéfices d'un source.
@+
Code34
[^] # Re: Je crois que ...
Posté par Éric (site web personnel) . Évalué à 0.
Oui et non, c'est bien beau de dire ca. Mais si moi je transforme un soft libre en soft propriétaire nulle part je ne restreins quoi que ce soit sur le soft original. A partir du moment ou le soft original reste libre (je ne peux restreindre que des copies, jamais je ne peux rendre impossible les diffusions du code original), pour moi les restrictions que pose la GPL sur les distributions et modification sont là uniquement pour "restreindre" les modif à ceux qui font du libre, certainement pas pour garantir l'accès au soft original (cette garantie ne peut de toute facon etre enlevé).
La GPL est une licence politique et son but est bien de "contraindre" les gens à l'utiliser en cassant toute interaction entre libre et propriétaire. Je ne dis pas que c'est bien ou mal, chacun est assez grand pour juger, mais si comme tu ne le dis il s'agissait juste de garantir tes sources contre "ceux qui veulent restreindre leur diffusion, accès, modification, ou bénéfices" alors une BSD ou autre du même type suffit largement (car toujours tes sources seront accessibles sous cette licence à ceux qui veulent) (or il est clair que la GPL amène plus de restrictions)
[^] # Re: Je crois que ...
Posté par Alberto . Évalué à 0.
Pour mettre une lib en gpl, je pense que c'est un choix qui se respecte. Eventuellement tu peux vendre la meme lib sous une license autre...
[^] # Communication inter-composants
Posté par Moby-Dik . Évalué à 6.
Non, tu utilises CORBA, COM ou autre truc du même genre. En général tu as le choix de la méthode de communication, mais si tu n'utilises pas le mode inproc (similaire à une DLL), tu ne lies ton programme qu'avec la couche CORBA/COM, qui se charge de communiquer elle-même avec l'objet que tu appelles (qui est lui-même lié avec une autre instance de la couche CORBA/COM).
Les termes de la GPL deviennent de plus en plus difficiles à interpréter avec ce genre de choses. Il serait temps d'un petit toilettage ou au moins d'un examen en profondeur....
# Licence BSD
Posté par falbala . Évalué à -10.
Ca évite l'énervement et ça laisse plus de temps pour coder.
[^] # Re: Licence BSD
Posté par Beretta_Vexee . Évalué à -1.
-1
[^] # Re: Licence BSD : éclaircissements
Posté par olympien . Évalué à 2.
J'ai franchement des doutes sur cette license.
Mais je voudrai en avoir le coeur net.
Je ne vois pas non plus les faiblesses de la GPL.
Merci d'avance
[^] # Re: Licence BSD : éclaircissements
Posté par Delaregue . Évalué à 2.
La licence BSD n'impose aucune restrictions aux consommateurs et aux auteurs du produit. De ce fait, ils peuvent modifier et redistribuer le produit dans n'importe quelle forme, sans ou avec les sources et a n'importe quel prix. Cela donne au consommateur une liberte certaine.
Certains diront que c'est injuste que des entreprises ou particulier puissent reutiliser le travail des autres de cette maniere; les auteurs qui travaillent sur un produit sous licence BSD saventc ela et ont deja fait leur choix (eclaire).
Si ce dernier point est derangeant, il est preferable de distribuer le produit sous licence GPL. la licence GPL garantit que les sources seront toujours dispo au fil des modifications/redistributions. Personne ne peut s'approprier le code du produit.
De la a parler d'avantages et d'inconvenients, il n'y a qu'un pas que je ne franchirais pas. C'est une affaire de gout personnel.
As tu fais l'effort de lire les 2 licences? Il serait tres facile d'effacer tous ces "doutes" que tu as exprimes.
[^] # Re: Licence BSD : éclaircissements
Posté par Éric (site web personnel) . Évalué à 4.
La formulation pret à confusion. Meme sur une BSD ton source sera toujours accessible. C'est la copie modifiée qui peut ne pas l'être.
Je tiens à préciser car trop souvent je vois des "avec la BSD on peut restreindre ton logiciel" ou "le logiciel peut devenir propriétaire" ce qui n'est absolument pas vrai, le soft restera toujours sous BSD, par contre n'importe qui peut en faire une copie et faire ce qu'il veut de la copie, la communauté ne perdra rien (au pire elle ne gagnera pas les modifs faites, la nuance est de taille).
# Alerte !!! Hack Délirant !
Posté par Rafael Pinilla . Évalué à 3.
Je viens de réaliser, là.
Un type est allé faire attendre une requete sur le port 8080 par inetd, lequel appelle Ghostscript qui interprete alors un fichier postscript. Bien pensé pour contourner l'imposibilité pour Postscript de gérer les socket TCP/IP.
Alors, le bidule sert une page. Vraisemblablement pas grand chose de plus, mais c'est déjà une performance technique.
Bon, il y en a vraiment qui n'ont que ça à faire, mais là, c'est tellement saugrenu que j'applaudis !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.