A couple weeks ago I kicked off a series of written interviews with our .NET Foundation Advisory Council members. The Advisory Council is composed of OSS project leaders that care deeply about .NET and the success of the foundation. They drive key initiatives in the foundation and guide the board. Learn more about what the Advisory Council is all about and participate in public discussions with them on our forums.
For this next post, I interviewed Daniel Roth. Daniel is a Senior Program Manager on the ASP.NET team at Microsoft. His passions include delighting customers by making frameworks simple and easy to use in the cloud.
Tell us a little bit about yourself. What's your background? When did you start getting interested in programming?
I started working at Microsoft and on .NET fresh out of college a little over a decade ago. During that time I’ve worked on a bunch of areas in the .NET Framework including the networking stack, serialization, XAML, ASP.NET Web Services, WCF, MVC and Web API.
In college I studied Electrical Engineering and Computer Science. I also did an M.Eng program with an emphasis on robotics. My mother was a programmer at the University of Massachusetts working on IBM mainframes, so I probably inherited some of my interest in computers from her. In high school I was particularly interested in questions of consciousness and artificial intelligence which led me to take my first computer science courses.
What initiatives are you working on (or passionate about) within the .NET Foundation?
I’m passionate about making it super easy to setup well-run open source .NET projects. I think there’s a lot we can do to make it easy to setup your project, setup your build infrastructure, sign your bits and make it simple to accept contributions.
I’m also excited about making it really easy to setup open source documentation for .NET projects. The Read the Docs folks have been doing some really cool work on adding Sphinx extensions for .NET and API doc generation that I think are going to be great for building an open source network of .NET documentation.
Can you tell us some of the first open source projects you worked on as a contributor? Why did you get involved? How did you get started?
My main exposure to open source has been through taking our existing .NET projects at Microsoft open source. This started with many of our ASP.NET projects including ASP.NET MVC, Web Pages and Web API. It’s amazing to see that the entire .NET stack is now open source!
What were some of the challenges in open sourcing those ASP.NET projects? How many people were involved? How did you do it? Any leaders stand out?
I think the main challenge with making ASP.NET open source was that it was a very new way for us to do our work. There really wasn’t any other major part of .NET that was open source at the time so we had to figure out and invent a lot of what it takes to do open source work at Microsoft. We had to move our engineering systems to be open source friendly and figure out how to take community contributions. There was also a cultural shift from being very tight-lipped about what we were working on to being much more open and transparent. We had to learn how to work effectively with our community on a day-to-day basis. There were numerous folks involved with this effort (my involvement in the initial setup was pretty minor), but Scott Guthrie certainly was a big supporter and helped make a lot of these things happen.
Looking back, what bug are you most proud of fixing in an open source project?
I remember when we first started taking contributions into our open source ASP.NET projects back in 2012. We had Miguel de Icaza, the creator of Mono, submit a pull request for us that we then merged while he was on stage. That was a pretty big moment for .NET open source.
What project(s) do you spend most of your time on now?
Can you tell us one thing you have learned about running an open source project?
I’ve learned that keeping it open is definitely better! I love the transparency of working on open source projects and its great working with a community of active contributors.
Why is open source software important to you?
Open source to me means you have a project that is now owned by a community of contributors instead of just a small team of developers working in isolation. It means you are working on something much bigger than one small team or individual can create.
What is it about .NET that you like most?
The C# language is simply gorgeous. I love the async/await support. The libraries that come with .NET are awesome. The tooling available for .NET is best in class (ex. Visual Studio Code). And it’s all going to just keep getting better now that .NET is fully open source and cross-platform!
What does the future of .NET look like in your dreams?
I dream of a vibrant open-source .NET community building apps and frameworks that I have never even imagined. I can’t wait to see what the open source community is going to create with .NET!
Feel free to ask more interview questions in the comments below.
Enjoy, -Beth Massi, .NET Foundation Technical Evangelist