Oqtane vs DNN

1/6/2020

By: Shaun Walker

The question of Oqtane vs DNN has come up numerous times in recent months. In general it seems that people are trying to understand the rationale behind creating a completely new open source project as opposed to evolving the existing DNN project. In order to answer this question it is helpful to step back in time and review the events which got us to where we are today.

Back in 2012 while I was still CTO at DNN Corp, we recognized that adoption of the DNN platform was declining and we identified a variety of factors which we believed were responsible for the decrease. One of the top items on the list was related to technology trends and the fact that DNN was no longer considered to be modern or relevant amongst Microsoft software developers. As a result I created an internal company proposal titled "DNN Platform Revolution: An Application Framework For The Next 10 Years". It was a vision on how to transform the DNN platform into an application framework for the future. Although it was authored 7 years ago, it contained many of the architectural approaches which are considered to be enterprise best practices today such as separation of client and server concerns, a proper API services layer, etc... It also included a product strategy which advocated building a completely new platform from scratch which eliminated the legacy constraints of the existing DNN platform but still retained all of its key strengths and differentiators. The proposal received a lot of attention internally but ultimately the leadership of DNN Corp made a decision to not move forward with this approach and instead opted to focus on maintaining and enhancing the existing platform.

In 2017 when DNN Corp was acquired by ESW Capital there was a renewed sense of excitement in the DNN Community that it may result in a more substantial investment in the platform to make it modern and relevant again. Steering committees were formed by ESW Capital and I was asked to lead the Technical Steering Group. This was a perfect opportunity to dust off the proposal from 2012 and discuss the options for transforming the platform for the future. However it did not take long to realize that various members of the DNN community had vastly different opinions on this topic, and that it was going to be next to impossible to reach a consensus. Under the new TSG model, there was no "benevolent dictator" who was authorized to make a final decision so the discussions continued in a cyclical manner without any concrete result. At the same time it became clear that ESW Capital was not planning to invest significant resources in the platform. In fact within 12 months of the acquisition, ESW Capital had eliminated the entire DNN Corp engineering team. This should not have been a surprise to anyone, as traditionally very little innovation ever occurs when a company is taken over by a private equity firm, as their entire business model is predicated on consolidation, cutting costs, and taking as much money out of the business as possible.

It was during this time that I also came to another realization. For many years I had considered the DNN brand to be one of its most valuable assets. The DNN brand is recognized globally and is the foundation for a large commercial ecosystem of products and services. That being said, a brand is only as valuable as how well it is perceived by the market. And the challenge with a brand which has been around for an extended period of time is that it takes tremendous effort to shed some of its legacy characteristics. For example, it has taken over a decade for Microsoft to redefine its brand from a legacy desktop operating system vendor to a modern cloud solutions provider. In the case of DNN, the brand has many positive attributes but it also has some negative attributes related to its legacy technology stack which are slowly eroding its value. In order to solve this problem you can not rely solely on a technology transformation alone - you would also need a significant sustained marketing effort to change the market 's perception. There are many large companies with significant financial resources and influence who have tried to reinvent their brand and failed. As a result, it made much more sense from my perspective to establish a new brand.

Branding is a key element of any successful product, but so is the appropriate business model. Since leaving DNN Corp in 2014 it is fair to say that I have been a fairly outspoken critic of the open core business model. Open core is a concept whereby a commercial vendor provides an open source software project but also offers a product that is available under a commercial license. The commercial product uses the open source project as its "core" but also includes a variety of proprietary extensions intended to enhance the capabilities of the product. It goes without saying that the extensions need to be perceived as being highly valuable as they are the primary incentives which entice customers to purchase the commercial product. This approach obviously fosters a product mentality of withholding key functionality from the open source project in favor of including it in the commercial product. As you can imagine, this misalignment creates a very tenuous relationship between the open source community and the commercial vendor. It is clear that ESW Capital is not going to move away from the current open core business model, as they need the licensing revenue in order to recoup their investment. Valuable commercial extensions developed by DNN Corp will continue to be offered only as part of the commercial Evoq product suite. So although the DNN open source project has been given some autonomy from ESW Capital, it will continue to be forced to operate under the restrictive open core business model for the foreseeable future. Which again seems to point towards establishing a new open source project.

A natural question which may arise from the previous topic is which business model would be more appropriate for an open source project like DNN? DNN is unique from many other open source projects in the sense that it is an open source platform which is highly adaptable to many business scenarios. If we look at some of the other successful open source platforms that have similar characteristics to DNN, the business model which is common to all of them is that they do not dilute their open source project - they produce a single optimized product edition and they rely on ancillary services to generate revenue. The two most obvious examples would be Wordpress/Automattic and Drupal/Acquia. Drupal in particular is interesting as it was started at nearly the same time that I created DNN, got its first round of VC funding within the same year as DNN Corp, originally started with an open core model but abandoned it after a couple of years due to friction in its open source community, and last year was acquired by a private equity firm for $1 billion. However, at this stage it will not be feasible for ESW Capital to change the business model for DNN and adopt a new approach.

In regards to technology, when ASP.NET was introduced almost 20 years ago it was based on the WebForms web application model which promoted the use of components and code reuse at a fundamental level. This capability cultivated a massive ecosystem of component authors and vendors, and was a key capability in the success of DNN as it provided the underlying architecture for its plug-in modules. Then in 2009 Microsoft introduced the MVC web application model which supported web development patterns that had become popular in the non-Microsoft world. MVC did not have a strong focus on components so for the past decade this type of development has not been as common in the Microsoft ecosystem, with the exception being in front-end JavaScript frameworks such as React or Angular. Last year Microsoft announced a new web development model called Blazor which has a robust component model at its core. Blazor is still very new however it is a very adaptable technology which is predicted to gain considerable momentum in the coming years, and is perfectly suited for creating a modular application framework similar to DNN.

I began developing Oqtane about a year ago as a proof of concept to explore the potential of creating a modular application framework using modern Microsoft technologies and architectural patterns. The Oqtane project was heavily influenced and inspired by DNN - partly because I was the original creator of DNN so I am intimately familiar with its core architecture, but also because the business concepts and features which exist in DNN are just as relevant today as they were 17 years ago when DNN was first released. That being said, technology has evolved significantly in the past decade and similar to many other mature software products, DNN has a variety of legacy behaviors and limitations which make it very challenging to migrate to a modern technical architecture. To be clear, the technical limitations of DNN do not necessarily impact the current everyday usage of the product by end users and developers. But as time goes by there is definitely a concern that the underlying technologies it relies upon will become unsupported; and the other more significant challenge is that the product may not be able to innovate or adapt to modern business scenarios. Oqtane takes advantage of Blazor and embraces a modern single page application (SPA) model where there is a cleanly defined client/server architecture. From a framework perspective it was designed with modularity, extensibility, and multi-tenancy in mind. The familiarity with DNN has also been valuable in terms of allowing Oqtane to address some of DNN's most widely acknowledged core limitations ( ie. automated upgrades, tenancy isolation, streamlined module development, etc... ).


Do You Want To Be Notified When Blogs Are Published?
RSS