Gray .NET Cardinal - John Galloway

Gray .NET Cardinal - John Galloway



Do you know who John Galloway is? Meanwhile, he is. He is not only one of the authors of Professional ASP.NET MVC, but also a person who is the executive director of the .NET Foundation, in fact, he is responsible for the entire .NET open source resource. The main topics of this article are: the details of the .NET Foundation, examples of tasks to be solved, and a couple of words about books and the transition to .NET Core. Welcome to the cat!


- The .NET Foundation is one of the most exciting enterprises in the history of .NET. Beth Messi wrote a great post on Medium about how it started You joined the .NET Foundation in 2017. Can you share your story, how did it look to you?


- To be honest, before I got onto this job, I was not very familiar with the .NET Foundation specifically, or with such organizations in general. One day the previous CEO of the .NET Foundation and the open source icon Martin Woodward said that he was taking on a new interesting role at Microsoft and wanted me to think about taking his place in the .NET Foundation. Fortunately, thanks to Martin and Beth, I was already a little familiar with the .NET Foundation. But realizing what this organization is, I was very pleased with the opportunity that opened up.


.NET Foundation is an independent organization (founded and partly supported by Microsoft, but nonetheless separate), whose goal is to support open source .NET. To do this, you need to do a lot of work:


  • support more than 75 open source .NET projects (some of them are Microsoft, but most come from the community);
  • solve legal and logistical issues that allow companies and individual developers to work on projects in the .NET Foundation;
  • organize the work of the Meetup Pro group, which has almost 300 groups worldwide with a total of more than 215 thousand participants;
  • create presentation materials and workshops to support speakers talking about .NET;
  • support hundreds of events around the world, including .NET Conf;
  • sponsor conferences and hackathons;
  • to do a lot of work that is invisible outside to remove obstacles, legal and logistical problems that impede the growth of the .NET community;
  • participate in everything that can help the .NET community grow and do cool stuff.

- You are the CEO of the .NET Foundation. Can you tell us more about what you do?


- This is an interesting, exciting and challenging job. I am an employee of Microsoft, and Microsoft allows me to spend most of my work time on the .NET Foundation. This is like a system when a company allows an employee to contribute to open-source projects. I report to our board of directors, I work with an advisory board, a strategic technical board, and a corporate sponsor group. I have just listed the things that the .NET Foundation does; my job is to bring all these ideas to life. I manage everything, including the budget, business registration, legal agreements, new initiatives, communications, merchandise stores, local events, all sorts of new things and events. Of course, when one person is involved in everything - it does not scale, therefore another important part of the work is to develop the organization and connect new people.


- The executive director has to participate in many different tasks. I'm sure you know a lot of interesting stories about the .NET Foundation.Can you tell me something? Are there any unusual or strange problems that have to be solved?


- Great question! My favorite stories are about how we did something useful that helped many people at once.


For example, once I read on Twitter that the SymbolSource service is closing. SymbolSource provides debugging symbols for NuGet packages, and earlier they independently provided support for two levels: paid and free. After a few years of running such a business, they realized that the paid option does not bring enough income to continue to provide free service, and they will have to close it. I contacted them, and together with the NuGet team we turned it into a .NET Foundation project and launched a free version on the .NET Foundation facilities in Azure.


Another interesting task is to get certificates and services for signing the code of the .NET Foundation projects. For open source projects, it is considered good practice to sign binary assemblies (installer, NuGet packages, etc.), but obtaining such services requires registering the project as a legal entity, and organizing the signatures of assemblies is not an easy task. Oren Novotny, a member of the advisory board and later on the governing board, came up with an excellent solution - to register projects as brand names for the .NET Foundation. We started working with DigiCert, a certificate provider, and got a discount for the .NET Foundation project. Then we issued the .NET Foundation as a sub-certification organization, so that each individual project was able to receive a certificate in its own name. After that, we set up a signing service for our Azure subscription and made it possible for all of our projects to use it, who need it. It was Oren’s idea, but I’m very glad that the .NET Foundation took care of this and brought the idea to life.


- Recently the .NET Foundation announced Open Membership . In addition, the board of directors is selected based on open voting . Can you tell us a little more about it and why is it so important for the .NET community?


- The .NET Foundation has been a separate entity since its inception, but initially two of the three directors were employees of Microsoft, and the third was appointed by Microsoft and therefore was not completely independent. We studied many other open source organizations, and we liked the way it works in GNOME: people who are most active in the developer community can become members of the organization and continue to elect their own board. Therefore, our new board has one member appointed by Microsoft (Beth Messi), and the remaining six directors are elected members. Each of them works for one year, after which he can participate in re-election if he wants.


