Cardinal gris .NET - John Galloway


Savez-vous qui est John Galloway? En attendant, il l'est. Il n'est pas seulement l'un des auteurs de Professional ASP.NET MVC, mais aussi la personne qui est le directeur exécutif de la Fondation .NET, en fait - il est responsable de l'ensemble du .NET open source. Les principaux sujets de cet article: les détails de la .NET Foundation, des exemples de tâches et quelques mots sur les livres et la transition vers .NET Core. Bienvenue au chat!


- La Fondation .NET est l'une des entreprises les plus passionnantes de l'histoire de .NET. Beth Messi a écrit un excellent article sur le médium sur la façon dont cela a commencé. Vous avez rejoint la Fondation .NET en 2017. Pouvez-vous partager votre histoire à quoi elle ressemblait pour vous?


- Honnêtement, avant d'accéder à ce poste, je ne connaissais pas très bien la Fondation .NET en particulier, ni les organisations de ce type en général. Une fois, l'ancien directeur exécutif de la .NET Foundation et icône open source Martin Woodward a déclaré qu'il assumait un nouveau rôle passionnant chez Microsoft et voulait que je pense à prendre sa place au sein de la .NET Foundation. Heureusement, grâce à Martin et Beth, je connaissais déjà un peu la Fondation .NET. Mais réalisant ce qu'est cette organisation, j'ai été très heureux de cette opportunité.


La Fondation .NET est une organisation indépendante (fondée et partiellement prise en charge par Microsoft, mais néanmoins distincte), dont le but est de prendre en charge le .NET open source. Pour ce faire, vous devez faire beaucoup de travail:


  • prendre en charge plus de 75 projets .NET open source (certains ont été parrainés par Microsoft, mais la plupart provenaient de la communauté);
  • résoudre les problèmes juridiques et logistiques qui permettent aux entreprises et aux développeurs individuels de travailler sur des projets dans la .NET Foundation;
  • organiser le travail du groupe Meetup Pro, qui comprend près de 300 groupes à travers le monde avec un nombre total de plus de 215 000 participants;
  • Créez des présentations et des ateliers pour aider les intervenants à parler de .NET
  • Soutenez des centaines d'événements à travers le monde, y compris .NET Conf
  • parrainer des conférences et des hackathons;
  • effectuer de nombreux travaux invisibles à l'extérieur pour éliminer les obstacles, les problèmes juridiques et logistiques qui entravent la croissance de la communauté .NET;
  • Impliquez-vous dans tout ce qui peut aider la communauté .NET à grandir et à faire des trucs sympas.

- Vous êtes le directeur exécutif de la Fondation .NET. Pouvez-vous nous dire plus en détail ce que vous faites?


- C'est un travail intéressant, fascinant et difficile. Je suis un employé de Microsoft et Microsoft me permet de consacrer la majeure partie de mon temps de travail à la .NET Foundation. Ceci est similaire à un système où une entreprise permet à un employé de contribuer à des projets open source. Je relève de notre conseil d'administration, je travaille avec un conseil consultatif, un conseil technique stratégique, un groupe de parrainage d'entreprise. Je viens d'énumérer les activités de la .NET Foundation; mon travail consiste à donner vie à toutes ces idées. Je gère tout, y compris le budget, l'enregistrement des entreprises, les accords juridiques, les nouvelles initiatives, les communications, l'attirail, les événements locaux, toutes sortes de nouvelles choses et d'événements. Bien sûr, lorsqu'une personne est engagée dans tout, cela ne prend pas de l'ampleur, par conséquent, une autre partie importante du travail consiste à développer l'organisation et à connecter de nouvelles personnes.


- Le directeur exécutif doit participer à de nombreuses tâches différentes. Je suis sûr que vous connaissez de nombreuses histoires intéressantes sur la Fondation .NET. Peux-tu me dire quelque chose? Y a-t-il des problèmes inhabituels ou étranges à résoudre?


- Grande question! Mes histoires préférées portent sur la façon dont nous avons fait quelque chose d'utile qui a aidé beaucoup de gens à la fois.


Par exemple, j'ai lu une fois sur Twitter que le service SymbolSource fermait. SymbolSource fournit des symboles de débogage pour les packages NuGet, et avant de fournir indépendamment un support pour deux niveaux: payant et gratuit. Après plusieurs années de gestion d'une telle entreprise, ils ont réalisé que l'option payante n'apporte pas suffisamment de revenus pour continuer à fournir un service gratuit, et ils devront la fermer. Je les ai contactés et avec l'équipe NuGet, nous avons transformé cela en projet .NET Foundation et lancé une version gratuite sur les installations de .NET Foundation dans Azure.


