Questions sur la licence à utiliser pour mes FI

Désolé pour ce pavé, il est un peu long et technique… Mais bref, commençons.

Je commence à me poser des questions sur les licences à utiliser pour mes FI. Elle sont toutes, je pense, sous licence GNU GPL. Avec le recul aujourd’hui, je ne sais pas si c’était une bonne idée…

À l’époque, je me disais que de toute façon, mon code n’avait rien de spécial, que mes histoire n’étaient pas spécialement extraordinaires et que n’importe qui pouvait s’en servir, vu la quantité de gens qui auraient cette envie.

Maintenant que l’idée de vendre (ou au moins de distribuer de manière plus « officielle ») certaines de mes FI me trotte dans la tête, je ne suis plus sûr de la licence à choisir.

Déjà, est-ce que vendre sur l’App/Play Store une FI qui est disponible gratuitement sur le net est une bonne idée ? J’imagine que si je suis transparent, il n’y a pas de problème (sauf peut-être pour la viabilité, mais c’est une autre question).

En tout cas, j’aimerais que la source de la majorité de mes FI reste publique et que n’importe qui peut s’en servir et s’en inspirer, vu qu’il n’y a pas tant de sources I7 en français disponibles que ça. Concernant le texte, le scénario, les personnages, j’aimerais maintenant être moins permissif (pas grave si tout le monde peut les voir, mais je ne veux plus trop autoriser les gens à les utiliser).

En gros, la question est :

Quelle(s) licence(s) utiliser pour que mes codes restent libres (ou en tout cas visibles par qui le veut sur le net), tout en protégeant suffisamment le texte et le scénario, et en faisant en sorte que mes FI soient « viables » commercialement ?

Pour l’instant, je pense à du Creative Commons BY pour mon code, mais je ne sais pas trop pour le texte et le scénario. Peut-être du CC BY-NC-ND (pour être plus restrictif : personne ne pourra se faire de l’argent sur mon texte, ni le modifier) ? Mais c’est peut-être trop restrictif ? Et est-ce que je peut mettre deux licences à ma source ? (une pour le code et une pour le texte.) Ou alors la GPL c’était bien ?

Après, je pense qu’on ne peut pas révoquer la licence, donc toutes mes anciennes FI resteront en GPL (ou alors on peut révoquer, mais toute personne en possession d’une copie sous GPL pourra toujours l’utiliser en tant que tel, ce qui ne change pas grand-chose).

Enfin, qu’en est-il de l’exécutable ? Comment les licences choisies s’y appliquent-elles ? Par exemple, Creative Commons déconseille ses licence pour des logiciels.

Je me casse peut-être la tête pour rien, mais bon. Merci à ceux qui pourront m’éclaircir !

C’est une question intéressante, que l’on retrouve souvent au niveau des jeux vidéos… Pour des jeux classiques, avec graphismes, musiques et sons (« assets » en anglais), c’est plus simple de séparer tout cela bien entendu, vu que l’on peut publier le code sous une licence libre, et les « assets » sous une licence « propriétaire » (je ne dis pas « sous une licence plus restrictive » car la GPL en elle-même a des restrictions et des obligations, contrairement à la licence BSD qui est bien plus permissive).

Pour une FI, ça va être plus difficile de séparer le code et les textes du jeu, vu qu’ils sont intrinsèquement liés. Je ne sais pas s’il est possible de dire « ce qui est code est sous licence BSD, ce qui est texte est sous licence CC-BY-ND », mais une possibilité est de passer ton code final dans un script qui va séparer le code et le texte (ça sera sans doute facile, le contenu est entre guillemets), mais ça va engendrer divers problèmes : ton code n’est jamais final, donc il faudra garder trace de 2 sources différentes, les tiennes, et celles que tu veux publier. C’est plus simple d’avoir une source unique. L’autre problème c’est que ça ne rendra pas ton code très attrayant à lire, du coup ça ne servira peut-être pas grand chose de publier une telle chose.

D’ailleurs on voit que les licences pour des logiciels classiques ne s’adaptent pas très bien pour des jeux et autres créations artistiques.

Une solution intermédiaire est d’avoir la source dans 2 fichiers et de publier le moteur, et tout ce qui concerne les mécanismes du jeu sous une licence (par exemple CC-BY-SA), et les objets, les personnages, les scènes, sous une autre licence (par exemple CC-BY-ND ou CC-BY-NC), comme cela le code restera lisible dans son intégralité. Utiliser des licences Creative Commons avec des variations permet de garder une certaine cohérence.

