An interesting concern that came to our attention at this time was related to our dependence on external components. To provide the most powerful application, we had leveraged a number of rich third-party controls for their expert functionality. Because each of these controls was available under its own open source license, they seemed to be a good fit for the DotNetNuke project. But the fact is there are some major risks to consider. Some open source licenses are viral in nature and have the potential to alter the license of the application they are combined with. In addition, there is nothing that prevents third parties from changing their licensing policy at any time. If this situation occurs, then it is possible that all users of the application who reference the control could be in violation of the new license terms. That's a fairly significant issue and certainly not something that can be taken lightly. Based on this knowledge, we quickly came up with a strategy that was aimed at minimizing our dependency on third-party components. We constructed a policy whereby we would always focus on building the functionality ourselves before considering an external control. And in the cases where a component was too elaborate to replicate, we would use a provider model, much like we had in the database layer, to abstract the application from the control in such a way that it would allow for a plug-in replacement. This strategy protects the community from external license changes and also provides some additional extensibility for the application.
With the great publicity on the www.asp.net web site following VS Live! and the consistent release of powerful new enhancements, the spring of 2004 brought a lot of traffic to the dotnetnuke.com community web site. At this point, the site was poorly organized and sparse on content due to a lack of dedicated effort. Patrick Santry had been on the Core Team since its inception and his experience with building web sites for the ASP.NET community became valuable at this time. We managed to make some fairly major changes to improve the site, but I soon realized that a dedicated resource would be required to accomplish all of our goals. Without the funding to secure such a resource, many of the plans had to unfortunately be shelved.