Scaling API-first – The story of a global engineering organization
Shaun Walker - Presentación en inglés para la Convención Internacional de Interopera
1.
2. creator of DotNetNuke, a web content management platform for ASP.NET which has spawned the largest and most successful open source community project native to the Microsoft platform.|
I began my software career in 1991, developing solutions for private and public sector organizations using a variety of different platforms including OpenVMS, UNIX, Linux, and Windows. I had my first real taste of open source in 1998 when I became the project lead for a large-scale health care project developed using J2EE on Linux, Apache, and Tomcat. Coming from a commercial software world I was surprised at the passionate developer community which existed around these products and I began to delve deeper into the fundamentals of open source – from development methodology to licensing. Through this education I saw the tension which existed between the open source community and commercial vendors like Microsoft. Clearly there was a huge disconnect in terms of philosophy and business models. And I have to admit Microsoft did a not do a very good job in these early stages of trying to build bridges with the open source community. Based on their lack of understanding, they saw open source as a threat and treated it accordingly. This approach did not win many friends and it took many years for the company to progress to the point where it is today; where it now accepts open source as a valued member of the IT ecosystem.And the best way to describe Microsoft’s approach to acceptance is through Interoperability.
Most IT environments are heterogeneous – they utilize components from different platforms to create solutions. So at a high level, interoperability means freedom. The freedom for customers to choose the solution which best addresses their needs. By providing interoperability with open source products and communities, Microsoft removed some of the impediments which previously existed and now openly embrace a greater variety of solutions.So what are some examples of Interoperability I can mention which directly benefited DotNetNuke?When Microsoft introduced ASP.NET 2.0 they included an architectural principle known as the Provider Model. The Provider Model allows you to easily replace functionality within an application with an alternate implementation. DotNetNuke uses the provider model to support multiple database platforms. Although we use SQL Server as our default database, we also support other open source database providers such as mySQL and Firebird. This type of technical interoperability provides ours users with greater flexibility at the database level.For the first 5 years of DotNetNuke’s history we hosted our source code downloads at SourceForge.Net. However, based on the heavy Linux influence we never felt like a first-class citizen in that repository. In addition, as SourceForge’s business model changed and introduced some unpleasant side effects it became obvious that we needed a new home for DotNetNuke. Microsoft had launched Codeplex.com in 2006 as a repository for open source projects based on Microsoft technology and it seemed like a natural fit for DotNetNuke. In 2008 we collaborated with the Codeplex team on a DotNetNuke Forge service and in 2009 we migrated our core product distribution to Codeplex.com. This type of interoperability allows Microsoft to showcase open source solutions on its platform, and it allows us to take advantage of the rich tooling and free bandwidth.The Web App Gallery was introduced in the spring of 2009 as a simple directory and installer for full-featured, free applications on Windows. It is not a requirement for products in the Gallery to be open source but there are a significant number of open source products represented. Microsoft reached out to us to ensure DotNetNuke was among the first open source applications to be represented. From an interoperability standpoint, the Web App Gallery allows Microsoft to showcase the vast array of open source solutions which run on its platform, and it provides us with a highly visible distribution channel, maintained and advertised by Microsoft.In the fall of 2009, Microsoft made one of its boldest moves yet into interoperability by announcing the creation of a non-profit organization, the Codeplex Foundation. The mission of the CodePlex Foundation is to enable the exchange of code and understanding among software companies and open source communities. As a recognized proponent of open source in the Windows market, I was invited to participate as a member of the interim Board of Directors alongwith folks like Bill Staples, Sam Ramji, and Miguel De Icaza. This was a great opportunity for me to help influence the future of interoperability.
So where most people think of interoperability from a purely technical perspective, and only consider it from the point of view of making Microsoft systems speak to non-Microsoft systems, I would like for you to consider another perspective. Interoperability can also mean utilizing some of the benefits of open source on native Microsoft products. For example, you can utilize the open source development model, low cost distribution model, and open source business model to create solutions which run natively on the Microsoft Windows platform!But why would you want to do this?Microsoft provides a very mature stack of components which you can use as the basis of your solution. This stack is consistently managed and supported by Microsoft, reducing many of the longer term costs which come into play when you consider the total cost of ownership. This also allows you to communicate a high level of confidence and assurance to your customers. And when you consider the service provider or volume licensing discounts, the cost is not a significant part of your solution. Microsoft also provides a comprehensive suite of integrated development tools which are constantly evolving and are available for almost no cost through programs like BizSpark and WebsiteSpark. And when it comes to locating qualified resources to assist with the implementation and deployment of large-scale IT projects, Microsoft has a massive partner program with plenty of regional support options.
I mentioned earlier that I am the creator of DotNetNuke... so it might help if I explained what exactly DotNetNuke is... DotNetNuke is a web content management platform. Through an intuitive, menu-driven interface, it allows even non-technical users to easily create powerful websites or extend the functionality and features of existing web applications. It is the largest and most successful open source project native to the Microsoft platform. What are the metrics to support this claim?Since it was released on Christmas Eve 2002, there have been over 6 million downloads, 750,000 user registrations on our website at dotnetnuke.com, and 500,000 production websites deployed.With this level of adoption, DotNetNuke is an important partner to Microsoft as we represent a very large base of developers and users. I will speak more about how Microsoft has worked closely with DotNetNuke throughout the history of the project at my session later today.
As a final note to tie this to the local market, we have created a graphic which depicts the level of usage of DotNetNuke in Latin America today. This is based from the user registration information we collect on dotnetnuke.com. You will notice that there are 44,831 users from Latin America and Brazil has the largest percentage by country.Brazil12622Mexico6634Argentina4685Colombia4121Chile2967Peru2404Uruguay1606Bolivia1324Venezuela1185Ecuador1121Costa Rica1022Guatemala552Panama522El Salvador421Nicaragua170Honduras153Paraguay146Belize123