CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

"template library" et "copyleft license"

godrik
godrik
Niveau 30
03 juin 2011 à 20:36:14

Bonjour a vous,

Mon equipe et moi allons bientot mettre a disposition une bibliotheque C++ et nous reflechissons a la license sous laquelle la distribuer. Globalement nous cherchons a obtenir la propriete suivante:
"la redistribution d'une version (modifiee ou non) de la bibliotheque doit inclure la source de la bibliotheque (avec modification si lieu est) mais pas necessairement du programme en entier."
Ca a l'air de coller assez bien a la LGPL. Cependant la LGPL a l'air d'etre ecrite pour les bibliotheques partagees (dll sous windows, shared object sous linux). Mais notre bibliotheque est une bibliotheque template comme boost ou la stl qui n'a donc pas de shared object en tant que tel. Tout le code de la bibliotheque est compile directement dans l'executable final.

Avez vous deja rencontre ce cas d'utilisation ? Comment le traiter ?

Merci a vous,

tbop2
tbop2
Niveau 10
03 juin 2011 à 22:06:57

Tu as demandé à boost ?

tbop2
tbop2
Niveau 10
03 juin 2011 à 22:15:58

Excuse moi j'ai un peu mal lu.

http://www.boost.org/users/license.html

Ils ont développé leur propre licence je sais pas si tu as déjà jeté un coup d'oeil.

Durant mon dernier stage j'avais utilisé une bibliothèque appelé juce. On a vendu l'appli sans montrer le code après avoir acquéri la licence. Tout était compilé directement et mon code était lui aussi directement greffé au sein d'un template global.

Plus d'infos ici : http://www.rawmaterialsoftware.com/jucelicense.php

godrik
godrik
Niveau 30
03 juin 2011 à 23:15:57

si j'ai bien compris avec boost, si tu redistribue un binaire de l'application compile, tu n'as pas a fournir les sources et les modifications de la bibliotheque.

tbop2
tbop2
Niveau 10
04 juin 2011 à 00:03:23

Non tu n'as pas besoin normalement.

Mais regarde la licence de Juce ça correspond exactement à ce que tu demandes.

Normalement tu vends une licence GPL et une licence commerciale à côté.

station__bis
station__bis
Niveau 5
04 juin 2011 à 00:45:00

Tbop2 Voir le profil de Tbop2
Posté le 4 juin 2011 à 00:03:23 Avertir un administrateur
Non tu n'as pas besoin normalement.

Mais regarde la licence de Juce ça correspond exactement à ce que tu demandes.

Normalement tu vends une licence GPL et une licence commerciale à côté.

Exactement comme Mysql en gros.

station__bis
station__bis
Niveau 5
04 juin 2011 à 13:38:10

Mais en gros, sur ce genre de licence c'est plutôt la propriété suivante qui est appliquée :

1/ Si l'application qui utilise la bibliothèque (modifié ou pas) est vendu sans inclure le code source de celle-ci, alors ils doivent te payer une redevance.

2/ Si l'application qui utilise la bibliothèque (modifié ou pas) est vendu en montrant le code source de ta bibliothèque et non le code source de l'application, alors elle respecte la licence GPL et peut être distribué dans ce cas là (aucune redevance te sera faite)

1/ et 2/ sont toujours vrai si tu remplaces vendu par distribué librement.

Le point 2 s'applique également dans le cas où tout est distribué librement (tout le code source est dévoilé).

Bon ensuite, je peux surement me trompé vu que ça fait super longtemps que j'ai pas fais d'open source oO

guyver2
guyver2
Niveau 10
04 juin 2011 à 19:15:59

la redistribution d'une version (modifiee ou non) de la bibliotheque doit inclure la source de la bibliotheque (avec modification si lieu est) mais pas necessairement du programme en entier

ça à l'air de coller à peut près exactement à la LGPL. Elle ne se cantonne pas au bibliothèques partagées. J'ai moi même fait des dépots APP de logiciels complets en utilisant cette dernière comme licence.

Les gens font ce qu'ils veulent avec par la suite (logicel libre/payant/...) et la seule obligation est de donner accès aux éventuelles modifications apportées aux sources qui sont affectées par la licence. Ce n'est pas une licence virale comme la GPL.
Le fait que ce soit une bibliothèque template ne doit pas être si différent d'une bibliothèque partagée. J'utilise boost tous les jours sans jamais avoir touché au code même de la lib.

godrik
godrik
Niveau 30
04 juin 2011 à 19:57:57

Merci pour vos avis.

Boost est diffuse sous license boost (pas gpl ou lgpl) qui n'impose pas la redistribution du code de la lib.

godrik
godrik
Niveau 30
06 juin 2011 à 21:04:36

Bonjour a vous,

J'ai trouve deux threads sur la mailing list de la freesoftware foundation (url du premier post en fin de message) qui discutte de mon probleme. Il semble que la LGPL impose que l'on puisse changer l'implementation de la bibliotheque. Or avec du code a source ferme, changer l'implementation de la bibliotheque ne peut se faire qu'a travers un shared object. Ce qui n'est pas possible avec une bibliotheque template/header a la STL.

Il semble que la facon de faire proprement est de mettre le code sous license GPL avec une clause d'exception genre :

// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
//
// This exception applies only to the code released under the name GNU
// Common C++. If you copy code from other releases into a copy of GNU
// Common C++, as the General Public License permits, the exception does
// not apply to the code that you add in this way. To avoid misleading
// anyone as to the status of such modified files, you must delete
// this exception notice from them.
//
// If you write modifications of your own for GNU Common C++, it is your choice
// whether to permit this exception to apply to your modifications.
// If you do not wish that, delete this exception notice.

J'espere que cela pourra aider quelqu'un plus tard.

Merci encore pour vos avis

http://mailman.fsfeurope.org/pipermail/discussion/2006-October/006420.html
http://mailman.fsfeurope.org/pipermail/discussion/2006-October/006386.html

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment