DotNetNuke is an extremely successful open source project that targets the
Windows platform and .NET Framework. In this interview, we talk with Shaun
Walker about bringing DotNetNuke forward from its humble beginnings as a .NET
sample project, to the premier open source content management system for
- The beginnings of DotNetNuke and engaging with Microsoft on open source
- Open source development paradigms interacting with proprietary software
- Seeking venture capital and monetizing DotNetNuke
- Response by the community to creating a commercial version
- Overcoming the pressures of a down economy
- Future directions: cloud platforms and improved distribution channels
Scott Swigart: Shaun, why don’t you take a second to introduce yourself and DotNetNuke?
Shaun Walker: I’m the original creator of DotNetNuke, which I started back in 2001, based on a reference implementation that Microsoft had released for the .NET Framework 1.0 Beta, an application called the IBuySpy Portal.
It was a sample application, released under a fairly liberal license, that allowed developers to come up to speed on the new .NET Framework. The application had some interesting characteristics, in that there was this notion of extensibility, although it wasn’t a fully baked solution.
I spent about a year on my own toying with that application and enhancing it. Really, what I had in mind at that point was building out a solution for amateur sports teams, so they could manage a website presence for themselves.
After about a year of doing that, I realized I really didn’t have the resources to convert what I had into a commercial venture. I had been active in the Microsoft developer community, specifically the forums on the www.asp.net site, where there was a small group of developers sharing their enhancements around that application.
It was actually Christmas Eve, 2002 that I decided to release my source code as an open source application. That initial release I called the IBuySpy Workshop, because I wanted it to have some connection to the original IBuySpy Portal.
I just announced it in that discussion forum on the ASP.NET site, and immediately, there were a lot of downloads and excitement around it, so I worked feverishly for about three months as people downloaded it and sent feedback. I think I was releasing every couple weeks at that point.
In March, Microsoft reached out to me because they had recognized that there was a bit of a community building around the application I had created, and they didn’t have any plans for enhancing the original IBuySpy Portal or building a community around it on their own.
Scott Guthrie reached out to me and invited me to come down to Redmond. We chatted about the vision for ASP.NET 2.0, because that’s what his team was working on at the time. We also discussed how DotNetNuke could be aligned with that vision and the importance of community, which I found to be quite refreshing, because it was not apparent to me that folks within Microsoft were thinking seriously about the benefits of open source.
We worked out an arrangement where Microsoft actually sponsored me for one year, which allowed me to leave my full-time job and focus my full efforts on building the DotNetNuke product and managing the ecosystem that built up around the project.
After that one year sponsorship, I had to find my own source of revenue to sustain the ongoing development. I relied mostly on advertising and sponsorship in the early years, then took on additional full-time resources to help manage the project.
It was in late 2006 that we actually took the bigger leap and formed DotNetNuke Corporation, which was a more suitable vehicle for governing the ongoing needs of the project.
At that point, I brought aboard as co-founders three of the contributors to the open source project who had been committed and loyal to the project. We worked under arrangement for about a year before we got serious about looking for venture capital. We were successful in getting a Series A round of venture capital in late 2008 from August Capital and Sierra Ventures.
Scott: We’ve talked to people who work on a lot of projects, from smaller ones to the largest ones like the Linux kernel and the Apache Foundation. Even though every open source project obviously evolves a little differently, what you’ve laid out there is almost a textbook story.
You started out scratching your own itch, like you said, with the IBuySpy sample that Microsoft put together, and it turned out that what you did was interesting to a lot of other people. A community formed around it, and so you decided to really invest in it and made it your day job.
The other people who came on board were basically people from the community who had made a name for themselves working on it. If you look at other open source communities, they’re also very reputation-based and reward people who actually get things done. Having an idea is great, but the ideas that tend to win out are those where someone has the idea and then rolls up their sleeves and implements it.
It’s really interesting to hear that basically that same road map was followed here as for the LAMP stack. This is built on top of Windows and the .NET Framework, completely proprietary technologies, but you’ve built an open source project and an open source business following the same trajectory you’d see elsewhere.
Shaun: I think that the open source paradigm transcends platform. It’s not necessarily a Windows versus Linux debate. The whole notion of open source is just built on openness, transparency, the willingness to share, and open protocols. All of that can live in either environment very comfortably.
It turned out that the solution that I’d come up with in those early stages actually related to a very large problem. That’s one of the other fundamentals of starting an open source project: you have to be scratching an itch that a lot of people are feeling.
The problem has to be large enough that it’s interesting for the initial person to solve, and it also has to be such that other people are willing to get involved in it and get excited about it. Without the passion, that organic growth really can’t happen.
DotNetNuke, right from Day One, enjoyed a very passionate developer community, because they were all working toward solving a fairly large problem: both individuals and businesses need website presences.
Some of the early tools that were available for entities to get online were really quite limited in their functionality, and so with the emergence of content management systems and web application frameworks, the sophistication of those online properties has gone up significantly. It’s really been software applications like DotNetNuke that made that happen.
Sean Campbell: I imagine that a lot of people, especially given the last year or so in the economy, are curious about that journey, going through and getting VC funding. What challenges would you reflect upon and say, “Well, if I’d known this before, I would have done something a bit differently during that process.”
Shaun: We spent a considerable amount of time doing fundraising in 2008, and I was surprised to learn the extent to which it’s not easy to raise money.
The fact that we had a very large and vibrant open source community wasn’t nearly enough for a lot of investors to show commitment. Really what they were looking for was some commercial aspect of the project as evidence that people were willing to spend money on this solution and not just download and use it for free.
Prior to this year, we didn’t really have much of a commercial component to the project. We could point to huge download numbers and a huge number of extensions that were available for the platform but we really didn’t have any evidence to point to business traction. That’s really what the venture capitalists are looking for.
They felt like they were taking a significant risk because it was an unproven model. In the end, we did find a couple of investors who were willing to take that risk and it’s worked out very well. We had a great year in 2009.
We offer support and other proprietary features around the platform and we’ve grown from 0 to nearly 400 paying customers in year one. We’ve hit all of our revenue goals and that wouldn’t have been possible without the injection of capital at the end of 2008. That allowed us to add more full-time resources to the project which really started to accelerate its growth.
Sean: How did you make the decisions around which aspects of the project you thought people would be willing to pay for and how did that guide the development of the project as a whole?
Shaun: In the very early stages of the project when we didn’t have a commercial version, we would implement pretty much any feature that came to the surface from the community as being desirable. Over time, we found that a lot of those features that we were adding really only catered to a small subset of the community, largely the more serious business users.
When it came time for us to introduce the commercial versions of the product, it was actually fairly simple to dissect the needs of the different constituents. We could look at a typical community user as really only running a single website off of a single install, with fairly limited content management needs.
On the other hand, a more serious business user might be using our platform to run multiple websites off of a single install, and they might have way more advanced content management and scalability needs, as well as demands around performance and security. So, if you looked at those different vectors, especially performance, security, and advanced content management, it became fairly obvious where different features should reside across the different product lines.
The other thing that’s important to note is that, right from Day One, the DotNetNuke application was architected in a way that’s very modular. So introducing proprietary functionality around the open core was fairly straightforward for us to do because the application had always been designed that way.
We have a very vibrant extensions ecosystem for both what we call skins, which are the look and feel, as well as mini-applications that can be embedded in a DotNetNuke framework, which we call modules. There are more than 6,000 different extensions available today on our marketplace at www.Snowcovered.com.
With that vibrant ecosystem already there and people already used to paying money for extensions, it was a fairly easy transition for people to adjust to the fact that there was going to be a commercial version of the core application as well.
Sean: Did you have any resistance from users who had been getting the application for free for years, when all of a sudden you started telling them that they would have to pay for certain features? Sometimes it’s just a vocal minority, but there’s generally a group like that.
Shaun: That aspect of open source in general speaks to the transparency aspect. Basically, anyone who’s involved in an open source project can get up and stand on their soapbox and vocalize what their concerns are. Unfortunately, their concerns can be quite self-serving, rather than considering the broader community or the broader context.
As we made the transition from being a pure, free, open source product by adding a commercial version, there was certainly a vocal minority in the community that expressed their concerns through our public discussion forums.
As a project owner, you have to be very attentive to staying on top of those and not just ignoring them, but speaking to people’s concerns so that they understand that broader context because often they hadn’t considered some different perspective.
It was surprising, but a lot of people in the community who were vocally opposed to us having a commercial version didn’t consider the fact that we were actually getting requests from many businesses that wished there was commercial support available for the product.
Some people have the perspective that if you use it for free, then support should be free, and they hadn’t considered the broader business implications of that.
Once you start explaining those things, people can start to get a bit more comfortable with it. You’re never going to please everyone all the time, though. There’s always going to be a certain subset of people that are not going to buy into your arguments, and they’re going to continue to be vocal.
That becomes a challenge to deal with on an ongoing basis but I guess we’ve gotten pretty savvy at dealing with those things over the last seven years. It’s no different than any other open source project.
To be honest, that friction is a good thing because it keeps everybody a bit more accountable. Even if certain people have a very extreme point of view, by being forced to listen to that point of view, it keeps you more from straying from what your true goals should be.
Scott: It’s become almost cliché, I guess, to talk about the economy, but you guys were going for VC funding during a pretty tough economic time. It’s always interesting to hear stories about people who have thrived in those circumstances.
Talk about some of the implications of seeking funding during this climate.
Shaun: We signed the term sheet in September of 2008 with August and Sierra, and a couple weeks later, the bottom fell out of the economy. At that point, we had the term sheet in hand and we were going through due diligence. Due diligence took much longer than expected, because we had some clean up to do in terms of making sure everything was in order from a legal perspective to satisfy the investors’ needs.
But the investors were committed at that point to doing the deal, so we worked through due diligence and were successfully funded and then they gave us a runway, which a lot of companies didn’t have, to focus on introducing some new products in 2009, adding a support component, and staffing up the business.
Where a lot of businesses were laying people off, we had the ability to actually hire people. We got to hire some really great people, because a lot of very talented people were out of work.
The other thing that worked in our favor, obviously, is that open source companies traditionally have lower costs than proprietary offerings. So when we look at some of the competitors that exist in the proprietary space, DotNetNuke is a more economical, more competitive solution in that regard.
I think that we picked up a lot of business this year based on the fact that we are a more economical offering for putting up a website.
The combination of those factors really helped us in this down economy, and as we’ve come out of this, hopefully 2010 is going to be a much better year for the global economy. We’re hoping that it helps us gain some additional momentum.
Scott: What do you see as the future of DotNetNuke?
Shaun: In 2010, we have some high-level objectives in terms of things we want to deliver. One area, in particular, is the marketplace where commercial extensions are sold for the platform. Like I said, there are about 6,000 extensions in that marketplace today, but it’s not really a seamless experience.
A customer has to install DotNetNuke and then they have to browse through our marketplace, make a purchase, and download a product. Then they have to upload it to their site.
As a software marketplace, the iPhone’s App Store provides a much more seamless experience, where you can view the different extensions that are available for the iPhone and choose to purchase them immediately. They download seamlessly to the device and they’re installed.
We want to build that type of tight integration between the DotNetNuke platform and the DotNetNuke marketplace in 2010. We believe that will really help consumers and businesses better manage their websites in a more seamless manner with less obstacles.
Another area that we see a tremendous amount of interest is around the cloud. It’s still challenging today if a business wants to put up a website. Although there are over 50 hosting partners today that offer a one-click install of DotNetNuke, if somebody comes directly to our site to download the software, they have to figure out what the next logical step would be to get it up and running. Basically, there are a number of obstacles in the way of a person accomplishing their goal.
This whole notion of cloud takes that complexity out of the equation as it provides a turnkey, instant gratification installation process that enables a customer to get up and running immediately in a suitable environment with all the necessary resources in place.
Scott: What’s your story around the Windows Azure platform? That seems like a logical cloud for you to land on because it is .NET based, and it’s not the most painful thing to migrate an ASP.NET application over to that.
Shaun: We are definitely talking to the Windows Azure team and it’s one of the cloud platforms that we would like DotNetNuke to run on. We are also talking to the Amazon EC2 team and, in fact, we have DotNetNuke running on EC2 already.
Like you said, Windows Azure is a natural choice because it’s native Microsoft technology but, at least in the early releases of Azure, it’s not a no-brainer in terms of getting a .NET application running on Azure. You have to do some re-architecture and, at that point, I don’t know if you’re tied too closely to the Windows Azure platform.
Microsoft has recently come out with some announcements that they are going to be offering some Windows virtual-machine-type deployment scenarios, much like those Amazon provides. That might be an interesting cloud option for DotNetNuke, as well.
You’ve also got to consider that those are the two predominant cloud players but there are a lot of smaller players, as well, like Rackspace and even smaller hosting providers that are offering cloud type offerings that give you a lot more control.
One thing that I’ve noticed with some of the larger players is that, in order to commoditize the service and allow it to be offered at a low price point, they actually take away a lot of features and a lot of flexibility that you would traditionally get in a typical web-hosting environment.
That’s where a lot of the smaller players are able to compete, because they can provide cloud-type services but with greater flexibility. So, we’ve got to look at all of these things when we look at running in a cloud.
Scott: It sounds like you are definitely rapidly pursuing the cloud, in a provider-agnostic way, and you’d like to be an option for as many clouds as reasonably makes sense.
Shaun: Right; we are avoiding lock-in, which aligns with our open source ideals.
Scott: Thanks for taking the time to talk today.
Shaun: My pleasure.