Journal J'ai testé pour vous : la création d'un jeu pour Firefox OS

Posté par  (site web personnel) . Licence CC By‑SA.
53
30
nov.
2014

Sommaire

Bonjour Nal,

Profitant d'un petit moment de répit entre l'envoi de mon manuscrit de thèse et la préparation de la soutenance, j'ai décidé d'assouvir mon besoin de coder. Et si possible, un truc n'ayant rien à voir avec ce que je peux faire au boulot. J'ai donc voulu coder un petit jeu en Javascript dans le but de le faire tourner sur Firefox OS. J'ai ainsi porté Pweek, un jeu que j'avais développé avec un ami il y a 2 ans pour Android. Ce jeu avait été développé en Java avec libGdx. Malheureusement, il n'y a pas de JVM pour Firefox OS, et les applications doivent donc être écrites en HTML+JS. Heureusement, le Javascript a bien évolué ces dernières années et il y a des tonnes de frameworks à disposition.

Je vous propose ici un résumé des grandes étapes pour le développement d'un jeu pour Firefox OS mais surtout de mes impressions. Je ne vais donc pas parler spécifiquement de mon jeu. J'espère que ce journal poussera certains d'entre vous à se lancer, car ce n'est pas compliqué.

Prise en main d'un framework

Je me suis lancé dans la recherche d'un framework pour développer des jeux HTML. J'ai tapé naïvement sur mon moteur de recherche quelques mots clefs et puis je me suis lancé sur Phaser. Je n'ai pas pris le temps de tester les alternatives, vous trouverez une liste ici : http://html5gameengine.com/

J'ai commencé par suivre le tuto : http://www.photonstorm.com/phaser/tutorial-making-your-first-phaser-game et c'était super simple. Puis j'ai parcouru la liste des exemples, j'ai joué un peu avec et je me suis dit que c'était pas mal. Vous trouverez également un tuto sur le site de mozilla

Développement du jeu

Pour le développement, un bon petit vim accompagné d'un navigateur et ça roule. J'utilise la commande "python3 -m http.server" pour servir les pages, ça fait le boulot. C'est quand même plus sympa que de devoir se lancer un gros Eclipse… Pas besoin de compilation, on teste en rafraichissant la page de son navigateur, c'est plaisant. Et pour tester sur device, pour commencer on peut simplement se rendre sur l'url du jeu. En plus les débuggueurs de Firefox et Chrome sont pas mal, c'est assez sympa à utiliser. Je regrette de ne pas avoir pris le temps d'outiller d'avantage mon code avec un Google Closure ou équivalent (je ne connais pas trop les outils à la mode n'ayant plus fait de JS depuis plus de 3 ans). Car franchement, se prendre des erreurs à l'exécution qui n'auraient pas dépassé la phase de compilation en Java, c'est pénible. Peut-être devrais-je m'intéresser à Typescript ?

Création du manifest et test sur smartphone

Bon, une fois le jeu fonctionnel dans un navigateur, passons au packaging pour Firefox OS. Pour cela, il faut créer un fichier manifest.webapp qui contiendra le nom, la version, la description, le chemin des icônes, le fichier index, les privilèges, l'orientation, etc. Rien de vraiment difficile, vous trouverez des infos sur les pages de mozilla. Faites attention aux privilèges, c'est la partie un peu sensible, n'utilisez pas le type privileged si vous pouvez éviter.

Pour vérifier que tout est ok, vous pouvez utiliser le WebIDE disponible dans Firefox. Vous pourrez alors envoyer votre projet sur votre téléphone et vérifier que tout est ok. Simple, efficace, j'étais plutôt satisfait. Pour débuter, il vaut mieux lire la doc quand même : https://developer.mozilla.org/en-US/docs/Tools/WebIDE (pour la partie udev surtout).

Envoi sur le Marketplace

Une fois prêt, il ne reste plus qu'à l'envoyer sur le Marketplace ! Concrètement il faut juste faire un zip du projet avec le manifest à la racine. Je regrette l'absence d'un bouton dans le WebIDE pour obtenir directement l'archive, j'ai perdu du temps à essayer de comprendre qu'il fallait faire un zip et que je ne devais pas faire un sous-dossier mais tout mettre à la racine.

Rien de particulier à signaler pour la création du compte développeur. Par contre pour la soumission, tout n'est pas parfaitement clair avec des warnings qui font inutilement peur (genre j'ai pas demandé le son mais Phaser est capable de l'utiliser… on se demande s'il ne faut pas demander la permission quand même). Et pour la publication d'un jeu, il faut remplir tout un questionnaire. Comparé à Google Play, j'ai trouvé cela un peu plus long et un peu moins pratique. Mais surtout, l'appli doit passer à travers un review manuel ! Compter plusieurs jours pour que votre appli puisse effectivement se retrouver sur le market, même si vous ne l'avez pas rendu public encore. M'étant trompé sur une ligne de mon manifest, j'ai eu à renvoyer le jeu une seconde fois. Environ 4-5 jours au total.

