Dans le cadre de la conférence Mix-IT organisée à Lyon les 25 et 26 avril 2013, nous avons eu le plaisir d'interviewer Zach Holman, de Github, qui était venu présenter la Keynote du deuxième jour ainsi qu'un talk.
Voici donc le compte-rendu de cet interview.
InfoQ : Bonjour Zach, merci de participer à cet interview dans le cadre de Mix-IT. Pour ceux parmi nous qui ne te connaissent pas, peux-tu te présenter ?
Zach : Je suis Zach Holman, je travaille chez Github depuis 3 et quelques années. Je vis à San Francisco. Je suppose que c'est là toute mon histoire.
InfoQ : Tu présentes 2 talks, ici à Mix-IT, peux-tu nous dire de quoi tu vas nous parler.
Zach : La keynote de ce matin parlait d'Open Source, et pour le dire simplement, plus de gens devraient faire de l'Open Source car c'est ce qui rend notre métier excitant, qui nous permet de nous échapper du travail habituel morose. Je pense que c'est un moyen sympa d'apprendre de nouveaux langages, de nouveaux frameworks. Le second talk que je viens juste de donner était "The product is the byproduct", qui lui, plutôt que de rentrer dans les détails sur la façon de construire un produit, sur les aspects techniques, parle plus de la façon de construire une vraie culture, une vraie équipe autour d'un produit, et je pense que c'est une meilleure façon de construire un produit. En quelque sorte, vous laissez les choses se faire dans l'environnement où vous êtes.
InfoQ : Justement, en parlant d'Open Source, en tant que développeur, pourquoi devrais-je contribuer à des projets Open Source ?
Zach : Je pense, tout simplement, que l'Open Source est bien pour tout un ensemble de raisons, certaines égoïstes. Je pense que c'est bien pour toi d'apprendre des choses différentes. J'utilise l'Open Source comme un moyen d'essayer de nouvelles choses, dont je ne sais pas forcément si elles vont marcher ou si cela va partir en production, mais qui m'intéressent. C'est la même chose pour les nouveaux langages que j'essaye d'apprendre. L'Open Source est un bon moyen de tester des choses sans risque d'échec, tel que mettre à mal un serveur de production ou autre. Il y a donc ces raisons égoïstes mais aussi pleines de raisons plus altruistes. Du code libre que les gens peuvent utiliser comme ils le souhaitent est juste du code utile et c'est bien pour l'industrie selon moi. Il est marrant de voir ces dernières années à quel point l'Open Source s'est développé, à la fois par des individus et par des entreprises et cela a contribué à un meilleur environnement pour tout le monde. On peut utiliser tellement de trucs sympas au sein de nos entreprises désormais.
InfoQ : Peux-tu nous raconter comment s'est passée ta première contribution à un projet Open Source ?
Zach : Ma première contribution portait sur Restful Authentication, la librairie, l'une des premières pour Rails, et j'ai envoyé un patch pour avoir plusieurs sessions en simultané. On pouvait avoir plusieurs ordinateurs, son téléphone, authentifiés en même temps, et tout fonctionnait bien. Je l'ai envoyé à Rickles, le mainteneur du dépôt et il a dit NON. C'était affligeant. Et finalement je me suis retrouvé à travailler avec lui chez Github. Je lui ai raconté cette histoire et il m'a trouvé bizarre et je l'ai pardonné de m'avoir brisé le coeur avec ma première contribution Open Source.
InfoQ : Beaucoup de personnes ou d'entreprises pensent que leur code est sacré. Que pouvons-nous leur dire pour les encourager à rendre Open Source leur code ?
Zach : C'est délicat d'essayer de savoir ce qu'il faut rendre Open Source. La première question est "Devrions nous rendre Open Source notre code ?". Et je pense que dans de nombreux cas, c'est une bonne chose de rendre un projet Open Source. Tom, l'un des fondateurs de Github, a écrit un article qui dit que l'on devrait rendre Open Source quasiment tout, car il n'y aucune vraie raison de ne pas le faire. On peut ainsi avoir des patchs sur des projets qui intéressent vraiment pas mal de gens, et tout ça gratuitement, et ça permet d'aider le produit et tout son écosystème. Je pense qu'il y a beaucoup de très bonnes raisons pour lesquelles une entreprise devrait, ou voudrait rendre Open Source quelque chose, car cela contribue à rendre le produit meilleur. Je pense qu'une bonne question est de se demander, que peut-on rendre Open Source. Souvent je pense que beaucoup d'entreprises ou beaucoup de gens se disent "Je souhaiterais vraiment que ceci soit Open Source car dans ce cas-là, je pourrais corriger ce petit truc qui m'embête". Ce n'est pas aussi simple qu'un bête interrupteur : "Oh, ceci va désormais être Open Source". Beaucoup plus de choses sont nécessaires, de la documentation est nécessaire, quelqu'un doit être en charge d'accepter les Pull Request, les merger, les pousser sur le repo central. C'est vraiment plus que juste avoir à dire "Vous avez accès au code". Un très bon projet Open Source travaille à plusieurs niveaux, de façon à ce que les gens aient l'impression de pouvoir changer la direction d'un projet. Ce sont donc les principales préoccupations à avoir pour rendre Open Source du code. Vous devez identifier si rendre open source du code constitue ou non un bon choix stratégique. Il y a de grandes chances que ce code devienne meilleur mais cela demande beaucoup d'efforts pour en faire un investissement rentable pour une entreprise.
InfoQ : Pour en revenir à ta présentation "The product is the byproduct", peux-tu définir un "byproduct" ?
Zach : Je pense que l'on met souvent l'accent sur le fait que le produit, c'est de l'or, "Je veux créer un bon produit", et ce que je dis dans ma présentation c'est que lorsque cela arrive, c'est souvent un accident. Une meilleure façon de créer un produit est de bâtir les fondations, un bon environnement, une bonne culture d'entreprise, et une fois là, il n'y a plus vraiment d'importance à savoir quel est le produit. Si vous avez une bonne équipe, l'idée avec un peu de chance est que le produit va réussir à émerger naturellement de cet environnement. Peut-être un peu idéaliste mais je pense que c'est une bonne façon de développer plein de choses.
InfoQ : Chez Github, quels moyens utilisez-vous pour entretenir une bonne culture d'entreprise, que les gens soient heureux ?
Zach : C'est tout un ensemble de choses. À Github, nous disons souvent que ""Github est optimisé pour le bonheur". Nous voulons que les gens soient vraiment enthousiastes de travailler. Il y a des choses classiques qui se font dans les entreprises qui ne rendent pas leurs employés heureux. Il y a le nombre d'heures de travail. Dans un ancien emploi, je devais y aller tôt le matin et cela ne me rendait vraiment pas heureux de développer le matin. C'est une des raisons qui font que forcer les gens à travailler à certaines heures précises n'est pas nécessairement une bonne chose. Une autre chose que nous permettons est le travail à distance. C'est vraiment important pour beaucoup de personnes. Certains sont coincés dans un certain coin du pays ou même du continent car c'est là que se trouve leur famille ou l'emploi de leur partenaire et en forçant quelqu'un en lui disant "Tu dois venir au bureau tous les jours", ils vont finir par démissionner ou même ne vont jamais rejoindre l'entreprise. Il y a donc tout un ensemble de moyens de faciliter une culture d'entreprise qui rend les gens heureux, et le travail à distance est pour moi la plus importante.
InfoQ : Que fais-tu en tant que "Githubber" ?
Zach : Cela dépend des jours. Ces trois dernières semaines, j'ai beaucoup voyagé. J'étais en Europe, pour des conférences, telles que celle-ci. C'est très sympa, mais aussi très fatigant. Je rentre chez moi demain et je suis presque excité de pouvoir dormir dans mon propre lit pour une fois. Ce fut tout de même très sympa. Mais j'espère lors des prochains mois, pouvoir redevenir un développeur. Plutôt que de donner des conférences sur comment travailleur, je vais pouvoir vraiment travailler, ce qui est très excitant. À ce point-là, j'ai beaucoup de libertés, je peux travailler sur ce qui m'intéresse, je peux travailler sur les méthodes de travail. Je pense que c'est l'un des gros bénéfices de travailler à Github
InfoQ : Merci Zach pour cette interview, en espérant que tu apprécies ton séjour en France
Zach : Merci à vous