Bon je posterai cette fois ci en français...
En gros, la video est une sorte de promotion de la plateforme Git. Dans un premier temps, Linus a fait un peu le méchant en critiquant sans merci un des concurrent de Bitkeeper, CVS ou subversion actuellement. Ceci s'est fait en procédant à un recensement des inconvénients de SVN et des avantages qu'offre Bitkeeper.
ensuite, Linus est passé à une description du distributed system vs le centralized system en terme de performance, d'efficacité
ça rejoint un peu ce que l'on a vu dans la présentation du prof Hatt avec la description de la collaboration qui se fait en branches et en un travail avec des copies locales qui seront ensuite véhiculées au coordinateur central via un réseau de coordinateurs de confiance...
Linus a mis en avant l'importance de la sécurité dans la gestion des mergers, une traçabilité des modifications avec l'insertion des comments permettant de ressortir ce qui a changé en remontant les lignes de codes...
le maître mot de cette présentation est : Git is safe, fast and distributed (dixit Linus)
je vous laisse compléter avec plus de points que je n'ai pas cité ou encore des réactions par rapport à my post :)
je vais répondre alors en francais,
Tu as raison, on remarquer que Linus est un excellent marketeur ! l’attaque de CVS system est un peu dur quand même (what will Jesus do, CVS will never do !) et de bitkeeper en le décrivant plutot comme un système plutôt commercial.
je ne trouve pas qu’un système centralisé est un très mauvais système. Si j’ai bien compris, dans un système distribué, c’est la personne qui contrôle ce qu’elle veut voir et ce qu’elle veut montrer à un groupe de personnes bien déterminé ? donc la partie du code si elle n'arrive pas directement, elle arrivera via le réseau ?
Avec le système centralisé je crois qu’il y avait plus de transparence dans le déploiement des projets.
et c'est lui qui a dit Trust does Network ….
il faut aussi retenir : you are ugly and stupid if you don’t use GIT !!
Je pense que nous pouvons faire une analogie entre systèmes d'information et SCM. Les deux sont en quelque sorte les centres nevralgiques d'une organisation (entreprise, communauté open-source, etc) qui gèrent les informations. De plus, comme le souligne Linus, adopter GIT c'est aussi adopter un mode de pensée (qui selon lui est naturel), un mode d'organisation. Comme nous l'avions vu en ISO, le CRM et l'ERP devaient être basés sur deux types d'organisation totalement différents. Type de SI et type d'organisation ne pouvaient être dissociés. Ainsi, de la même manière que l'ERP ne peut marcher dans une organisation en silo (si je me souviens bien du cours), GIT ne être pleinement fonctionnel que si les développeurs raisonnent en contenu et non en fichiers et surtout, s'ils adoptent une organisation totalement décentralisée.
Cela renvoie à la question de l'intérêt spécifique des entreprises de passer de CVS à GIT. Est-ce que le gain d'efficacité que procure GIT est supérieur au coût de changement d'organisation et est-ce que cette nouvelle organisation est vraiment adaptée à l'activité de l'entreprise ?
Linus commence à répondre à cette question en disant que finalement, certaines entreprises devraient rester sur CVS ou du moins, sur un système centralisé. Il a du mal à l'admettre mais il l'indique tout de même assez clairement. Enfin, une des questions de l'adaptation du modèle décentralisé aux grandes entreprises est aussi soulevée (le problème de la gestion du code source) et la réponse de Linus est je trouve, moyennement convaincante voire sans rapport avec la question.
je crois que la question que tu poses est essentielle et cette question est celle que tout le monde essaie d'y trouver une réponse : pouquoi CVS est beacoup plus utilisé que GIT?
D'ailleurs Google code jusqu'à maintenant n'utilise pas GIT...
j'ai lu un peu sur les forums et je peux conclure que :
1. GIT n'est pas utilisé parce qu'il est très difficile, SVN est beaucoup plus facile....
2. Confusion entre push et pull commands (d'un point de vue technique);
certains disent que le design est nul parce que on attend à ce que push en tant que commande soit l'opposite ou le contraire que 'pull', ils ne le sont pas dans GIT, l'opposite de push est fetch! tandis que pull veut dire (fetch + merge)
3. Si quelqu'un est en train de modifier un fichier et ce fichier est relié à un fichier père sur lequel des midifications arrivent en meme temps, ce fichier serait corrompu (corrupted)
4. Il ya beaucoup de problèmes et de conflicts qui sont résolus dans des versions très récentes .... Alors la version initiale était comment?
5. Git est plus puissant que SVN, mais il offre beaucoup de que beaucoup de monde trouve qu'elle n'est pas essentielle
Finalement, Il ya beaucoup de monde qui utilisent GIT mais ne conseille pas de l'utiliser meme qu'ils le trouvent mieux que les autres...
Moi je trouve que c'est une question de controle et de pouvoir... les entreprises préfèrent utiliser un système centralisé où ils peuvent controler les serveurs et les repertoires au lieu d'un système décentrailsé ....
il me semble que linus précise dans sa présentation que git n'est pas parfait (bien que le meilleur) et qu'ils sont en train d'améliorer l'interface et la façon de l'utiliser non?
@roomhm
Je suis tout à fait d'accord avec toi Linus nous fait là un véritable cours de communauté Open Source en parallèle de la présentation de son logiciel de gestion de version qu'il prétend révolutionnaire. Il s'agit véritablement d'un mode de penser qu'il a traduit en lignes de code. Ce mode de pensé à deux point importants : la distribution à l'opposé de la centralisation et la fusion en opposition de la copie.
Dès l’introduction et la présentation de son plan le créateur du projet Linux nous les clés de la compréhension de son exposé. Le point le plus important de la présentation est la DISTRIBUTION. Il passe d'ailleurs la majeure partie de son temps de parole à parler de la distribution. Le système de partage doit être distribuer (jolie schema du slide 0:13:48). D'ailleurs si l'on travail dans un système non distribué on est un imbécile.
En tant que système distribué son logiciel n'a pas de point central et et aucun élément de projet n'est supérieur à un autre. Le projet est en fait composé de toute les versions qui sont très facile à faire. Il suffit de faire un dépôt. Le fait que le projet soit distribué permet aux développeurs de ne pas faire de backup. Il est très facile de récupérer une version Online.
La distribution telle que codée par Linus Torvalds c'est avant tout une histoire de collaboration. C'est en distribuant le projet que la collaboration sera effective. Étrangement on retrouve l'idée d'une concurrence des compétences et des savoirs.
C'est à ce moment qu'intervient la FUSION second point capital de la présentation. La Fusion permet à un développeur de récupérer la version d'un autre développeur qui a une spécialité différente. Si un autre développeur de confiance à régler un point critique du projet il suffira alors de fusionner les deux projets pour obtenir l'amélioration. De plus ce phénomène de fusion est suivit par un historique complet qui peut remonter sur plusieurs années afin de voir quelles sont les fusion qui on été faites et quels changements celle-ci a apporté.
En fait Linux nous donne un cours d'organisation assisté par ordinateur. Les projets open source ne fonctionnent pas de manière optimal parque les logiciels dédiés à cet effet ne le permettent pas. Les règles d'organisation de la communauté permettant l'effectivité de la collaboration décentralisée entourant un projet sont alors traduites en ligne de code.
Cela n'est pas sans rappeler la célèbre phrase de Lawrence Lessig (créateur de la licence Creative Common et professeur de Droit constitutionnel US) dans Code 1.0 "Code is Law and Architecture is Politics".
En effet l'architecture de git permet le partage de projet de manière facile, sécurisée et performante son Code met en place les modalités du partage.
Pour aller plus loin nous pourrions pensé à appliquer la même logique à toute sorte de projets de gestion et creation de commons numérique. La tache est plus difficile pour sur s'il ne s'agit pas de code que l'on peut facilement fusionner. Ce qui parait plus difficile avec du texte. Cependant rien n'empêche de caresser l'idée de plateforme de partage open source fonctionnant de la même manière : Distribution & Fusion.
O.
c'est vrai que GIT est le meilleur d'après tout ce que j'ai lu...
Mais je trouve que la distribution est différente de la collaboration !
elle veut dire la compétition... il l'a dit clairement dans son vidéo ! Mais il donne une opportunité aux gens qui ont des compétences