Mes impressions sur le Marketplace.

La partie dev est pas mal. Je n'ai pas de critique négative à formuler. Mais par contre, la partie utilisateur que vous pouvez tous tester en vous rendant sur https://marketplace.firefox.com/ a encore une bonne marge de progression. Je ne m'en était pas vraiment rendu compte au début car je cherchais juste des applis de base.

Lorsque vous vous rendez sur le Marketplace, vous avez une première page qui vous propose des applis, c'est pas trop mal. Vous avez ensuite le choix entre les onglets "Récentes" et "Populaires" :

  • L'onglet "Récentes" deviendra complètement inutilisable le jour où Firefox OS sera utilisé par un plus grand nombre de personnes. Mais pour l'instant, il y a tellement peu d'applis proposées que ça permet aux geeks de voir les nouveautés, donc c'est plutôt sympa. Si le nombre d'applis augmente, il faudra peut être que Mozilla trouve un moyen de dégager tous les déchets (avec des filtres éventuellement, si je veux une appli récente avec une note moyenne correcte, basée sur au moins 5 notes).

  • Puis vous avez l'onglet "Populaires" qui liste j'imagine les applis les plus téléchargées. Ah tiens, on ne peut justement pas savoir combien de fois une appli a été téléchargée ! C'est pourtant super utile pour savoir quand on tombe sur une appli quelconque si elle est vraiment utilisée… Mais pour moi le vrai problème c'est que vu qu'on a le choix entre "Récentes" et "Populaires" alors les applis Populaires sont les plus installées et donc elles restent dans les plus populaires, etc. C'est comme ça qu'on retrouve dans "Populaires" plusieurs applis avec des notes minables (3/5). Mais pourquoi ils n'ont pas fait en plus un onglet "Les mieux notées ?" ?! Au moins on pourrait découvrir des applis de qualité.

Je vais maintenant repasser sur mon expérience en tant que développeur : les stats de téléchargement. Au lancement je me suis retrouvé dans la liste des applications récentes. Donc naturellement j'ai eu pas mal de téléchargements. Plus de 200 installs par jour les 2 premiers jours. Mais ensuite, la position de mon jeu dans la liste des nouveautés n'a cessé de chuter (normal) mais cela a un effet catastrophique sur le nombre de téléchargements. En l'espace d'une semaine je suis tombé à 20-30 installs par jour. Et c'est là que j'ai remarqué un manque fondamental dans le Marketplace : les suggestions ! Lorsque vous consultez la description d'une appli, on ne vous dit pas : "hey, regarde ces applis elles pourraient t’intéresser !", "hey, les gens qui ont consulté/installé cette appli ont consulté/installé ça" ou encore "hey, applis du même auteur !". Donc, maintenant que mon appli n'est plus dans les nouveautés et qu'elle n'est bien sûr pas dans les applis les plus populaires, comment les gens vont tomber dessus ? Ce qui est bien avec Google Play c'est que tu vas découvrir des applis que tu ne cherchais pas spécialement, ici ce n'est pas possible.

Pour les curieux, le jeu est téléchargeable ici : https://marketplace.firefox.com/app/pweek et fonctionne sur Firefox OS et Firefox Desktop. Attention avec l'install dans le navigateur, si ça lag affreusement, c'est sans doute une option cachée à (dés)activer dans votre firefox.

Et pour ceux qui aiment les stats, je vous invite à consulter les stats du Marketplace. Nous retiendrons la présence de 5000 développeurs, avec en moyenne une appli par dev, plus de 95% d'applis gratuites, moins de 20 nouvelles applis par jour et plus de 40000 installations d'app par jour.

Pour la suite

J'ai testé sur mon ZTE Open C, le jeu tourne mais rame un peu par moment. Je n'ai clairement pas tenté d'optimiser, je vais devoir m'en occuper. J'ai des pistes pour l'optimisation des effets et réutiliser certains sprites au lieu de les recréer, mais il faut aussi que j'optimise le code avec des outils. Ensuite, je compte finaliser un autre jeu que je proposerai aussi sur Android (car c'est facile de faire un apk d'un jeu HTML, plusieurs outils existent).

