IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Comment générer une installation pour un programme Qt LGPL commercial ?

  1. #1
    Invité
    Invité(e)
    Par défaut Comment générer une installation pour un programme Qt LGPL commercial ?
    Bonjour,

    D'après ce que j'ai compris de la licence d'utilisation de Qt 4.6 LGPL, il faut :

    1) - que le programme soit lié dynamiquement ( fournir les dll Qt [et leur code source à la demande])
    2) - fournir ses .o pour que l'utilisateur puisse recompiler le programme avec une autre version de Qt
    3) - inclure le texte de la licence LGPL dans son propre texte de licence


    A priori, la version commerciale évite tout cela... Elle coûte combien ?

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    Justement, la licence LGPL est tout à fait adaptée à ton problème:

    En effet, contrairement à la licence GPL, elle ne s'applique qu'à ma bibliothèque utilisée, et ne s'"étend" pas à l'application qui l'utilise:

    Si tu utilise une partie de code sous licence GPL, ton propre code doit être fournis sous licence... GPL, par contre, si tu utilise une bibliothèque fournie sous licence LGPL, rien ne t'empêche de fournir ton application (voire, pourquoi pas, une autre bibliothèque qui "profite" de ce que fournit celle qui est sous licence LGPL) sous... la licence de ton propre choix, y compris sous licence commerciale.

    Effectivement, tu dois clairement indiqué que la bibliothèque utilisée est sous licence LGPL, et, si tu la modifie, tu dois t'engager à fournir les sources modifiées, mais, hormis ce cas particulier, si les gens viennent à te demander le code source de Qt (dans le cas présent), tu peux, simplement, leur donner le lien pour le téléchargement, ou leur envoyer un support quelconque (CD / clé USB), en leur réclamant, au maximum, les frais de port et le prix du support.

    Mais rien ne t'empêche non plus, lorsque tu fait presser le CD / DVD d'installation de ton application, de rajouter dans un dossier particulier l'installateur de la version Qt que tu as utilisée, un peu à l'instar des installateurs de DirectX, Acrobat Reader ou autres framework que l'on trouve sur de nombreux CD/DVD

    La seule différence qu'il existe avec la version commerciale est, justement, que tu peux modifier le code source de Qt sans avoir à partager ces modifications, que tu peux ne pas fournir le code source de Qt et que tu peux ne pas t'engager à fournir celui-ci à demande, mais, encore une fois, cela ne s'applique que pour Qt, et non pour les bibliothèques ou les applications qui pourraient l'utiliser

    Sinon, pour répondre à ta question, j'ai en tête que la licence commerciale de Qt tourne aux alentours des 2 000 € (du moins, c'était le cas avant que Qt ne passe en LGPL).

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par koala01 Voir le message
    La seule différence qu'il existe avec la version commerciale est, justement, que tu peux modifier le code source de Qt sans avoir à partager ces modifications, que tu peux ne pas fournir le code source de Qt et que tu peux ne pas t'engager à fournir celui-ci à demande, mais, encore une fois, cela ne s'applique que pour Qt, et non pour les bibliothèques ou les applications qui pourraient l'utiliser

    Sinon, pour répondre à ta question, j'ai en tête que la licence commerciale de Qt tourne aux alentours des 2 000 € (du moins, c'était le cas avant que Qt ne passe en LGPL).
    Mon cas est : Qt LGPL non modifiée + mon code propriétaire utilisant Qt
    Dois-je fournir les fichiers compilés (.o) ou source ? Ci c'est le cas, mon code n'est plus vraiment fermé...
    J'ai du mal a comprendre comment deux licences (LGPL + propriétaire) peuvent cohabiter dans un même logiciel et comment séparer les fichiers...
    Malgré les DLL de Qt externes, il y a bien un peu de Qt dans mon exe ?

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par MarcNop Voir le message
    Dois-je fournir les fichiers compilés (.o) ou source ?
    pour moi non. mais attend confirmation.

  5. #5
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    C'est Qt qui est LGPL, pas ton application...

    Si sources on te demande, c'est donc celles de Qt que tu dois fournir, non celles de ton application.

    C'est aussi simple que cela.

    Effectivement, il y a, fatalement, un peu d'utilisation de Qt dans ton programme (autrement, tu n'utiliserais sans doute pas Qt ), mais c'est ton propre code, et tu le fournis sous la licence que tu veux.

    Quant à la cohabitation des deux, c'est *relativement* simple: dans les termes de ta licence, tu rajoute "simplement" un nota proche de
    Nota: La bibliothèque Qt utilisée pour partie de l'application est sous licence LGPL, reportez-vous au fichier licenceLGPL.txt pour plus de précision
    avec, bien évidemment un fichier licenceLGPL.txt qui... reprend les termes de la dite licence.

    d'un autre coté, la solution "la plus simple" pour fournir à qui le souhaite le code source de Qt prend la forme d'un sous dossier "particulier" proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    racine CD
        |- autorun
        |- truc
        |- machin
        |- application
        |    |-arborescence éventuelle de l'application
        |- others
        |    |- directX
        |    |    |-redistribuable directX
        |    |- acrobat reader
        |    |    |-installateur Acrobat Reader
        |    |- Qt
        |    |    |- installateur Qt (LGPL)
        |    |- ... (tous les autre "petits plus")
    Si quelqu'un souhaite disposer du code source de Qt, il n'a "plus qu'à se servir"

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 705
    Points
    705
    Par défaut
    Bonjour,
    Citation Envoyé par yan Voir le message
    pour moi non. mais attend confirmation.
    Pour moi aussi il me semble que les .o n'ont pas à être fournis, et encore moins le code source de ton appli. Surtout que moi, étant sous Windows-MVS, je n'ai pas de *.o mais des *.obj... qui sont totalement dépendant de ta plateforme et de ton compilateur... Je ne vois donc pas grand intérêt à distribuer ce genre de fichier...

    J'ai du mal a comprendre comment deux licences (LGPL + propriétaire) peuvent cohabiter dans un même logiciel et comment séparer les fichiers...
    C'est pour cela que les bibliothèques en LGPL doivent être liées dynamiquement... elles restent ainsi séparées des tes binaires.

    Malgré les DLL de Qt externes, il y a bien un peu de Qt dans mon exe ?
    Certes, mais ce code là t'appartient, celui qui ne t'appartient pas c'est celui qui permet de générer les bibliothèques Qt...

  7. #7
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    wikipediadevrait te permettre de comprendre le princpe LGPL (désolé, mais la version francophone est moins complète )

  8. #8
    Invité
    Invité(e)
    Par défaut
    Ok, merci pour toutes ces réponses...

    Et pour livrer du code propriétaire sous Linux ? (Qt en LGPL et mon code propriétaire) Il y a tellement de versions de Linux qu'il faut le recompilier pour chaque version de Linux... et comment recompiler sans livrer ses sources ?

  9. #9
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Citation Envoyé par MarcNop Voir le message
    Ok, merci pour toutes ces réponses...

    Et pour livrer du code propriétaire sous Linux ? (Qt en LGPL et mon code propriétaire) Il y a tellement de versions de Linux qu'il faut le recompilier pour chaque version de Linux... et comment recompiler sans livrer ses sources ?
    Hé bien non, c'est là "l'astuce"

    Il y a, effectivement, beaucoup de versions de linux différentes, mais, de manière générale, un exécutable compilé pour fonctionner sous debian like (ubuntu / knoppix ou autre) fonctionnera sans problème sur un système linux de type gentoo ou mandriva, pour autant qu'il soit compilé pour "la bonne architecture" (il ne sert pas à grand chose d'essayer de faire fonctionne une application compilée en 64 bits sur un système 32 bits )

    La seule différence réellement marquante qui peut exister entre ces différents système tiendra, en réalité, dans le gestionnaire de paquetage utilisé, et, éventuellement, dans le numéro de versions des bibliothèques tierces installées.

    Il ne sera donc pas nécessaire de compiler ton application sur chacun des systèmes pour lesquels tu envisage de la fournir, mais, par contre, il s'agira veiller à ce que la manière dont tu la rend disponible (on pourrait simplifier en parlant de "système d'installation") soit compatible avec les différentes distributions de linux envisagées.

    Il n'est pas inenvisageable non plus de fournir ton application sous double licence: une licence commerciale sous windows, une licence plus "permissive" (pas forcément GNU/GPL) sous linux... Cela pourrait t'aider à améliorer ton application beaucoup plus rapidement

    Le tout, sans compter sur le fait qu'il est tout à fait possible de faire du commercial avec les logiciels sous licence GPL, en faisant payer, non pas le logiciel, mais le service qui lui est associé (regarde les grandes distributions commerciales comme Mandriva, RedHad ou autres: la grosse majorité des applications fournies le sont sous licence GNU/GPL, et les distributions en respectent les termes en fournissant le code source sans difficulté, mais ce que l'on paye, c'est le service que rendent ces distributions dans le cadre de l'utilisation du logiciel )

  10. #10
    Invité
    Invité(e)
    Par défaut
    D'autres réponses :

    En 2008, c'est à dire avant le rachat de Trolltech par Nokia, une licence Qt commerciale pour PME coûtait 1800€ si mes souvenirs sont bons.

    1) OK. Qt fourni le code source donc t'as pas à te soucier de ça.
    2) Fournir juste un package de tes sources suffit.
    3) Ok.
    Citation Envoyé par MarcNop
    Je croyais justement que la différence entre GPL ou LGPL était que l'on fournissait les sources, ou pas...

    Si on ne veut pas fournir ses sources, il faut donc obligatoirement passer par la version commerciale de Qt ? En fait il faut leur acheter une licence et on peut continuer à travailler avec l'outil de développement que l'on a, non ?
    C'est Qt qui est en LGPL . La LGPL n'est pas héréditaire.Tu n'as donc pas besoin de fournir ton code si tu en as envie.
    Par contre, si tu modifie Qt, la personne qui utilise ton soft doit pouvoir accéder au code des modif.
    Voila ce que dis la licence LGPL en français :

    * transmettre aux destinataires tous les droits que vous possédez,
    * expédier aux destinataires le code source ou bien tenir celui-ci à leur disposition,
    * si vous liez du code à la bibliothèque, leur fournir des fichiers objets complets, de telle sorte qu'ils puissent les lier de nouveau à la bibliothèque après l'avoir modifiée et recompilée,
    * leur remettre cette Licence afin qu'ils prennent connaissance de leurs droits.
    En fait l'intérêt de la licence LGPL c'est de pouvoir lié Qt à un logiciel au code source fermé à condition de :
    - Mettre à disposition le code source de Qt donc pas de soucis vu que Nokia le fait pour toi
    - Fournir les .a (Mingw gcc) ou les .lib (MS) pour que la personne puisse recompiler ton soft
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment générer une matrice de rotation pour un axe et un angle donnés ?
    Par Kromagg dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 20/07/2009, 12h45
  2. Réponses: 9
    Dernier message: 09/02/2008, 20h00
  3. Réponses: 1
    Dernier message: 18/06/2007, 16h10
  4. Comment faire une variable pour tout le programme ?
    Par Nico128 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 04/06/2007, 08h48
  5. Comment créé une "interface" pour mes programmes??
    Par alcazar dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 09/02/2004, 13h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo