Forum général.général Publication d'une application libre : comment faire avec des bibliothèques et des dépendances ?

1
26
fév.
2017

Bonjour à tous et à toutes,

Certains ici savent que je travaille depuis quelques années sur un projet libre (LGPL v3), MyDMAM, et je me pose une question fondamentalement simple : comment je distribue ?

Je ne peut pas décemment laisser les testeurs fouscourageux avec juste mon code, une tonne d'instructions barbantes, et 72 jars à trouver et/ou à compiler, et tout ceci dans la bonne version s'il vous plait. Et je sais que je n'aurais pas le courage de fabriquer moi même un script de build qui fait tout tout seul d'un coup.

A savoir que le code que j'utilise est exclusivement libre et "d'origine", mais à été publié sous différentes licences.

Donc, est ce que je peut :
1. Fournir un installeur exe et un tar.gz qui contient toutes mes dépendances ?
2. Me dispenser de fournir le code de toutes mes dépendances libres et genuine ? Mais de citer les auteurs et les licences de ces dépendances ?
3. Si oui un fichier texte quelque part à la racine du distribuable peut suffire ?
4. De re-packager à ma sauce, c-a-d avec une configuration personnalisée, sans changement de code, des applications libres tierces, comme Cassandra, Elasticsearch, OpenJDK et Play! Framework ?

Tout ceci afin de fournir une distribution cohérence et fonctionnelle "tel quel" de mon appli.
Je pense que c'est fondamental comme approche et je ne veux pas me la jouer "oh, on verra bien". Si j'ai écris un logiciel libre, c'est pour respecter sa philosophie, pas l'écraser quand ça devient trop dur.

Qu'en pensez-vous ?

  • # des pistes

    Posté par  . Évalué à 2.

    Ce que je recommenderai:
    * regarde du côté de https://www.playframework.com/documentation/2.5.x/Deploying pour construire une archive de déploiement avec les dépendances.
    * automatiser le build et les tests. Il y a travis ou circle ci qui fournissent des services de construction gratuits pour les projets libre. Sinon gitlab fournit des cela aussi. Cela à plusieurs avantages, notamment l'assurance de savoir que ton projet puisse être construit pars des contributeurs et de savoir quand un commit casse la construction ou des tests.

    Après pour aller plus loin, voir :
    * scripts de déploiements pour les différents services. Par exemple ansible ou puppet
    * images docker et/ou intégration avec kubernetes. Mais pas tout le monde utilisé pas encore.

    • [^] # Re: des pistes

      Posté par  . Évalué à 2. Dernière modification le 28 février 2017 à 07:22.

      si tu n'utilisais pas play, j'aurais recommendé Apache Maven ou gradle (perso hé préfère Apache Maven) pour gérer ton projet.

      • [^] # Re: des pistes

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

        Ma question n'est pas tant technique que légale. Puis-je redistribuer comme ça des binaires libres ?! Et sous quelles conditions ?

        • [^] # Re: des pistes

          Posté par  . Évalué à 2.

          Je recommande quand même la même chose d'un point de vu général pour faciliter les contributions. Et aussi d'avoir un readme à la racine de ton dépôt avec un lien vers le site et les instructions de construction.

          Du point de vu légal je n'ai rien a rajouter. Il faudrait lister et voir toutes les licences de tes dépendances.

Suivre le flux des commentaires

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