This is important for two main reasons:


  • This gives the .NET Foundation control to the open source .NET community in a very clear way, lets you decide what this organization is doing, and spreads it to the community, expanding the number of people involved.
  • This is a good model for scaling what we do or can do. Instead of all the work being done by the sole executive director (s), there are now seven councilors and hundreds of community members who form teams and work on things that seem important to them. The .NET Foundation includes many various projects .

- Imagine that some of the participants in our conference have their own open-source project.What should he do to join the organization? What kind of help will he get if that happens?


- If you want to join an organization, you can start here from this page: https://dotnetfoundation.org/projects . If for some reason you have not been answered, it is a good idea to ping us at contact@dotnetfoundation.org. Sometimes a lot of work falls on us and we try not to display projects faster than we cope with their support. But check never hurts. After that you will need to fill out several forms to check that the project fits well with the organization. After that, I bring the project to the board, we sign an agreement, change copyrights and connect to our services.


After joining the project, we work together on the implementation of the necessary services: code signing, contractor agreement for pull-requests, build servers, hosting, and so on. We see our role in supporting projects that already live on their own - despite the fact that there is a certain list of things that need to be implemented by a new project, in fact we just help when the project asks for it. In addition, we deal with individual issues such as legal support, marketing, and so on.


- You are one of the authors of the "Professional ASP.NET MVC" book series . The last one (“Professional ASP.NET MVC 5”) was published in 2014. Should I wait for a series update for ASP.NET Core?


- I do not know. I was on the team of authors at the time of ASP.NET 1.0, we worked together on sketching a book, but we were all very busy with other things, and it turned out to be very difficult to keep up with the pace of development of ASP.NET Core - as soon as we approved the sketch, ASP had already happened .NET Core 1.1, 2.0 and so on. In addition, Microsoft's documentation has become so good in recent years that books have become much less necessary. I really enjoyed working on the books, but I don’t know when the next one will be released, and whether Professional ASP.NET will have an update at all.


- Many participants in our conference support legacy projects on ASP.NET and the full .NET Framework. Do you think it makes sense to port them to .NET Core? What are the benefits of this update?


- I did whole reports about it - and this is a difficult question. Give the answer a little list of thoughts:


  • If you are developing something new, we recommend using ASP.NET Core.
  • If you have an application on ASP.NET MVC or WebAPI and you are not immersed in deep customization, you can port a large amount of code - especially services, models, and most of the logic in the controllers. For me, it's easier to create a new ASP.NET Core project and copy the code there. For example, the Stack Overflow team ported their code from ASP.NET MVC to ASP.NET Core - and they say it took almost a year, but the project is quite large.
  • If you have Web Forms applications, porting will be quite difficult. However, there are several ways to make incremental updates. The project on DotVVM works with both OWIN and ASP.NET Core, therefore it is possible to incrementally update pages on DotVVM working with OWIN, and as soon as everything works on DotVVM - switch to ASP.NET Core. In addition, models like Razor Pages or Blazor conceptually seem simpler to most WebForms developers than MVC, so when porting, I advise you to choose one of them.
  • But if you have well-working Web Forms projects, you can simply leave the .NET Framework. Microsoft will not add new features to it, but it will not stop supporting it for a long time.

- The final release of .NET Core 3.0 is to take place in the second half of 2019 .What are the most interesting differences of this version? Can I try the preview versions already, or should I wait for a stable release?


- Oh, there are so many new things! Some of the most top features are designed for desktop developers - you can start porting your WPF and Windows Forms applications to .NET Core, at the same time getting a side-by-side deployment, performance improvements, new APIs from .NET Core, the ability to build everything into one EXE, MSIX and much more. There are many nice features in the platform and the SDK, such as the ability to use C # 8.0 and multi-level compilation. Web developers will be able to make even faster web services with the help of such things as HTTP/2, fast processing of JSON, new template of the worker and so on.


To ask me whether it is worth going to the preview version is not always useful. I will always say - yes, of course, go! But at the moment we have Preview 5, and the main changes are happening in Tuling and improving support for desktop development. This is exactly the right time, at least, to start testing, finding and fixing blocking bugs.


We remind you that John the day after tomorrow will make a presentation "Open source software foundations: not totally boring, actually super awesome" at the DotNext 2019 Piter conference. If you wanted to come, then this is the last chance. Tickets are here .

Source text: Gray .NET Cardinal - John Galloway