Une autre tâche intéressante consiste à obtenir des certificats et des services pour signer du code pour des projets .NET Foundation. Pour les projets open source, il est considéré comme une bonne pratique de signer des assemblys binaires (installateur, packages NuGet, etc.), mais l'obtention de ces services nécessite d'enregistrer le projet en tant qu'entité juridique, et organiser la signature de l'assembly n'est pas une tâche si facile. Oren Novotny, membre du conseil consultatif et ci-après - le conseil d'administration, a trouvé une excellente solution - enregistrer des projets en tant que marques déposées de la Fondation .NET. Nous avons commencé à travailler avec DigiCert, un fournisseur de certificats, et avons reçu une remise pour le projet .NET Foundation. De plus, nous avons conçu la .NET Foundation comme une organisation de sous-certification, afin que chaque projet individuel puisse recevoir un certificat en son propre nom. Après cela, nous avons mis en place le service de signature pour notre abonnement Azure et donné l'opportunité de l'utiliser à tous nos projets qui en ont besoin. C’était l’idée d’Oren, mais je suis très heureux que ce soit la Fondation .NET qui ait repris cela et donné vie à cette idée.


- Récemment, il y a eu l'annonce de l' adhésion ouverte .NET Foundation. De plus, le conseil d'administration est élu sur la base d'un vote ouvert . Pouvez-vous en parler un peu plus, et pourquoi est-ce si important pour la communauté .NET?


- La .NET Foundation est une entité distincte depuis sa création, mais au départ, deux administrateurs sur trois étaient des employés de Microsoft, et le troisième a été nommé par Microsoft et n'était donc pas complètement indépendant. Nous avons étudié de nombreuses autres organisations open source et nous avons aimé le fonctionnement de GNOME: les personnes les plus actives dans la communauté du développement peuvent devenir membres de l'organisation et continuer à choisir leurs propres conseils. Par conséquent, notre nouveau conseil d'administration a un membre nommé par Microsoft (Beth Messi), et les six administrateurs restants sont des membres élus. Chacun d'eux travaille pendant un an, après quoi il peut participer à sa réélection s'il le souhaite.


Ceci est important pour deux raisons principales:


  • Cela donne très clairement le contrôle de la Fondation .NET à la communauté .NET open source, décide de ce que fait l'organisation et la diffuse à la communauté, augmentant ainsi le nombre de personnes impliquées.
  • Il s'agit d'un bon modèle pour mesurer ce que nous faisons ou pouvons faire. Au lieu de confier tout le travail à l'unique directeur exécutif, il y a maintenant sept membres du conseil d'administration et des centaines de membres de la communauté qui forment des équipes et travaillent sur des choses qui leur semblent importantes. La Fondation .NET comprend de nombreux projets différents .

- Imaginez que l'un des participants à notre conférence ait son propre projet open source. Que doit-il faire pour rejoindre l'organisation? Quelle aide recevra-t-il si cela se produit?


- Si vous souhaitez rejoindre l'organisation, vous pouvez commencer ici à partir de cette page: https://dotnetfoundation.org/projects . Si vous n’avez pas reçu de réponse pour une raison quelconque, c’est une bonne idée de nous envoyer un ping à contact@dotnetfoundation.org. Parfois, beaucoup de travail nous incombe et nous essayons de ne pas afficher les projets plus rapidement que nous ne faisons face à leur soutien. Mais vérifier ne fait jamais de mal. Après cela, vous devrez remplir plusieurs formulaires pour vérifier que le projet cadre bien avec l'organisation. Après quoi je soumets le projet pour avis, nous signons un accord, changeons les droits d'auteur et nous connectons à nos services.


Après avoir rejoint le projet, nous travaillons ensemble pour implémenter les services nécessaires: signature du code, accord du contributeur pour les pull pulls, build serveurs, hébergement, etc. Nous voyons notre rôle dans le soutien de projets qui vivent déjà de leur propre chef - malgré le fait qu'il existe une certaine liste de choses qu'un nouveau projet doit mettre en œuvre, en fait, nous aidons simplement lorsque le projet le demande. De plus, nous traitons certaines questions telles que l'assistance juridique, le marketing, etc.