Dommage qu’Inform7 ne gère pas ce cas de figure avec plusieurs fichiers, je crois qu’ils font ça comme des extensions mais je ne trouve pas ça très élégant.

(GNU GPL, c’est celle qui interdit l’inclusion dans un truc qui n’est pas lui-même GNU GPL ? Me souviens plus.)

Personnellement mes jeux sont en CC-by-nc-nd, je crois pas que ça pose problème… Y’a peut-être la situation « quelqu’un fait un jeu commercial et me prend un bout de code sur mon site » qui est trouble (alors que j’ai envie de l’autoriser tant que c’est des petits bouts - y’a pas une licence CC avec exceptions petits bouts ? Le fair use peut-être, mais c’est du droit américain…).
(y’a même quelqu’un ici qui, après avoir demandé l’autorisation, avait remixé « Les espions ne meurent jamais » à partir du code source pour le transposer en enfer x) )

Question commercialisation, Porpentine avait fait une sorte de bundle de ses jeux, qui étaient tous sortis gratuitement. Et j’aimais beaucoup la démarche : « voici tous mes jeux + quelques petits jeux inédits + des director’s notes + d’autres petits trucs, et soutenez-moi aussi ».
(Après, version ignoble : « voici mon jeu en licence libre avec mon code en licence libre, par contre il est pas bêta-testé et pas finissable à cause d’un bug malencontreux, je sors une version bêta-testée payante la semaine prochaine » :stuck_out_tongue: )

Non c’est l’inverse : si tu inclus un truc sous GPL, tu es obligé de mettre l’intégralité de ton projet sous GPL (me semble en tout cas). C’est en partie la raison pour laquelle je regrette mon choix. À l’époque, j’étais encore jeune, je m’étais dit : « Eh, c’est une licence libre, on va utiliser ça ! » Sinon, comme on ne peut pas révoquer la licence, je peux toujours laisser en GPL, mais donnant le choix à l’utilisateur d’utiliser le Creative Commons à la place s’il le souhaite (il me semble que ça se fait).

Pour ce qui est du problème code/texte, ça me ferait vraiment c**** de devoir tout séparer dans deux fichiers. Je ne vois pas trop ce qui empêche de dire dans la source : « Les chaînes de caractères sont sous la licence patati, mais le reste est sous la licence patata. » À part peut-être le fait que certaines chaînes ne doivent pas compter, comme la grammaire ou les messages standard. Est-ce que je peux posséder des droits sur « nager » ou sur « il n’y a pas assez d’eau pour nager ici » ?

En tout cas, Emily Short l’abait fait pour Counterfeit Monkey :

Pour ce qui est de la commercialisation, à part le « soutenez-moi », je vois pas vraiment. Je pourrais mettre des images, mais l’interpréteur iOS ne les supporte pas, des commentaires, mais je ne vois pas trop ce que j’ai à dire… À la limite une nouvelle ou quelque chose du genre qui se passe dans le même monde, pourquoi pas ?

Ah ouais ? On pourrait savoir où se procurer cette merveille ? ^^ (c’est sûr que quelqu’un pourrais me prendre ma source intégralement et changer tout le texte, mais ça reste relativement difficile d’adapter. Pour les espions, c’est plus facile, puisque c’est un one turn game.)

C’était Thesmallgamers et on a perdu la toute dernière version du jeu malheureusement, mais j’avais mis un lien sur l’IFDB. Je sais pas si quelqu’un avait essayé de lui envoyer un mail au moment où on s’est rendu compte qu’on ne pouvait plus télécharger le jeu…

Du coup ça fait la même chose, comme dit Mule hollandaise la GNU GPL interdit bien d’inclure du code sous gpl dans un projet non GPL (mais il y a peut-être des compatibilités avec des licences similaires).

comme tu en es l’auteur, tu peux redéfinir ton travail sous la licence que tu veux je pense, a fortiori vers une licence plus libérale que la GPL (BSD, creative commons…)

Oui, en effet, j’ai mal lu…

Pour ce qui est de changer la licence, je peux, mais si quelqu’un possède une ancienne version qui était sous GPL, alors il aura toujours le droit de l’utiliser en GPL. Donc même si je mets en CC-BY-NC, n’importe qui pourrait quand même vendre des bouts de mon code ou de mon texte sous prétexte qu’il les a pris d’une ancienne version de la source, qui était en GPL.

Pour la séparation code/texte, au pire des cas je mets tout en CC BY-ND-NC, en précisant que si quelqu’un veut prendre des morceaux de code, il peut s’il me le demande (de toute façon, même s’il ne le demande pas, je m’en fiche un peu…).

