Ben dis donc, on le fait dévier, ce pauvre topic

parisse wrote:Personnellement, je ne vois pas l'intérêt d'utiliser git pour giac. geogebra utilise SVN, donc pourquoi me fatiguer a utiliser autre chose?
Oui, je sais. Mais je parlais au dessus de l'intérêt/avantage d'avoir un miroir automatisé, sur GitHub. Ca ne change donc en rien le processus de dev. habituel, svn ou pas.
(utiliser vraiment git ou non, c'est une autre question, pour ma part je trouve que c'est juste très dommage, pour des raisons de compatibilité/legacy, de devoir se coltiner un ancêtre du siècle dernier comparable à un vrai cauchemar une fois que l'on a pu goûter véritablement à git - et notamment tout ce qui gravite autour, comme les services du genre GitHub)parisse wrote:D'autre part, je ne vais pas integrer une modification dans mon code sans avoir bien regarde auparavant les consequences, donc une proposition de changement ne sera jamais instantanee.
Bien évidemment, et personne ne demande à ce qu'une PR soit mergée instantanément, ça n'a aucun sens dans la plupart des cas. Le mainteneur validera le patch et décidera de l'intégrer/merger (ou non). Où est le problème ?
Avec une PR sur GitHub (ou autre), au moins, le diff est visible, facilement et simplement, dans un interface agréable et pratique.
Et tout le monde peut participer/commenter/reviewer etc., et avec un suivi. Impossible de faire ça si quelqu'un envoie dans son coin un patch plus ou moins bien fait à l'auteur directement.
parisse wrote:Et puis je suis persuade que maintenir de la diversite est une richesse. Ne serait-ce que parce qu'un peu de competition force les divers systemes a s'ameliorer, et tout le monde y gagne.
Du coup on en revient à git vs svn, alors que ce n'était pas mon propos (je rappelle encore qu'initialement je vantais juste les mérites d'un miroir sur github).
Bref, il y a la réalité, en face d'une philosophie cherchant à "entretenir une diversité" : quand une solution est tout simplement/objectivement (bien) meilleure qu'une autre dans les usecases qui nous concernent... pourquoi ne pas au moins tenter ? Et d'ailleurs, "tous" les grands groupes sont en train de migrer sur Git (et GitHub pour de l'open-source) si ce n'est pas déjà le cas

Pour le coup ce n'est pas qu'un avis, c'est une simple constatation. Et pour que les groupes en question fassent une telle décision... c'est que ce n'est pas pour rien, vu l'impact.
Pour un exemple plus personnel (pro, en l'occurence), au boulot, svn était utilisé avant, puis on a migré sur git il y a quelques années. Plus personne désormais n'oserait toucher à du svn - comme je le disais plus haut, c'est un véritable cauchemar à côté, surtout une fois que l'on se débrouille un minimum. Je n'ai que très peu utilisé svn moi même, donc je ne saurais vraiment donner des exemples concrets, je suis sûr qu'il existe des tas de comparaisons, tout à fait objectives, montrant tout ce qu'il faut.
Mais bref, passons. Je ne suis pas un évangélisateur d'un système ou d'un autre et ne cherche à convaincre personne, puisque je suis persuadé qu'en testant les 2 systèmes, le choix viendra par lui-même d'une rare évidence.
En écrivant ceci, un point plus important m'est venu en tête : l'utilité des services comme GitHub (mais tout aussi bien un concurrent comme GitLab, hein ; je parle en général).
Pour moi, un projet open-source est tout simplement hostile à un écosystème open-source moderne tel qu'on a l(a bonne) habitude de le concevoir s'il ne respecte pas au moins ces principes:
- Une licence open-source correcte
- Un tracking de l'historique du projet
- Une accessibilité aisée et pratique aux sources:
- en lecture: un visualisateur web (github, gitlab, cgit dans une moindre mesure, etc.)
- et en écriture: donc via des lesdits outils qui proposent ça aussi (modèle de fork+PR, ou clone+MR, question de vocabulaire selon le service utilisé)
- De l'automatisation via des "intégrations" auxdits outils [en ligne] - c'est ce que proposent des outils de CI comme Travis, AppVeyor, etc. (pouvant être couplés à Jenkins ou autre):
- lancement des builds (multi-plateforme/environnement/architecture si approprié) lors des commits, mais aussi lors des PR/MR.
- lancement des tests (si possible unitaires et fonctionnels, pour pouvoir facilement tester ses/des contributions, internes ou externes) + rapport sur la PR
- Optionnellement, des outils qui font du reporting sur, par exemple, le coverage des tests, du review pour les PR sur des choses comme le respect de la codestyle, analyse statique, etc.
- Des instructions suffisamment claires pour pouvoir builder/installer le projet soi-même
- Un outil de tracking de bugs, public (les issues de github/gitlab etc. font suffisamment bien le boulot)
Je pourrais trouver d'autres "obligations" de ce genre, mais ça me semble déjà pas mal.
Il y a quelques années, je n'aurais sûrement pas mis le 3ème point - mais de nos jours, il n'y a plus d'excuses pour ne pas le respecter, toutes les technologies et services nécessaires s'intègrent directement aux plateformes habituelles, et ce de manière simple (ça peut se faire en quelques lignes, littéralement)
Ainsi donc, ceci condamne d'office les projets où le code source figure dans un fichier .tar.gz trouvable au bout d'un lien sur le site de son/ses auteur(s), mais aussi ceux qui utilisent des plateformes vieillissantes et obsolètes comme SourceForge, etc.
Ironiquement, je pourrais faire la comparaison avec un projet que l'on connaît tous les deux (suffisamment par rapport aux critères d'ici, j'entends): NumWorks, bien que ne respectant pas (à l'heure de ce post) le premier point, respecte le reste, contrairement (pour autant que j'ai pu voir, tant mieux si je me trompe) à giac/xcas, qui aurait donc une "mauvaise note".
Pour ma part, je serais absolument ravi de voir des évolutions sur Giac/Xcas qui rempliraient les points ci-dessous. Et comme je le disais aussi, ce n'est pas aussi compliqué que ça peut en avoir l'air.
Mais d'ailleurs, je ne suis ni hypocrite ni irréprochable, par exemple parmi mes projets, mon propre "
Project Builder", est donc bel et bien 'hostile' à un écosystème open-source pour le moment car il ne respecte pas l'intégralité des conditions ci-dessus (le 3ème, ici). Mais justement, on en est conscient et on y travaille avec Lionel ; ça va venir, espérons, avant la fin de l'année.