- Vous êtes l'un des auteurs de la série de livres Professional ASP.NET MVC . Le dernier (Professional ASP.NET MVC 5) a été publié en 2014. Dois-je attendre la mise à jour de la série pour ASP.NET Core?


"Je ne sais pas." J'étais une équipe d'auteurs à l'époque d'ASP.NET 1.0, nous avons travaillé ensemble sur une ébauche du livre, mais nous étions tous très occupés avec d'autres choses, et il s'est avéré très difficile de suivre le rythme de développement d'ASP.NET Core - dès que nous avons approuvé l'esquisse, ASP s'est déjà produit .NET Core 1.1, 2.0 et ainsi de suite. De plus, la documentation Microsoft est devenue si bonne ces dernières années que les livres sont devenus beaucoup moins nécessaires. J'ai vraiment aimé travailler sur des livres, mais je ne sais pas quand le prochain sera publié, ni s'il y aura une mise à jour pour Professional ASP.NET.


- De nombreux participants à notre conférence prennent en charge les projets hérités sur ASP.NET et le .NET Framework complet. Pensez-vous qu'il est logique de les porter sur .NET Core? Quels avantages peut-on retirer d'une telle mise à jour?


- J'en ai fait des rapports entiers - et ce n'est pas une question facile. Je vais donner la réponse avec une courte liste de réflexions:


  • Si vous développez quelque chose de nouveau, il est recommandé d'utiliser ASP.NET Core.
  • Si vous avez une application sur ASP.NET MVC ou WebAPI et que vous n'êtes pas plongé dans une personnalisation approfondie, vous pouvez porter une grande quantité de code - en particulier les services, les modèles et la majeure partie de la logique des contrôleurs. Pour moi, il est plus facile de créer un nouveau projet ASP.NET Core et d'y copier le code. Par exemple, l'équipe Stack Overflow a porté son code d'ASP.NET MVC vers ASP.NET Core - et ils disent que cela a pris près d'un an, mais leur projet est assez important.
  • Si vous avez des applications Web Forms, le portage sera assez difficile. Cependant, il existe plusieurs options pour effectuer des mises à jour incrémentielles. Le projet sur DotVVM fonctionne à la fois avec OWIN et ASP.NET Core, il est donc possible de mettre à jour progressivement les pages sur DotVVM fonctionnant avec OWIN, et dès que tout fonctionne sur DotVVM, passez à ASP.NET Core. De plus, des modèles comme Razor Pages ou Blazor semblent conceptuellement plus faciles à la plupart des développeurs WebForms que MVC, donc lors du portage, je vous conseille de choisir l'un d'entre eux.
  • Mais si vous avez des projets qui fonctionnent bien sur les formulaires Web, vous pouvez simplement quitter le .NET Framework. Microsoft n'y ajoutera pas de nouvelles fonctionnalités, mais il ne cessera pas de prendre en charge pendant longtemps.

- La version finale de .NET Core 3.0 devrait avoir lieu au second semestre 2019 . Quelles sont les différences les plus intéressantes de cette version? Puis-je déjà essayer la version d'aperçu ou dois-je attendre une version stable?


- Oh, il y a tellement de nouvelles choses! Certaines des principales fonctionnalités sont conçues pour les développeurs de bureau - vous pouvez commencer à porter vos applications WPF et Windows Forms vers .NET Core, tout en obtenant un déploiement côte à côte, des améliorations de performances, de nouvelles API .NET Core, la possibilité de tout assembler en un EXE, MSIX et bien plus. Il existe de nombreuses fonctionnalités intéressantes dans la plate-forme et le SDK, telles que la possibilité d'utiliser C # 8.0 et la compilation en couches. Les développeurs Web pourront créer des services Web encore plus rapides en utilisant des choses comme HTTP / 2, un traitement JSON rapide, un nouveau modèle de travail, etc.


Me demander s'il faut passer à la version d'aperçu n'est pas toujours utile. Je dirai toujours oui, bien sûr, allez-y! Mais pour le moment, nous avons la prévisualisation 5, et les principaux changements ont lieu dans le réglage et l'amélioration de la prise en charge du développement de bureau. C'est certainement le bon moment, au moins, pour commencer à tester, trouver et corriger les bogues de blocage.


Nous vous rappelons que John après-demain prononcera une conférence sur «Les fondations logicielles open source: pas totalement ennuyeuses, en fait super géniales» lors de la conférence DotNext 2019 Piter. Si vous vouliez venir, c'est la dernière chance. Les billets sont ici .

Source: https://habr.com/ru/post/fr451596/


All Articles