En fait, selon Creative Commons, il n’est pas recommandé d’utiliser leurs licences pour des logiciels. Je ne suis pas certain de ce que ça veut dire. Ça concerne l’exécutable seulement ou aussi la source ? J’avoue être un peu mélangé…

oui, bien sûr. Je proposais surtout le changement vis à vis de la possibilité pour un auteur de faire ce qu’il voulait de la partie « code », sans contrainte liée à la GPL. Par rapport à la partie « création » (tes textes), je pense qu’il ne faut pas en faire grand cas, on veut des fois se préserver l’exclusivité de sa propre création (ce qui est légitime), mais dans les faits, je pense qu’il y aura peu d’abus malgré tout.

Au niveau des CC, je trouve qu’elles sont bien adaptées à des jeux. D’ailleurs c’est fait pour protéger des créations artistiques de toutes sortes : musiques, BD etc. S’ils dissuadent de l’utiliser pour des logiciels, ça concerne plutôt des logiciels créés justes en C par exemple un utilitaire de dessin. Pour les FI, on obtient un fichier de jeu, lisible par un interpréteur, un peu de la même manière qu’un fichier musical va être lu par un lecteur de musique, aussi les CC me semblent idéales pour ça. En plus, ça oblige celui qui réutilise ton code ou ta création à te créditer. Dans le pire des cas, si quelqu’un repique ton jeu pour le revendre ailleurs (plateforme de téléchargement), il sera obligé de faire figurer que c’est à partir de ton travail. Mais si tu mets NC il ne pourra pas, et ça n’empêchera pas quelqu’un de bonne volonté de te contacter pour un autre usage (par exemple pour vendre un magazine avec ton jeu dedans)

C’est une question classique dans les différents lieux de discussion sur les jeux libres. Tu peux regarder notamment du côté de la section Legal & Business du forum FreeGameDev.
Par exemple le topic Monetizing copyleft projects ou le sujet fleuve Is it possible to make money?.

