• # Dépendances rédhibitoire

    Posté par . En réponse à la dépêche Paperwork : besoin de testeurs. Évalué à 7. Dernière modification le 06 mai 2013 à 11:37.

    Salut, comme je l'avais mentionné dans un précédent journal, j'ai essayé d'installer paperwork sur une distribution Linux non basée sur Debian (Archlinux en l'occurrence) et j'ai décidé d'abandonner à cause du problème des dépendances. Étant un gars plutôt acharné et têtu, je pense que si j'en suis arrivé là, d'autres arriveront à la même conclusion, alors je développe ma critique dans l'intérêt de ce projet, que je trouve très intéressant malgré le fait que j'ai abandonné son adoption. Voici les éléments par ordre d'importance qui m'ont fait abandonner le projet "paperwork" :

    • Installation très fastidieuse : développant en Python 3, j'ai pas mal de libs compatibles Python 3 et là on part sur du Python 2 (je ne critique pas ce fait que je comprend très bien). J'ai donc 13 libs à installer, dont la plupart directement depuis les sources. c.-à-d. sans gestionnaire de paquet. Et là du coup je m'aperçois du point 2.
    • Certaines des dépendances sont abandonnées en upstream. Soit pour passer à Python 3, soit tout simplement abandonnées (J'ai nettoyé mon système depuis le tentative d'installation, alors je n'ai pas les détails, mais on pourra creuser ensemble).
    • Je fait le calcul rapide « investissement pour l'installation/temps que je vais en profiter » avant qu'une MAJ ne fasse péter mon installation : et je me dis que je n'ai pas le courage.

    Mais je n'abandonne pas là car je vois que le projet est vivant et toujours très intéressant.
    Étant également développeur de métier, je me permet de critiquer l'argument suivant :

    « Je n'embarque pas les dépendances, car je ne veux pas ré-inventé la roue ».

    Ta formulation est mauvaise, car tu peux très bien embarquer des releases des dépendances, qui à priori sont libres et compatibles avec la licence de ton logiciel. Donc si tu veux fournir un logiciel qui s'installe simplement (en exécutant un seul script) tu peux le faire ! C'est un peu de boulot, mais tu ne ré-inventeras rien du tout.

    Mais bien que mal justifié pour moi, ton choix se défend quand même, car les dépendances sont inévitable (OCR, SANE…etc) et là c'est tout le problème du développement en générale qui se pose : « Dois-je garder des dépendances 100% à jours, ou travailler avec des releases vieillissantes? ». Je n'ai pas la réponse à cette question, car c'est une histoire de compromis. Mais ce qui est sûr, c'est que ton logiciel est difficile à installer, et que ça va incroyablement freiner son adoption. Ce qui, d'après ce que j'en ai vu, est très dommage.