Cette année, le rapport "The State of the Octoverse" a un format différent. Il a été divisé en trois sections : "Trouver un équilibre", "Renforcer les communautés", et "Sécuriser les logiciels", avec la pandémie du Covid-19 en bonne place. « En 2020, nous avons tous dû repenser nos espaces et nos horaires de travail, tester les frontières entre le travail et la maison, et nous avons vu que cette ligne peut être difficile à tracer », a déclaré GitHub dans le rapport. Les trois sections du rapport Octoverse représentent des "plongées profondes" dans les données que GitHub a recueillies.
TypeScript fait un bon impressionnant et Python talonne JavaScript
TypeScript est un langage de programmation développé et maintenu par Microsoft. Il s'agit d'un surensemble syntaxique strict de JavaScript qui ajoute au langage des options de frappe statique. TypeScript est conçu pour le développement de grandes applications et se transcompile en JavaScript. Comme il est un surensemble de JavaScript, les programmes JavaScript existants sont également des programmes TypeScript valides. Le rapport Octoverse 2020 montre qu'il a connu une forte croissance auprès des développeurs dernièrement.
« Alors, qu'est-ce qui stimule la croissance de TypeScript ? Une réponse de haut niveau est que les langages plus fortement typés, dans lesquels vous devez définir le type d'information dans une variable au départ, connaissent une renaissance », a déclaré l'analyste de RedMonk James Governor au sujet du langage de Microsoft dans un rapport publié en 2019. Octoverse 2020 révèle en effet que TypeScript est passé de la 10e place en 2016 à la 4e place en 2020 dans le classement des langages de programmation les plus populaires sur GitHub.
Un autre point de vue sur la montée en popularité de la langue a été exprimé par Stack Overflow, le site Web de questions-réponses sur différentes thématiques de la programmation informatique, dans son rapport de mai 2020 : « La montée en popularité de TypeScript met en évidence le changement de direction de Microsoft et son adhésion au mouvement open source. Alors que les bases de code du front-end Web et de Node.JS augmentent en taille et en complexité, l'adoption du typage statique de TypeScript donne aux développeurs une confiance accrue dans la justesse de leur code », a-t-il déclaré.
« La capacité de TypeScript à être adopté progressivement signifie que les développeurs peuvent s'y plonger et en tirer des avantages immédiats, sans avoir besoin d'entreprendre un projet de portage risqué. Enfin, TypeScript permet de remplir de nombreuses modifications ECMAScript (comme les fonctions fléchées, async et les classes) avant qu'elles ne soient disponibles dans les navigateurs. Nous avons été nous-mêmes persuadés, car de plus en plus de JavaScript de Stack Overflow est en fait du TypeScript transcompilé », ont déclaré les auteurs du rapport de Stack Overflow.
Cela constitue l'observation la plus notable de cette partie du nouveau rapport. En somme, JavaScript reste le langage de programmation le plus populaire sur GitHub, tandis que Python est maintenant le deuxième langage le plus populaire, suivi par Java et la communauté TypeScript en pleine expansion. Par contre, PHP et Ruby, des langages qui se classaient parmi les plus populaires il y a cinq ans, ont continué à décliner en popularité et se situent respectivement à la 6e et à la 10e place de ce classement de 2020. C#, un autre langage développé par Microsoft, est passé de la 6e à la 5e place cette année.
The State of the Octoverse : Sécuriser les logiciels du monde
Sur le plan de la sécurité, GitHub a vanté les capacités d'automatisation de la plateforme comme étant un élément essentiel pour assurer une meilleure sécurité. Parmi les principales conclusions de l'entreprise en matière de sécurité, on peut citer :
- la plupart des projets sur GitHub s'appuient sur des logiciels à source ouverte. Le rapport note une utilisation plus fréquente de dépendances de logiciels libres en JavaScript (94 %), Ruby (90 %) et .NET (90 %) ;
- les dépôts actifs avec un écosystème de paquets pris en charge ont 59 % de chances de recevoir une alerte de sécurité dans les 12 prochains mois. Les dépôts Ruby (81 %) et JavaScript (73 %) étaient les plus susceptibles de recevoir une alerte durant les 12 derniers mois. L'analyse ventile également les alertes par degré de gravité ;
- les vulnérabilités de sécurité passent souvent inaperçues pendant plus de quatre ans avant d'être divulguées. Une fois qu'elles sont identifiées, le responsable du paquet et la communauté de la sécurité créent et publient généralement un correctif en un peu plus de quatre semaines. Selon GitHub, cela met en évidence les possibilités d'améliorer la détection des vulnérabilités dans la communauté de la sécurité ;
- la plupart des vulnérabilités des logiciels sont des erreurs, et non des attaques malveillantes. L'analyse d'un échantillon aléatoire de 521 alertes provenant des six écosystèmes de GitHub a révélé que 17 % des alertes étaient liés à des comportements explicitement malveillants, comme des tentatives de portes dérobées. Ces vulnérabilités malveillantes se trouvaient généralement dans des paquets rarement utilisés, mais ne déclenchaient que 0,2 % des alertes. Si les attaques malveillantes ont plus de chances d'attirer l'attention des cercles de sécurité, la plupart des vulnérabilités sont causées par des erreurs ;
- l'automatisation accélère la sécurité de la chaîne d'approvisionnement des logiciels libres. Les dépôts qui génèrent automatiquement une demande d'extraction Dependabot corrigent leur logiciel 13 jours plus tôt, soit 1,4 fois plus vite, que ceux qui ne le font pas. D'après GitHub, c'est une façon pour les équipes de "tourner à gauche", en intégrant la sécurité dans les flux de développement et en amplifiant l'impact des résultats de sécurité.
The State of the Octoverse : Autonomiser des communautés saines
Ici également, l'automatisation a aussi été vantée par GitHub, disant que cela permet d'améliorer les choses au-delà de la sécurité. « Grâce à l'automatisation et à la collaboration, les développeurs ont pu communiquer plus efficacement et gagner en efficience, ce qui leur a permis de consacrer plus de temps au travail qui compte le plus », a déclaré GitHub dans cette section du rapport. En effet, dans le rapport "The State of the Octoverse" de cette année, GitHub a déclaré que les communautés de logiciels libres ont également tiré parti de la valeur de l'automatisation.
La plateforme d'hébergement de code source estime que l'automatisation accélère la livraison des logiciels en aidant les équipes à automatiser leur flux de travail, ce qui leur laisse plus de temps pour se concentrer sur les travaux les plus critiques. Selon l'entreprise, les projets open source qui utilisent les actions GitHub pour automatiser leurs demandes d'extraction ont constaté une livraison plus rapide des logiciels et une meilleure collaboration. « Les modèles que nous apprenons sur la communication et l'automatisation des logiciels libres peuvent également rendre les équipes d'entreprise plus productives », a-t-elle déclaré.
GitHub ajoute que l'automatisation a également permis d'observer une augmentation de 34 % du nombre de demandes d'extraction fusionnées et une baisse de 18 % du temps nécessaire pour fusionner. À propos des communautés, le rapport de cette année montre que 56 millions de développeurs dans le monde utilisent maintenant GitHub, contre 44 millions en 2019 et 31 millions en 2018. En outre, lancé en mai 2020, GitHub Discussions aurait connu un succès précoce lors du bêta test de next.js : 3000 discussions auraient débuté sur le dépôt next.js et 50 % des utilisateurs actifs de GitHub Discussions auraient contribué ou ont envoyé du code.
De même, GitHub Discussions aurait également permis d'accroître la rétention des nouveaux membres de la communauté. Selon GitHub, les nouveaux membres sont plus susceptibles de rester s'ils participaient à une discussion que s'ils envoyaient une demande d'extraction ou créaient un problème, et les discussions sont plus durables pour la communauté.
The State of the Octoverse : les autres observations du rapport
Le rapport a également tenté de caractériser les distinctions dans la manière dont les grandes communautés fonctionnent sur GitHub, y compris les contributeurs au framework d'apprentissage automatique open source TensorFlow. « Il existe un modèle clair de comportement typique dans la communauté TensorFlow : la plupart des nouveaux membres commentent les problèmes (50 à 75 %), certains en créent (25 à 30 %), et quelques-uns examinent les demandes d'extraction (~5 %) », peut-on lire dans le rapport publié mardi.
« Dans d'autres communautés, les nouveaux membres poussent le code plus souvent que les titulaires, mais dans TensorFlow, c'est presque inexistant, et même les vétérans ne poussent pas souvent. Ici, le principal mode d'interaction est les problèmes ». En outre, le nombre de personnes qui s'identifient comme développeurs est passé de 60 % en 2016 à 54 % en 2020. En plus des développeurs, l'analyse a révélé que les personnes qui s'identifient comme analystes de données, scientifiques ou gestionnaires participaient à des projets comme TensorFlow. Voici ci-dessous d'autres points du rapport.
- le Nigeria continue de se classer en tête des contributions aux projets de logiciels libres, suivi par Hong Kong, l'Arabie Saoudite et le Bangladesh. La contribution des États-Unis aux projets et le nombre d'utilisateurs actifs restent plus élevés que pour toute autre région du monde, mais les contributions américaines aux projets ont chuté à 22,7 % cette année. Le rapport Octoverse 2019 a constaté que 80 % des contributions aux dépôts proviennent de l'extérieur des États-Unis ;
- la création de projets open source a fait un bond de 40 % d'une année sur l'autre ;
- l'analyse a montré que les contributions aux projets à code source ouvert culminent les jours fériés et les week-ends, tandis que les développeurs d'entreprise sont les plus susceptibles d'apporter des modifications au code et aux projets les jours de semaine ;
- la pandémie du Covid-19 a conduit à une hausse sensible des contributions aux projets à code source ouvert.
L'éducation est également une part croissante de la communauté GitHub, suite au lancement de GitHub Classroom, et représente le deuxième plus grand groupe d'utilisateurs sur GitHub derrière les développeurs. GitHub a été fondé en 2008. Le rapport Octoverse a été établi en 2014, et la dernière édition a été publiée cette semaine avant la conférence annuelle de l'univers GitHub.
Source : GitHub
Et vous ?
Que pensez-vous des conclusions du rapport Octoverse 2020 ?
Que pensez-vous de la croissance de TypeScript ?
TypeScript pourrait-il surpassé JavaScript dans les prochaines années ?
Voir aussi
Python devance Java et devient le deuxième langage de programmation le plus utilisé par les contributeurs sur GitHub après JavaScript
GitHub lance Arctic Code Vault, une initiative pour la sauvegarde du code open source mondial pour un millénaire, dans le cadre d'un vaste programme d'archivage
Plus de 75% des vulnérabilités dans les projets open source résident dans des dépendances indirectes plutôt que dans les composants directement chargés
Pour l'apprentissage du code, C est sur le point de dépasser BASIC, JavaScript est le langage le plus populaire, Django et Vue.js maintiennent une croissance constante, selon un rapport
JavaScript, Python et Java sont les langages de développement les plus utilisés par les développeurs de logiciel actif, tandis que C# perd du terrain selon l'enquête State of the Developer Nation