Je m'interroge également sur toute la partie monétisation. Les applis payantes ça marche sur Apple car les gens qui déboursent 700 euros dans un téléphone sont capables de débourser quelques euros pour une appli. Sur Android il faut bien marketer le produit si on veut réussir à le vendre, le plus simple est probablement de mettre de la pub ou des achats in-app. Sur Firefox OS je suis sceptique. Les utilisateurs d'un téléphone à moins de 100 euros ne vont peut être pas débourser de l'argent dans une appli, et les utilisateurs de Firefox OS sont plutôt réfractaires à la pub j'imagine… Donc en l'état, pour moi développer sur Firefox OS c'est surtout pour le plaisir et enrichir la liste des applis disponibles. Mais cela pourrait être un problème pour Mozilla sur le long terme.

  • # Serveur web

    Posté par  . Évalué à 4.

    C'est bien nécessaire d'utiliser un serveur web ? Je n'ai jamais fait de développement Firefox OS mais pour du HTML + JS, c'est statique donc je préfère passer directement par le système de fichier (file://). D'ailleurs, une fois sur le téléphone, ce n'est pas comme ça que ça marche ?

    • [^] # Re: Serveur web

      Posté par  (site web personnel) . Évalué à 10.

      C'est une bonne question, et la réponse est oui. Version courte : si tu utilises file://, tu ne pourras pas charger de manière asynchrone les assets.

      Sur la doc de phaser, on trouve cette explication :

      It's to do with the protocol used to access the files. When you request anything over the web you're using http, and the server level security is enough to ensure you can only access files you're meant to. But when you drag a file in it's loaded via the local file system (technically file://) and that is massively restricted, for obvious reasons. Under file:// there's no concept of domains, no server level security, just a raw file system. Ask yourself this: do you really want JavaScript to have the ability to load files from your local file system? Your immediate answer should of course be "not in a million years!". If JavaScript had free reign while operating under file:// there would be nothing stopping it loading pretty much any file it fancied and sending it off who knows where.

      Que je traduirais grossièrement par :

      Ceci est en lien avec le protocole utilisé pour accéder aux fichiers. Lorsque vous faites une requête à travers le web, vous utilisez http, et le niveau de sécurité du serveur est suffisante pour s'assurer que vous ne pouvez accéder qu'aux fichiers auxquels vous êtes censé pouvoir accéder. Mais lorsque vous chargez un fichier depuis le système de fichier (techniquement file://) alors c'est massivement restreint, pour des raisons évidentes. Sous file:// il n'y a pas de notion de domaines, aucun niveau de sécurité serveur, juste un système de fichier brut. Demandez-vous alors : est-ce que vous voulez vraiment laisser JavaScript avoir la possibilité de charger des fichiers de votre système de fichier local ? Votre réponse immédiate devrait bien sûr être "not in a million years!". Si JavaScript avait un accès libre lorsqu'il opère sur file:// alors il n'y aurait rien pour le stopper de charger à peu près n'importe quel fichier il aime et l'envoyer on ne sait où.

  • # Pourquoi ne pas réutiliser libgdx ?

    Posté par  . Évalué à 5.

    D'après ce que j'avais compris, ce framework permet "d'exporter" vers html5 / JS.
    C'est une vraie question, je me demande quoi choisir comme framework multiplateforme pour mon prochain développement de jeu. Sachant que je ne suis pas fan du tout de java script…

    Sinon, j'ai testé ton jeu sous ubuntu (14.04) et sur nexus 4 (lollipop, avec firefox) et ça marche nickel !

    • [^] # Re: Pourquoi ne pas réutiliser libgdx ?

      Posté par  (site web personnel) . Évalué à 4.

      Pour plusieurs raisons :

      • les performances : j'avais essayé il y a 2 ans l'export html5 proposé par libgdx et qui utilise le Google Web Toolkit (GWT). Les performances étaient mauvaises et si je veux que ça tourne sur un ZTE Open C par exemple, je ne peux pas me permettre un overhead monstrueux. Mais c'était peut être lié à Firefox (Chrome est beaucoup plus rapide pour ce genre de choses). De plus, on sent que ce n'est pas vraiment fait pour ça à la base comme le souligne le dev principal de libgdx sur cette discussion. « Note to OP, it's not as straightforward as using a pure JS game engine/framework though due to how the development tools work. If you only care for the browser, you are better off with something else. ». Donc si ton objectif c'est de faire une appli Android et éventuellement proposer une version HTML5 à moins coût, faut essayer. Mais si l'objectif c'est de faire une appli qui tourne sur Firefox OS, autant utiliser un framework JS. D'ailleurs, j'ai trouvé Phaser plus simple à prendre en main que Libgdx.

      • le langage : non je ne vais pas troller le Java :). Mais voilà, j'utilise régulièrement le C, le Python et le Java mais ça faisait un moment que je n'avais pas touché au Javascript. Or, l'univers Javascript bouge rapidement et je ne veux pas perdre l'une de mes compétences. Donc je voulais à travers ce projet me replonger dedans. En plus au second semestre j'encadre 2 groupes de 4 étudiants sur un projet (niveau M1) en Javascript (dev WebRTC). Donc il faut impérativement que je m'y re-intéresse :).

      • [^] # Re: Pourquoi ne pas réutiliser libgdx ?

        Posté par  (site web personnel) . Évalué à 6.

        Pour compléter :

        Libgdx vise principalement Android mais permet, avec ce que j'appelle des bidouilles, de faire une version pour iOS, HTML5 et Bureau (pour le bureau c'est ok). Donc théoriquement c'est possible oui. Je n'ai pas de mac pour tester la version iOS, pour la version HTML, faudrait que je réessaye car entre les versions de Firefox et les options activées/désactivées, ça change tout.

        Une appli HTML5 pourra facilement être packagée pour Android et iOS. Pour Android par exemple, il y a plusieurs outils disponibles : Cordova, CocoonJS et Crosswalk. Et là, c'est vraiment easy. On peut presque garder le même manifest ! L'inconvénient pour moi ce sont les perfs. Je trouve ça plus lent que ce que j'ai pu faire avec Java + LibGDX. Je ne sais pas où est le problème.

        Enfin, je ne suis pas un grand fan du JS. Mais si le projet est suffisamment petit, ses lacunes ne posent pas de problème (l'OOP par prototype c'est pénible). Tu peux aussi voir les langages qui compilent vers JS. Et sinon tu peux te tourner vers le leader de l'outil de dev de jeu pour mobile… Jamais essayé mais j'en entend beaucoup de bien.

        • [^] # Re: Pourquoi ne pas réutiliser libgdx ?

          Posté par  . Évalué à 1.

          Merci pour tes réponses. En fait, mon but est avant tout de développer un jeu Android, mais si je peux gagner l'export vers d'autres plateformes…

          De plus, j'ai fait assez peu de javascript et je me sens beaucoup moins à l'aise qu'avec java.

          • [^] # Re: Pourquoi ne pas réutiliser libgdx ?

            Posté par  (site web personnel) . Évalué à 1.

            Franchement, si tu sais coder en Java et que tu as de l'expérience dans d'autres langages, tu sauras t'y adapter rapidement. Ce n'est pas un problème. Le plus compliqué c'est de prendre en main le framework (libgdx, phaser, autre). On ne choisit pas une techno parce qu'on est à l'aise avec un langage, mais on choisit une techno en fonction de nos besoins. Ici mes craintes pour Android sont plutôt les perfs, l'utilisation du bouton back, l'intégration à Google Play Games, Admob, etc. Ce sont des choses à évaluer avant de se lancer et auxquelles je n'ai pas encore les réponses faute de tests.

            En revanche, si tu vises Android spécifiquement, libgdx est l'une des solutions possible. Mais je dis juste : tu devras peut-être tout réécrire si tu veux le porter sur autre chose. À toi de voir si le portage est important ou juste un bonus tant qu'à y être.

            (ce que je dis ne concerne que le jeu, pour les autres applis, il y a des règles d'UI à respecter et il faut faire une interface par plateforme de toute façon, surtout si tu veux pouvoir utiliser le toolkit natif)

  • # Tout vient à point à qui sait attendre

    Posté par  (site web personnel) . Évalué à 10. Dernière modification le 30 novembre 2014 à 16:29.

    Car franchement, se prendre des erreurs à l'exécution qui n'auraient pas dépassé la phase de compilation en Java, c'est pénible

    Facebook est sur la bonne lancée en ce moment. Après avoir lancé HHVM, le compilateur qui fournit du typage statique et des performances de malade à du PHP, après avoir réutilisé ces connaissances pour créer React et JSX et du coup fournir de la vérification syntaxique au HTML, vlà-ty pas qu'ils sortent Flow, un analyseur syntaxique pour javascript. J'ai pas essayé, mais pour ceux qui en ont marre de se taper des erreurs au runtime, ça devrait être intéressant.

    Gros avantage par rapport aux typescript, atscript et autres articulations: ça n'est ni un nouveau langage, ni un système d'annotations à rajouter au code. Ça fonctionne avec du javascript absolument standard.

    • [^] # Re: Tout vient à point à qui sait attendre

      Posté par  (site web personnel) . Évalué à 7.

      C'est pour cette raison que j'ai parlé d'outiller mon environnement de dev. La dernière fois que j'ai fait du JS en milieu professionnel, on utilisait une version améliorée de Google Closure ce qui permettait de détecter pas mal de problèmes (je faisais du Python en backend et du JS en frontend et dans les 2 cas c'était blindé d'outils pour vérifier la syntaxe avant que ça ne passe à travers les tests). Je n'ai pas pris le temps de mettre en place cela car j'aimerais avant faire le tour de ce qui existe donc ça risque de me prendre un peu de temps.

    • [^] # Re: Tout vient à point à qui sait attendre

      Posté par  . Évalué à 4. Dernière modification le 02 décembre 2014 à 11:02.

      Gros avantage par rapport aux typescript, atscript et autres articulations: ça n'est ni un nouveau langage, ni un système d'annotations à rajouter au code. Ça fonctionne avec du javascript absolument standard.

      Flow est un projet intéressant (en plus c'est codé en OCaml) mais ceci n'est pas exact: Flow permet d'ajouter des annotations et demande donc de re-traduire le code vers du Javascript valide.

  • # Félicitations

    Posté par  . Évalué à 1.

    Je trouve ça génial de pouvoir écrire des applications "desktop" avec Firefox. Merci pour ton retour.
    Par contre, je n'ai pas trouvé les sources du jeu, j'ai mal cherché ?
    Et comment on fait pour désintaller une appli ? D'après https://stackoverflow.com/questions/17437302/uninstall-a-webapp-on-firefox on peut utiliser la commande webapprt-stub -remove mais il n'y a pas moyen de le faire depuis le navigateur ?

    • [^] # Re: Félicitations

      Posté par  (site web personnel) . Évalué à 2.

      Je n'ai pas encore décidé de la licence, faut que je m'en occupe. Cependant le code n'est pas « uglyfié » donc tu dois pouvoir simplement y accéder. L'autre solution c'est de faire une recherche sur GitHub ;).

      Je mettrai le lien lorsque la question sera tranchée. Pour le code de la version pour Firefox OS, je mettrais bien du GPL comme d'habitude. Par contre pour les artworks j'ai repris ceux de la version Android et je ne suis pas le seul auteur donc faut que j'en discute avec l'autre.

      D'ailleurs si quelqu'un peut m'éclairer : en l'absence de licence, j'imagine que c'est le droit d'auteur qui s'impose ?

      • [^] # Re: Félicitations

        Posté par  . Évalué à 0.

        Salut,

        Mise en garde : IANAL, hein.

        D'ailleurs si quelqu'un peut m'éclairer : en l'absence de licence, j'imagine que c'est le droit d'auteur qui s'impose ?

        Je ne crois pas. Je pense que c'est la propriété intellectuelle qui s'impose (et dépasse le droit d'auteur, de matière générale il me semble). Donc libre à chacun des contributeurs de faire comme il veut, sans accord de licence/droits sur sa partie.

        Une fois l'accord fait, vous pourrez libérer le code + art-work + quoi que ce soit selon vos principes conjoints. Voir revenir dessus et en changer (vu que vous n'êtes que deux) pour les versions à venir.

        Matricule 23415

      • [^] # Re: Félicitations

        Posté par  (site web personnel) . Évalué à 3. Dernière modification le 03 décembre 2014 à 07:42.

        D'ailleurs si quelqu'un peut m'éclairer : en l'absence de licence, j'imagine que c'est le droit d'auteur qui s'impose ?

        oui, c'est le droit d'auteur qui s'impose, ce qui empêche notamment :

        • redistribution que ce soit tel quel ou d'une version modifiée

        cela n'empêche pas :

        • utilisation
        • étude du code vu que tu l'as mis à disposition
        • copie à titre privé

        Tu peux regarder http://faq.tuxfamily.org/Licence/Fr pour approfondir et trouver des liens vers les différentes licences possibles. Bizarre, je pensais que github proposait de choisir une licence avant ouverture d'un dépôt…

        Note par rapport au commentaire au-dessus : la propriété intellectuelle comprend notamment droit d'auteur, droit des marques et brevets ; je n'ai pas bien compris les conclusions tirées (et serait plutôt en désaccord, en l'état sans plus de précision…).

        • [^] # Re: Félicitations

          Posté par  (site web personnel) . Évalué à 2. Dernière modification le 03 décembre 2014 à 08:13.

          Je me posais la question car justement ce qui m'intéresse c'est :

          • utilisable bien sûr
          • que le code soit disponible pour en permettre l'étude (que ce soit pour vérifier que je fais rien de louche, ou pour voir tout simplement comment le code est structuré)
          • que l'on puisse éventuellement en faire une copie et le modifier tant que la version modifiée n'est pas redistribuée sans mon accord

          Je veux donc que le code soit ouvert au sens disponible pour lecture. Mais sans forcément que ce soit libre (au sens des 4 libertés). Et donc peut être que le mieux c'est de le laisser en l'état ?

          • [^] # Re: Félicitations

            Posté par  (site web personnel) . Évalué à 2.

            En l'état, cela empêche la redistribution sans modification aussi ;-) Ceux qui préfèrent du libre ne prendront pas forcément le temps de regarder / étudier ton code s'il n'est pas utilisable en libre.

            Je ne sais plus si github réclame une licence libre pour bénéficier de la gratuité du dépôt, il faudrait revérifier leurs conditions générales.

            Pourquoi ne pas vouloir faire de libre ?

            • [^] # Re: Félicitations

              Posté par  (site web personnel) . Évalué à 2.

              Il y a plusieurs choses ici :

              • La version Android écrite en Java.
              • Le code de la version pour Firefox OS (quelques bouts de codes sont repris pour la partie logique du jeu à la conversion Java -> JS près).
              • Les images qui sont communes.

              Pour les points 1 et 3, je ne suis pas le seul auteur donc faut que j'en discute. Je suis a priori le plus libriste des deux.

              Concernant les images, je ne veux pas revoir mes dessins pitoyables ailleurs que sur mon jeu :D. C'est mon droit.

              Concernant la redistribution, je veux garder un contrôle pour plusieurs raisons :

              • la version android me rapporte quelques sous (de quoi rembourser une partie de la tablette que j'ai acheté pour m'initier au dev Android). Je ne souhaite donc pas être concurrencé par une appli qui reprendrait une grosse partie de mon code (j'y crois pas trop, mais je ne veux pas utiliser une licence qui l'encourage).
              • au niveau de la distribution, je veux garder la main sur les supports où je distribue pour pouvoir gérer moi-même les mises à jour et l'accès aux stats. Si quelqu'un reprend mon jeu et le publie sur un site sans mon accord, je ne serai pas en mesure techniquement de mettre à jour cette version. Je veux garder le contrôle de la distribution, le développement de Pweek a surtout été motivé par la volonté d'étudier le fonctionnement des plateformes d'applications, le marketing des applis, etc. Mon objectif n'est pas de créer le prochain super jeu que tout le monde s'arrache.
              • je veux garder la possibilité à tout moment d'arrêter de diffuser le code source des applis si par exemple je juge que ce n'est pas un bon exemple des choses à faire. Par exemple le code de la version Android est immonde, je pourrais vouloir la garder que pour moi.

              Donc en gros, le problème pour moi c'est la gestion de la redistribution et de la réutilisation que je souhaite limiter. C'est ma liberté. Cependant, je souhaite laisser à disposition le code pour permettre à des gens de voir comment je m'y suis pris. Le code étant relativement court, cela s'y prête bien.

              Github ce n'est pas comme chez tuxfamily, pour la gratuité, il suffit que le dépôt soit public.

              • [^] # Re: Félicitations

                Posté par  (site web personnel) . Évalué à 3.

                Mouais, en gros tu n'aimes pas le libre et tu es un control freak. Soit dit sans animosité ; comme tu le dis, c'est ton droit. Mais heureusement que d'autres (au hasard, les bibliothèques que tu utilises) ne pensent pas pareil, hein.

                • "je ne veux pas revoir mes dessins pitoyables ailleurs que sur mon jeu :D. C'est mon droit." et si une licence libre permettait à un artiste tiers de se baser dessus pour les sublimer ?

                • "je souhaite laisser à disposition le code pour permettre à des gens de voir comment je m'y suis pris", sauf qu'en l'absence de licence (ou avec une licence restrictive "tu peux toucher avec les yeux") tu pourrais attaquer quelqu'un qui s'inspirerait un peu trop de toi…

                • "je ne veux pas utiliser une licence qui l'encourage" elle ne l'encourage pas, elle le permet seulement. M'enfin tu n'aimes pas le libre donc passons sur cette exagération.

                • "au niveau de la distribution, je veux garder la main sur les supports où je distribue pour pouvoir gérer moi-même les mises à jour et l'accès aux stats. Si quelqu'un reprend mon jeu et le publie sur un site sans mon accord, je ne serai pas en mesure techniquement de mettre à jour cette version. Je veux garder le contrôle de la distribution, le développement de Pweek a surtout été motivé par la volonté d'étudier le fonctionnement des plateformes d'applications, le marketing des applis, etc. Mon objectif n'est pas de créer le prochain super jeu que tout le monde s'arrache." un sacré gloubi-boulga de tout et n'importe quoi. Quel est le rapport entre (si on extrait les mots clés) : portages / statistiques (???) / mises à jour / veille, découverte de technos / succès populaire ???

                • "je veux garder la possibilité à tout moment d'arrêter de diffuser le code source des applis" OK tu détestes le libre.

                Enfin bref je vais pas refaire ce débat déjà mieux mené par d'autres ici ou ailleurs à chaque fois que quelqu'un vient montrer son bout de code en disant "bon j'aime bien l'opensource sauf ce qu'il permet (aux autres surtout), je voudrais bien que tout le monde fasse ce qu'ils veulent parce que c'est cool mais je ne demande qu'une toute petite chose, c'est que ça corresponde pile-poil à ce dont j'ai envie".

                • [^] # Re: Félicitations

                  Posté par  (site web personnel) . Évalué à 7.

                  Pour la plupart de mes projets perso j'utilise une licence libre car je souhaite favoriser la diffusion et la réutilisation de mon code (en tout cas ne pas la freiner). Ici ce n'est pas le cas.

                  Merci pour les "tu détestes le libre" parce que pour un projet en particulier je ne vois pas l'intérêt de permettre sa réutilisation. Je ne savais pas que si je choisissais un jour de ne pas reverser à la communauté toutes les lignes de code que je peux être amené à produire c'était détester le libre. Je ne savais pas qu'utiliser un logiciel libre imposait systématiquement de libérer son code, j'ai du mal lire la licence MIT de Phaser. Je passe du temps à produire un code, c'est mon droit en tant que développeur de choisir la licence de mon choix.

                  Placer un logiciel sous une licence libre c'est envoyer le message : ce morceau de code, réutilisez-le ! Sinon j'en vois pas l'intérêt.

                  • [^] # Re: Félicitations

                    Posté par  (site web personnel) . Évalué à 2.

                    Tu as bien évidemment la droit de limiter comme tu veux la diffusion de ton programme, disons que je trouve ta motivation à ce sujet plutôt confuse.

                    Tu veux avoir le contrôle maximal dessus, mais d'un autre côté tu dis que ton programme est sans intérêt que le mettre sous licence libre ne sert à rien car ça ne va intéresser personne. Déjà, je ne comprends pas le lien entre "programme aps intéressant à redistribuer/améliorer, etc." et "je ne permets pas de copies", libère le code et si personne n'est intéressé ça ne servira à rien sinon bah tant mieux pour les autres.
                    Puis supposer qu'un programme "inutile" ne va attirer personne puis après que tu as peur des copies et de perdre le contrôle du bébé, ça me paraît aussi contradictoire.

                  • [^] # Re: Félicitations

                    Posté par  (site web personnel) . Évalué à 3.

                    Ce sont tes arguments (principalement des variations autour de "j'ai peur (sans les connaître) des conséquences de l'ouverture, qui sait ce que des gens pourraient en faire !") qui font dire que tu n'aimes pas le libre.

                    Je ne savais pas qu'utiliser un logiciel libre imposait systématiquement de libérer son code, j'ai du mal lire la licence MIT de Phaser.

                    J'ai jamais dit ça, juste qu'heureusement qu'eux n'ont pas peur d'être repris comme inspiration ou forkés. Sinon ils n'auraient pas publié leur framework en libre et il n'aurait pas eu l'adoption / les contributions qu'il a. Tu déformes, m'enfin c'est normal puisque tu es vexé.

                    Placer un logiciel sous une licence libre c'est envoyer le message : ce morceau de code, réutilisez-le ! Sinon j'en vois pas l'intérêt.

                    Non. Le seul message qu'on pourrait qualifier d'original, parce que véhiculé par les problèmes de Stallman avec ses drivers d'imprimante qui l'ont amené à créer le mouvement du Logiciel Libre, c'est "ce morceau de code, si jamais il vous est utile, et que je ne peux/veux plus le maintenir, eh bien vous n'êtes pas pieds et poings liés à moi pour continuer à pouvoir l'utiliser selon vos besoins".

                    Ce message est bien sûr réducteur parce que bien d'autres personnes et sensibilités ont rejoint ce mouvement. Mais c'est le seul qui peut se targuer d'être d'origine. Les autres (dont celui que tu crois être le "message officiel" sont tout autant réducteurs pour la même raison, et en plus ne peuvent même pas prétendre être à l'origine du mouvement.

                    • [^] # Re: Félicitations

                      Posté par  . Évalué à 4.

                      Ben voyons. Le messager "d'origine" s'est fait griller au poteau par la bsd 4 clauses pourtant, qui est sortie avant la gpl.

                      La realite, c'est qu'il ya plusieurs mouvements, avec differentes motivations qui sont sortis de la soupe primordiale de l'informatique. Certains voient un grand interet a encourager la redistribution de code, d'autres considerent que la liberte de l'utilisateur est plus importante que tout.

                      Linuxfr, le portail francais du logiciel libre et du neo nazisme.

                    • [^] # Re: Félicitations

                      Posté par  (site web personnel) . Évalué à 2.

                      Au début c'était :

                      tu n'aimes pas le libre et tu es un control freak

                      et

                      OK tu détestes le libre.

                      Maintenant c'est :

                      Tu déformes, m'enfin c'est normal puisque tu es vexé.

                      Est-ce que tu es capable d'échanger de manière sereine ? Je suis ouvert à la discussion, je suis ouvert à tout point de vue, et je rappelle qu'initialement je ne souhaite pas simplement tout garder pour moi et que je cherche la licence la plus approprié pour moi.

                      Le seul message qu'on pourrait qualifier d'original, parce que véhiculé par les problèmes de Stallman avec ses drivers d'imprimante qui l'ont amené à créer le mouvement du Logiciel Libre, c'est "ce morceau de code, si jamais il vous est utile, et que je ne peux/veux plus le maintenir, eh bien vous n'êtes pas pieds et poings liés à moi pour continuer à pouvoir l'utiliser selon vos besoins".

                      Le message d'origine du logiciel libre, oui c'est celui-ci. Mais je ne parle pas de message d'origine ni de message unique mais simplement de l'une de ses significations actuelles. Et arrêtons un peu de jouer les bisousnours, lorsque quelqu'un passe un logiciel sous licence libre c'est pas uniquement pour la raison que tu donnes. C'est aussi pour l'une des raisons suivante :

                      • Mon code je ne compte pas le vendre et si en plus des gens veulent y contribuer tout le monde est gagnant.
                      • Mes clients veulent que le logiciel soit libre car ça leur apporte plein de libertés, si je ferme le code j'arrive pas à leur vendre de service.

                      Sinon comment tu expliques les décisions récentes de Microsoft ? S'ils veulent que leurs produits restent utilisés, ils n'ont pas le choix.

                      Si les gens de Phaser ont choisi MIT et non GPL, c'est parce qu'ils se sont dit que pour augmenter le nombre d'utilisateurs, GPL était trop restrictif. Ils ont choisi la licence qui permet d'augmenter la popularité de leur produit. Si les développeurs voulaient empêcher de faire du logiciel proprio avec leur outil libre, ils auraient choisi autre chose. Oh et je n'ai pas vu non plus dans les conditions d'utilisation de vim l'interdiction de faire du logiciel non libre. S'ils voulaient l'interdire ils auraient inventé une autre licence. Je n'ai pas à culpabiliser de faire du logiciel non libre avec un logiciel libre. C'est leur choix de me permettre de le faire.

                      T'arrivera à convaincre personne de faire du libre avec du « shaming », ce qu'il faut ce sont des arguments qui poussent le développeur à choisir telle ou telle licence pour les intérêts que cela peut apporter. Les entreprises qui font du libre le font à condition que ça ne plombe pas leur business et non par culpabilité de garder un code source pour eux.

                      Enfin pour moi, un choix de licence doit être raisonné et avoir un sens. Est-ce que tu mets tous tes bouts de code sur internet ? Parfois tu n'en vois pas l'intérêt non ? Je n'ai pas envie de choisir entre garder pour moi et autoriser le monde entier à réutiliser ce que je fais. Je veux pour ce projet en particulier proposer en lecture le code mais ne pas permettre sa diffusion.

                      Mais c'est le seul qui peut se targuer d'être d'origine. Les autres (dont celui que tu crois être le "message officiel" sont tout autant réducteurs pour la même raison, et en plus ne peuvent même pas prétendre être à l'origine du mouvement.

                      ) Avoue, c'est fait exprès pour me pourrir la journée :P http://xkcd.com/859/

                      Je ne reviens pas sur ce point, je n'ai pas parlé de message d'origine ni officiel.

              • [^] # Re: Félicitations

                Posté par  (site web personnel) . Évalué à 3.

                Github ce n'est pas comme chez tuxfamily, pour la gratuité, il suffit que le dépôt soit public.

                Ça semble vrai en regardant vite fait, du coup faudrait trouver une source et mettre à jour Wikipédia :
                http://fr.wikipedia.org/wiki/GitHub

                GitHub propose des comptes professionnels payants, ainsi que des comptes gratuits pour les projets de logiciels libres.

      • [^] # Re: Félicitations

        Posté par  . Évalué à -1.

        Il sera d'accord… Le N.F. ne peut être contre la GPL !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.