tag:linuxfr.org,2005:/tags/carri%C3%A8re/publicLinuxFr.org : les contenus étiquetés avec « carrière »2022-12-09T09:33:50+01:00/favicon.pngtag:linuxfr.org,2005:Diary/404522022-11-08T06:14:59+01:002022-11-08T06:14:59+01:00Pourquoi cette passion française pour les ESN?Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<ul>
<li><a href="#toc--pourquoi-faire-appel-%C3%A0-de-la-r%C3%A9gie">🤔 Pourquoi faire appel à de la régie?</a></li>
<li><a href="#toc--recours-massif-%C3%A0-la-r%C3%A9gie-en-france">🇫🇷 Recours massif à la régie en France</a></li>
<li><a href="#toc--haro-sur-le-droit-du-travail">👉🏻 Haro sur le droit du travail</a></li>
<li><a href="#toc--le-droit-du-travail-est-tr%C3%A8s-contraignant-%C3%A0-berlin">🇩🇪 Le droit du travail est très contraignant à Berlin</a></li>
<li><a href="#toc--conclusion">❓ Conclusion</a></li>
</ul>
</li>
</ul>
<p>Cher journal,</p>
<p>Je suis rentré en France fin 2020 ans après 6 passés à Berlin et je je m'apercois qu'il y a certaines choses que je ne comprends plus dans le cher pays de mon enfance.</p>
<blockquote>
<p>Pourquoi y a t'il autant d'ingénieurs en France qui sont <em>"consultants"</em> dans les entreprises du services numériques?</p>
</blockquote>
<h3 id="toc--pourquoi-faire-appel-à-de-la-régie">🤔 Pourquoi faire appel à de la régie?</h3>
<p>Les entreprises peuvent embaucher directement ou elles peuvent faire appel à des "<em><a href="https://daedtech.com/a-taxonomy-of-software-consultants/">consultants</a></em>" embauchés par des ESN aka Entreprises du Service Numériques aka SSII aka Société de Services et d'Ingénierie en Informatique </p>
<p>Je mets <em>"<a href="https://daedtech.com/a-taxonomy-of-software-consultants/">consultants</a>"</em> entre guillemets non pas parce que je doute de la valeur individuelle de chaque ingénieur, mais en vrai il s'agit ici dans la grande majorité des cas de régie. </p>
<p>Définissons le terme avec Wikipedia</p>
<blockquote>
<p>Dans le régime de l’« assistance technique » (ou « régie »), l'ESN recrute des personnes disposant de compétences pour revendre leur travail à la journée, selon un taux journalier convenu. Un indicateur souvent utilisé est le taux journalier moyen (TJM), c'est-à-dire le ratio F/J où F est le montant facturé par l'ESN à son ou ses clients pendant une période donnée, et J le nombre de jours-hommes fournis à ce ou ces clients pendant cette même période. </p>
<p>Ce système, qui concerne 150 000 salariés, est parfois critiqué pour son manquement au droit du travail, en effet, le prêt exclusif de main d'œuvre est réservé en théorie aux seules sociétés d’intérim, faute de quoi est commis un prêt illicite de main-d'œuvre (voire un délit de marchandage dès lors qu’un préjudice existe pour les salariés). Ainsi, pour les congés par exemple, c’est le supérieur hiérarchique qui est supposé valider les demandes du salarié, mais en pratique celles-ci sont souvent négociées avec le client.<br>
<a href="https://fr.wikipedia.org/wiki/Entreprise_de_services_du_num%C3%A9rique">https://fr.wikipedia.org/wiki/Entreprise_de_services_du_numérique</a></p>
</blockquote>
<p>Précisons que je ne suis pas du tout contre le <em>principe lui même de la régie</em>.</p>
<p>Si j'étais du côté de l'entreprise qui embauche je ferais absolument appel à de la régie dans des cas raisonnables.</p>
<p>Par exemple:<br>
- j'ai besoin ponctuellement d'aide sur un sujet très technique<br>
- j'ai un projet qui va nécessiter un nombre de bras considérable sur une petite période de temps, genre d'ici maintenant et la fin des prochains jeux olympiques<br>
- j'ai besoin de compétences dans un sujet qui n'est pas mon coeur de métier</p>
<p>Ma question c'est: pourquoi un retour aussi massif?</p>
<h3 id="toc--recours-massif-à-la-régie-en-france">🇫🇷 Recours massif à la régie en France</h3>
<p>Cher journal, relisons ensemble l'extrait de Wikipedia</p>
<blockquote>
<p>Ce système, qui concerne <strong>150 000 salariés,</strong> est parfois critiqué pour son manquement au droit du travail</p>
</blockquote>
<p>Alors autant je n'ai pas de doute sur la nécessité du secteur, autant je dois avouer que 150.000 personnes je trouve cela complètement considérable. J'ai l'impression qu'il s'agit d'une spécificité française que le monde nous envie. </p>
<p>Est-ce juste une impression?</p>
<p>Wikipedia a une <a href="https://fr.wikipedia.org/wiki/Entreprise_de_services_du_num%C3%A9rique#En_Europe">liste éclairante des plus grandes ESN en Europe</a></p>
<ol>
<li>🇫🇷 France: CapGememini</li>
<li>🇫🇷 France: Atos</li>
<li>🇩🇪 Allemagne: T-Systems</li>
<li>🇫🇷 France: Sopra Steria</li>
<li>🇪🇸 Espagne: Indra Systemas</li>
<li>🇫🇷 France: Ineturm/Gfi informatique</li>
</ol>
<p>Wow, c'est pas juste une impression, on est médaille d'or, médaille d'argent et un tir groupé de 4 des 6 premiers!</p>
<h3 id="toc--haro-sur-le-droit-du-travail">👉🏻 Haro sur le droit du travail</h3>
<blockquote>
<p>Ce système, qui concerne 150 000 salariés, est parfois critiqué pour son manquement au <strong>droit du travail</strong></p>
</blockquote>
<p>Je dois t'avouer cher journal que j'ai demandé autour de moi pourquoi le secteur francais des ESN était aussi massif et que j'ai déjà eu quelques réponses. Dans tout problème collectif, il est bon que chacun vienne assumer une part de responsabilité. </p>
<p>Mais après cette étape de brain storming, il est tout autant nécessaire de simplifier et de désigner un coupable unique.</p>
<blockquote>
<p>Le <strong>droit du travail</strong> vint à son tour, et dit : « J’ai souvenance<br><br>
Qu’en un pré de moines passant,<br><br>
La faim, l’occasion, l’herbe tendre, et je pense<br><br>
Quelque diable aussi me poussant,<br><br>
Je tondis de ce pré la largeur de ma langue.<br><br>
Je n’en avais nul droit, puisqu’il faut parler net. » </p>
<p>À ces mots, on cria haro sur le baudet.<br><br>
Un Loup, quelque peu clerc prouva par sa harangue<br><br>
Qu’il fallait dévouer ce maudit animal,<br><br>
Ce pelé, ce galeux, d’où venait tout leur mal.<br><br>
Sa peccadille fut jugée un cas pendable.<br><br>
Manger l’herbe d’autrui ! quel crime abominable !<br><br>
Rien que la mort n’était capable</p>
<p><a href="https://fr.wikisource.org/wiki/Les_Animaux_malades_de_la_peste">https://fr.wikisource.org/wiki/Les_Animaux_malades_de_la_peste</a></p>
</blockquote>
<h3 id="toc--le-droit-du-travail-est-très-contraignant-à-berlin">🇩🇪 Le droit du travail est très contraignant à Berlin</h3>
<blockquote>
<p>Je suis rentré en France fin 2020 ans <strong>après 6 passés à Berlin</strong> et je m'apercois qu'il y a certaines choses que je ne comprends plus dans le cher pays de mon enfance.</p>
</blockquote>
<p>Alors je dois dire que je comprends pourquoi les gens fournissent l'explication précédente mais elle ne me convient pas.</p>
<p>Je n'ai aucun de mal à comprendre pourquoi vous pensez cela si vous sortez de HEC ESSEC ESCP… et que vous n'avez pas une grande expérience de la vie. </p>
<p>Dans vos études on vous a appris que le droit du travail en France était contraignant et en quoi il pourrait constituer un obstacle pour vos projets.</p>
<p>On vous a aussi appris que ce n'est pas comme ca partout et que aux États-Unis d'Amérique les choses sont extrêmement différentes. Le <a href="https://en.wikipedia.org/wiki/At-will_employment">https://en.wikipedia.org/wiki/At-will_employment</a> est un principe d'organisation bien différente qui ferait faire une syncope aux moustachus de la CGT. Vous avez aussi une assez bonne idée que les choses sont relativement similaires en Angleterre, un autre pays dont vous parlez la langue, celui le plus proche culturellemt des États-Unis dans l'Union Européenne. Ah non plus maintenant…</p>
<p>Tout cela n'est pas complètement faux et je ne veux pas rejouer à nouveau le débat de savoir qui entre la France et les États-Unis est tout blanc ou tout noir.</p>
<p>Non, ce que je vous partagez avec vous c'est tout simplement mon expérience à Berlin pendant 6 ans dans un pays qui n'est ni la France, ni les États-Unis.</p>
<p>Je peux témoigner que pendant 6 ans j'ai pu voir que le recours aux ESN est minimal et raisonnable. </p>
<p>Par défaut ce que veulent les boîtes à Berlin cherchent à embaucher les ingénieurs directement. </p>
<p>Oui c'est difficile mais elles le font quand même!</p>
<p><strong>Le droit du travail allemand est super complexe et contraignant</strong>. Si vous pensez l'inverse c'est que vous vous êtes fait piégés par le débat tronqué sur certaines réformes de Schröder type minijobs. Aucun développeur à Berlin n'a un status de minijob. Schröder est une aberrration dans l'histoire allemande. Si vous voulez rigoler, vous pouvez envoyer à des pro-MEDEF cet article sur la co-décision et leur demander si ils sont toujours chaud pour s'inspirer du <em>modèle allemand</em>.</p>
<p><a href="https://www.dw.com/en/representing-workers-the-german-way/a-41751752">Representing workers, the German way – DW – 12/12/2017</a></p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f73686172652e636c65616e73686f742e636f6d2f4a6e3338794e2b/Jn38yN+" alt="" title="Source : https://share.cleanshot.com/Jn38yN+"></p>
<h3 id="toc--conclusion">❓ Conclusion</h3>
<p>Cher journal nous avons pu voir ensemble que:</p>
<ul>
<li>Le recours raisonnable à la régie est légitime</li>
<li>Le secteur de la régie est hypertrophié en France</li>
<li>L'explication du droit du travail ne tient pas la route dans notre secteur</li>
</ul>
<p>Du coup, la question demeure:</p>
<blockquote>
<p>Pourquoi cette passion française pour les ESN?</p>
</blockquote>
<div><a href="https://linuxfr.org/users/jean-michel-fayard/journaux/pourquoi-cette-passion-francaise-pour-les-esn.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/129226/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/jean-michel-fayard/journaux/pourquoi-cette-passion-francaise-pour-les-esn#comments">ouvrir dans le navigateur</a>
</p>
jean.michel.fayardhttps://linuxfr.org/nodes/129226/comments.atomtag:linuxfr.org,2005:News/401772021-01-09T21:23:24+01:002021-03-04T07:48:53+01:00Bâtir une communauté comme un service<div><p>Du 19 au 22 novembre 2020, Debian a organisé une « MiniDebConf » en ligne avec pour thème principal le jeu vidéo, et <em>nattie</em> a invité le projet Unvanquished à soumettre une conférence. Membre actif de ce projet j’ai proposé le sujet suivant :</p>
<blockquote>
<p>Bâtir une communauté en tant que service : comment cesser de souffrir de « ce code est censé être forké ».</p>
</blockquote>
<p>Dont voici la présentation :</p>
<blockquote>
<p>Il est connu que les précédents moteurs id Tech ont vu leur code source ouvert lorsqu’ils furent remplacés et donc non rentables. Bien que l’apport à l’humanité fut gigantesque, les développeurs de jeux souffrent encore aujourd’hui des choix de conception et de l’état d’esprit induit par le fait qu’une telle base de code était destinée à mourir. 20 ans plus tard, nous nous concentrerons sur l’héritage de l’id Tech 3, sur la manière dont le marché, les communautés open source et les pratiques de développement ont évolué, et nous embarquerons dans l’aventure de la transition nécessaire depuis des vidages de dépôt de code mort à un écosystème en tant que service.</p>
</blockquote>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-001.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3030312e6d656469756d2e706e67/slide-001.medium.png" alt="Mini Deb Conf: bâtir une communauté comme un service" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-001.medium.png"></a></p>
<p>En partant de divers exemples tirés de l’industrie du jeu vidéo, la conférence est le fruit d’une quinzaine d’année d’observations et d’immersion et développe une réflexion plus large sur la nature d’un service, le besoin de développer des communautés, la place de la collaboration dans une communauté de logiciel libre, comment des choix de conceptions peuvent induire un état d’esprit qui nourrit la conception à son tour, etc. Sont abordées certaines problématiques comme le coût (éventuellement caché) de certaines pratiques, la nature d’une économie, ou encore comment certaines méthodes encouragent plus volontiers la production de déchet ou bien le recyclage de la production.</p>
<p>Cette conférence de 45 minutes a été donnée en ligne, en anglais, le dimanche 22 novembre 2020 à 19:30 UTC.</p>
<p>Cette dépêche propose une retranscription et traduction en français de cette conférence. La vidéo peut également être visionnée en anglais avec un sous-titrage francophone (ou anglophone).</p>
<p>Merci à Debian pour l’accueil et l’organisation de l’événement et à <a href="//linuxfr.org/users/thomasv--2">Thomas Vincent</a> de Debian France pour la transformation de la retranscription en sous-titres et le fastidieux travail de synchronisation, ainsi que son méticuleux travail de relecture et de correction de la traduction en français.</p>
<p><em>Note de l’auteur</em> — Cet article et la retranscription sont couverts par les termes de la licence <a href="https://creativecommons.org/publicdomain/zero/1.0/deed.fr">CC 0 1.0 « Transfert dans le domaine public »</a>.</p>
</div><ul><li>lien nᵒ 1 : <a title="https://www.youtube.com/watch?v=ijfuuCGOTCA" hreflang="fr" href="https://linuxfr.org/redirect/107417">La conférence en vidéo en anglais sous-titrée français (youtube.com)</a></li><li>lien nᵒ 2 : <a title="https://mdco2.mini.debconf.org/schedule/" hreflang="en" href="https://linuxfr.org/redirect/107418">MiniDebConf Online: Gaming Edition, le site de l’événement et les autres conférences (debconf.org)</a></li><li>lien nᵒ 3 : <a title="https://unvanquished.net/building-a-community-as-a-service/" hreflang="en" href="https://linuxfr.org/redirect/107419">Transcription complète de la conférence en anglais (unvanquished.net)</a></li><li>lien nᵒ 4 : <a title="https://linuxfr.org/users/illwieckz/journaux/unvanquished-un-patch-de-derniere-minute-pour-la-0-51-et-une-conference-ce-dimanche" hreflang="en" href="https://linuxfr.org/redirect/107420">Le journal annonçant la conférence (linuxfr.org)</a></li><li>lien nᵒ 5 : <a title="https://gitlab.com/illwieckz/building-a-community-as-a-service/" hreflang="en" href="https://linuxfr.org/redirect/107421">Dépôt Git des ressources de la conférence (gitlab.com)</a></li><li>lien nᵒ 6 : <a title="https://linuxfr.org/news/une-histoire-de-fork" hreflang="fr" href="https://linuxfr.org/redirect/107604">Une histoire de fork, essai de 2012 avec une première approche du sujet (linuxfr.org)</a></li><li>lien nᵒ 7 : <a title="https://linuxfr.org/news/unvanquished-maintenant-nous-sommes-libres" hreflang="fr" href="https://linuxfr.org/redirect/107605">Unvanquished : maintenant nous sommes libres ! (linuxfr.org)</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-b%C3%A2tir-une-communaut%C3%A9-comme-un-service">Bâtir une communauté comme un service</a></li>
<li><a href="#toc-une-histoire-des-moteurs-id-tech">Une histoire des moteurs id Tech</a></li>
<li>
<a href="#toc-comp%C3%A9titeurs">Compétiteurs</a><ul>
<li><a href="#toc-epic-et-son-moteur-unreal">Epic et son moteur Unreal</a></li>
<li><a href="#toc-valve-et-le-moteur-source">Valve et le moteur Source</a></li>
</ul>
</li>
<li><a href="#toc-du-c%C3%B4t%C3%A9-libre-godot">Du côté libre : Godot</a></li>
<li><a href="#toc-les-moteurs-id-software-%C3%A9diteurs-et-outils-%C3%A9taient-des-mod%C3%A8les">Les moteurs id Software, éditeurs et outils étaient des modèles</a></li>
<li><a href="#toc-des-formats-de-fichiers-destin%C3%A9s-%C3%A0-%C3%AAtre-fork%C3%A9s">Des formats de fichiers destinés à être forkés</a></li>
<li><a href="#toc-des-%C3%A9diteurs-destin%C3%A9s-%C3%A0-%C3%AAtre-fork%C3%A9s">Des éditeurs destinés à être forkés</a></li>
<li><a href="#toc-au-sujet-du-d%C3%A9veloppement-logiciel-et-du-sacrifice-denfant">Au sujet du développement logiciel et du sacrifice d’enfant</a></li>
<li><a href="#toc-un-%C3%A9tat-desprit-induit-par-le-code">Un état d’esprit induit par le code</a></li>
<li><a href="#toc-sur-le-code-open-source-et-les-communaut%C3%A9s-humaines-de-partage">Sur le code open source et les communautés humaines de partage</a></li>
<li><a href="#toc-b%C3%A2tir-un-%C3%A9cosyst%C3%A8me-et-une-communaut%C3%A9-comme-un-service">Bâtir un écosystème et une communauté comme un service</a></li>
<li><a href="#toc-questions">Questions</a></li>
</ul>
<p><strong>Avertissement :</strong> <em>Le sujet de cette conférence prend le parti d’étudier l’héritage du code libéré d’id Software d’un point de vue qui a été négligé par les études : ce qui peut être amélioré. L’héritage d’id Software a profondément changé le paysage, la libération du code a alimenté à la fois le monde universitaire et une passion vive chez de nombreuses personnes, et le jeu Unvanquished lui-même n’existerait tout simplement pas sans cet héritage. Rien ne doit donc être enlevé à la gratitude envers les différents acteurs qui ont rendu cela possible. Cependant, au-delà de se concentrer sur ce qui est très bon, il semble intéressant d’étudier également ce qui est moins bon, car c’est souvent moins la réussite que l’échec qui permet d’apprendre et de se dépasser.</em></p>
<p><em>Cet exposé présente des opinions personnelles et fait appel à des métaphores colorées (voire infernales, « doom-esque »).</em></p>
<p>La vidéo peut être visionnée avec les sous-titres (français et anglais) <a href="https://www.youtube.com/watch?v=ijfuuCGOTCA">sur Youtube</a>, ou visionnée en anglais <a href="https://peertube.debian.social/videos/watch/9063a45f-041e-4e48-a7c6-9dd31be49c1c">sur le Peertube Debian</a> (je ne sais pas quand seront disponible les sous-titres sur le Peertube) :</p>
<p><a href="https://www.youtube.com/watch?v=ijfuuCGOTCA"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f766964656f2d707265766965772e6d696e692e706e67/video-preview.mini.png" alt="Bâtir une communauté comme un service, prévisualisation de la vidéo" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/video-preview.mini.png"></a></p>
<p><em>La vidéo peut-être <a href="https://dl.illwieckz.net/b/conference/20201122.debian-minidebconf-online/20201122.building-a-community-as-a-service.thomas-debesse.mkv">téléchargée ici</a> (incluant les sous-titres et le chapitrage en anglais et en français). Les diapositives (en anglais) peuvent-être <a href="https://dl.illwieckz.net/b/conference/20201122.debian-minidebconf-online/20201122.building-a-community-as-a-service.thomas-debesse.pdf">téléchargées ici</a>. Les transcriptions, sous-titres, le chapitrage, les sources des diapositives et de la vidéo sont disponibles sur le <a href="https://gitlab.com/illwieckz/building-a-community-as-a-service/">dépôt GitLab</a> de la conférence (les « rush » audio vidéo et vidéo sont pré-édités pour des raisons de discrétion mais le montage final doit pouvoir être reproduit).</em></p>
<p>Tout ce que j’ai produit d’original pour cette conférence (voix/image/texte…) est distribuée sous <a href="https://creativecommons.org/publicdomain/zero/1.0/deed.fr">licence CC 0 1.0</a>. D’autres licences peuvent s’appliquer (logos, images de décoration, la partie en direct).</p>
<p>Ci-après la transcription.</p>
<p><strong>NdM.:</strong> il a été explicitement demandé à la modération de ne pas éditer la transcription.</p>
<hr>
<h2 id="toc-bâtir-une-communauté-comme-un-service">Bâtir une communauté comme un service</h2>
<p>Bonjour, je suis Thomas Debesse du projet de jeu Unvanquished. Je fais partie de la direction et suis un contributeur à de nombreux projets associés. Unvanquished est un jeu de science-fiction mêlant des mécanismes de stratégie en temps réel avec une vue de jeu de tir à la première personne. Le projet Unvanquished est destiné à fournir un jeu entièrement libre depuis le code jusqu’aux données.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-005.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3030352e6d696e692e706e67/slide-005.mini.png" alt="Un service est un acte d’assistance auprès de quelqu’un" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-005.mini.png"></a></p>
<p>En dehors du développement de logiciel libre, je suis plus dans l’administration système et l’ingénierie de fiabilité de site (SRE, <em>site reliability engineering</em>), ou je dirais plutôt, ingénierie de réhabilitation de site (<em>site rehabilitation engineering</em>). Ce qui fait de Debian une part importante de mon travail et je suis convaincu que l’un des premiers services de Debian après sa communauté est une méthode de travail. Quand votre travail est de fournir des infrastructures, le logiciel lui-même devient moins important<br>
que la manière dont vous l’utilisez, et Debian définit des moyens de traiter les problèmes et construit un état d’esprit pour les penser.</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-002.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3030322e6d696e692e706e67/slide-002.mini.png" alt="Thomas est un chef du projet Unvanquished" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-002.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-003.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3030332e6d696e692e706e67/slide-003.mini.png" alt="Unvanquished est un jeu libre de stratégie en temps réel à la première personne" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-003.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-004.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3030342e6d696e692e706e67/slide-004.mini.png" alt="Debian définit des méthodes de travail" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-004.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>Parce que ce que je fais est de rendre les autres capables de faire leur propre travail, je connais le premier sens d’un service : un acte d’assistance auprès de quelqu’un.<br>
Je crois qu’il est important de replacer ce mot dans nos métiers, un service n’est pas une fonction logicielle, n’est pas un abonnement à une industrie économique, un service est un acte d’assistance auprès de quelqu’un.</p>
<p>Le moteur de jeu propulsant le jeu Unvanquished est nommé le moteur Dæmon, lui-même étant un petit-petit fils de nombreux forks incluant Quake 3.</p>
<p>Les projets basés sur le code ouvert d’id Software font face à de très nombreux forks. Nous investiguerons les raisons pour lesquelles ce problème ne réside pas seulement dans le côté humain des personnes, mais comment la conception du code induit ce comportement. Nous essaierons de comprendre pourquoi certains projets arrivent à développer des communautés et d’autres non, et ce qui peut être fait pour limiter le gaspillage de ressource et prendre soin des efforts humains, ce qui est prendre soin des humains eux-mêmes.</p>
<h2 id="toc-une-histoire-des-moteurs-id-tech">Une histoire des moteurs id Tech</h2>
<p>Pour commencer, nous allons observer l’histoire des jeux id Software.</p>
<p>Dans les pas du succès de Wolfenstein 3D, Doom est sorti en 1993 et son code source ouvert en 1999. Ce moteur est d’ordinaire appelé id Tech mais le terme de “moteur” ne correspond pas au sens actuel et les noms comme id Tech 1, 2, 3 et les autres font partie d’un effort rétroactif pour nommer les instantanés (<em>snapshots</em>) de code de manière à ce qu’ils ressemblent aux produits faits par d’autres sociétés.</p>
<p>Il n’y a jamais de choses comme des moteurs id Tech à l’époque. Il y avait le moteur de Doom, le moteur distribué avec Doom. Ensuite, des dérivés ont été faits à partir de lui, ce que l’on appelle fork.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-016.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3031362e6d696e692e706e67/slide-016.mini.png" alt="Distribué en open-source quand devenu obsolète" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-016.mini.png"></a></p>
<p>Quake est sorti en 1996 et tandis que Doom était un jalon important dans le jeu à la première personne, Quake fut un jalon important pour les environnements 3D. En 2020 un jeu comme Xonotic utilise toujours un moteur basé sur et compatible avec Quake premier du nom tout en fournissant une scène compétitive et une expérience de jeu actuelle.</p>
<p>Les Jeux id Software arrivant après Quake sont des améliorations itératives au-dessus de Quake, de même pour les outils. Les moteurs distribués avec les nouveaux jeux sont des instantanés de l’arbre des sources et ces jeux sont des forks.</p>
<p>Quake II a été distribué en 1997. Tandis que Quake et Quake World furent ouverts en 1999, le code de Quake II fut ouvert en 2001. Ces trois forks de Quake sont rétroactivement appelés sous le même nom id Tech 2.</p>
<p>Des instantanés de Quake et Quake II furent vendus et utilisés par des sociétés tierces comme base de jeux et de séries comme Kingpin, Soldier of Fortune ou Half Life.</p>
<p>En tant que société, id Software vendait essentiellement deux choses : des jeux, et des instantanés de code (<em>snapshot</em>).</p>
<p>Nous pouvons dire que certains instantanés d’id Tech 2 furent ouverts, mais cela ne fait pas sens de dire que id Tech 2 l’a été. id Tech 2 est seulement une approximation commode pour classer diverses choses qui sont proches les unes des autres, cela ne nomme pas un produit tangible.</p>
<p>Grâce à l’ouverture du code des projets communautaires <em>open source</em> émergèrent comme Nexuiz et son successeur Xonotic, Warsow, AlienArena, UFO: Alien Invasion, DDay: Normandy, l’à venir Quetoo, etc. Nous pouvons même voir des sorties commerciales comme le prochain Wrath: Aeon of Ruin par 3D Realms qui utilise le moteur DarkPlaces comme Xonotic.</p>
<p>id Software a sorti Quake III Arena en 1999. Les instantanés de code sont rétroactivement appelés id Tech 3. id Software a ouvert l’instantané Quake 3, l’instantané Return to Castle Wolfenstein, et l’instantané Wolfenstein: Enemy Territory. Une autre société a ouvert deux instantanés de jeux Jedi Knights.</p>
<p>Ce code source de Quake 3 eu beaucoup de succès et fut utilisé dans de nombreuses franchises bien connues<br>
comme celles que l’on vient de citer mais aussi Star Trek Elite Forces, encore une fois Soldier of Fortune, Medal of Honor, quelques jeux James Bond, Resident Evil, Call of Duty et d’autres.</p>
<p>En 2005 le code de Quake 3 fut libéré quand il était obsolète d’un point de vue économique. Les anciens codes étaient ouverts par id Software quand un autre code était commercialisé à la place.</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-013.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3031332e6d696e692e706e67/slide-013.mini.png" alt="Sélection de jeux construits sur le code de Quake et Quake 2" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-013.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-017.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3031372e6d696e692e706e67/slide-017.mini.png" alt="Sélection de jeux construits sur le code de Quake 3" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-017.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-022.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3032322e6d696e692e706e67/slide-022.mini.png" alt="Une chronologie de quelques sorties et libérations majeures d’id Software" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-022.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>Cette ouverture a permis de nombreux jeux libres, ou jeux avec un code source libre, de devenir des choses autonomes. Nous pouvons citer Tremulous sur lequel Unvanquished est fondé, World of Padman, Smokin' Guns, OpenArena et d’autres. Urban Terror a été distribué avec le moteur Quake 3 <em>open source</em> mais le code du jeu fut toujours propriétaire.</p>
<p>Doom 3 a été distribué en 2004 et son code source ouvert en 2011. Comme à l’ordinaire des instantanés<br>
furent utilisés dans des franchises établies comme Doom, Quake, Enemy-Territory et Wolfenstein, mais moins d’instantanés semblent avoir été vendus à des sociétés tierces. L’ouverture du code de Doom 3 a donné naissance à moins de projets libres, mais nous pouvons nommer The Dark Mod qui a construit un produit viable.</p>
<p>Nous pouvons encore remarquer la confusion entre les moteurs utilisés par tous ces jeux et ceux qui furent ouverts, sur la <a href="https://en.wikipedia.org/wiki/Quake_(video_game)">page Wikipédia anglophone sur le jeu vidéo Quake</a> nous pouvons lire :</p>
<blockquote>
<p>Quake 4 […] utilisait le moteur de Doom 3.</p>
</blockquote>
<p>Mais vous ne pouvez pas faire tourner Quake 4 avec le moteur fermé de Doom 3, pas plus avec le moteur libéré. Ces moteurs sont des forks incompatibles.</p>
<p>Le code de Doom 3 fut couvert par une licence différente des codes précédemment ouverts. Quand on regarde les dérivés de Quake 3 et de Doom 3 ayant leur code ouvert, nous pouvons voir des projets ayant une licence GPLv2 seulement, GPLv2 ou supérieur, et GPLv3. Il peut donc être compliqué d’échanger du code.</p>
<p>Dans ce cas les licences copyleft semblent être un moyen pour les sociétés impliquées de garder le contrôle du code source, comme une variante non-commerciale mais avec le sceau d’approbation de la FSF et de l’OSI. Cela a l’inconvénient de limiter ce que la communauté peut faire et éventuellement rendre plus difficile pour les personnes de travailler ensemble, échanger du code, rétroporter du code et fusionner des branches.</p>
<p>Le moteur de l’époque d’id Tech 5 utilisé par le jeu Rage n’a pas vraiment été utilisé en dehors d’une poignée de titres Wolfenstein et quelques rares autres. Les moteurs de génération id Tech 6 et 7<br>
semblent ne pas avoir été utilisés en dehors de jeux préexistants comme Doom et Wolfenstein et de ne pas avoir été commercialisé pour ce que j’en sais. Et avec Quake Champions ils ont commencé à utiliser du code tierce-partie. À ce niveau il semble que vous ne pouvez plus faire un jeu avec les technologies d’id Software actuelles.</p>
<h2 id="toc-compétiteurs">Compétiteurs</h2>
<h3 id="toc-epic-et-son-moteur-unreal">Epic et son moteur Unreal</h3>
<p>Un compétiteur bien connu d’id Software fut Epic Games. Ils ont sorti Unreal Tournament en 1999, presque au même moment que Quake III Arena.</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-025.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3032352e6d696e692e706e67/slide-025.mini.png" alt="Rendre possible la modification est différent de concevoir pour la modification" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-025.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-026.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3032362e6d696e692e706e67/slide-026.mini.png" alt="Epic and Unreal : l’éditeur d’abord" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-026.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-030.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3033302e6d696e692e706e67/slide-030.mini.png" alt="Epic : la communauté d’abord" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-030.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>Epic Games et les jeux id Software ont attiré une large communauté de <em>modders</em>, des personnes réalisant de nouveaux niveaux, implémentant des modifications de jouabilité et plus encore. Tandis que le temps passe nous pouvons remarquer des différences parmi la façon dont ces modifications furent prises en compte.</p>
<p>Si vous regardez le code d’id Software, vous remarquerez une grande quantité de choses qui vous donnent la possibilité de modifier et étendre le jeu, et faire de nouveau jeux à partir de ça.<br>
Je dis que le design « rend possible de modifier » et je ne dis pas qu’il est conçu pour être modifié.<br>
Certaines choses dans le code d’id Software sont pensées pour que réaliser des modifications soient une chose facile mais lorsque vous y faites face vous découvrez qu’elles rendent possible de faire des choses nouvelles mais ne s’attendent pas à ce que cette modification soit faite par vous.</p>
<p>Epic et Unreal ont commencé avec des éditeurs. Le premier jeu de Tim Sweeney ZZT a évolué depuis un éditeur de texte. Ce jeu de 1991 était distribué avec un éditeur de niveaux et a toujours une scène active de modification (<em>modding</em>).</p>
<p><a href="https://www.youtube.com/watch?v=-d7xzAZTBA8">J’ai entendu dire que les développeurs</a> à Epic Mega Games passaient leur temps sinon perdaient leur temps à jouer à Doom donc pour les rendre plus efficace dans leur travail, Tim Sweeney leur a écrit un éditeur. Pour ce que j’en sais, cet éditeur a précédé Unreal et a précédé Quake.</p>
<p>Le premier pas qu’Epic a fait pour que Unreal Tournament tienne la compétition avec Quake III Arena avant que Quake 1 soit annoncé fut un éditeur.</p>
<p>Après la sortie d’Unreal de nombreux développeurs ont demandé à utiliser le moteur. Le code source semble<br>
avoir été rapidement re-designé pour être réutilisable, de même pour l’éditeur.</p>
<p>Si vous regardez ce <a href="https://www.gamedev.net/forums/topic/159377-what-engine-does-halflife-quake2-and-unreal-use/1922976?page=2">fil de discussion</a> de 2003 sur gamedev.net, vous pouvez voir une personne dire :</p>
<blockquote>
<p>Je suis quasiment sûr que cette chose telle le « Unreal Engine » n’existe pas. Le moteur utilisé dans tous les jeux Unreal est optimisé et modifié pour chaque jeu Unreal.</p>
</blockquote>
<p>Et quelqu’un d’autre cite le <a href="https://web.archive.org/web/20030210190739/http://udn.epicgames.com/">site web Unreal Developer Network de l’époque</a> en disant :</p>
<blockquote>
<p>L’Unreal Developer Network est un groupe de sites et de services fournissant du support et des ressources pour les licenciés utilisant les derniers build d’Epic Games, (builds 600+).</p>
</blockquote>
<p>Puis la personne continue en disant :</p>
<blockquote>
<p>Le moteur est en développement continu […] et les fonctionnalités sont seulement figées pour la sortie du jeu (si tu licencies le moteur de la part d’Epic tu peux avoir les mises à jour pour le moteur à tout moment).</p>
</blockquote>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-028.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3032382e6d696e692e706e67/slide-028.mini.png" alt="C’est le moteur Unreal" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-028.mini.png"></a></p>
<p>Le <a href="https://web.archive.org/web/20030210090322/http://www.epicgames.com/licensing.html">site web d’Epic Games disait à cette époque</a> au sujet de l’Unreal Developer Network :</p>
<blockquote>
<p>Les licenciés reçoivent le code source complet pour notre moteur, des outils et le jeu le plus récent.<br>
Le support est fourni directement par l’équipe qui développe actuellement le moteur […] UDN est un dépôt de connaissance, de documentation et de tutoriels pour les « builds » récents de l’Unreal Engine.</p>
</blockquote>
<p>À la question « est-ce le Unreal II Engine, le UT2003 Engine, le Unreal Warfare Engine, le Unreal Championship engine ou le Unreal Tournament Engine ? », la réponse était claire :</p>
<blockquote>
<p>Ce n’est ni l’un ni l’autre. C’est simplement le « Unreal Engine ».</p>
</blockquote>
<p>Bien sûr cela fait partie d’un effort de communication, mais tandis que nous voyons le flux de travail à base d’instantanés distribués comme id Software le faisait, cela révèle un tronc commun, ou comme nous pourrions l’appeler aujourd’hui, une branche maîtresse. Ils parlaient déjà de « build ». Cela signifie que le moteur doit être réaffectable sans requérir du développeur qu’il le recompile.</p>
<p>Aujourd’hui l’Unreal Engine est l’un des moteurs de jeux les plus populaires, ou cadriciel de jeu (<em>game framework</em>) comme les gens disaient à l’époque. Peut-être l’Unreal Engine fut la cause de ce glissement de vocabulaire.</p>
<p>Epic a construit une communauté de développeurs de jeu autour de leurs technologies, ils fournissent<br>
des outils réutilisables et des éditeurs, et maintenant ils se concentrent sur le fait de faire se rencontrer artistes et développeurs. Ceci est fait avec la communauté à l’esprit. Le premier produit d’Epic est son service, et la communauté est un service en elle-même.</p>
<p>Bien que non-libres, les sources de l’Unreal Engine sont mises à disposition et il est prévu de recevoir des contributions en retour de la part des développeurs de jeu. C’est la problématique des projets logiciels qui sont en vie.</p>
<h3 id="toc-valve-et-le-moteur-source">Valve et le moteur Source</h3>
<p>Bien que nous puissions nous attendre à ce que des gros projets de jeux puissent utiliser des branches personnalisées du moteur, avec le temps il devient évident que l’un des premiers services à rendre aux développeurs de jeux est un « précompilé » (<em>build</em>) réutilisable.</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-033.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3033332e6d696e692e706e67/slide-033.mini.png" alt="Gold Source de Valve est basé sur Quake" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-033.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-035.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3033352e6d696e692e706e67/slide-035.mini.png" alt="Des outils pensés pour être réutilisables" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-035.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-039.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3033392e6d696e692e706e67/slide-039.mini.png" alt="Valve : la communauté d’abord" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-039.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>Concentrons-nous désormais sur Valve. Valve a obtenu des instantanés de Quake et Quake II, et quand ils les eurent dans les mains ils appelèrent ceci de l’or. Ils appelèrent leur arbre de source « Gold source ». Ils sortirent Half Life sur le moteur qu’ils bâtirent à partir de cela et plus tard, de la même manière qu’Epic Mega Games a retiré l’adjectif « Mega » pour se focaliser sur « Epic », Valve a retiré le mot « Gold » pour se focaliser sur « Source ».</p>
<p>Le moteur Source de Valve est prévu pour être réutilisable. Vous pouvez installer le « Source 2007 SDK » dans Steam et installer le jeu « GoldenEye: Source ». Les développeurs n’ont pas à compiler le moteur eux-mêmes. Le moteur source n’est pas un modèle (<em>template</em>), vous ne devez pas le <em>forker</em>, le compiler et le maintenir vous-même.</p>
<p>Valve fournit des outils comme l’éditeur de niveau Hammer et le compilateur de carte. Ces outils sont maintenus par Valve et conçus pour être réutilisables. Les cartographes (<em>mappers</em>) n’ont pas à recompiler les outils.</p>
<p>Il semble que cela n’a pas été si évident du côté d’id Software.</p>
<p>Avec Steam, Valve a bâti une distribution logicielle. Ils ont donc eu à concevoir leurs logiciels<br>
de façon à ce qu’ils soient distribuables dans un dépôt, ils ont résolu la duplication des fichiers<br>
et la fragmentation des fichiers, ils ont résolu les dépendances et ont rendu possible pour des équipes diverses d’avoir leur propre cycle de production tout en dépendant les uns des autres. Au-delà des questions légales et idéologiques, peut-être pourrions-nous techniquement faire des paquets Debian<br>
du moteur Source et des jeux. Du moins, certains problèmes ont été corrigés, Valve dut le faire.</p>
<p>Valve porte ses précédents jeux vers les versions mises à jour du moteur. Ils ne voient pas le vieux code comme du code mort, et ils doivent traiter des problèmes spécifiques que vous rencontrez en portant des jeux. Leur conception ne doit pas empêcher des portages de se produire.</p>
<p>Tandis que ces produits ont leur code source fermé on voit qu’ils ont trouvé des solutions à des difficultés que nous rencontrons en tant que communauté de logiciel libre. Le premier produit de Valve est son service et la communauté est un service elle-même, c’est la problématique des projets logiciels qui sont en vie.</p>
<p>Ces services induisent des méthodologies comme Debian en tant que distribution logicielle doit développer des méthodologies.</p>
<h2 id="toc-du-côté-libre-godot">Du côté libre : Godot</h2>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-043.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3034332e6d696e692e706e67/slide-043.mini.png" alt="Godot : la communauté d’abord" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-043.mini.png"></a></p>
<p>Du côté libre, Godot est un écosystème libre et <em>open source</em> qui est en compétition avec des moteurs<br>
comme Unreal, Unity ou Unigine, mais n’est pas en compétition avec id Tech pour une raison simple : Godot est pensé pour être réutilisable depuis le début et le développement est pensé pour recevoir des contributions dans la branche principale. Par conception Godot n’est pas voulu pour être un jeu en lui-même mais la technologie sous-jacente pour vos jeux. Le produit n’est pas le jeu, mais les outils.<br>
Cette perspective introduit des problèmes intéressants à traiter.</p>
<p>En tant que développeur de jeu, vous téléchargez une version pré-compilée de Godot et c’est parti. Godot est pensé avec la communauté en tête, bâti comme un logiciel communautaire libre et open source.</p>
<h2 id="toc-les-moteurs-id-software-éditeurs-et-outils-étaient-des-modèles">Les moteurs id Software, éditeurs et outils étaient des modèles</h2>
<p>À la différence des autres que je viens de citer, les codes ouverts et fermés d’id Software étaient des modèles (<em>templates</em>).</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-046.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3034362e6d696e692e706e67/slide-046.mini.png" alt="id Software vendait des modèles de jeu" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-046.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-047.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3034372e6d696e692e706e67/slide-047.mini.png" alt="Ça a toujours été fait ainsi" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-047.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-049.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3034392e6d696e692e706e67/slide-049.mini.png" alt="Corriger l’état d’esprit induit par le code" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-049.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>Quand vous faites un jeu basé sur les technologies d’id Software, vous devez forker une arborescence existante et la maintenir vous-même.</p>
<p>id Software vendait des instantanés de codes comme des modèles, et en tant que développeur vous aviez à faire des modifications nécessaires pour que ce ne soit plus destiné à un autre jeu mais au vôtre. Ceci est appelé « instanciation ».</p>
<p>Il y a quelques fonctionnalités limitées pour exécuter un <em>mod</em> « conversion complète » avec un jeu existant, mais vous ne pouvez pas prendre une précompilation du moteur et simplement la rempaqueter avec votre jeu pour en faire un jeu autonome qui tourne sans l’original.</p>
<p>Vous devez faire des changements nécessaires et mettre en œuvre l’infrastructure pour recompiler le moteur vous-même. Ceci produit un « état d’esprit induit par le code ».</p>
<p>Parce que le code lui-même est conçu pour être forké, quand vous travaillez avec, si vous n’essayez pas<br>
de penser en dehors des clous et de faire des efforts spécifiques pour aller contre ce que le code induit à votre esprit, vous commencez à penser que la seule manière de faire des choses est de forker sans contribuer en retour. Si vous demandez « pourquoi je devrais forker ? », certaines personnes pourraient vous répondre comme si vous aviez posé une question idiote s’ils ne répondent pas tout simplement « on a toujours fait comme ça ».</p>
<p>Pour prévenir cela du côté du moteur des changements de conception sont requis.</p>
<p>Pour corriger l’état d’esprit au niveau du code du jeu, le plus simple serait de cloner un dépôt amont et de faciliter les fusions dans un sens et dans l’autre. Les anciens systèmes de suivi de version comme Subversion sont aussi connus pour rendre la collaboration plus coûteuse que de forker c’est pourquoi utiliser des outils induisant de bonnes pratiques comme Git sont une bonne idée.</p>
<p>Parce que les codes d’id Software furent ouverts parce qu’abandonnés, en dehors de quelques projets comme le nôtre vous ne pouvez pas compter sur un amont (<em>upstream</em>).</p>
<p>Du côté du code du jeu il est aussi possible de diviser des parties du code en bibliothèques réutilisables. Pour Unvanquished nous ne considérons pas encore cette éventualité, mais nous avons jeté<br>
le code d’interface historique pour une bibliothèque tierce-partie que nous ne maintenons pas nous-mêmes,<br>
et pour d’autres parties nous avons introduit quelques mécanismes de génération de code.</p>
<h2 id="toc-des-formats-de-fichiers-destinés-à-être-forkés">Des formats de fichiers destinés à être forkés</h2>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-054.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3035342e6d696e692e706e67/slide-054.mini.png" alt="Le format de fichier BSP devait être forké pour ajouter des fichiers" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-054.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-055.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3035352e6d696e692e706e67/slide-055.mini.png" alt="Exemple du greffon Blender de SomaZ : personne ne veut le forker pour tous les jeux" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-055.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-057.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3035372e6d696e692e706e67/slide-057.mini.png" alt="Modifier le format BSP perd la compatibilité avec les outils et les fichiers existants" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-057.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>Jetons un œil au format de fichier BSP. BSP est le nom d’une technique pour stocker des informations spatiales pour le niveau du jeu en tant que modèle 3D. Nous ne nous focaliserons pas sur cette technique<br>
mais sur le fichier avec une extension <code>.bsp</code> qui est utilisé pour stocker ces informations et d’autres choses.</p>
<p>Vous pouvez voir un fichier BSP comme un tarball primitif : un container pour de multiples fichiers<br>
que le moteur de jeu charge. Cela peut être le modèle 3D lui-même mais aussi d’autres chose comme des images. Un fichier BSP commence par une entête avec des nombres magiques (<em>magic numbers</em>), comme la chaîne « <code>IBSP</code> » pour les jeux id Software, « <code>RBSP</code> » pour les jeux Raven, « <code>VBSP</code> » pour les jeux Valve. Puis un numéro de version. Après cela vous devez vous attendre à ce que tout le reste soit non-documenté et spécifique à chaque fork sur terre.</p>
<p>Il y a un tableau pour les entrées de sous-fichiers avec leurs décalages (<em>offset</em>) et tailles,<br>
mais il n’y a pas de nombre pour vous dire combien de fichiers il y a. Donc, vous ne pouvez pas extraire de sous-fichier provenant d’autres forks.</p>
<p>Imaginez que chaque jeu basé sur id Tech utilise son propre format <code>tar</code>, et que si votre jeu a besoin de distribuer un fichier supplémentaire, il vous est requis de forker le format tar et de créer une autre variante non-documentée.</p>
<p>Tout d’abord le problème ne semble pas si problématique parce qu’il est aussi attendu que vous forkiez l’éditeur de niveau, le compilateur de carte qui produit les données BSP, et de forker le traceur de rayon pour faire le rendu des cartes de lumière (<em>light map</em>). Tout fonctionne dans votre écosystème fermé qui n’échange jamais avec le monde.</p>
<p>Les choses commencent à devenir difficiles quand vous avez besoin de sortir de cet état d’esprit. SomaZ du projet OpenJK est en train d’écrire un <a href="https://github.com/SomaZ/Blender_BSP_Importer">greffon Blender pour charger des fichiers BSP</a> et rendre les cartes de lumière en utilisant le traceur de rayon Cycle. Personne ne veut forker ce greffon pour chaque jeu, donc au final un tel greffon devra implémenter<br>
votre propre variante spécifique à votre jeu si vous voulez l’utiliser.</p>
<p>Quand vous êtes un éditeur des années 90 gravant des jeux sur des CD ROMs qui ne seront jamais mis à jour, vous ne vous en préoccupez pas. Mais même si les jeux id Tech ont été produits avec le marché du PC en tête, quand vous mettez en œuvre les technologies ouvertes d’id Software vous appliquez des méthodologies qui conviendraient parfaitement si vous cibliez des cartouches de consoles.</p>
<p>Le jeu Unvanquished utilise le moteur Dæmon qui est un fork du moteur XreaL qui est un fork du moteur ouvert de Quake 3. Pour introduire de nouvelles fonctionnalités et pour résoudre des problèmes, XreaL a dû étendre le format BSP. Ce moteur avait du code pour charger à la fois le nouveau format et l’original,<br>
mais à cause de la manière dont ces formats et le moteur étaient conçus, vous deviez recompiler le moteur<br>
avec des définitions (<em>defines</em>) spécifiques pour activer la prise en charge d’un format ou d’un autre, sans être capable de prendre en charge les deux au même moment. Pour Unvanquished et Dæmon nous avons pour le moment renoncé à ces améliorations pour ne pas perdre la compatibilité avec les logiciels tierce-parties et les actifs (<em>assets</em>) existant, mais cela signifie que nous devons contourner des problèmes qui ont des correctifs connus que nous n’utilisons pas encore.</p>
<h2 id="toc-des-éditeurs-destinés-à-être-forkés">Des éditeurs destinés à être forkés</h2>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-061.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3036312e6d696e692e706e67/slide-061.mini.png" alt="Longue liste de fork de radiant" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-061.mini.png"></a></p>
<p>Du temps de Quake il y avait un éditeur de niveau maison appelé QuakeEd, du temps de Quake 3 cet éditeur était nommé QERadiant puis Q3Radiant, de là vous obtenez CoDRadiant pour Call of Duty, MoHRadiant pour Medal of Honor,<br>
vous avez compris…</p>
<p>Comme le moteur, l’éditeur de niveau devait être forké, instantié, édité pour s’adapter à votre jeu spécifique,<br>
construit et maintenu par le développeur de jeu. La même chose se produisait avec les outils de compilation de carte.</p>
<p>Ici est <a href="https://github.com/illwieckz/compare-radiant/blob/master/docs/known-radiant-list.md">ma liste personnelle</a> d’instance de Radiant connus pour divers jeux. Attendez-vous aussi à une longue liste pour les compilateurs de cartes et traceurs de rayon.</p>
<p>Quand vous regardez en dehors de cet héritage d’id Software, il n’y a pas de DarkBlender, pas de NetBlender,<br>
pas de ÜberBlender… mais quand vous jonglez avec les technologies d’id Software, vous le devez. Ceci n’est pas seulement parce que le code ouvert est mort, non-supporté et que les gens ne savent pas travailler entre eux.<br>
La raison est que c’était voulu comme cela : les dévelopeurs payant id Software à l’époque devaient forker et faire le travail de maintenance et de publication de l’éditeur. Splash Damage avait son propre fork à l’époque, Raven avait un fork par jeu et ça fait beaucoup.</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-067.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3036372e6d696e692e706e67/slide-067.mini.png" alt="Radiant est peut être OK pour des employés, pas pour des indépendants" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-067.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-062.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3036322e6d696e692e706e67/slide-062.mini.png" alt="La liste des forks de compilateurs de cartes est toute aussi longue" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-062.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-068.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3036382e6d696e692e706e67/slide-068.mini.png" alt="À l’époque de Quake Live id Software a forké l’éditeur tandis que la communauté le maintenait" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-068.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>À un moment id Software a ouvert le code source de l’éditeur et du compilateur de carte de Quake 3, il a été porté vers GTK pour devenir multiplateforme, et rendu à peu près multijeu. Ne vous attendez pas à ce que la fonctionnalité multijeu aille de soi. Ce n’est pas prévu pour que vous travailliez sur plusieurs jeux en même temps, multijeu signifie seulement que vous n’avez pas à réinstaller l’éditeur quand vous arrêtez de travailler<br>
sur un jeu pour travailler sur un autre.</p>
<p>Même avec cette amélioration multijeu, l’éditeur de niveau Radiant n’attend pas de vous que vous éditiez des niveaux pour un jeu un jour et pour un autre jeu un autre jour. Cela peut satisfaire le modèle de développement de jeux commerciaux, mais pas le modèle de contribution d’une communauté bénévole et libre motivée par la passion et le désir.</p>
<p>L’éditeur s’attend à ce que vous stockiez les fichiers à seulement un endroit codé en dur, donc vous ne pouvez pas stocker vos fichiers où vous le voulez. Ceci est suffisant si vous faites partie d’une équipe travaillant sur un seul jeu dans un dossier partagé fourni par votre société, pas si vous êtes un passioné.</p>
<p>L’histoire a aussi révélé un comportement intéressant d’id Software : quand ils ont eu besoin d’un éditeur de niveau pour leur jeu Quake Live, au lieu d’utiliser GtkRadiant 1.5 qui était maintenu par la communauté après qu’ils l’ont ouvert, ils sont simplement revenus à une ancienne version 1.4 qu’ils ont gardée en interne avant de la republier et la réouvrir une nouvelle fois. Ils ont forké leur propre code depuis une ancienne version,<br>
et après cela les gens ont eu à choisir entre deux forks parce que les fonctionnalités et la prise en charge des jeux étaient partagées. À ce niveau il semble qu’id Software ne savait pas comment faire avec une communauté.</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-064.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3036342e6d696e692e706e67/slide-064.mini.png" alt="Il n’y a pas de DarkBlender, pas de NetBlender, pas d’ÜberBlender" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-064.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-071.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3037312e6d696e692e706e67/slide-071.mini.png" alt="Forks de Radiant déjà distribué dans Debian" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-071.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-069.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3036392e6d696e692e706e67/slide-069.mini.png" alt="Changements apportés à NetRadiant pendant les trois dernières années tandis que le logiciel est vieux de 20 ans" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-069.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>Voici une simple liste de fonctionnalités qui furent ajoutées à l’initiative d’Unvanquished à la branche NetRadiant, qui est le fork communautaire avec probablement la liste la plus étendue de jeux pris en charge aujourd’hui :</p>
<ul>
<li>ouvrir un fichier depuis la ligne de commande et le gestionnaire de fichier,<br>
cela a été implémenté en 2017.</li>
<li>charger les données de jeu depuis des chemins arbitraires et prédéfinis,<br>
cela a été implémenté en 2017.</li>
<li>changer le jeu courant sans avoir à redémarrer l’éditeur vous-même,
recharger la carte courante avec le nouveau jeu
dans l’éventualité où vous auriez chargé la mauvaise carte avec le mauvais jeu,<br>
cela a été implémenté en 2019, l’année dernière.</li>
</ul>
<p>La capacité de choisir où sauver vos données et d’ouvrir un fichier depuis le gestionnaire de fichier fut ajoutée pendant les trois dernières années, pour un logiciel conçu avant l’an 2000. Pourquoi cela a pris tant de temps est parce que ce logiciel est pensé pour être forké pour cibler la hiérarchie spécifique de votre jeu.</p>
<p>Parce que ceci est une conférence Debian, je cite une fonctionnalité spéciale qui a été ajoutée à NetRadiant en 2018 : rendre possible d’installer l’éditeur en suivant le standard FHS (<em>File Hierarchy Standard</em>). Quand il est attendu que vous distribuiez un fork de l’éditeur avec chacun des différents jeux que vous publiez, rendre l’éditeur capable d’être installé globalement est la dernière de vos préoccupations, et cela pourrait même être stupide parce que tous ces forks seront distribués avec les outils associés comme les compilateurs de carte qui pourraient partager le même nom de binaire mais sans avoir le même comportement.</p>
<p>Il y a déjà deux forks de Radiant distribués dans Debian, DarkRadiant qui est un fork de NetRadiant destiné pour The Dark Mod et focalisé sur les jeux basés sur Doom 3, et UFO Radiant qui est un fork d’une autre branche de DarkRadiant qui peut seulement éditer les données du jeu UFO: Alien Invasion.</p>
<h2 id="toc-au-sujet-du-développement-logiciel-et-du-sacrifice-denfant">Au sujet du développement logiciel et du sacrifice d’enfant</h2>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-076.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3037362e6d696e692e706e67/slide-076.mini.png" alt="Le flux de travail tue le précédent pour rediriger les ressources et le support de vie vers le nouveau" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-076.mini.png"></a></p>
<p>Donc, nous avons mis en lumière plusieurs choses :</p>
<ul>
<li>la technologie d’id Software est très efficace mais c’est comme si chacune de ses parties suppose que vous forkiez l’ensemble et ne contribuiez jamais en retour ni ne mutualisiez les efforts de développement,</li>
<li>les moteurs id Tech étaient censés être vendus et oubliés. Il semble que cela a été conçu pour une seule relation sociale : la vente,</li>
<li>les formats de carte, matériaux, code réseau et autres choses ne sont pas vraiment pensées pour être étendues, versionnés, et dans de nombreux cas, il n’y a rien pour seulement détecter le format, quand parfois un seul entier aurait été suffisant pour parser des données inconnues.</li>
</ul>
<p>À peu près tout dans les moteurs id Tech est pensé pour distribuer un jeu qui va tuer le précédent. Le développement nouveau est pensé pour distribuer un jeu incompatible. La conception est pensée autour de cet état d’esprit, et ensuite le design induit cet état d’esprit à son tour.</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-075.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3037352e6d696e692e706e67/slide-075.mini.png" alt="Forker est comme donner naissance à un nouveau-né" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-075.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-073.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3037332e6d696e692e706e67/slide-073.mini.png" alt="La conception d’id Tech suppose que vous forkez" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-073.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-078.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3037382e6d696e692e706e67/slide-078.mini.png" alt="Les méthodologies évitent les situations requérant de résoudre des problèmes" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-078.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>Forker un projet logiciel c’est comme donner naissance à un enfant, un fork est aussi fragile qu’un nouveau-né : il ne peut rien faire d’autre par lui-même que mourir. Si vous n’êtes pas capable de donner assez d’attention et de soin à un nouveau-né, le bébé va mourir. De même pour les forks.</p>
<p>Le flux de travail d’id Software à l’époque ressemblait à du sacrifice d’enfant : à chaque fois qu’un nouveau jeu devait être développé, l’enfant précédent était tué pour rediriger les ressources et le support de vie sur le nouveau. À la différence des autres développeurs de moteur de jeu comme Epic ou Valve, id Software n’a jamais pris le risque de laisser son enfant atteindre l’adolescence et devenir un adulte.</p>
<p>Ils n’ont pas distribué de précompilation réutilisable du moteur, les éditeurs n’étaient pas vraiment réutilisables, ils n’ont pas construit une communauté autour des outils comme si c’était un produit par lui-même, ils n’ont pas bâti une distribution logicielle donc ils n’ont jamais eu à en résoudre les problèmes associés, ils n’ont pas bâti un système de distribution de données donc ils n’ont pas eu à traiter les problèmes<br>
d’incompatibilité de formats et de conflits de fichiers.</p>
<p>À un moment dans le développement de jeu avec du code basé sur id Tech, vous remarquerez que pour solutionner certains problèmes vous ne devez pas seulement étendre votre moteur mais forker votre propre jeu. En travaillant sur Unvanquished je dois avoir rencontré cette situation 5 ou 6 fois.</p>
<p>D’une certaine manière on peut mesurer le génie impressionnant de John Carmack par le fait que ses compétences techniques ont gardé id Software en vie pendant tant d’années malgré tant d’erreurs commerciales, ratages stratégiques et pertes d’opportunité, empêchant leurs propres communautés de joueurs de grandir avec eux.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-081.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3038312e6d696e692e706e67/slide-081.mini.png" alt="Du code mort produit des zombies" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-081.mini.png"></a></p>
<p>Avec une telle rétrospective, ce qui semble bizarre est découvrir que c’est parce que le code était mort, je veux dire tué, qu’il était possible de l’ouvrir. Donc d’un côté nous avons reçu un code libre et ouvert,<br>
mais de l’autre ce code était censé être mort et produire des morts-vivants (<em>zombies</em>).</p>
<p>Aussi, le moins vous obtenez des contributions, plus facile il devient pour votre service juridique<br>
de mettre tout en ordre pour une libération du code. Donc c’est comme s’il était plus possible pour le code source d’id Software d’être ouvert parce que le flux de travail était plus fermé que les autres.<br>
Ça fait un peu bizarre de s’en rendre compte.</p>
<p>En 2020, aucun développeur de jeu recherche un moteur qui requiert d’être forké et maintenu seul.<br>
Pour Dæmon un de nos objectifs est de rendre possible à un développeur de jeu de simplement réutiliser une précompilation existante, disons celui que nous faisons pour Unvanquished, et de l’empaqueter avec son propre code de jeu et ses données. Cela n’est pas entièrement terminé, mais nous voulons que ce le soit.</p>
<h2 id="toc-un-état-desprit-induit-par-le-code">Un état d’esprit induit par le code</h2>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-085.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3038352e6d696e692e706e67/slide-085.mini.png" alt="Le VFS PK3 est conçu pour recevoir des mises-à-jour de la part du vendeur, pas de vous" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-085.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-086.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3038362e6d696e692e706e67/slide-086.mini.png" alt="Le VFS DPK introduit un nouvel état d’esprit et une économie" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-086.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-087.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3038372e6d696e692e706e67/slide-087.mini.png" alt="Le BSP n’a rien pour versionner les formats d’image" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-087.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>Le moteur de Quake 3 vient avec une fonctionnalité vraiment sympa appelée VFS PK3, c’est un système de fichier virtuel qui facilite vraiment l’extension de données de jeu. Mais ce n’est pas conçu pour la modification (<em>modding</em>). Cela peut être utilisé pour le <em>modding</em>, mais c’est conçu pour permettre au jeu de recevoir des mises à jour provenant d’une seule source : le vendeur.</p>
<p>La conception n’empêche pas le jeu du joueur d’être cassé par n’importe quel fichier arbitraire provenant de n’importe quel serveur arbitraire. Donc nous l’avons étendu en créant le VFS DPK de manière à ce que cela rende possible de charger seulement une sélection prédéfinie de données au lieu de charger tout.</p>
<p>Cela n’est pas suffisant pour corriger certains problèmes et il y a quelques autres fonctionnalités à implémenter, mais vous verrez la différence entre concevoir un format pour permettre au vendeur de mettre à jour le jeu, et de concevoir le format en prenant en compte que des gens au hasard vont mettre à jour votre propre jeu.</p>
<p>Ce petit changement mineur introduit un nouvel état d’esprit. Parce que les paquets ont maintenant un nom de base et une chaîne de version standardisée (réutilisant le tri de version de Debian), il devient naturel de penser ces paquets comme des bibliothèques. Les artistes peuvent faire des bibliothèques de textures et des bibliothèques de modèles, ils peuvent avoir leur propre cycle de sortie et les cartographes (<em>mappers</em>) peuvent alors créer des niveaux utilisant cette-version-ci ou cette-version-là de bibliothèque de modèle ou de texture.</p>
<p>Ce changement que nous avons fait est tellement mineur que si vous ne faites que rétablir l’extension du fichier<br>
pour celle attendue par Quake 3, un binaire d’il y a 20 ans peut lire les données.</p>
<p>Mais cette modification vraiment mineure signifie beaucoup de choses pour une communauté, chaque membre étant capable de développer son propre métier et ses relations aux autres, devenant un fournisseur pour d’autres ou se reposant sur des fournisseurs, ça s’appelle une économie.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-089.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3038392e6d696e692e706e67/slide-089.mini.png" alt="Motif de consommation moderne" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-089.mini.png"></a></p>
<p>Nous avons parlé du format de fichier BSP. Il embarque des images qui sont des textures de lumières et d’ombres précalculées. Seulement un format de stockage était pris en charge et seulement une seule taille d’image permise, et il n’y avait rien pour décrire le format, seulement le nombre d’images était variable. Il y a plusieurs années des personnes ont eu la bonne idée de rendre le moteur capable de charger ces textures depuis l’extérieur de ce fichier. Cela a permis de nouvelles tailles, de nouveaux formats d’images incluant des formats compressés.</p>
<p>Ce simple exemple montre comment le premier concept requérait que les jeux forkent le format pour créer des variantes incompatibles si quelqu’un avait besoin de stocker des textures avec une plus grande résolution, quand le second concept permet à n’importe quel moteur d’ajouter n’importe quel format sans introduire des incompatibilités dans la spécification du fichier BSP lui-même.</p>
<p>Le code id Tech suivaitle motif de consommation linéaire moderne : production, consommation, déchet. Nos efforts à Unvanquished est de recréer un cycle. Et pour recréer ce cycle, nous avons à corriger le concept induisant l’état d’esprit du motif linéaire.</p>
<h2 id="toc-sur-le-code-open-source-et-les-communautés-humaines-de-partage">Sur le code open source et les communautés humaines de partage</h2>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-092.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3039322e6d696e692e706e67/slide-092.mini.png" alt="Copie d’écran du billet de blog de Dave Airlie" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-092.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-093.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3039332e6d696e692e706e67/slide-093.mini.png" alt="Les entreprises doivent passer du temps à construire des projets et des communautés" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-093.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-099.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3039392e6d696e692e706e67/slide-099.mini.png" alt="Le modèle de distribution de sources n’est pas un modèle de développement partagé" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-099.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>Dave Airlie de Red Hat <a href="https://airlied.blogspot.com/2020/11/linux-graphics-why-sharing-code-with.html">a publié un article de blog</a> sur ce sujet pendant que je préparais cette conférence. Parlant de pile graphique au lieu de moteur de jeux, il a dit :</p>
<blockquote>
<p>Il y a une grande différence entre les projets distribués comme open source et développés comme open source<br>
en termes de durabilité et de communauté.</p>
<p>En théorie il pourrait être possible de produire une telle pile avec les bénéfices du développement open source, cependant la plupart des vendeurs semblent y échouer. Ils voient l’open source comme un modèle de distribution, ils développent en interne et jettent les résultats à la pelle par-dessus la barrière dans un dépôt github tous les X semaines, […] mais ils ne passent jamais de temps à construire des projets ou des communautés autour d’eux.</p>
</blockquote>
<p>Il ajouta :</p>
<blockquote>
<p>J’ai commencé radv parce qu’AMD promettait au monde un pilote Vulkan open source pour Linux […]. Mais quand il fut livré il était distribué comme open source mais développé en interne. Il n’y avait aucune passerelle pour la participation de la communauté […]. Comparez cela au projet radv dans Mesa qui permit à Valve de contribuer le compilateur <em>backend</em> ACO et fournir de meilleurs résultats qu’AMD […] n’aurait jamais pu obtenir, avec bien moins d’investissement et de main d’œuvre.</p>
</blockquote>
<p>Il y a quatre choses importantes dans cette citation. Premièrement il est important pour les entreprises<br>
de dépenser du temps à construire des projets et des communautés autour de leurs propres projets.</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-095.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3039352e6d696e692e706e67/slide-095.mini.png" alt="id Software a ouvert des moteurs mais n’a pas construit de communauté" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-095.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-098.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3039382e6d696e692e706e67/slide-098.mini.png" alt="La conception ne reflète pas les problèmes rencontrés par les communautés" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-098.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-101.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3130312e6d696e692e706e67/slide-101.mini.png" alt="La conception d’id Software économise les ressources au niveau local, pas à l’échelle de la communauté" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-101.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>En second, le nom de Valve a été encore cité. La frontière entre le bien et le mal n’est pas entre les hommes mais passe au travers de chaque être humain, de même pour les sociétés et organisations humaines. Tandis qu’Epic et Valve n’ont jamais rendu leur moteur de jeu libre et open source, ils comprirent ce qu’est une communauté.<br>
De l’autre côté, tandis qu’id Software savait ce que c’était de publier son code de manière libre et ouverte, ils n’ont pas vraiment bâti de communauté autour d’eux, pas même de communauté à code fermé.</p>
<p>Quand vous regardez dans le passé il semble que les entreprises qui utilisaient les technologies d’id Software étaient plus susceptibles d’accepter cette situation étant donné que le code était efficace, et pour certaines d’entre elles la seule relation sociale a pu être la vente.</p>
<p>Rebecca Heineman, la développeuse du port 3DO de Doom <a href="https://www.youtube.com/watch?v=rBbIil2HPSU">a même dit</a> que lorsque sa société a acheté le droit de porter Doom sur cette plateforme, elle n’a pas eu le code source au début. Cela n’était pas la faute d’id Software et elle n’a pas rencontré de problème particulier à obtenir une copie du source sur un CD en contactant John Carmack directement, mais cela signifie que même quand le code source est acheté à cette intention l’idée d’un service semble être optionnelle.</p>
<p>La conception logicielle reflète usuellement les services autour de lui. Bien sûr nous ne pouvons pas attendre<br>
des méthodologies de l’époque de Doom d’être au niveau de celles actuelles, mais quand on regarde les codes sources ultérieurs, ils ne semblent pas refléter de changements fondamentaux dans ces méthodes de travail.</p>
<p>La façon dont les problèmes sont solutionnés et fonctionnalités implémentées reflètent ordinairement les méthodologies et flux de travail. Et les reflets des problèmes rencontrés par les communautés sont difficiles à remarquer dans la conception du code d’id Software.</p>
<p>La troisième chose importante est la formulation que Dave utilise dans son billet de blog quand il parle au sujet du « modèle de distribution de source ouverte ». Nous pouvons enlever l’adjectif « ouverte ». Les logiciels id Tech semblent avoir été plutôt construits autour d’un modèle de distribution de source qu’un modèle de développement d’effort partagé, même si propriétaire et sous accord de non-divulgation.</p>
<p>La quatrième chose importante est le coût. Les logiciels id Software semblent avoir été seulement conçus<br>
pour traiter des problèmes techniques, pas les problèmes sociaux comme récupérer les contributions en retour<br>
et prévenir le gaspillage de ressources de développement à l’échelle d’une communauté. Les ressources semblent avoir été économisées au niveau local de l’entreprise au détriment de la communauté.</p>
<p>Enfin, une telle conception blesse profondément la croissance technique du logiciel lui-même quand il doit survivre à un homme ou à une entreprise, et que ce logiciel repose sur des contributions bénévoles.</p>
<h2 id="toc-bâtir-un-écosystème-et-une-communauté-comme-un-service">Bâtir un écosystème et une communauté comme un service</h2>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-106.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3130362e6d696e692e706e67/slide-106.mini.png" alt="Les humains ont besoin d’expérimenter les projets comme des amonts" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-106.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-107.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3130372e6d696e692e706e67/slide-107.mini.png" alt="Rôder et vivre dans les communautés" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-107.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-109.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3130392e6d696e692e706e67/slide-109.mini.png" alt="Pour ouvrir des portes vous devez regarder les chemins des gens" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-109.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>Comment faire qu’un projet comme Unvanquished et le moteur Dæmon fassent ce que le moteur Quake 3 n’a jamais vraiment fait sur le plan de la communauté et se fraient un chemin à travers l’enfer de l’état d’esprit de fork d’id Software ?</p>
<p>D’abord, ce n’est pas technique, mais les être humains ont besoin d’expérimenter un projet existant comme un projet amont. Par exemple quand vous avez besoin d’ajouter quelque chose à Blender, cela semble évident<br>
que vous devez leur soumettre des patchs. Cela n’est pas évident en soi, c’est une connaissance qu’un projet doit construire.</p>
<p>Les gens doivent entendre parler des intentions des organisations et des personnes de relire et fusionner leur code. Les gens doivent entendre que leur code est censé faire partie d’un tout. Il est nécessaire de construire une visbilité sur ces buts et ces intentions.</p>
<p>Si vous pensez qu’il est évident que n’importe quel patch que vous feriez pour le noyau Linux ferait mieux d’être fusionné en amont (<em>upstreamed</em>), cela signifie que quelqu’un a semé avec succès ce sentiment dans votre cœur. L’industrie Android révèle que cette conviction n’est pas évidente : malgré tous les efforts faits<br>
pour rendre l’amont clairement identifiable et le code et les outils conçus pour les contributions, de nombreuses entreprises agissent comme si le noyau Linux était conçu pour être forké et ils implémentent leurs fonctionnalités sur ce qui est déjà un cadavre de Linux.</p>
<p>Une chose très importante est de marauder (<em>lurk</em>) et de vivre dans les communautés, d’écouter leurs besoins,<br>
remarquer les aspirations grandissantes, et d’accompagner les naissances. C’est comme sonder un marché sauf qu’il s’agit d’être un ami.</p>
<p>Nous ne pouvons sous-estimer l’importance d’être proche des communautés. Je viens seulement de découvrir ce mois-ci un autre projet basé sur XreaL à peu près en vie. Une refonte (<em>remake</em>) de Kingpin sur XreaL. Je fais partie de ceux ayant la plus profonde connaissance de tous ces forks mais j’ai manqué celui-ci pendant une décennie. Moins de deux semaines après avoir parlé pour la première fois avec l’un des contributeurs agonisants<br>
il nous a aidé à corriger un problème pour notre version à venir. Cela m’a pris 10 années pour rencontrer cette communauté, j’espère que nous pouvons faire plus de choses ensemble.</p>
<p>Parfois un concept peut être amélioré seulement en parlant à d’autres même s’ils n’utiliseront jamais le logiciel. Cela aide à prendre du recul et avoir un meilleur panorama de ce qui peut être fait. Parfois on découvre que le logiciel peut faire plus que nos propres besoins en faisant seulement la même chose différemment. Pour ouvrir des portes vous devez regarder le chemin des gens.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-112.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3131322e6d696e692e706e67/slide-112.mini.png" alt="Tout patch solutionnant un problème est pour de vrai" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-112.mini.png"></a></p>
<p>Les gens sous-estiment la valeur de leur contribution. Certains forks sont faits par des personnes bidouillant pour s’amuser ou des étudiants expérimentant quelque chose par curiosité. Ils ignorent souvent que ce qu’ils font est précieux. Cela peut être dû à des présupposés faux provenant du système scolaire qui leur font penser qu’ils ne sont pas encore des adultes ou pas encore des professionnels et que rien de ce qu’ils font ne l’est pour de vrai. Mais tout patch qui résout un problème est pour de vrai. Aussi en grandissant on découvre que les professionnels peuvent être simplement des adolescents prétendant être sérieux… Donc, personne ne doit sous-estimer la valeur d’une contribution.</p>
<p>Certaines personnes forkent simplement en disant « je veux simplement ajouter cela », supposant que le code original est terminé et qu’il n’y aurait rien à tirer de lui dans le futur. Le logiciel fermé peut introduire cet état d’esprit mais pour un projet open source il n’y a rien de tel qu’un code étant terminé. Aussi, ils ignorent que d’autres personnes veulent « simplement ajouter cela » aussi.</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-113.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3131332e6d696e692e706e67/slide-113.mini.png" alt="Le moteur Dæmon est pensé pour être réutilisable, de l’aide a été fournie par Xonotic" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-113.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-116.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3131362e6d696e692e706e67/slide-116.mini.png" alt="Le coût de forker est supérieur au coût de contribuer en retour" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-116.mini.png"></a></td>
<td><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-117.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3131372e6d696e692e706e67/slide-117.mini.png" alt="Laisser grandir un enfant signifie que tout le monde est libre" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-117.mini.png"></a></td>
</tr>
</tbody>
</table>
<p>Comme nous le voyons avec les formats BSP et DPK, il est parfois possible de repenser les choses avec des différences vraiment mineures de façon à ce qu’il soit rendu plus facile d’étendre le code sans avoir à le forker. Parfois une seule petite modification peut révéler que l’idée de forker une base de code complète<br>
pour changer la taille d’une image est du gaspillage, quand précédemment un tel fork pour une modification aussi mineure était requis par conception.</p>
<p>Pour Unvanquished nous avons clairement signifié que le moteur est censé être réemployable, et nous avons reçu beaucoup d’aide de la part de personnes de Xonotic pour diviser les arborescences et faire du moteur Dæmon un projet par lui-même. Parce que l’un des premiers services qui doit être rendu à un développeur de jeu est un binaire réutilisable, chaque problème qui empêche encore cela est désormais proprement rapporté et est prévu d’être corrigé un jour.</p>
<p>Une autre chose importante étant l’éditeur et les outils, avec encore l’aide de Xonotic nous avons fait beaucoup de travail pour rendre l’éditeur de niveau NetRadiant plus accessible aux nouveaux-venus et améliorer le flux de travail de façons plus naturelles.</p>
<p>Cependant, tant d’efforts n’ont pas empêché un autre fork de NetRadiant d’apparaître tout juste et les gens doivent à nouveau choisir entre quel jeu est pris en charge et les fonctionnalités, encore. Parce que ce fork est basé sur une vieille branche qui précède une large réorganisation du code, l’effort pour les fusionner est élevé et sur la base d’un salaire de développeur, le coût de la quantité de travail pour fusionner les deux branches serait un nombre avec quatre zéros si évalué en dollars. Cela ne serait pas le coût d’une fonctionnalité, cela serait seulement le coût du gaspillage. Faire travailler les gens entre eux est vraiment une route longue et difficile.</p>
<p><a href="https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-118.png"><img src="//img.linuxfr.org/img/68747470733a2f2f646c2e696c6c776965636b7a2e6e65742f622f6c696e757866722e6f72672f636f6e666572656e63652f62617469722d756e652d636f6d6d756e617574652d636f6d6d652d756e2d736572766963652f736c6964652d3131382e6d696e692e706e67/slide-118.mini.png" alt="Le premier service que chacun reçoit dans la vie est une communauté" title="Source : https://dl.illwieckz.net/b/linuxfr.org/conference/batir-une-communaute-comme-un-service/slide-118.mini.png"></a></p>
<p>Ce qu’il est important de garder à l’esprit est qu’à un certain point le coût du fork est plus élevé que le coût de contribuer en retour. Cela peut être difficile à remarquer dans des communautés de personnes bénévoles quand vos propres actes ne signifient pas plus d’effort pour vous mais plus d’efforts pour les autres.</p>
<p>Nous ne pouvons pas faire de la magie et devons nous reposer sur la volonté des autres. C’est le risque de laisser un enfant grandir : nous pouvons donner la direction que nous pensons être la bonne, mais à la fin tout le monde est libre.</p>
<p>Un service est un acte d’assistance auprès de quelqu’un, et le premier service que chacun reçoit dans la vie est une communauté.</p>
<h2 id="toc-questions">Questions</h2>
<p><strong><em>Sahil :</em></strong> Merci Thomas pour la conférence, passons aux questions, donc la première question est :</p>
<blockquote>
<p>Tout cela me semble super, mais avez-vous déjà réussi à réunir à bord d’autre forks non-Unvanquished ?</p>
</blockquote>
<p><strong><em>Thomas :</em></strong> Si la question est au sujet des autres projets qui sont intéressés par notre moteur, aucun n’a encore abouti dans leur portage de leur jeu sur le moteur parce que cela requiert beaucoup de main d’œuvre, donc cela pourrait se produire dans le futur, mais pour le moment nous ne savons pas. Mais cependant cela nous a déjà aidé à, comment dire… par exemple ils ont corrigé des bugs ou nous avons trouvé des bugs que nous avons corrigés<br>
en regardant comment rendre possible leur portage, donc au final si aucun jeu n’a encore été porté avec succès,<br>
le moteur est meilleur grâce à eux, grâce à leurs effort pour leur portage.</p>
<p><strong><em>Sahil :</em></strong> Très bien, ensuite je crois que la seconde question a déjà été répondue, à propos de l’animal vert.</p>
<p><strong><em>Thomas :</em></strong> Oui ça s’appelle un granger. Il y a plein d’histoires qui ont été écrites par certaines personnes donc parfois vous pouvez entendre le nom de « <em>Dave</em> », vous pouvez lire ce nom dans certains de nos articles de blogs par exemple, blaguant à son sujet.<br><br>
Donc il s’appelle Dave, c’est un granger. C’est une espèce dans Unvanquished qui a le rôle de construire les structures donc si tout est détruit dans l’équipe alien et qu’il n’y a pas de granger, l’équipe alien a perdu.</p>
<p><strong><em>Sahil :</em></strong> Très bien ! Maintenant nous avons presque dépassé le temps, donc merci Thomas pour cette incroyable conférence et tout le travail que vous avez fait, et merci à Jathan pour la direction et, profitez de la suite de la MiniDebConf.</p>
<p><strong><em>Jathan :</em></strong> Merci Thomas.</p>
<p><strong><em>Thomas :</em></strong> À Bientôt !</p>
</div><div><a href="https://linuxfr.org/news/batir-une-communaute-comme-un-service.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/122414/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/batir-une-communaute-comme-un-service#comments">ouvrir dans le navigateur</a>
</p>
Thomas DebesseBenoît SibaudNeoXAnonymeYsabeau 🧶 🧦claudexhttps://linuxfr.org/nodes/122414/comments.atomtag:linuxfr.org,2005:News/382382017-10-09T22:00:30+02:002017-10-16T00:15:30+02:00Comment je suis devenu chef de projetLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Quand je ne suis pas au boulot, quand je ne suis pas en train de faire des photos, je travaille petitement sur un projet qui m’enthousiasme beaucoup. C’est un jeu vidéo qui s’appelle <a href="https://fr.wikipedia.org/wiki/Unvanquished" title="Définition Wikipédia">Unvanquished</a> et c’est un projet de passionnés : chacun venant d’un peu partout sur la planète et chacun contribuant un peu quand il peut. Le projet doit avoir au moins cinq ans. Je m’y suis intéressé très rapidement et ai commencé à contribuer en 2013 (de simples corrections de traduction) ; pour ensuite m’y impliquer plus significativement en 2015 (du code améliorant l’ergonomie de l’interface). Et puis, de fil en aiguille, ce 3 octobre 2017, je suis devenu chef de projet. Nous sommes trois à nous partager cette fonction.</p></div><ul><li>lien nᵒ 1 : <a title="https://linuxfr.org/users/illwieckz/journaux/comment-je-suis-devenu-chef-de-projet" hreflang="fr" href="https://linuxfr.org/redirect/100780">Journal à l’origine de la dépêche</a></li></ul><div><p>Le jeu n’a pas une grande base de joueurs pour le moment parce que nous n’avons pas vraiment fait de publicité encore, mais travailler sur ce projet est très excitant. Le développement libre c’est déjà un jeu en soi.</p>
<p><a href="http://dl.illwieckz.net/b/unvanquished/blog/unvanquished_2017-10-07_213017_000.jpg"><img src="//img.linuxfr.org/img/687474703a2f2f646c2e696c6c776965636b7a2e6e65742f622f756e76616e717569736865642f626c6f672f756e76616e717569736865645f323031372d31302d30375f3231333031375f3030302e6a7067/unvanquished_2017-10-07_213017_000.jpg" alt="Construction Kit" title="Source : http://dl.illwieckz.net/b/unvanquished/blog/unvanquished_2017-10-07_213017_000.jpg"></a> <em>Construire un jeu de construction… c’est déjà un jeu !</em></p>
<p>En fait, ma nouvelle place était informelle depuis six mois, lorsqu’un membre du <em>triumvirat</em> a dû prendre de la distance avec le projet pour se concentrer sur certaines préoccupations de sa vie, et qu’il m’a demandé de prendre sa place. Étant du genre très effacé, je n’avais pas du tout formalisé les choses. Ce qui me gênait beaucoup, c’était qu’ayant les droits d’édition sur l’organigramme, c’était à moi de mettre mon nom tout en haut, chose que je ne suis pas tellement habitué à faire. Et surtout, je n’aime pas du tout me mettre en avant. Donc, voilà, ce mardi, pour mon trente‐et‐unième anniversaire, j’ai réveillé la discussion et j’ai été pressé avec une telle insistance d’y prendre ma place que voilà, c’est fait. ;-)</p>
<p>Voici donc mon nom dans la catégorie <em>Project Leadership</em> ; et, sous mon nom, il y a comme fonction <em>Asset Management</em>. En gros, je m’occupe des relations avec l’équipe de contributeurs artistiques (modèles 3D, textures, sons…), l’élaboration de méthodes de travail, l’organisation des données et l’aspect légal qui va avec : vérifier la licence de chacun des fichiers, relancer les auteurs lorsque quelque chose n’est pas clair et clarifier, etc. Celui que je remplace s’occupait aussi des relations sociales et communications, ainsi que du recrutement ; j’hérite de cette fonction également, même si c’est un peu tout le monde qui le fait par bouche à oreille.</p>
<p>Ce genre de projet ne se limite pas à jouer le rôle du <em>community manager</em> ou du « <em>chief happiness officer</em> » (lol) comme le faisait très bien Kharnov avant moi, ni à seulement relancer les uns ou les autres et faire de la revue légale de contribution. Nous avons tous un gros bagage technique et c’est le cœur de notre passion. J’ai donc non seulement élaboré la nouvelle méthode de gestion de nos données artistiques (avec de jolis dépôts tout propres), mais j’ai aussi écrit certains outils qui nous permettent de mettre en œuvre cette méthode de travail. En fait, je contribue avec du code à pratiquement tous les aspects du projet. Par exemple, j’ai amélioré le VFS (système de fichier virtuel) afin de permettre à des développeurs d’autres jeux d’envisager une migration plus facile de leur propre jeu vers notre moteur, ces mêmes développeurs venant ensuite proposer et implémenter à leur tour des améliorations, c’est rusé ! ;-) Ça va aussi de l’écriture d’outils de gestion de données, comme je viens de l’expliquer, à l’amélioration des logiciels d’édition.</p>
<p>Par exemple, je contribue à un logiciel de modélisation de niveau en 3D afin de rendre son intégration dans le flux de travail plus ergonomique. En fait, vous trouverez ma patte dès qu’une chose peut être améliorée dans la chaîne de production, que ce soit dans la méthode ou dans les outils eux‐mêmes. Je suis convaincu que c’est une clé de réussite : nous avons tous la main dans le cambouis, et nous n’avons vraiment l’étiquette de <em>leadership</em> que parce que ce service doit être rendu. Mais ce qui nous anime d’abord, c’est la joie de « hacker » des trucs qui nous passionnent ; « hacker », c’est‐à‐dire résoudre intelligemment des problèmes passionnants ou, dit autrement, résoudre avec passion des problèmes intelligents. Je crois que c’est ici que se tient la solution au principe de Peter : aucune responsabilité n’enlève à personne sa capacité à contribuer là où sa compétence technique s’exprime au mieux.</p>
<p>Ce sont aussi les personnes intéressantes et talentueuses avec lesquelles je suis amené à collaborer qui rendent ce projet aussi passionnant. Menant un consciencieux audit de nos données, je discutais ces derniers jours avec certains de nos contributeurs. Et j’étais très impressionné de voir que l’un était aujourd’hui chez Ubisoft Montréal (le studio qui fait les séries <em>Splinter Cell</em>, <em>Far Cry</em> et <em>Assassin’s Creed</em>, par exemple), un autre chez Creative Assembly (le studio qui a fait <em>Rome: Tota War, par exemple) un autre chez NetherRealm (ayant lui‐même travaillé sur _Mortal Kombat X) ou encore un autre chez Feral Interactive (le studio ayant porté les derniers _Warhammer</em>, <em>Tomb Raider</em>, <em>Mad Max</em> et <em>Xcom2, Alien:Isolation</em> sur macOS et GNU/Linux, par exemple). Certains ont contribué un jour dans le but de remplir leur <em>book</em> et se faire embaucher dans une grosse boîte ; d’autres sont toujours à même de contribuer, aujourd’hui, à notre projet, en parallèle de leur métier. Certains sont des <em>freelancers</em> établis dans le domaine et, quand ils ne travaillent pas pour des clients, ils travaillent avec nous pour ce petit hobby commun.</p>
<p>D’autres sont des ingénieurs de très haut niveau. Je pense en particulier à quelqu’un ayant pour fonction de développer des technologies 3D dans le navigateur Web Chrome chez Google, ou d’écrire les standards de demain. Mais, en fait, toutes ces personnes sont vraiment très discrètes sur ce qu’elles font, aucune ne met cela en avant ; ce sont vraiment leur qualité humaine, leur passion et leur talent qui font d’elles des personnes vraiment appréciables et avec lesquelles il est agréable et passionnant de travailler. Pour découvrir ces choses, il faut avoir « <a href="https://fr.wikipedia.org/wiki/Lurker">lurké</a> » longtemps. En fait, j’ai été très étonné de trouver des personnes fortes de leurs talents, mais aucune personnalité forte c’est‐à‐dire animée par l’orgueil et le « moi, je ». Il semble que les potentielles personnalités toxiques soient parties très vite au tout début du projet. Il règne donc sur les canaux de discussion une ambiance très agréable où chacun est à sa place. Il faut dire que Kharnov (celui que je remplace) avait tout compris au principe de subsidiarité.</p>
<p>Dans le cadre d’un projet professionnel pour lequel j’ai travaillé précédemment, nous avions fait tout un travail pour passer d’une logique de gestion de « ressources humaines » (une ressource étant littéralement faite pour être usée) à une politique de « développement des qualités humaines ». À vrai dire, c’est déjà ce qui se passe dans le cadre d’<em>Unvanquished</em>, puisqu’on m’a non seulement accueilli, mais aussi donné le cadre qui m’a permis de m’épanouir, de découvrir et de développer des capacités que j’ignorais jusque‐là. C’est précisément dans cette manière de faire fructifier les qualités de chacun que je compte investir. Comme je le disais, la seule chose qui semble plus importante que les talents que j’ai vus, c’est la discrétion de chacun sur soi‐même. Il y a beaucoup à faire fructifier encore, et des talents bien cachés, j’en suis sûr. Et nous péchons par trop d’humilité peut‐être. ;-)</p>
<p>Ce qui est passionnant, aussi, ce sont les bases de code sur lesquelles je suis amené à travailler. Par exemple, on a hérité d’Id Software le moteur de jeu, l’éditeur de niveau et certains formats. Et bien que tout cela ait été profondément remanié depuis deux décennies, et même si certaines parties ont été complètement réécrites, l’héritage est toujours là et très <a href="http://www.cnrtl.fr/definition/pr%C3%A9hensible">préhensible</a>. Dans la chaîne d’édition, il m’arrive encore de traiter avec un ancien d’Id Software. Tout cet héritage est vraiment passionnant. Ça m’a permis aussi de toucher à plein de technologies intéressantes, puisque c’est dans ce cadre que j’ai fait mes premières armes en C++ par exemple, étant plus habitué au C et au Python.</p>
<p>L’équipe est profondément internationale, comme vous le verrez sur l’organigramme : l’un ou l’autre vient de Nouvelle‐Zélande, des États‐Unis, de Russie, d’Allemagne, d’Angleterre, d’Espagne, d’Ukraine, de Belgique, du Brésil, du Canada, des Pays‐Bas, d’Australie, de Pologne et, bien sûr, de France et j’en oublie.</p>
<p>La vocation du jeu est aussi d’être un jeu libre. Actuellement, l’intégralité du code est disponible et réutilisable librement ; pour les données (modèles 3D, textures, sons…), la grande majorité l’est et j’espère qu’un jour l’intégralité le sera. Ainsi, ce n’est pas seulement un projet de développement mais aussi une aventure humaine et, je le pense, civilisationnelle : produire un jeu avec une haute exigence de qualité sans empêcher l’intelligence d’autrui de se nourrir et de s’exercer sur ce que nous élaborons. En fait, c’est important que de tels projets existent et montrent que l’intelligence peut se déployer autrement qu’en privant son prochain de connaissance.</p>
<p>Comment en suis‐je arrivé là ? Grâce à <em>McMic<</em> qui, en 2013, <a href="//linuxfr.org/news/occupez-votre-ete-contribuez-a-un-jeu-libre#comment-1468771">avait proposé de contribuer à un jeu libre</a> pendant l’été. Il n’avait pas listé <em>Unvanquished</em>, et je m’étais attribué la tâche de <a href="//linuxfr.org/news/xqf-1-0-6-la-resurrection">ressusciter le logiciel XQF</a>, un logiciel qui permet de parcourir les serveurs de jeu en ligne. Désirant ajouter la prise en charge d’<em>Unvanquished</em>, je me suis un jour pointé sur le canal de développement et ne l’ai plus jamais quitté…</p>
<p>En regardant les trois ou quatre dernières années, je me rends compte aujourd’hui comment et à quel point ce projet m’a épanoui. L’un des plus grands signes est celui‐ci : qui aurait cru il y a quelques années qu’un jour, je serais chef de quelque chose ? J’aurais été le dernier à le croire, car je ne croyais pas en avoir la capacité. Dans une équipe qui marche dans une même direction, je me suis toujours défini comme quelqu’un qui pousse, et non quelqu’un qui tire. Mais un jour, sans m’en rendre compte, quelqu’un m’a dit que j’étais un chef. En fait, il ne m’a pas dit exactement que j’étais un chef ; il a dit que j’étais celui qu’il voulait pour le remplacer, et c’était vraiment un chef. Et deux autres ont insisté pour que je me reconnaisse à ma place. Alors, j’ai regardé le chemin parcouru, j’ai vu la place où j’étais parvenu, et j’ai fait « ouaouh », et je me suis dit <em>« c’est que ça doit être vrai »</em>.</p>
<p>Alors voilà, je développe un jeu vidéo, et pour mes trente‐et‐un ans, je suis devenu chef de projet.</p>
<p><a href="http://dl.illwieckz.net/b/unvanquished/blog/unvanquished_2017-10-07_210129_000.jpg"><img src="//img.linuxfr.org/img/687474703a2f2f646c2e696c6c776965636b7a2e6e65742f622f756e76616e717569736865642f626c6f672f756e76616e717569736865645f323031372d31302d30375f3231303132395f3030302e6a7067/unvanquished_2017-10-07_210129_000.jpg" alt="Grrrr" title="Source : http://dl.illwieckz.net/b/unvanquished/blog/unvanquished_2017-10-07_210129_000.jpg"></a> <em>Si les données ne sont pas encore toutes libres, cette scène l’est déjà intégralement…</em></p>
<p><em>Unvanquished</em> est un jeu mêlant stratégie en temps réel, gestion de ressource, prise de territoire et combat nerveux en vue subjective. Nous cherchons des contributeurs en effet sonore et en composition musicale, ainsi que des animateurs de modèles 3D. C’est juste un projet bénévole et, si vous êtes intéressés, la condition c’est que votre production artistique soit contribuée sous licence <a href="https://creativecommons.org/licenses/by-sa/3.0/fr">CC-BY-SA 3.0</a> ou plus permissive. Cela signifie aussi que vous n’aurez pas à abandonner vos droits sur votre propre production, nous tenons particulièrement à respecter cela. Certes, il n’y a rien à gagner financièrement, mais personne n’achètera le renoncement à votre dignité d’auteur. Vous êtes libre d’utiliser les outils que vous préférez tant que la production est dans un format que nous pouvons réutiliser, mais nous encourageons aussi fortement l’usage de logiciels libres, parce que personne ne vous contraindra à développer une compétence sur un outil qu’un tiers pourrait vous retirer. C’est aussi en cela que nous pouvons parler de liberté.</p>
<p>Je disais qu’on pouvait aujourd’hui trouver ma patte dès que quelque chose de la chaîne d’édition pouvait être amélioré, mais en fait quasiment toutes mes modifications sont des petites contributions très faciles à réaliser, souvent triviales. C’est l’ensemble de ces petites contributions qui changent réellement la vie. Je disais que ma première contribution avait été une correction de traduction, et ma seconde une amélioration de l’ergonomie de l’interface (du simple HTML et CSS en réalité), mais mes premières contributions furent peut‐être d’abord des rapports de bogue. J’aime beaucoup traquer les bogues les plus improbables. La plupart du temps je ne sais pas les corriger, mais je sais dire comment ils ont été introduits, et je laisse la correction à qui est plus compétent, ce qui est la base de la subsidiarité. Et puis, un jour, de fil en aiguille, j’ai écrit un outil qui permet de construire l’intégralité des données avec un simple <code>make</code> et, un jour, je suis devenu chef de projet. Alors, voilà, si vous avez envie de vous faire de l’expérience, dans quelque domaine que ce soit, n’hésitez pas : installez le jeu, jouez, jouez encore, et lorsque quelque chose vous semble améliorable, essayez de voir ce que vous pouvez en faire ! Mais je dois vous prévenir que ça peut vous mener loin. ;-)</p>
<ul>
<li>
<a href="https://www.unvanquished.net/?page_id=336">À propos d’Unvanquished</a> (page en anglais)</li>
</ul></div><div><a href="https://linuxfr.org/news/comment-je-suis-devenu-chef-de-projet.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/112842/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/comment-je-suis-devenu-chef-de-projet#comments">ouvrir dans le navigateur</a>
</p>
Thomas DebesseDavy Defaudbubar🦥Benoît SibaudZeroHeurepalm123https://linuxfr.org/nodes/112842/comments.atomtag:linuxfr.org,2005:Diary/375282017-10-08T16:25:19+02:002017-10-08T16:25:19+02:00Comment je suis devenu chef de projetLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Quand je ne suis pas au boulot, quand je ne suis pas en train de faire des photos, je travaille petitement sur un projet qui m’enthousiasme beaucoup. C’est un jeu vidéo qui s’appelle Unvanquished et c’est un projet de passionnés : chacun venant d’un peu partout sur la planète et chacun contribuant un peu quand il peut. Le projet doit avoir au moins cinq ans. Je m’y suis intéressé très rapidement et ai commencé à contribuer en 2013 (de simples corrections de traduction) ; pour ensuite m’y impliquer plus significativement en 2015 (du code améliorant l’ergonomie de l’interface). Et puis, de fil en aiguille, ce 3 octobre 2017, je suis devenu chef de projet. Nous sommes trois à nous partager cette fonction.</p>
<p>Le jeu n’a pas une grande base de joueurs pour le moment parce que nous n’avons pas vraiment fait de publicité encore, mais travailler sur ce projet est très excitant. Le développement libre c’est déjà un jeu en soi.</p>
<p><a href="http://dl.illwieckz.net/b/unvanquished/blog/unvanquished_2017-10-07_213017_000.jpg"><img src="//img.linuxfr.org/img/687474703a2f2f646c2e696c6c776965636b7a2e6e65742f622f756e76616e717569736865642f626c6f672f756e76616e717569736865645f323031372d31302d30375f3231333031375f3030302e6a7067/unvanquished_2017-10-07_213017_000.jpg" alt="Construction Kit" title="Source : http://dl.illwieckz.net/b/unvanquished/blog/unvanquished_2017-10-07_213017_000.jpg"></a><br><em>Construire un jeu de construction… c’est déjà un jeu !</em></p>
<p>En fait, ma nouvelle place était informelle depuis six mois, lorsqu’un membre du triumvirat a dû prendre de la distance avec le projet pour se concentrer sur certaines préoccupations de sa vie, et qu’il m’a demandé de prendre sa place. Étant du genre très effacé, je n’avais pas du tout formalisé les choses. Ce qui me gênait beaucoup, c’était qu’ayant les droits d’édition sur l’organigramme, c’était à moi de mettre mon nom tout en haut, chose que je ne suis pas tellement habitué à faire. Et surtout, je n’aime pas du tout me mettre en avant. Donc voilà, ce mardi, pour mon trente-et-unième anniversaire, j’ai réveillé la discussion et j’ai été pressé avec une telle insistance d’y prendre ma place que voilà, c’est fait. ;-)</p>
<p>Voici donc mon nom dans la catégorie <em>“Project Leadership”</em> ; et sous mon nom, il y a comme fonction <em>“Asset Management”</em>. En gros, je m’occupe des relations avec l’équipe de contributeurs artistiques (modèles 3D, textures, sons…), l’élaboration de méthodes de travail, l’organisation des données et l’aspect légal qui va avec : vérifier la licence de chacun des fichiers, relancer les auteurs lorsque quelque chose n’est pas clair et clarifier, etc. Celui que je remplace s’occupait aussi des relations sociales et communications, ainsi que du recrutement ; j’hérite de cette fonction également, même si c’est un peu tout le monde qui le fait par bouche à oreille.</p>
<p>Ce genre de projet ne se limite pas à jouer le rôle du <em>« community manager »</em> ou du <em>« chief happiness officer »</em> (lol) comme le faisait très bien kharnov avant moi, ni à seulement relancer les uns ou les autres et faire de la revue légale de contribution. Nous avons tous un gros bagage technique et c’est le cœur de notre passion. J’ai donc non seulement élaboré la nouvelle méthode de gestion de nos données artistiques (avec de jolis dépôts tout propres), mais j’ai aussi écrit certains outils qui nous permettent de mettre en œuvre cette méthode de travail. En fait, je contribue avec du code à pratiquement tous les aspects du projet. Par exemple, j’ai amélioré le VFS (système de fichier virtuel) afin de permettre à des développeurs d’autres jeux d’envisager une migration plus facile de leur propre jeu vers notre moteur, ces mêmes développeurs venant ensuite proposer et implémenter à leur tour des améliorations, c’est rusé ! ;-) Ça va aussi de l’écriture d’outils de gestion de données, comme je viens de l’expliquer, à l’amélioration des logiciels d’édition.</p>
<p>Par exemple je contribue à un logiciel de modélisation de niveau en 3D afin de rendre son intégration dans le flux de travail plus ergonomique. En fait, vous trouverez ma patte dès qu’une chose peut être améliorée dans la chaîne de production, que ce soit dans la méthode ou dans les outils eux-mêmes. Je suis convaincu que c’est une clé de réussite : nous avons tous la main dans le cambouis, et nous n’avons vraiment l’étiquette de <em>« leadership »</em> que parce que ce service doit être rendu. Mais ce qui nous anime d’abord, c’est la joie de « hacker » des trucs qui nous passionnent ; « hacker», c’est-à-dire résoudre intelligemment des problèmes passionnants ou, dit autrement, résoudre avec passion des problèmes intelligents. Je crois que c’est ici que se tient la solution au principe de Peter : aucune responsabilité n’enlève à personne sa capacité à contribuer là où sa compétence technique s’exprime au mieux.</p>
<p>Ce sont aussi les personnes intéressantes et talentueuses avec lesquelles je suis amené à collaborer qui rendent ce projet aussi passionnant. Menant un consciencieux audit de nos données, je discutais ces derniers jours avec certains de nos contributeurs. Et j’étais très impressionné de voir que l’un était aujourd’hui chez Ubisoft Montréal (le studio qui fait les séries Splinter Cell, Far Cry, Assassin's Creed par exemple), un autre chez Creative Assembly (le studio qui a fait Rome: Total War par exemple) un autre chez NetherRealm (ayant lui-même travaillé sur Mortal Kombat X) ou encore un autre chez Feral Interactive (le studio ayant porté les derniers Warhammer, Tomb Raider ou Mad Max sur Mac et Linux par exemple). Certains ont contribué un jour dans le but de remplir leur book et de se faire embaucher dans une grosse boîte ; d’autres sont toujours à même de contribuer, aujourd’hui, à notre projet, en parallèle de leur métier. Certains sont des <em>freelancers</em> établis dans le domaine et quand ils ne travaillent pas pour des clients, ils travaillent avec nous pour ce petit hobby commun.</p>
<p>D’autres sont des ingénieurs de très haut niveau. Je pense en particulier à quelqu’un ayant pour fonction de développer des technologies 3D dans le navigateur web Chrome chez Google, ou d’écrire les standards de demain. Mais en fait, toutes ces personnes sont vraiment très discrètes sur ce qu’elle font, aucune ne met cela en avant ; ce sont vraiment leur qualité humaine, leur passion et leur talent qui font d’elles des personnes vraiment appréciables et avec lesquelles il est agréable et passionnant de travailler. Pour découvrir ces choses, il faut avoir <a href="https://fr.wikipedia.org/wiki/Lurker">lurké</a> longtemps. En fait, j’ai été très étonné de trouver des personnes fortes de leur talents, mais aucune personnalité forte c’est-à-dire animées par l’orgueil et le « moi je ». Il semble que les potentielles personnalités toxiques soient parties très vite au tout début du projet. Il règne donc sur les canaux de discussion une ambiance très agréable où chacun est à sa place. Il faut dire que kharnov (celui que je remplace) avait tout compris au principe de subsidiarité.</p>
<p>Dans le cadre d’un projet professionnel pour lequel j’ai travaillé précédemment, nous avions fait tout un travail pour passer d’une logique de gestion de « ressources humaines » (une ressource étant littéralement faite pour être usée) à une politique de « développement des qualités humaines ». À vrai dire, c’est déjà ce qui se passe dans le cadre d’Unvanquished, puisqu’on m’a non seulement accueilli mais aussi donné le cadre qui m’a permis de m’épanouir, de découvrir et de développer des capacités que j’ignorais jusque-là. C’est précisément dans cette manière de faire fructifier les qualités de chacun que je compte investir. Comme je le disais, la seule chose qui semble plus importante que les talents que j’ai vus, c’est la discrétion de chacun sur soi-même. Il y a beaucoup à faire fructifier encore, et des talents bien cachés j’en suis sûr. Et nous péchons par trop d’humilité peut-être. ;-)</p>
<p>Ce qui est passionnant, aussi, ce sont les bases de code sur lesquelles je suis amené à travailler. Par exemple, on a hérité d’Id Software le moteur de jeu, l’éditeur de niveau et certains formats. Et bien que tout cela ait été profondément remanié depuis deux décennies, et même si certaines parties ont été complètement réécrites, l’héritage est toujours là et très <a href="http://www.cnrtl.fr/definition/pr%C3%A9hensible">préhensible</a>. Dans la chaîne d’édition, il m’arrive encore de traiter avec un ancien d’Id Software. Tout cet héritage est vraiment passionnant. Ça m’a permis aussi de toucher à plein de technologies intéressantes, puisque c’est dans ce cadre que j’ai fait mes premières armes en C++ par exemple, étant plus habitué au C et au Python.</p>
<p>L’équipe est profondément internationale comme vous le verrez sur l’organigramme : l’un ou l’autre vient de Nouvelle-Zélande, des États-Unis, de Russie, d’Allemagne, d’Angleterre, d’Espagne, d’Ukraine, de Belgique, du Brésil, du Canada, des Pays-Bas, d’Australie, de Pologne, et bien sûr de France et j’en oublie.</p>
<p>La vocation du jeu est aussi d’être un jeu libre. Actuellement, l’intégralité du code est disponible et réutilisable librement ; pour les données (modèles 3D, textures, sons…), la grande majorité l’est et j’espère qu’un jour l’intégralité le sera. Ainsi, ce n’est pas seulement un projet de développement mais aussi une aventure humaine et, je le pense, civilisationnelle : produire un jeu avec une haute exigence de qualité sans empêcher l’intelligence d’autrui de se nourrir et de s’exercer sur ce que nous élaborons. En fait, c’est important que de tels projets existent et montrent que l’intelligence peut se déployer autrement qu’en privant son prochain de connaissance.</p>
<p>Comment en suis-je arrivé là ? Grâce à McMic< qui, en 2013, <a href="//linuxfr.org/news/occupez-votre-ete-contribuez-a-un-jeu-libre#comment-1468771">avait proposé de contribuer à un jeu libre</a> pendant l’été. Il n’avait pas listé Unvanquished, et je m’étais attribué la tâche de <a href="//linuxfr.org/news/xqf-1-0-6-la-resurrection">ressusciter le logiciel XQF</a>, un logiciel qui permet de parcourir les serveurs de jeu en ligne. Désirant ajouter la prise en charge d’Unvanquished, je me suis un jour pointé sur le canal de développement et ne l’ai plus jamais quitté…</p>
<p>En regardant les trois-quatre dernières années, je me rends compte aujourd’hui comment et à quel point ce projet m’a épanoui. L’un des plus grands signes est celui-ci : qui aurait cru il y a quelques années qu’un jour, je serais chef de quelque chose ? J’aurais été le dernier à le croire, car je croyais n’en avoir pas la capacité. Dans une équipe qui marche dans une même direction, je me suis toujours défini comme quelqu’un qui pousse, et non quelqu’un qui tire. Mais un jour, sans m’en rendre compte, quelqu’un m’a dit que j’étais un chef. En fait, il ne m’a pas dit exactement que j’étais un chef ; il a dit que j’étais celui qu’il voulait pour le remplacer, et c’était vraiment un chef. Et deux autres ont insisté pour que je me reconnaisse à ma place. Alors j’ai regardé le chemin parcouru, j’ai vu la place où j’étais parvenu, et j’ai fait <em>« ouaouh »</em>, et je me suis dit <em>« c’est que ça doit être vrai »</em>.</p>
<p>Alors voilà, je développe un jeu vidéo, et pour mes trente-et-un ans, je suis devenu chef de projet.</p>
<p><a href="http://dl.illwieckz.net/b/unvanquished/blog/unvanquished_2017-10-07_210129_000.jpg"><img src="//img.linuxfr.org/img/687474703a2f2f646c2e696c6c776965636b7a2e6e65742f622f756e76616e717569736865642f626c6f672f756e76616e717569736865645f323031372d31302d30375f3231303132395f3030302e6a7067/unvanquished_2017-10-07_210129_000.jpg" alt="Grrrr" title="Source : http://dl.illwieckz.net/b/unvanquished/blog/unvanquished_2017-10-07_210129_000.jpg"></a><br><em>Si les données ne sont pas encore toutes libres, cette scène l’est déjà intégralement…</em></p>
<p>Unvanquished est un jeu mêlant stratégie en temps réel, gestion de ressource, prise de territoire, et combat nerveux en vue subjective. Nous cherchons des contributeurs en effet sonore et en composition musicale, ainsi que des animateurs de modèle 3D. C’est juste un projet bénévole, et si vous êtes intéressés, la condition c’est que votre production artistique soit contribuée sous licence <a href="https://creativecommons.org/licenses/by-sa/3.0/fr">CC By SA 3.0</a> ou plus permissive. Cela signifie aussi que vous n’aurez pas à abandonner vos droits sur votre propre production, nous tenons particulièrement à respecter cela. Certes il n’y a rien à gagner financièrement, mais personne n’achètera le renoncement à votre dignité d’auteur. Vous êtes libre d’utiliser les outils que vous préférez tant que la production est dans un format que nous pouvons réutiliser, mais nous encourageons aussi fortement l’usage de logiciel libre parce que personne ne vous contraindra à développer une compétence sur un outil qu’un tiers pourrait vous retirer. C’est aussi en cela cela que nous pouvons parler de liberté.</p>
<p>Je disais qu’on pouvait aujourd’hui trouver ma patte dès que quelque chose de la chaîne d’édition pouvait être améliorée, mais en fait quasiment toutes mes modifications sont des petites contribution très facile à réaliser, souvent triviales. C’est l’ensemble de ces petites contributions qui changent réellement la vie. Je disais que ma première contribution avait été une correction de traduction, et ma seconde une amélioration de l’ergonomie de l’interface (du simple html et css en réalité), mais mes premières contributions furent peut-être d’abord des rapports de bug. J’aime beaucoup traquer les bugs les plus improbables, la plupart du temps je ne sais pas le corriger, mais je sais dire comment il a été introduit, et je laisse la correction à qui est plus compétent, ce qui est la base de la subsidiarité. Et puis un jour de fil en aiguille j’ai écrit un outil qui permet de construire l’intégralité des données avec un simple <code>make</code>, et un jour, je suis devenu chef de projet. Alors voilà, si vous avez envie de vous faire de l’expérience, dans quelque domaine que ce soit, n’hésitez pas : installez le jeu, jouez, jouez encore, et lorsque quelque chose vous semble améliorable, essayez de voir ce que vous pouvez en faire ! Mais je dois vous prévenir que ça peut vous mener loin. ;-)</p>
<ul>
<li>
<a href="https://www.unvanquished.net/?page_id=336">À propos d’Unvanquished</a> (page en anglais)</li>
</ul><div><a href="https://linuxfr.org/users/illwieckz/journaux/comment-je-suis-devenu-chef-de-projet.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/112839/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/illwieckz/journaux/comment-je-suis-devenu-chef-de-projet#comments">ouvrir dans le navigateur</a>
</p>
Thomas Debessehttps://linuxfr.org/nodes/112839/comments.atomtag:linuxfr.org,2005:Diary/373992017-07-11T10:39:27+02:002017-08-04T17:09:14+02:00Ça y est, je suis manager :(Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Et voilà, nal, les années passent, on se passionne toujours autant pour le code, et un jour, bim, on nous donne notre bloc de cartes de visite avec notre nom et dessous : « responsable équipe développement ». Et on se dit, mais comment en est on arrivé là ?</p>
<p>Pour ma part, c’est une succession de pas de bol : je voulais changer d’équipe, ça a été accepté ; je suis arrivé dans la nouvelle « <em>Team</em> » et, un mois après, le manager s’en va. Eu égard à mes années passées dans la boîte, à mon âge un peu supérieur à tous les autres, à mon expérience et ce genre de trucs, on m’a dit que j’étais volontaire commis d’office pour remplacer le manager. On m’a également dit que vu mon salaire, il fallait bien que je sois manager. Et six mois viennent de passer.</p>
<p>J’ai quand même un peu de mal à comprendre et quelques regrets. Oui, j’ai pas demandé à être manager et je le deviens. Ça a des bons côtés, je peux effectivement diriger un peu plus facilement les développements, et les commerciaux en face respectent un peu plus les décisions d’équipe que je leur amène. D’un autre côté, je me retrouve à gérer de l’humain (bah oui) et c’est vraiment pas facile. Je gère les plannings, les congés, les rendez‐vous, les défrichages de projet pour comprendre ce que le commercial a vendu au client, les re‐réunions de calage, les formations à prévoir pour Q4, les urgences, la bobologie et les caractères. Je souhaite que l’équipe aille bien, qu’elle progresse, que les devs avancent et que l’ambiance soit bonne. Je gère les retards, les coups de gueule, les rattrapages de conneries et les commandes de matos. J’ai dû installer un Windows parce que tout est fait sous MS Office (les calendriers Excel, les rapports en Word <em>obligatoire</em>, les <em>backlog</em> Excel obligatoire car il y a des macros à utiliser, etc, etc., les présentations Powerpoint uniquement et le suivi du matos sous Excel). On vient de me dire que je dois aussi gérer les évaluations, faut que je prenne du temps pour me renseigner sur les méthodes car je ne veux pas évaluer « à la gueule ». Certains devs veulent absolument être très dirigés, d’autres veulent qu’on leur laisse la bride. Certains ne branlent rien, d’autres « commitent » encore à 19 h 45. Et j’essaye d’emmener tout ce monde vers du code de qualité, testé et fonctionnel. La hiérarchie m’a fait comprendre que les T‐shirts de <em>geek</em> noir à slogan ça passait mal, et que la chemise blanche avec le pantalon (pas jean) ça devenait essentiel ; pour la cravate, ça semble pas obligatoire, mais la barbe de trois jours, ça ne va plus être possible. Bref, je suis devenu un vrai petit manager perdu entre un planning, deux réunions, des chefs qui demandent l’impossible et une équipe qui avance à son rythme.</p>
<p>Si vous avez lu ce gros pâté de texte (merci) vous avez pu voir qu’il y a un truc dont je ne parle pas. Le code. Bah oui, fini. Je n’ai plus lancé mon éditeur depuis des semaines, je ne connais même plus le <em>bug tracker</em> et je regarde de loin le <em>backlog</em>. Et, ça, c’est vraiment un truc que je ne comprends pas. J’estime avoir un peu de connaissances en code, en système et, alors que je deviens efficace là‐dessus, bam, on me dit qu’il faut devenir un gestionnaire de planning (je caricature, mais c’est ça) et de manier la carotte et la bâton pour faire avancer les devs. Big win ! La hiérarchie me dit que c’est normal dans une carrière de passer manager, que je peux le faire car je suis un codeur très compétent et qu’ils sont très satisfaits du boulot que je fais.</p>
<p>Je ne comprends pas. La boîte gagnerait à me faire faire ce dans quoi je suis bon, et on m’envoie dans une branche qui ne m’intéresse pas. Faire un planning sous Excel, ça m’ennuie. Écouter un dev me raconter que son gamin est malade et qu’il doit prendre sa journée, ça me rend triste pour lui et son gamin, mais ce qui m’ennuie, c’est de devoir recaler les projections, refaire un planning, décaler des trucs, se battre avec l’autre équipe pour avoir la salle de réunion, etc, etc. Accompagner un commercial chez un client à 300 bornes en tant que « manager technique », juste pour flatter le client et lui faire trois ronds de jambe en utilisant <em>un</em> mot technique (pas deux, hein, sinon le client est perdu) ça m’ennuie… Pourquoi on ne me laisse pas coder, plutôt ? Là où je suis efficace ? Dire à un client qu’on teste le code, ça fait plus avancer la boîte que quelqu’un qui écrit des tests unitaires ? (apparemment oui, mais je n’adhère pas forcément avec ce point de vue). On m’a rappelé chez moi (ah, oui, parce que j’ai gagné un smartphone d’entreprise) à 20 h pour faire le point avec un client qui avait un bug bloquant. J’aurais été plus efficace devant un terminal à corriger ce bug plutôt qu’à gérer un point téléphonique entre un commercial qui voulait en profiter pour vendre de la presta, un client en panique et un planning à vérifier pour savoir quel dev allait pouvoir corriger le bazar le lendemain.</p>
<p>J’ai eu des managers très bons, qui ne connaissaient rien en technique. Pourquoi on ne laisse pas les gens dans la technique et les managers dans le management ? La hiérarchie m’a quand même fait comprendre que je commence à leur coûter cher. Un dev qui sort de l’école est moins cher que moi (sans blague !). Je suis peut‐être plus efficace que lui, non ?! Et, si je coûte cher, pourquoi me mettre dans un domaine ou je n’y connais <em>rien</em> ? Mettez une (ou un) secrétaire qui fait le planning et tous ces petits trucs administratifs, et laissez‐moi coder.</p>
<p>Voilà, nal, la complainte du « codeur qui devient manager » et qui regrette son éditeur de code perdu.</p><div><a href="https://linuxfr.org/users/octane/journaux/ca-y-est-je-suis-manager.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/112277/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/octane/journaux/ca-y-est-je-suis-manager#comments">ouvrir dans le navigateur</a>
</p>
octanehttps://linuxfr.org/nodes/112277/comments.atomtag:linuxfr.org,2005:Diary/348562014-04-04T15:15:39+02:002014-04-04T15:15:39+02:00Changement de domaine techniqueLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Bonjour à tous,</p>
<p>Je suis en plein questionnement professionnel, et je n'ai sais pas quel chemin donner à ma carrière pour la suite. Je commence à regarder ailleurs, mais je n'en suis pour l'instant qu'au stage des considérations. Je suis en poste pour l'instant,rien ne presse si ce n'est le temps que je perds dans un poste qui ne me convient plus.</p>
<p>J'ai 39 ans et un profil software embarqué très orienté traitement du signal. Je travaille dans un grand groupe, et les couches de management qui s'empilent et la culture de déresponsabilisation qui va avec commencent sérieusement à entamer ma motivation. À vrai dire, il y a bien longtemps que cela me mine.</p>
<p>Pour la suite de ma carrière, je regarde un peu dans toutes les directions, même à quitter l'informatique et la technique. Avant de penser à quitter l'informatique, je regarde s'il n'y a pas un autre domaine technique qui pourrait me convenir avant de changer définitivement, autant tirer profit de mon background technique de software developper.</p>
<p>Je sollicite l'avis de la communauté sur une piste possible, qui me tente "vu de loin". Je pense au web (programmation/design). Alors bien sûr je suis béotien complet en la matière, je ne connais pas l'activité, mais cela me semble être un domaine qui vaut la peine.</p>
<p>J'ai écrit une liste de toutes les raisons pour lesquelles j'aimerai y travailler, et ce que j'espère y trouver. N'hésitez pas à commenter ces raisons. Je remercie déjà les bonnes âmes qui vont répondre à mes questions.</p>
<ul>
<li><p>Il semble relativement facile, ou plus simple qu’ailleurs de monter son entreprise ou d'être indépendant. Le domaine semble être en plein boom. On dirait qu’il y a beaucoup de demandes.</p></li>
<li><p>Il me semble que les SSII sont beaucoup moins présentes dans le domaine (comparé à l'industrie).</p></li>
<li><p>L'activité semble contenir une dimension artistique / design dans le sens ou il me semble que la conception de sites web requiert un peu de graphisme/design/usabilité. Je ne connais pas grand-chose en design, mais l'idée d'en faire m'attire.</p></li>
<li><p>Le web semble techniquement assez large et complet.</p></li>
<li><p>J'ai envie d'être mon propre chef, même si c'est pour devenir l'esclave du client (sic).</p></li>
<li><p>Comme c'est un métier qui requiert une proximité avec le client, il me semble que cela sera moins sensible à l'offshore.</p></li>
</ul><p>Qu'en pensez-vous ? Je pense que beaucoup de choses vont vous sembler naïves, merci de rester constructif. Et je sais aussi que les pâturages sont toujours plus verts ailleurs…</p>
<p>Petite info supplémentaire, je suis en Belgique, banlieue de Bruxelles.</p>
<p>Merci à tous, et désolé de longueur du post.</p>
<p>Alain</p><div><a href="https://linuxfr.org/users/alainnonyme/journaux/changement-de-domaine-technique.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/101787/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/alainnonyme/journaux/changement-de-domaine-technique#comments">ouvrir dans le navigateur</a>
</p>
AlainNonymehttps://linuxfr.org/nodes/101787/comments.atomtag:linuxfr.org,2005:Diary/348392014-03-28T12:10:39+01:002014-03-28T12:10:39+01:00So, you wanna be a sysadmin ? (Trolldi inside)Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><ul>
<li><a href="#1-99-des-utilisateurs-vous-mentent">1. 99% des utilisateurs vous mentent</a></li>
<li><a href="#2-99-des-utilisateurs-nont-rien-%C3%A0-cirer-de-vos-explications">2. 99% des utilisateurs n'ont rien à cirer de vos explications</a></li>
<li><a href="#3-les-utilisateurs-ont-une-imagination-d%C3%A9bordante">3. les utilisateurs ont une imagination débordante…</a></li>
<li><a href="#en-conclusion">En conclusion</a></li>
<li><a href="#quelques-liens">Quelques liens</a></li>
</ul></li>
</ul><p><em>Note avant propos : je sais qu'il est interdit d'avoir des comptes multiples. Ceci en est un. Vu le contenu du journal, et vu que je cherche à changer de carrière, j'aimerais pouvoir rester anonyme <strong>pour le moment</strong>, histoire de ne pas décourager un éventuel recruteur. Comme j'ai pour habitude d'assumer, je reprendrai sans doute ce journal sur mon site web, en fonction des réactions, des commentaires et de mon futur professionnel. Si ça pose un problème, chers modérateurs, n'hésitez pas à supprimer le journal et le compte. Merci.</em></p>
<p>Quand j'ai commencé le métier de <em>sysadmin</em> il y a presque 10 ans, j'étais loin de me douter de tout ce que le métier implique.<br>
Bien entendu, il y a tout le volet positif du métier : s'occuper d'un paquet d'ordinateurs, organiser, prévoir, automatiser. Découvrir, apprendre, tester, se tromper (pas trop), perséverer (souvent)… Et, quand on a bien fait son travail, la satisfaction de voir tout ça ronronner. Le problème, c'est que le revers de la médaille est au moins aussi important.</p>
<p>On m'avait pourtant prévenu à mes débuts :</p>
<blockquote>
<p>Les sysadmins c'est des geeks condescendants dénués de toute capacité sociale qui croient tout savoir et qui passent leur temps à boire du café devant /.</p>
</blockquote>
<p>Et l'alerte rouge au stéréotype de clignoter dans ma tête…</p>
<p>J'ai toujours essayer de faire mon métier le mieux possible. Et j'ai toujours eu ce stéréotype en tête. Essayant à chaque moment de le détruire.<br>
Mais, (oui, forcément, il y a un "mais") personne, <strong>PERSONNE</strong> ne m'avait prévenu qu'il y aurait…des <em>utilisateurs</em>.</p>
<p>Alors oui, il faut le savoir. Si vous décidez de devenir sysadmin, vous décidez aussi de travailler quotidiennement avec des <em>utilisateurs</em>. Et il faut savoir un certain nombre de choses sur eux. C'est capital.</p>
<h3 id="1-99-des-utilisateurs-vous-mentent">1. 99% des utilisateurs vous mentent</h3>
<p>Je n'ai jamais réussi à comprendre pourquoi. Ok, les cadavres désséchés qui pendent dans mon bureau sont un peu impressionnants et dissuasifs. Mais, sérieusement, ils l'avaient bien cherché ! Quand un utilisateur vous dit :</p>
<blockquote>
<p>Je ne touchais à rien, et subitement, tout mon dossier a disparu ! (C'est vraiment de la merde !)</p>
</blockquote>
<p>Il ment. Et en plus il ne comprend pas qu'un simple <code>grep</code> sur le fichier de log montre que c'est bien lui qui a supprimé le dossier. Il pourrait vous appeler et vous dire très simplement qu'il a fait une bêtise, ou une fausse manip, ou quoique ce soit (après tout, qui ne fait pas d'erreur ?), et vous demander de remettre en place la dernière sauvegarde. Le problème serait réglé en quelques minutes. Mais non. l'*utilisateur* préfère invoquer des forces obscures et magiques, se dédouanner de toute responsabilité et, dans 50% des cas, en profiter au passage pour vous rappeler que "c'est de la merde". Ben oui, l'informatique, ce truc qui est sans doute votre passion, éh ben "c'est de la merde". Au cas où vous l'auriez oublié, hein. Ça fait toujours plaisir.</p>
<p>La conséquence directe est que vous ne pouvez vous fier qu'à vous mêmes (et vos compétences techniques) pour résoudre un problème. Vous allez devoir apprendre à regarder ailleurs et à déceler le vrai du faux.</p>
<p>La conséquence à moyen terme est que vous passerez pour quelqu'un de suspicieux. A juste titre, car vous le serez !</p>
<p>Et la conséquence finale est que vous finirez par vous sentir seul. Vous finirez par traiter vos <em>utilisateurs</em> avec condescendance et parfois même avec une certaine agressivité lorsqu'ils vous mentiront une fois de plus (c'est tellement gros parfois…). De fil en aiguille, vous finirez par détester ce que vous êtes devenu. Le métier vous impose déjà d'être paranoïaque (et fainéant, mais c'est une autre question). Mais ne même pas pouvoir faire confiance à ses propres collègues… seriously ?</p>
<h3 id="2-99-des-utilisateurs-nont-rien-à-cirer-de-vos-explications">2. 99% des utilisateurs n'ont rien à cirer de vos explications</h3>
<p>J'ai passé des heures à expliquer. J'ai passé des heures à rédiger des pages de doc. Parfois je les ai mêmes imprimées et mises sous plastique. J'ai passé des heures à essayer de répondre aux "pourquoi ?". J'ai passé des heures à essayer de vulgariser, à tenter de trouver la meilleure analogie. J'ai passé des heures à essayer d'intéresser les <em>utilisateurs</em>, à provoquer chez eux un tout petit peu d'intérêt pour leur outil de travail quotidien. J'ai passé des heures à essayer de leur faire comprendre qu'ils ont le monde au bout de leurs doigts et qu'en faisant de tout petits efforts, ils en profiteront eux-aussi. Et bien, vous savez quoi ? J'ai perdu mon temps. En réalité, et même s'ils vous demandent "pourquoi ?", les <em>utilisateurs</em> se fichent de savoir comment ça fonctionne. Et ils ont peut-être raison. Après tout, vous pouvez très bien être conducteur sans savoir comment fonctionne un moteur à explosion, non ? Le soucis des <em>utilisateurs</em> c'est que ça-juste-marche™.</p>
<p>La conséquence à moyen terme est que vos <em>utilisateurs</em> vous considèreront rapidement comme un despote. Vous êtes celui qui interdit sans raison. Même si vous avez pris le temps de leur expliquer pourquoi, retenez qu'eux n'ont pas pris le temps de lire/écouter/retenir/comprendre vos explications.</p>
<p>A plus long terme, vous ne travaillerez plus <strong>pour</strong> vos <em>utilisateurs</em>. Vous ne travaillerez plus <strong>avec</strong> vos <em>utilisateurs</em>. Vous travaillerez <strong>contre</strong> eux. En tout cas, c'est ce qu'ils penseront de vous. Les <em>utilisateurs</em> ne comprennent pas que si vous leur demandez de (ne pas) faire quelque chose, c'est dans leur intérêt. Vous vous sentirez sans doute isolé puisque personne ne parle le même langage que vous. Et de toute façon, ils se fichent de savoir ce que vous faites et pourquoi.</p>
<h3 id="3-les-utilisateurs-ont-une-imagination-débordante">3. les utilisateurs ont une imagination débordante…</h3>
<p>…Pour contourner les règles. Vous leur interdisez de faire ci ou ça ? Faites-leur confiance, ils trouveront un moyen de le faire. Vous leur demandez de faire quelque chose ? C'est contraignant ! Souvenez-vous aussi : l'*utilisateur* a <strong>toujours</strong> une bonne raison de contourner les règles. Même les plus élémentaires comme ne pas stocker son mot de passe sur un post-it collé sous le clavier. Etonnamment, cette créativité à toute épreuve ne s'applique qu'au contournement des contraintes, soyez-en conscient. Attendez vous à ce qu'ils piétinnent allègrement toutes les règles que vous tentez de mettre en place. </p>
<p>La conséquence directe en cas de problème est que vous serez tenu pour responsable. Peu importe si l'*utilisateur* a transgressé la Charte Informatique. Vous êtes responsables.</p>
<p>La conséquence à moyen terme est que vous vous demanderez à quoi vous servez. Si les quelques règles que vous mettez en place pour assurer le bon fonctionnement de l'informatique sont ignorées, à quoi bon ? Autant ne pas avoir de règles.</p>
<h3 id="en-conclusion">En conclusion</h3>
<p>Je crois avoir tout essayé. J'ai accepté de faire des choses pour tenter d'arrondir les angles. Pour ne pas être le gars qui dit toujours non. J'ai tenté la fermeté, en allant jusqu'au rapport de force. J'ai essayé la pédagogie. J'ai essayé de ne rien faire, juste pour voir. Je me suis posé beaucoup de questions. Je me remets en cause tous les jours. J'ai passé des nuits sans dormir. Mais vous savez quoi ? Le résultat est toujours le même.</p>
<p>Vos <em>utilisateurs</em> ne retiendront pas que s'ils utilisent tous les jours un ordinateur qui fonctionne correctement, c'est parce que vous avez fait votre job. Ils ne retiendront pas que le système de backups que vous avez mis en place leur permet de récupérer leurs fichiers <em>magiquement</em> disparus. Ils ne retiendront pas que vous avez passé des heures à préparer les packages de mises à jour. Ils ne retiendront pas que ces mises à jour se font la nuit, automatiquement, pour ne pas les déranger en journée. Ils n'ont aucune notion de la complexité des choses avec lesquelles vous travaillez quotidiennement. Ils ne retiendront pas que vous avez fait économiser plusieurs dizaines de milliers d'euros à l'entreprise en mutualisation des ressources tout en améliorant leur confort d'utilisation. Ils ne retiendront pas que vous travaillez <strong>POUR</strong> eux. Et, quels que soient vos efforts, vous finirez par coller à ce stéréotype dégueu. Vous deviendrez ce type associal et emmerdant à qui on ose à peine s'adresser. Vous finirez par travailler seul. Et vous finirez par haïr ce que vous êtes devenus.</p>
<p>Contrairement à ce qu'on pourrait penser, je n'en ai jamais voulu aux <em>utilisateurs</em>. Ils sont ce qu'ils sont. Tout le monde n'est pas intéressé par l'informatique. Tout le monde n'a pas envie de comprendre pourquoi ci et pourquoi ça. C'est normal, il faut faire avec. J'insiste vraiment sur ce point.</p>
<p>Personnellement, je n'ai pas trouvé la recette. Je m'y prends sans doute mal. Je ne suis sans doute pas fait pour ce métier. Peut-être ne suis-je même pas fait pour travailler dans l'informatique ? Peut-être que je suis vraiment associal, con(descendant) et méchant. Si vous avez des solutions, des idées, des expériences, <strong>je prends</strong>.</p>
<p>Et, si vous envisagez de devenir sysadmin, posez-vous ces quelques questions : êtes-vous prêts à travailler dans ces conditions ? Êtes-vous prêts à endurer ça ? Êtes-vous prêts à vous remettre en question quotidiennement ? Êtes-vous prêts à en arriver là ?</p>
<h3 id="quelques-liens">Quelques liens</h3>
<p><a href="http://it-beta.slashdot.org/story/13/06/20/030242/why-your-sysadmin-hates-you">http://it-beta.slashdot.org/story/13/06/20/030242/why-your-sysadmin-hates-you</a><br><a href="//linuxfr.org/users/plop_plop/journaux/hs-developpeur-un-peu-perdu-ou-pas-que-faire-maintenant-changer-de-vie">http://linuxfr.org/users/plop_plop/journaux/hs-developpeur-un-peu-perdu-ou-pas-que-faire-maintenant-changer-de-vie</a><br><a href="http://tribulationsdundevoupas.tumblr.com/">http://tribulationsdundevoupas.tumblr.com/</a></p><div><a href="https://linuxfr.org/users/plop_plop_sys/journaux/so-you-wanna-be-a-sysadmin-trolldi-inside.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/101705/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/plop_plop_sys/journaux/so-you-wanna-be-a-sysadmin-trolldi-inside#comments">ouvrir dans le navigateur</a>
</p>
plop_plop_syshttps://linuxfr.org/nodes/101705/comments.atomtag:linuxfr.org,2005:Diary/338772013-05-07T09:21:55+02:002013-05-07T09:21:55+02:00[HS] Développeur un peu perdu… ou pas… Que faire maintenant ? Changer de vie ?Licence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<p>
<em>Note avant propos : Je sais que les comptes multiples sont interdits. Ceci en est un, car je ne souhaite pas que cela puisse être rattaché à mon compte perso. Si les modérateurs ont un problème avec, qu'ils me le disent ou suppriment simplement ce post. L'adresse mail est valide et peux m'identifier très rapidement si nécessaire — et j'espère que si nécessaire. Merci.</em>
</p>
<p>
<em>Note avant propos 2 : C'est, une fois n'est pas coutume, une migration forum vers journal dont voici le <a href="http://linuxfr.org/forums/general-hors-sujets/posts/un-peu-perdu-que-faire-maintenant-changer-de-vie">billet originel</a>. Le passage en journal m'a semblé intéressant de part les échanges dans le forum mais également du fait que plusieurs personnes m'ont témoigner se retrouver dans ce que j'écrivais. Je me suis donc dit que ça pouvait être intéressant comme sujet, bien au delà de ma personne, mais aussi pour parler de l'informatique passion qui parfois ne (me) fait plus du tout rêver.</em>
</p>
<p>Déjà, plantons le décors (ça sera plus facile pour la suite) : ingénieur avec famille, bosse dans le développement depuis 2005.</p>
<p>Jusqu'à présent j'ai eu la chance (mais aussi la volonté) d'échapper aux chants des SSII (ok c'est ESN maintenant, mais bon en fait on s'en fout). J'ai donc principalement bossé chez des éditeurs de logiciels. Plusieurs. Et sur des technos variées : côté serveur, côté client, souvent les deux en même temps, pas mal de langages différents - c++, ruby, java, js, c#, php, etc - et aussi des choses sympa comme un rôle de scrum master pendant un temps.</p>
<p>Il y a en gros un an, alors que j'étais scrum master, avait certaines responsabilités d'organisations, de planing, limite de management, sachant que ça faisait plus de 4 ans que j'étais dans la même boite, j'ai été face à une décision plutôt complexe : on m'a proposé un autre poste. Un poste de développeur. Juste développeur, mais au sens intéressant du terme, un poste de « vrai » développeur et non pisseur de code, développeur au sens le plus complet possible, dans une équipe qui tourne en scrum et focus total sur une techno dans laquelle je suis considéré comme confirmé / expert.</p>
<p>Il m'a donc fallu choisir entre un poste qui s'orientait vers de la gestion, du management (enfin ça c'est ce qu'on me disais…) et un poste full dev. A l'époque, étant donné qu'il y avait certaines tensions là où j'étais et que j'avais le sentiment de ne pas être écouté / suivi / soutenu, j'ai fais le choix de partir full dev. Mais aussi car je pensais que c'était le chemin à suivre.<br />
Ca a duré 5 mois.<br />
Plusieurs problèmes divers, entre autre le fait que la techno pour laquelle je suis venu a été reléguée quasiment aux abonnés absents. Et lorsqu'on vient pour une tâche en particulier et qu'il s'avère qu'on ne peut y passer plus de 10% du temps, forcément je l'avais mauvaise. Arrivée la fin de la période d'essai, je n'avais pas suffisamment de garanties quant à ce que je souhaitais faire, pas suffisamment d'accroche avec l'orientation prise par la société (qui avait aussi changé entre temps) -> on s'est séparés.</p>
<p>Etant donné que j'avais fait le choix de ne pas aller vers du managérial (même un peu) j'ai recherché un nouveau taff. 3 semaines plus tard j'avais un contrat de développement dans une boite qui fait du e-commerce à quelques minutes de chez moi (vraiment, j'ai en gros 10 minutes de transport). Vu comme ça, le boulot de développeur c'est quand même le bonheur, non ?<br />
Et là, c'est le drame. Je fais face à un développement archaïque, une absence totale de méthode, une qualité douteuse et des choses vraiment limites (genre on bosse avec en local un dump de la base de production, contenant tous les mots de passes en clair… bonjour la sécurité). Et en plus je suis traité comme un simple exécutant (j'ai une visibilité à 1 ou 2 jours, aucune participation aux décisions, etc).<br />
Sacré chute.<br />
Moi qui ai toujours cherché à donner le meilleur de moi-même, adepte de « beau » codes, propres, efficaces. J'ai toujours détesté les compromis sur la qualité et les ais en général toujours refusés. Je me suis toujours donné beaucoup pour mon travail, mélangeant souvent vie privée et professionnelle (entendre penser et travailler même chez soi, le matin, le soir, le week-end, etc).</p>
<p>Heureusement les périodes d'essais c'est aussi fait pour ça, même si je n'aurais simplement jamais du accepter ce poste (mais bon, faut bien gagner sa croute). Ne serait-ce que parce qu'il m'a été simplement impossible de négocier quoi que ce soit, ce qui est en réalité toujours très mauvais signe.<br />
Donc je me dis, pas de problème, je vais continuer à chercher, je vais trouver autre chose et hop.</p>
<p>Et là c'est la désillusion.<br />
Je repose mon CV (qui n'avait pas vraiment quitté les job board). Je reçois des offres à la pelle (plus de 10 par jour à chaque fois que j'actualise mon cv et sachant que je ne cherche pas sur la région parisienne). Evidemment vous vous doutez bien qu'il s'agit essentiellement d'offres provenant de SSII… Mais parmi les offres que je reçois, aucune ne me fait rêver. Ha c'est sur, des développeurs JEE en SSII j'en trouve, des postes de développeurs PHP avec 1 an d'expérience aussi. Une grosse boite (genre boite qui fait de l'info au niveau mondial et de niveau beaucoup plus qu'honorable) me contact également, intéressant, très flatté — le genre de boite où tout dev rêve d'aller — mais pour le coup pas de suite, faute à un niveau de techno "lourdes" trop faible.<br />
Et dans tout ça, rien. Je lis les offres, et je vois immédiatement les problèmes arriver. Mauvaise qualité. Incertitude - cool une mission, et dans 3 mois je fais quoi ? Position hiérarchique douteuse — développeur pisseur de code en fait.<br />
Alors je commence à hésiter. Je réponds poliment que ça ne m'intéresse pas. Et je me demande si je veux réellement faire du développement. Et là ça devient compliqué. "tu vas faire quoi d'autre ?" me dis-t-on.<br />
Le travail devient de plus en plus compliquer. J'arrive à 9h. A 9h30 je me demande ce que je vais faire de ma journée. Je m'ennuie. Non pas qu'il n'y a rien à faire, mais rien ne m'intéresse. Aucun défit. Aucun intérêt. J'en parle à mon responsable : « on se doutait que tu allais t'ennuyer en te prenant, tu es trop qualifié » -_-' De nature plutôt impatient, ça n'arrange vraiment pas. Je suis fatigué, je dors mal. Heureusement que je me lève pour emmener mon fils à l'école, ça m'oblige à aller bosser après.</p>
<p>Alors je commence à me dire qu'en fait, je ne souhaite plus faire de développement.<br />
Attention, entendons-nous bien : j'adore développer. J'adore programmer. C'est ma passion depuis des années — à 30 ans j'ai commencé par du Logo… il y a plus de 20 ans —, et j'ai la chance de travailler dans le domaine qui me passionne. Mais qui ne me fait aujourd'hui plus du tout rêver.</p>
<p>Alors je commence à regarder autour de moi. Que vais-je faire ?<br />
J'en sais rien.<br />
Pourquoi pas "monter" dans le développement ? Devenir architecte, chef de projet, scrum master ? Moui, j'essai de me persuader que c'est ce que je veux faire. Mais j'en sais rien. Alors j'essai, je pose des CV dans ce sens, mon expérience de développement et de scrum master font que mon cv tiens plutôt bien la route.<br />
Mais non, on me propose du poste de dev PHP… génial.<br />
Et je ne suis même pas certain d'avoir envie de faire ça.<br />
Alors que faire ?<br />
J'en sais rien.<br />
Je tourne en rond.<br />
Je me remets à penser à mon "histoire". J'y cherche des raisons, des causes, des explications. La principale étant probablement que je suis venu à l'info par passion uniquement. Je voulais bosser dans la mécanique des fluides ou la CAO. Mais j'étais meilleur en info.<br />
Parfois j'ai l'impression d'avoir consumé tout ce qui me faisait vibrer dans l'info. Au moins professionnellement.<br />
Aujourd'hui je me vois même passer plusieurs jours sans coder (chose que je n'ai en réalité pas du faire depuis plus de 10 ans).<br />
Peut-être qu'aller dans l'info était alors un mauvais choix. Ou plutôt un choix temporaire.</p>
<p>Allons bon, il suffit de changer. Mais pour faire quoi ?<br />
Au début je ne sais pas trop. Et un jour, en mangeant un bagle poulet-bacon-pomme-cannelle-sirop d'érable, une sorte d'illumination : je pense que ce qu'il me manque (et manque au monde de l'info en général, même si ponctuellement ça peut être le cas) c'est le côté ingénieur. Ce que j'aime, quelque soit la matière, c'est créer. fabriquer. concevoir. imaginer. réaliser. J'ai toujours été quelqu'un de manuel en plus d'une part d'intellect (je pense qu'il est d'ailleurs souvent difficile de ne pas allier les deux, même si tout le monde ne partage pas mon avis). Je n'ai jamais peur de me salir pour réaliser quelque chose.<br />
Mais c'est bien beau tout ça, mais pour faire quoi ? Ca fait presque 10 ans que je n'ai pas fait autre chose que de l'info.</p>
<p>Parfois j'ai l'impression d'être plus au bord du burnout qu'autre chose. On me dit que j'en ai les symptômes ainsi qu'un certains nombre de caractéristiques.<br />
Alors quoi ? Je fais quoi maintenant ?<br />
Je change de vie ? Comment ?<br />
"En reconversion professionnelle" à 30 ans ?</p>
<p>Et en plus de tout ça je ne suis pas très bon pour clore. Alors je laisse ce post sur un goût d'inachevé, sur beaucoup de suspens… comme ma situation actuelle.</p>
<p>Si vous êtes arrivés jusqu'ici, merci de m'avoir lu.<br />
Si en plus vous avez des conseils à me donner, ou des témoignages, ou n'importe quoi d'autre, merci beaucoup.<br />
Sinon, ben rien, bonne route à vous</p><div><a href="https://linuxfr.org/users/plop_plop/journaux/hs-developpeur-un-peu-perdu-ou-pas-que-faire-maintenant-changer-de-vie.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/98229/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/plop_plop/journaux/hs-developpeur-un-peu-perdu-ou-pas-que-faire-maintenant-changer-de-vie#comments">ouvrir dans le navigateur</a>
</p>
plop_plophttps://linuxfr.org/nodes/98229/comments.atom