J’ai personnellement un peu d’expérience à ce niveau là, c’est un sujet que j’ai déjà bien potassé et très souvent discuté (sur FreeGameDev, #freegamer, #godotengine…). Ma conclusion est qu’il ne faut pas se prendre la tête, mais se poser la question : qu’est-ce qui est le plus important pour toi ?

Choix 1 : Tu veux à tout prix empêcher qu’on te vole ta propriété intellectuelle.

C’est un soucis rationnel, à partir du moment où l’on cherche à commercialiser un projet, il se pose la question de comment s’assurer l’usufruit de sa création, et de préférence sur le plan monétaire. La solution la plus simple est de laisser son projet sous une licence propriétaire, et de ne pas diffuser les sources. Ça n’empêche pas éventuellement des crackers de virer les potentielles DRM et de diffuser le jeu sur Internet, voire d’en vendre des copies pirates à des clients un peu trop crédules, mais ça réduit le risque.

S’il est important pour toi que tout le monde puisse avoir l’accès aux sources (sans forcément avoir le droit de les utiliser, comme par exemple avec une licence CC BY-ND-NC (qui est l’équivalent CC du « pas de licence »/« propriétaire » avec tous de même le droit de diffuser l’oeuvre originale gratuitement)), le risque augmente automatiquement. Même avec une licence restrictive, quelqu’un de mal intentionné pourra toujours prendre le code source, le compiler et vendre ton jeu. Personne n’ira vérifier (en particulier pas Apple), et ce sera à toi de faire la chasse aux contrefacteurs, à contacter le support de l’Apple Store ou de Google Play pour leur demander de retirer ces copies illégales.
Si tu utilises une licence moins restrictive (par exemple la GPL, ou encore moins restrictive une licence de type MIT/BSD), alors ce risque augmente mécaniquement encore, puisque ces copies peuvent maintenant être faites de façon légale. La GPL te donne une marge de manoeuvre contre ces copies, puisque tu peux attaquer ceux qui diffuseraient ton jeu au prétexte qu’il n’en distribuent pas le code source (si c’est le cas). Avec une licence de type MIT/BSD, tu ne peux rien faire.

La question principale est au finale là : quelle est le risque dans chacun de ces cas de figures ? De mon expérience, quasiment nul. Combien de jeux sous licence libre trouves-tu en vente dans les magasins ou différents stores virtuels, sans que cela ne soit initié par les développeurs officiels de ces jeux ? Pas beaucoup. Il y a quelques exemples :

  • SuperTuxKart, un jeu libre plutôt populaire depuis de nombreuses années, est parfois trouvé en vente sur différentes plateformes. Un exemple récent : forum.freegamedev.net/viewtopic.php?f=17&t=6877
  • FlightGear: wiki.flightgear.org/Frequently_asked_questions
  • Lugaru, jeu initialement propriétaire dont le code source a été libéré suite à un Humble Bundle. Wolfire Games a peu après rédigé un article sur son blog (je n’ai plus la référence sous la main, mais c’est trouvable) dénonçant que de nombreuses copies pirates de Lugaru étaient ensuite apparues sur l’Apple Store, utilisant le code source libre et les assets de la démo. Ces assets étant non libres, ces copies étaient illégales et Wolfire a du contacter Apple pour les faire retirer à plusieurs reprises, mais il n’empêche que la disponibilité du code source a rendu ces copies plus faciles à faire par n’importe quel ado de 13 ans.
  • Probablement divers autres exemples.

En contrepartie, il existe des jeux libres qui sont distribués commercialement et avec plus ou moins de succès, et qui n’ont pas l’air particulièrement inquiets de voir leur propriété intellectuelle volée :

  • Tales of Maj’Eyal (GPL): te4.org, téléchargeable gratuitement sur le site officiel (sources incluses), et également en vente sur ce site et sur Steam et GOG. Ces ventes sont considérées comme des « donations » qui donnent accès à quelques bonus minimes (+ quelques DLC en vente également, eux non libres a priori). Il serait a priori assez facile de prendre le moteur de jeu T-Engine4 et de concevoir sa propre histoire (ce que beaucoup font dans la communauté officiels de modding par ailleurs), et de vendre le résultat. Je n’ai pas vraiment de tels jeux commerciaux pour l’instant, et surtout ça n’a pas l’air de gêner le développeur qui l’encourage.
  • Wyrmsun (GPL): store.steampowered.com/app/370070, un jeu sous licence GPL pour le code, CC0 et CC BY pour les assets. Il était jusqu’à il y a peu en vente pour 5€ sur Steam, ce qui marchait plus ou moins bien (assez bien pour financer la création de nouveaux assets sous licence libre en tout cas). L’auteur a néanmoins récemment passé le jeu en gratuit sur Steam avec des DLC cosmétiques, dans le but d’attirer plus de joueurs pour faire grandir la communauté d’utilisateurs (et potentiellement de co-développeurs).
  • Monster RPG 2 et Crystal Picnic (zlib): Deux jeux libres qui sont aussi vendus sur Steam. Leur code source à néanmoins été retiré de GitHub par l’auteur, mais ayant contribué à ses projets, je dirais que c’est plus qu’il est un peu lunatique, pas forcément par peur de voir ses jeux vendus par d’autres. J’ai par ailleurs fait des copies du code source avant qu’il le retire : github.com/LibreGames/monster-rpg-2
  • Hyperrogue: store.steampowered.com/app/342610, celui ci utilise un modèle intéressant puisque la version Steam est toujours en avance par rapport à la version libre ; pour avoir la toute dernière version, il faut donc payer, mais on est assuré que le nouveau contenu sera libéré petit à petit.
  • SuperTuxKart a un système de « pack pour donateurs », qui contient de très beaux circuits inédits sous licence CC BY-NC-SA, qui ne sont accessibles qu’aux donateurs. À chaque nouvelle version de STK, ces circuits sont intégrés dans le jeu complet (et passent donc sous licence CC BY-SA), et de nouveaux circuits sont créés pour le pack donateurs.
  • etc.

Mon post est déjà trop long et bien confus, donc je vais abréger un peu.

Choix 2 : Tu veux garder une licence libre à tout prix, et si possible faire un bénéfice en vendant tes jeux

Dans ce cas c’est très simple. Reste bien loin des clauses NC et ND qui rendent effectivement tes jeux non libres, et utilise plutôt une licence de type GPL qui te donne plus de contrôle sur l’utilisation qui peut être faire de ton jeu. La GPL t’assure que les potentiels jeux dérivés du tien devront aussi être libres, donc ton jeu aiderait à la diffusion de nouvelles fictions interactives libres, et donc dans une certaine mesure à l’essor de tes propres jeux (plus de bons jeux, plus de joueurs, plus de clients). Et pour les contrefacteurs qui de toute façon se contrefichent de la licence, tu peux tenter de faire retirer leurs jeux de plateformes commerciales s’ils ont enfreint les termes de la GPL.

Comme je l’ai dit, le risque de se faire « voler » sa propriété intellectuelle comme ça est relativement faible. Et d’autant plus lorsqu’il s’agit de fictions interactives qui, il faut se l’avouer, sont vraiment une niche sur le marché du jeu indépendant. je n’ai pas joué à tes jeux et je me trompe donc peut être, mais à moins d’avoir une qualité extraordinaire qui en ferait un des grands hits du marché, tu n’as pas de soucis à te faire.

C’est tellement plus simple de rester sous une licence 100% libre telle que la GPL, et d’essayer de trouver des modèles économiques un peu originaux (voire mes exemples ci dessus) plutôt que de vouloir à tout prix tout verrouiller pour se protéger. Le libre, c’est aussi accepter la diffusion commerciale de son travail par d’autres. C’est ce qui en fait la force et l’attrait. Si c’est un peu qui te gêne grandement, alors oui garde ton code sous licence propriétaire ou CC BY-NC-ND, mais il ne sera dès lors pas libre (ce qui est aussi OK, c’est juste un autre choix).

Voilà pour mon pavé confus, j’espère qu’il y a 2-3 points intéressants entre les lignes :wink:

Ouah, je n’en demandais pas tant ! Merci beaucoup.

Sérieusement, je n’ai pas vraiment peur qu’on me « vole » mes FI (ou en tout cas pas mes FI actuelles ; ce ne sera peut-être pas le cas si je fais un gros projet). Disons juste que je ne vois pas trop pourquoi quelqu’un achèterait une de mes FI sur l’App Store alors qu’il peut super facilement y jouer gratuitement sur iFrotz. Je cherche encore quel genre de bonus je pourrais mettre pour motiver quelqu’un, à part le « soutiens-moi ».

Ce que je cherchais à protéger, c’était plus le texte que le code.

Et comme je l’ai dit, je ne suis pas fan de la GPL parce que ça force quelqu’un qui utiliserait du code à moi à aussi mettre le sien sous GPL.

Enfin bref, mes FI actuelles resteront entièrement libres (texte et code) pour le moment. Je verrai bien si ça fonctionne. Et puis, tout est purement hypothétique pour l’instant. :slight_smile:

(et puis bon, les différents stores pullulent de clones de jeux alors que ces derniers ne sont pas libres, rien n’empêche les gens de voler, que ton jeu soit libre ou pas.)

Pour te soutenir. J’ai souvent contribué à des logiciels ou jeux libres pour aider les développeurs à continuer leur travail.
D’autre part, avec le système des « stores », les gens prennent les jeux qui sont facilement accessibles, ou dont ils ont entendus parler. Ils ne vont pas forcément chercher à « contourner » le système mis en place, l’avoir directement depuis l’app store est une facilité, tout le monde n’est pas forcément à l’aise pour récupérer un interpréteur, et ouvrir un jeu avec, même si ce n’est pas très compliqué.

Enfin, tu peux ne distribuer la version compilée que via un store, et mettre le code source à disposition, ce qui fait que seuls ceux qui savent le compiler pourront le faire. C’est couramment utilisé (ex : gcompris gcompris.net/buy-fr.html )

Du contenu supplémentaire par exemple (des chapitres en plus).

oui, moi non plus je n’aime pas que l’on me force la main.

Oui, j’y ai pensé, mais disons que compiler un jeu Inform 7, c’est sensiblement plus facile que de compiler du C++ (et ça fait aussi moins peur, quand on voit la différence de syntaxe entre les deux). Pour ce qui est de la facilité d’utilisation, certes, mais comme mes FI sont jouables facilement en ligne ici (mais ça reste moins pratique).

En tout cas, merci beaucoup ! Je pense que j’ai eu tout ce que je voulais. Je reviendrais sûrement quand j’aurais quelque chose de plus concret !

C’est « facile » de compiler une FI pour éviter d’avoir à la payer sur un Store, mais comme Otto le laisse entendre, ça concernerait peut être 0,1% des utilisateurs. À part les enfants et ados qui ont pas un rond, je pense que la plupart des joueurs adultes sont tout à fait prêts à payer quelques euros pour jouer à un jeu plutôt que de chercher à tout prix à le contourner en compilant ça soi-même.

Comme Otto l’a cité c’est le modèle qu’utilise gcompris, et c’est pareil pour Aseprite: aseprite.org/ Ce dernier est vendu à 20€ sur Steam alors que c’est très facile à compiler, et ils ont pas mal de succès commercial (je sais pas dans quelle mesure, mais je connais pas mal de développeurs qui ont acheté Aseprite).

(Steam Spy dit 10000 ventes, soit 100 000$ !..)

Je comprends mieux pourquoi tout le monde se bat pour être sur Steam, greenlight et compagnie, ça brasse pas mal d’argent quand même…