Supposons que vous travaillez dans une entreprise de logiciels de taille moyenne à grande, avec de nombreux projets développés indépendamment (codeurs indépendants) mais qui dépendent les uns des autres (code dépendant).
Si cela ne tenait qu'à vous, feriez-vous en sorte que chaque projet produise des branches stables afin que les autres projets puissent utiliser ces branches de manière plus fiable, ou encourageriez-vous les projets à utiliser directement le dernier code disponible des autres projets ?
L'avantage d'une version stable est clair pour moi - une plus grande probabilité que vos dépendances fonctionnent comme prévu. Pourtant, je peux aussi voir des avantages à éviter les versions stables - chaque projet a un peu moins de travail à faire, et vous pouvez réagir très rapidement aux bogues qui affectent tout le monde, puisque votre code est en quelque sorte mis à jour automatiquement en permanence. Par exemple, imaginez qu'il y ait une faille de sécurité subtile à l'instant X dans une bibliothèque interne - elle pourrait ne pas être remarquée avant que ce code ne soit largement utilisé. Si vous utilisez des branches de versions stables, vous devrez demander à tous les autres projets de modifier leurs dépendances pour effectuer la correction de sécurité. Sans branche de publication, la correction est immédiatement prise en compte dans la prochaine version de tous les autres projets.
Je suis particulièrement intéressé si quelqu'un a une expérience industrielle avec les deux alternatives.