Le développement de Swift a été commencé en 2010 par Chris Lattner et prend ses sources dans de nombreux langages de programmation tels qu'Objective-C, Haskell, Ruby, Python, Caml ou C#. La première version publique (1.0) a été publiée le 2 juin 2014 à la WWDC 2014. En juin 2015, Apple annonce le passage en open source du langage Swift lors de la WWDC 2015, et celui-ci sera effectif en décembre de la même année. La version 3.0 de Swift est lancée en septembre 2016. La version 4.0 est disponible depuis le 19 septembre 2017 et se concentre principalement sur la stabilité de la syntaxe du code source. La version 5.0 est disponible depuis le 25 mars 2019 et apporte principalement la stabilisation de l'ABI.
Le départ de Chris Lattner
Chris Lattner, l'esprit derrière le projet d'infrastructure de compilateur LLVM et le langage Swift d'Apple, a quitté l'équipe principale de Swift et la communauté Swift Evolution, un groupe dédié à la prise en compte des voix de la communauté lors de l'amélioration du langage de programmation.
Apparemment, Lattner n'a pas fait partie de l'équipe principale depuis l'été 2021, lorsqu'il a essayé de discuter de ce qu'il percevait comme un environnement de réunions toxiques avec la direction du projet après qu'un appel particulièrement remarquable lui a fait faire une pause en été. L’élément déclencheur de son congé sabbatique a été une réunion virtuelle au cours de laquelle d’autres personnes l’auraient insulté et crié dessus via WebEx. Ce n’était pas la première fois, et il s’agissait de plus d’un membre de l’équipe centrale. Dans l’ensemble, il régnait une atmosphère empoisonnée lors des réunions.
En automne, lors d’une discussion avec la direction de l’équipe, il s’est rendu compte qu’elle ne prévoyait probablement pas de mesures pour changer la situation : « [...] Après avoir évité de s'en occuper, ils ont trouvé des excuses et ont clairement indiqué qu'ils n'avaient pas l'intention de faire quoi que ce soit à ce sujet. En tant que tel, j'ai décidé de ne pas revenir », a écrit Lattner dans son billet d'explication.
À l'époque, il prévoyait de continuer à participer via la communauté Swift Evolution. Mais il a décidé de ne pas revenir, estimant que certaines de ses contributions auraient plutôt déclenché des discussions animées qu’apporté des réponses : « mais après plusieurs discussions générant plus de chaleur que de lumière, lorsque mes commentaires et préoccupations formels sur l'examen de la proposition ont été ignorés par les accords unilatéraux, et les défis généraux liés à la transparence du travail avec l'équipe principale, j'ai estimé que mon effort déclenchait les mêmes frictions avec les mêmes personnes, et donc que je perdais juste mon temps ».
Lattner avait été la force motrice de Swift depuis la création du langage en 2010. Cependant, après avoir quitté Apple en 2017 et cédé son rôle de chef de projet, les prémisses de conception comme les « choses uniques qui composent » semblent avoir été abandonnées, lui rendant plus facile de prendre la décision de passer à autre chose. En effet, il a réalisé qu’il avait perdu son influence sur Swift et que certaines promesses de conception qui lui étaient chères n’étaient probablement plus d’actualité. Il estime que la situation est certes regrettable, mais qu’il est quelqu’un qui regarde vers l’avant et que cette affaire est désormais derrière lui.
En attendant, il souligne que de nombreuses personnes engagées et talentueuses font avancer le langage de programmation : « Swift a une tonne de personnes bien intentionnées et super talentueuses impliquées. Elles essaient de faire du mieux qu'elles peuvent avec une situation compliquée et de nombreuses pressions (y compris des objectifs ambitieux, des calendriers fixes, des files d'attente de bogues profondes à effacer, des personnes internes qui veulent revoir/concevoir des choses avant que le public n'y ait accès, et des pressions en dehors de leur équipe) qui induisent des interactions étranges avec la communauté. Au moment où les choses nous parviennent, les plans sont déjà très avancés et parfois les individus sont attachés aux conceptions dans lesquelles ils ont mis beaucoup d'énergie. Cela conduit à une dynamique stimulante pour toutes les personnes impliquées ».
Chris Lattner
Swift évoque une nouvelle structure d'équipe
Probablement à la suite de cette décision, l'équipe centrale de Swift cherche actuellement à restructurer la direction du projet. Selon le responsable du projet Swift, Ted Kremenek, les semaines à venir verront l'introduction d'un nouveau groupe de travail du langage, qui se concentrera sur l'évolution du langage Swift. « L'intention est de libérer l'équipe de base pour qu'elle investisse davantage dans la gestion globale du projet et de créer un groupe de travail du langage plus large qui puisse incorporer davantage de membres de la communauté dans les décisions portant sur le langage ».
Kremenek considère la création de ce nouveau groupe de travail comme une suite logique des développements réalisés depuis le lancement de Swift en open source. Depuis lors, comme pour d’autres langages et projets open source, divers groupes de travail se sont formés, tant pour les questions techniques que non techniques. Le Language Working Group doit en outre impliquer davantage de membres de la communauté dans le développement du langage qu’auparavant.
Kremenek a également profité de l'annonce pour remercier Lattner pour son leadership tout au long des années de formation du projet, notant que « ce fut l'un des plus grands privilèges de ma vie de travailler avec Chris sur Swift ».
Tout en appréciant les plans, après tout, Lattner connaît les problèmes de maintien de la transparence des processus de LLVM, ils ne semblent pas avoir aidé à convaincre le créateur de LLVM de repenser sa décision. Il n'aurait probablement pas beaucoup de temps libre de toute façon, car Lattner est connu pour être toujours « très occupé », sa dernière entreprise étant la société d'infrastructure d'IA Modular.AI.
Chris Lattner n'est pas nouveau dans le domaine de l'apprentissage automatique, car il a aidé à commercialiser les Cloud TPU de Google et a travaillé en tant que directeur principal et ingénieur émérite pour la division TensorFlow Infrastructure and Technologies de l'entreprise de 2017 à 2020. Avant cela, il avait un bref passage chez Tesla, aidant avec leur logiciel de pilote automatique.
Extrait du billet
« Pour donner du contexte, j'ai quitté Apple il y a plus de cinq ans et la seule constante dans ma vie est que je suis toujours "très occupé". Cela dit, Swift est important pour moi, j'ai donc été heureux de passer beaucoup de temps à l'améliorer et à le piloter. Cela comprenait les réunions hebdomadaires de l'équipe principale (d'abord en personne, puis sur WebEx), mais aussi de nombreuses heures de lecture et de réponse à Swift Evolution, et personnellement la conduite/l'écriture/l'itération de nombreuses propositions d'évolution. En tant que telle, ma décision de quitter le noyau de l'équipe l'été dernier n'a pas été facile.
« Pour répondre à votre question, la cause profonde de ma décision de quitter l'équipe de base est un environnement toxique dans les réunions elles-mêmes. Le catalyseur a été une réunion spécifique l'été dernier : après avoir été insulté et crié dessus sur WebEx (ce n'était pas la première fois, et ce n'était pas seulement un membre de l'équipe principale), j'ai décidé de faire une pause. J'ai réussi à convaincre les dirigeants de discuter de la situation avec moi l'automne dernier, mais après avoir évité de s'en occuper, ils ont trouvé des excuses et ont clairement indiqué qu'ils n'avaient pas l'intention de faire quoi que ce soit à ce sujet. En tant que tel, j'ai décidé de ne pas revenir. Ils m'assurent qu'ils "veulent s'assurer que les choses iront mieux pour les autres à l'avenir en fonction de ce dont nous avons parlé".
« Sur Swift Evolution, mon intention initiale était de continuer à participer aux forums, mais après plusieurs discussions générant plus de chaleur que de lumière, lorsque mes commentaires et préoccupations formels sur l'examen de la proposition ont été ignorés par les accords unilatéraux, et les défis généraux liés à la transparence en travaillant avec équipe de base, j'ai estimé que mes efforts provoquaient les mêmes frictions avec les mêmes personnes et que je perdais donc mon temps. Je ne pense pas que mon sentiment soit unique ici, par exemple ; ce fil comprend plusieurs membres de la communauté qui ont apparemment le sentiment de ne pas comprendre la véritable motivation de la proposition, ne sont pas écoutés et m'ont contacté parce qu'ils pensaient que je pouvais aider.
« Il est évident que Swift a dépassé mon influence, et certaines des prémisses de conception qui me tiennent à cœur (par exemple, "des choses simples qui composent" ne semblent plus à la mode. Tout aussi évident, j'ai beaucoup d'autres centres d'intérêt que Swift, et je ne manque pas de choses sur lesquelles passer mon temps. Je suis le genre de personne qui regarde toujours vers l'avenir, alors même si cette situation est triste, j'ai évolué et je suis certainement beaucoup plus heureux de ne pas avoir à y faire face !
« Swift a une tonne de personnes bien intentionnées et super talentueuses impliquées. Elles essaient de faire du mieux qu'elles peuvent avec une situation compliquée et de nombreuses pressions (y compris des objectifs ambitieux, des calendriers fixes, de longues files d'attente de bogues à corriger, des personnes internes qui veulent revoir/concevoir des choses avant que le public n'y ait accès, et des pressions en dehors de leur équipe) qui induisent des interactions étranges avec la communauté. Au moment où les choses nous parviennent, les plans sont déjà très avancés et parfois les individus sont attachés aux conceptions dans lesquelles ils ont mis beaucoup d'énergie. Cela conduit à une dynamique stimulante pour toutes les personnes impliquées.
« Je pense que Swift est un langage phénoménal et a un long et brillant avenir devant lui, mais ce n'est certainement pas un langage conçu par la communauté, et ce n'est pas ambigu. Les nouvelles idées sur la façon d'améliorer les choses semblent prometteuses - j'espère qu'elles répondent aux défis fondamentaux du système d'incitation auxquels les ingénieurs/dirigeants sont confrontés et qui provoquent les symptômes que nous voyons. Je pense qu'une communauté saine et inclusive continuera de bénéficier de la conception et de l'évolution de Swift ».
Source : Chris Lattner
Et vous ?
Que pensez-vous de Swift en général ?
Comprenez-vous la décision de Chris Lattner ? Était-ce, selon vous, le meilleur choix ?
Êtes-vous surpris lorsqu'il parle d'éléments comme un environnement de réunions toxiques ?
Voir aussi :
Swift est maintenant open source, le code source du langage de programmation d'Apple est disponible sur GitHub
Swift : Apple annonce la disponibilité de la version 4.2 de son langage, une mise à jour axée sur la stabilisation de l'ABI Swift