• [^] # Re: Je suis intéressé

    Posté par (Mastodon) . En réponse au journal migrations vers de vrai outils de dev.... Évalué à 10.

    Moi j'ai une réponse mais je ne sais pas si elle est intelligente. En tout cas, c'est mon point de vue sur les systèmes de gestion de version centralisés vs décentralisés.

    Un VCS centralisé favorise le travail en communauté tandis qu'un VCS décentralisé favorise le travail individuel. Je m'explique.

    Tout d'abord, il est bon de noter que je ne place absolument pas le débat sur le plan technique. Les reproches traditionnels qu'on fait à SVN (branch/merge difficile comme dans ce journal, pas de commits locaux, ...) ne sont que des foutaises, ce n'est qu'une histoire d'implémentation et ça se corrige et surtout, ça n'a rien voir avec le fait qu'il soit centralisé. D'ailleurs, il y aura bientôt des commit locaux dans SVN d'après ce que j'ai lu, il me semble. Donc tous les débats techniques qu'on voit fleurir à propos des divers VCS, ça ne rime à rien, c'est "juste" de l'implémentation et les features des uns arriveront chez les autres à un moment ou à un autre.

    Ensuite, il faut voir ce qu'on appelle centralisé et décentralisé. Les trucs à la github, j'appelle pas vraiment ça décentralisé. Pour moi, un dépôt central où tout le monde commit et où on peut faire des branches, j'appelle ça centralisé, qu'on utilise SVN ou git. Qui utilise réellement les possibilités d'un VCS décentralisé (à savoir publier sa branche sur son site perso) ? Peu de projet. Et effectivement, déjà peu de projet s'y prête et ensuite, ça pose ce que je pense être des problèmes intrinsèques au modèle décentralisé.

    L'utilisation d'un VCS centralisé, ça pousse les développeurs qui commitent à s'entendre entre eux pour ne pas faire de connerie, ça pousse aussi les contributeurs à prendre contact avec les développeurs pour connaître la meilleure marche à suivre. Donc ça favorise les contacts humain, la communauté. De l'autre côté, avec un VCS décentralisé, chacun peut faire sa branche, même si ce n'est pour modifier qu'une seule ligne et peut la publier fièrement, même si ça rentre en conflit avec le projet (donc impossible à merger). Un VCS décentralisé va favoriser les comportements individuels (bon ou mauvais d'ailleurs) plutôt qu'un comportement collectif autour du projet. Et ça peut mener à des dérives si jamais il n'y a pas un dictateur bienveillant qui organise le travail du collectif (genre Linus). Un VCS centralisé force ce comportement collectif techniquement.

    Après, on peut aimer l'un ou l'autre. Moi, je préfère le travail collectif et donc, je n'utiliserai jamais git à moins d'y être forcé. J'aime bien SVN, il fait ce que je veux, point. Les features qui manquent, elles arriveront un jour, je ne me fait pas de souci.