Meet Your Advisory Council - Shaun Walker
Hi, I’m Beth Massi and I’m a Technical Evangelist for the .NET Foundation and also a member of the .NET team at Microsoft. I’m responsible for a lot of the team’s community efforts including event planning, content creation, customer outreach, as well as helping the .NET Foundation Board, Executive Director, and Advisory Council with .NET open source software initiatives.
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. We thought you’d like to get to know the folks on our Advisory Council so I’m kicking off a series of written interviews with them.
For this first post, I interviewed Shaun Walker, the Advisory Council Chairman. Shaun has 20+ years professional experience in architecting and implementing large scale software solutions for private and public organizations. He is a Co-Founder & Former CTO of DNN Corp and the original creator and maintainer of DotNetNuke, a web application framework for ASP.NET which spawned the largest and most successful open source community project on the Microsoft platform. He has been a Microsoft MVP in ASP.NET since 2004. He is a frequent speaker at conferences and user groups and is a contributing author to a variety of technology focused publications.
Tell us a little bit about yourself. What's your background? When did you start getting interested in programming?
In 1979, when I was 9 years old, my family relocated to Ashcroft, British Columbia, Canada, a tiny community in the south-central interior of British Columbia with a population of approximately 1500 people. We relocated with a goal to start a commercial vineyard. My grandfather had owned a vineyard in Kelowna and he had sold it with the idea that the hot arid climate in Ashcroft, combined with cheap abundant land, would be a perfect environment for him and his children to establish a large, successful vineyard.
My mother and father, grandparents, and two uncles bought approximately 200 acres of sagebrush-covered land about 30 minutes outside Ashcroft, an area known as Basque Siding that was only accessible by navigating 5 miles of unpaved roads. We each had our own 50-acre parcel of land but the family all worked together to establish the infrastructure to develop our vineyards. We installed power, irrigation systems, cleared land, and built houses. Then we planted seedling grapes, and grew alfalfa and other crops to provide some initial income, as a vineyard takes five years before it reaches full production. We were extremely self-sufficient and raised our own cows, pigs, turkeys, and chickens, as well as our own fruits and vegetables.
When I was 12 years old we visited my cousins in Kelowna and I was introduced to the Commodore VIC-20 for the first time. My cousins were using it to play games but my parents clearly saw my fascination in this little machine. Money was scarce, so I am not sure what ultimately motivated their decision, but they decided to purchase a base model VIC-20, which came with an integrated keyboard, a cassette tape drive, and a user manual. They also had one stipulation — the only games I could play were games I created myself.
So I spent a lot of time typing BASIC code into the computer and storing the programs on cassette tape. My parents got me a subscription to COMPUTE! magazine, which provided source code listings for more advanced games. Pretty soon I started to recognize the patterns and techniques required to write programs, and I started building my own applications. Living on a remote farm created a perfect environment for investing myself in computers, as there were few distractions — I was either outside working in the vineyard ( pruning, weeding, picking, cultivating ) or I was inside the house typing code. My two younger brothers were more than happy to play the games that I created for them.
When I saw the movie War Games in 1983 starring Mathew Broderick, I really got excited about the potential of computers as more than just a standalone device. In the movie, the character played by Broderick hacks into the NORAD super computer nicknamed “Joshua” using a backdoor password and mistakenly invokes Global Thermonuclear War. In the climax, the supercomputer is tricked into playing Tic-Tac-Toe against itself until it reaches a draw and declares that “the only winning move is not to play.” After watching this movie numerous times I was convinced that I wanted to be a “hacker” and I sent off handwritten letters to many of the vendors listed in COMPUTE! magazine asking how I could become a programmer.
In the summer of 1983 we took a long road trip to Disneyland in California and spent some time visiting my uncle in the Bay Area. During this trip my parents finally caved in to my demands for a computer upgrade. The Commodore 64 was a large enhancement over the VIC-20, and we were able to get a good deal on a Commodore 64 package, a 1702 color monitor, and a 1541 floppy disk drive. I could not wait to get home and plug in these amazing new devices.
The following winter my family suffered a significant setback. Some exceptionally cold weather killed all of our grape plants, which ended my parents’ dream of operating a large commercial vineyard. They did not have the resources to replant the vineyard, so they both had to work traditional jobs while continuing to operate the farm by selling fruits and vegetables to the local markets to try and make ends meet. This was very hard work, and without any opportunity for vacations as the farm demanded the family's full attention almost year round. The entire family pitched in to keep the farm afloat as my parents tried valiantly to preserve their investment.
When I reached high school I was allowed to participate in an accelerated learning program that allowed me to take Computer Science courses that were two grade levels higher than my current grade. This exposed me to IBM PCs and Apple II computers and some new programming languages. I loved the challenge of solving problems and got a lot of satisfaction out of being able to tell the computer to follow my specific instructions. I had found my passion and I knew at that point that my future career would involve software development.
What initiatives are you working on (or passionate about) within the .NET Foundation?
As the Chairman of the Advisory Council, I am working closely with the Executive Director to provide a solid operating model for the .NET Foundation. I authored the original Charter for the Advisory Council and I am actively involved in formalizing project governance criteria.
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?
On Christmas Eve 2002 I released the first version of DotNetNuke, an open source .NET CMS Platform. DotNetNuke was based on a sample application that Microsoft had released for ASP.NET 1.0 called the IBuySpy Portal. I had significantly enhanced the original sample application with many additional capabilities including multi-tenancy, and felt compelled to share it with the broader ASP.NET community. Releasing DotNetNuke as an MIT-licensed open source project allowed it to gain worldwide recognition and adoption.
Looking back, what bug are you most proud of fixing in an open source project?
There were many bugs that I fixed on the DotNetNuke project, but the one which is most memorable for me was a security vulnerability in an early version of the platform which allowed a user to upload executable code files. The actual code fix turned out to be trivial, but understanding how the exploit was being orchestrated was far more challenging. Ultimately it was leveraging a combination of an improper string validation in the application as well as an obscure legacy behavior in IIS. I had to use my powers of persuasion to convince the Iranian hacker who discovered the vulnerability to explain the process he was using to exploit the loophole. And then I had to determine the appropriate safeguard, patch the application, and inform the community of the vulnerability.
What project(s) do you spend most of your time on now?
I still write open source extensions for DotNetNuke, but I am also working in stealth mode on a new open source project that I expect to release later this year… stay tuned.
Can you tell us one thing you have learned about running an open source project?
One of the most important things to understand about running an open source project is that developers are driven by personal motivation. As a result, management in an open source project is not so much about directing people what to do, but rather figuring out how to take best advantage of all of the random contributions from the community.
Why is open source software important to you?
Open source software allows people of modest backgrounds, education, business experience, culture, and financial resources to overcome adversity, unleash their creativity and passion, and pursue success in the areas of philanthropy or entrepreneurship.
What is it about .NET that you like most?
I like that .NET is a constantly evolving and integrated suite of technologies that allow software developers to solve complex business problems.
What does the future of .NET look like in your dreams?
In my dreams, .NET becomes an even more dominant technology platform than it is today. It will evolve in a transparent manner to embrace open standards and trends and will continue to incorporate modern characteristics which allow it to remain relevant and competitive in the broader technology landscape.
Feel free to ask more interview questions in the comments below.
-Beth Massi, .NET Community