
Wissen Sie, wer John Galloway ist? Inzwischen ist er es. Er ist nicht nur einer der Autoren von Professional ASP.NET MVC, sondern auch der Geschäftsführer der .NET Foundation. Er ist für das gesamte Open Source .NET verantwortlich. Die Hauptthemen dieses Artikels: Details zur .NET Foundation, Beispiele für Aufgaben und einige Worte zu Büchern und zum Übergang zu .NET Core. Willkommen bei Katze!
- Die .NET Foundation ist eines der aufregendsten Unternehmen in der Geschichte von .NET. Beth Messi hat auf dem Medium einen großartigen Beitrag darüber geschrieben, wie es angefangen hat. Sie sind 2017 der .NET Foundation beigetreten. Können Sie Ihre Geschichte teilen, wie sie für Sie aussah?
- Ehrlich gesagt, bevor ich zu diesem Job kam, war ich mit der .NET Foundation im Besonderen oder mit Organisationen dieser Art im Allgemeinen nicht sehr vertraut. Einmal sagte der frühere Geschäftsführer der .NET Foundation und Open-Source-Ikone Martin Woodward, er übernehme eine neue und aufregende Rolle bei Microsoft und wollte, dass ich darüber nachdenke, seinen Platz in der .NET Foundation einzunehmen. Glücklicherweise war ich dank Martin und Beth mit der .NET Foundation bereits ein wenig vertraut. Als ich jedoch erkannte, was diese Organisation ist, war ich sehr zufrieden mit der Gelegenheit.
Die .NET Foundation ist eine unabhängige Organisation (gegründet und teilweise von Microsoft unterstützt, aber dennoch eine separate), deren Zweck die Unterstützung von Open Source .NET ist. Dazu müssen Sie viel arbeiten:
- Unterstützung von mehr als 75 Open Source .NET-Projekten (einige wurden von Microsoft gesponsert, die meisten kamen jedoch aus der Community);
- rechtliche und logistische Probleme lösen, die es Unternehmen und einzelnen Entwicklern ermöglichen, an Projekten in der .NET Foundation zu arbeiten;
- Organisation der Arbeit der Meetup Pro-Gruppe, zu der fast 300 Gruppen auf der ganzen Welt mit einer Gesamtzahl von mehr als 215.000 Teilnehmern gehören;
- Erstellen Sie Präsentationen und Workshops, um Redner zu unterstützen, die über .NET sprechen
- Unterstützen Sie Hunderte von Veranstaltungen auf der ganzen Welt, einschließlich .NET Conf
- Konferenzen und Hackathons zu sponsern;
- viele unsichtbare Arbeiten von außen durchzuführen, um Hindernisse, rechtliche und logistische Probleme zu beseitigen, die das Wachstum der .NET-Community behindern;
- Beteiligen Sie sich an allem, was der .NET-Community helfen kann, zu wachsen und coole Sachen zu machen.
- Sie sind Geschäftsführer der .NET Foundation. Können Sie uns genauer sagen, was Sie tun?
- Dies ist eine interessante, faszinierende und schwierige Arbeit. Ich bin ein Microsoft-Mitarbeiter und Microsoft ermöglicht es mir, den größten Teil meiner Arbeitszeit in der .NET Foundation zu verbringen. Dies ähnelt einem System, bei dem ein Unternehmen einem Mitarbeiter erlaubt, zu Open Source-Projekten beizutragen. Ich berichte an unseren Verwaltungsrat, arbeite mit einem Beirat, einem strategischen technischen Ausschuss und einer Sponsoring-Gruppe zusammen. Ich habe nur die Dinge aufgelistet, die die .NET Foundation tut. Meine Aufgabe ist es, all diese Ideen zum Leben zu erwecken. Ich verwalte alles, einschließlich Budget, Unternehmensregistrierung, rechtliche Vereinbarungen, neue Initiativen, Kommunikation, Utensilien, lokale Veranstaltungen, alle möglichen neuen Dinge und Ereignisse. Wenn sich eine Person mit allem befasst, skaliert es natürlich nicht. Ein weiterer wichtiger Teil der Aufgabe besteht darin, die Organisation zu entwickeln und neue Leute zu verbinden.
- Der Exekutivdirektor muss an vielen verschiedenen Aufgaben teilnehmen. Ich bin sicher, Sie kennen viele interessante Geschichten über die .NET Foundation. Kannst du mir etwas sagen? Gibt es ungewöhnliche oder seltsame Probleme, die angegangen werden müssen?
- Gute Frage! Meine Lieblingsgeschichten handeln davon, wie wir etwas Nützliches gemacht haben, das vielen Menschen gleichzeitig geholfen hat.
Zum Beispiel habe ich einmal auf Twitter gelesen, dass der SymbolSource-Dienst geschlossen wird. SymbolSource bietet Debugging-Symbole für NuGet-Pakete und bevor sie unabhängig voneinander zwei Ebenen unterstützen: kostenpflichtig und kostenlos. Nach mehreren Jahren der Führung eines solchen Geschäfts stellten sie fest, dass die bezahlte Option nicht genug Einkommen bringt, um weiterhin kostenlosen Service zu bieten, und sie müssen es schließen. Ich habe sie kontaktiert und zusammen mit dem NuGet-Team daraus ein .NET Foundation-Projekt gemacht und eine kostenlose Version der .NET Foundation-Funktionen in Azure gestartet.
Eine weitere interessante Aufgabe besteht darin, Zertifikate und Dienste zum Signieren von Code für .NET Foundation-Projekte zu erhalten. Bei Open Source-Projekten wird es als bewährte Methode angesehen, binäre Assemblys (Installationsprogramm, NuGet-Pakete usw.) zu signieren. Um solche Dienste zu erhalten, muss das Projekt jedoch als juristische Person registriert werden, und das Organisieren der Assemblysignatur ist keine so einfache Aufgabe. Oren Novotny, Mitglied des Beirats und im Folgenden - des Verwaltungsrates - hat eine hervorragende Lösung gefunden - Projekte als Marken der .NET Foundation zu registrieren. Wir haben mit DigiCert, einem Zertifikatsanbieter, zusammengearbeitet und einen Rabatt für das .NET Foundation-Projekt erhalten. Darüber hinaus haben wir die .NET Foundation als Subzertifizierungsorganisation konzipiert, sodass jedes einzelne Projekt ein Zertifikat in seinem eigenen Namen erhalten kann. Danach haben wir den Signaturdienst für unser Azure-Abonnement eingerichtet und die Möglichkeit gegeben, ihn für alle unsere Projekte zu verwenden, die ihn benötigen. Es war Orens Idee, aber ich bin sehr froh, dass es die .NET Foundation war, die dies aufgegriffen und die Idee zum Leben erweckt hat.
- Vor kurzem gab es die Ankündigung der .NET Foundation Open Membership . Darüber hinaus wird der Verwaltungsrat auf der Grundlage einer offenen Abstimmung gewählt . Können Sie etwas mehr darüber sprechen und warum ist es für die .NET-Community so wichtig?
- Die .NET Foundation war von Anfang an eine eigenständige Einheit, aber anfangs waren zwei von drei Direktoren Microsoft-Mitarbeiter, und der dritte wurde von Microsoft ernannt und war daher nicht vollständig unabhängig. Wir haben viele andere Open-Source-Organisationen untersucht und fanden es gut, wie es in GNOME funktioniert: Menschen, die in der Entwicklungsgemeinschaft am aktivsten sind, können Mitglieder der Organisation werden und weiterhin ihre eigenen Ratschläge wählen. Daher hat unser neuer Vorstand ein von Microsoft (Beth Messi) ernanntes Mitglied, und die verbleibenden sechs Direktoren sind gewählte Mitglieder. Jeder von ihnen arbeitet ein Jahr lang, danach kann er an der Wiederwahl teilnehmen, wenn er möchte.
Dies ist aus zwei Hauptgründen wichtig:
- Dies gibt der Open-Source-.NET-Community ganz klar die Kontrolle über die .NET Foundation, entscheidet, was die Organisation tut, und verteilt sie auf die Community, wodurch die Anzahl der beteiligten Personen erhöht wird.
- Dies ist ein gutes Modell für die Skalierung dessen, was wir tun oder können. Anstatt die alleinige (n) Geschäftsleitung (en) die gesamte Arbeit zu erledigen, bilden jetzt sieben Vorstandsmitglieder und Hunderte von Community-Mitgliedern Teams und arbeiten an Dingen, die ihnen wichtig erscheinen. Die .NET Foundation umfasst viele verschiedene Projekte .
- Stellen Sie sich vor, einer der Konferenzteilnehmer hat sein eigenes Open-Source-Projekt. Was sollte er tun, um der Organisation beizutreten? Welche Hilfe erhält er in diesem Fall?
- Wenn Sie der Organisation beitreten möchten, können Sie hier auf dieser Seite beginnen: https://dotnetfoundation.org/projects . Wenn Sie aus irgendeinem Grund nicht beantwortet wurden, senden Sie uns eine E-Mail an contact@dotnetfoundation.org. Manchmal fällt uns viel Arbeit auf und wir versuchen, Projekte nicht schneller anzuzeigen, als wir mit ihrer Unterstützung fertig werden. Aber Scheck tut nie weh. Danach müssen Sie mehrere Formulare ausfüllen, um sicherzustellen, dass das Projekt gut zur Organisation passt. Danach reiche ich das Projekt zur Beratung ein, unterzeichnen eine Vereinbarung, ändern die Urheberrechte und stellen eine Verbindung zu unseren Diensten her.
Nach dem Beitritt zum Projekt arbeiten wir zusammen, um die erforderlichen Services zu implementieren: Signieren des Codes, Zustimmung des Mitwirkenden zu Pull-Anforderungen, Erstellen von Servern, Hosting usw. Wir sehen unsere Rolle darin, Projekte zu unterstützen, die bereits alleine leben - trotz der Tatsache, dass es eine bestimmte Liste von Dingen gibt, die ein neues Projekt implementieren muss, helfen wir tatsächlich nur, wenn das Projekt danach fragt. Darüber hinaus beschäftigen wir uns mit bestimmten Themen wie rechtliche Unterstützung, Marketing und so weiter.
- Sie sind einer der Autoren der Buchreihe Professional ASP.NET MVC . Die letzte (Professional ASP.NET MVC 5) wurde 2014 veröffentlicht. Soll ich auf das Serienupdate für ASP.NET Core warten?
- Weiß nicht. Ich war während der Zeit von ASP.NET 1.0 ein Autorenteam, wir haben zusammen an einem Entwurf des Buches gearbeitet, aber wir waren alle sehr beschäftigt mit anderen Dingen, und es stellte sich als sehr schwierig heraus, mit dem Entwicklungstempo von ASP.NET Core Schritt zu halten - sobald wir die Skizze genehmigten, geschah ASP bereits .NET Core 1.1, 2.0 und so weiter. Darüber hinaus ist die Microsoft-Dokumentation in den letzten Jahren so gut geworden, dass Bücher viel weniger notwendig geworden sind. Ich habe es wirklich genossen, an Büchern zu arbeiten, aber ich weiß nicht, wann das nächste veröffentlicht wird oder ob es überhaupt ein Update für Professional ASP.NET geben wird.
- Viele Teilnehmer unserer Konferenz unterstützen ältere Projekte unter ASP.NET und dem vollständigen .NET Framework. Halten Sie es für sinnvoll, sie auf .NET Core zu portieren? Welche Vorteile kann ein solches Update erzielen?
- Ich habe ganze Berichte darüber gemacht - und das ist keine einfache Frage. Ich werde die Antwort mit einer kurzen Liste von Gedanken geben:
- Wenn Sie etwas Neues entwickeln, wird empfohlen, ASP.NET Core zu verwenden.
- Wenn Sie eine Anwendung auf ASP.NET MVC oder WebAPI haben und nicht in tiefgreifende Anpassungen vertieft sind, können Sie eine große Menge an Code portieren - insbesondere Dienste, Modelle und den größten Teil der Logik in Controllern. Für mich ist es einfacher, ein neues ASP.NET Core-Projekt zu erstellen und den Code dort zu kopieren. Zum Beispiel hat das Stack Overflow-Team seinen Code von ASP.NET MVC auf ASP.NET Core portiert - und sie sagen, dass es fast ein Jahr gedauert hat, aber ihr Projekt ist ziemlich groß.
- Wenn Sie über Web Forms-Anwendungen verfügen, ist die Portierung recht schwierig. Es gibt jedoch mehrere Optionen für inkrementelle Aktualisierungen. Das Projekt auf DotVVM funktioniert sowohl mit OWIN als auch mit ASP.NET Core, sodass es möglich ist, Seiten auf DotVVM, die mit OWIN arbeiten, schrittweise zu aktualisieren. Sobald alles mit DotVVM funktioniert, wechseln Sie zu ASP.NET Core. Darüber hinaus scheinen Modelle wie Razor Pages oder Blazor den meisten WebForms-Entwicklern konzeptionell einfacher zu sein als MVC. Bei der Portierung empfehle ich Ihnen daher, eines davon auszuwählen.
- Wenn Sie jedoch gut funktionierende Projekte in Web Forms haben, können Sie .NET Framework einfach verlassen. Microsoft wird keine neuen Funktionen hinzufügen, aber die Unterstützung wird für lange Zeit nicht aufhören.
- Die endgültige Veröffentlichung von .NET Core 3.0 soll in der zweiten Hälfte des Jahres 2019 erfolgen . Was sind die interessantesten Unterschiede dieser Version? Kann ich die Vorschau-Version bereits ausprobieren oder sollte ich auf eine stabile Version warten?
- Oh, es gibt so viele neue Dinge! Einige der wichtigsten Funktionen sind für Desktop-Entwickler konzipiert. Sie können damit beginnen, Ihre WPF- und Windows Forms-Anwendungen auf .NET Core zu portieren, während Sie nebeneinander bereitstellen, die Leistung verbessern, neue .NET Core-APIs erstellen und alles in einer EXE, MSIX, zusammenstellen und vieles mehr. Es gibt viele nette Funktionen in der Plattform und im SDK, wie die Möglichkeit, C # 8.0 und Layered Compilation zu verwenden. Webentwickler können mithilfe von HTTP / 2, schneller JSON-Verarbeitung, einer neuen Worker-Vorlage usw. noch schnellere Webdienste erstellen.
Es ist nicht immer sinnvoll, mich zu fragen, ob ich zur Vorschau-Version wechseln soll. Ich werde immer Ja sagen, natürlich, geh rüber! Im Moment haben wir jedoch Vorschau 5, und die wichtigsten Änderungen betreffen die Optimierung und Verbesserung der Unterstützung für die Desktop-Entwicklung. Dies ist definitiv der richtige Zeitpunkt, um Blockierungsfehler zu testen, zu finden und zu beheben.
Wir erinnern Sie daran, dass John übermorgen auf der DotNext 2019 Piter-Konferenz einen Vortrag über „Open Source-Software-Grundlagen: nicht ganz langweilig, eigentlich super genial“ halten wird. Wenn Sie kommen wollten, dann ist dies die letzte Chance. Tickets sind hier .