In our February article entitled Under the Covers: Alfresco's SharePoint Services (WSS) Killer we looked at Alfresco's (news, site) take on providing basic document and collaboration services for free. Alfresco's project is called Alfresco Share

When we posited that Alfresco Share was after SharePoint Services' marketshare, it sparked a bit of chatter -- some positive, some not so much.

Voices in the SharePoint camp said that the two solutions should not be compared, that SharePoint  was a platform -- much more than a simple collaborative document management solution, whereas Alfresco was only providing some services.

While we believe the comparison was fair, we also agree that there's more to SharePoint than immediately meets the eye. By the same token, there's more to Alfresco than just Share, much of which we alluded to in the article.

Is it worth it to look at a side-by-side view of SharePoint and Alfresco from a platform perspective? Is it possible that one is significantly better than the other? Maybe, but the answer you get may not be the one you expected.

Eyeballing a Platform

When you review a solution from the platform perspective what kinds of things does one look closely at?

  1. The technology stack used
  2. The APIs, web services and protocols supported
  3. Office/productivity suite integration
  4. Application development tools
  5. Existing third party integrations
  6. The health of the ecosystem

This is not a review of pricing or support. Nor will we comment on whether it's easier to develop on one or the other. On those topics, you will have to find your own way.

The Ten Thousand Foot View

Both Alfresco and SharePoint are considered platforms, not simply products. This means their functional scope is intended to be expanded by the owner -- either via custom development or via third party integration. No one considers either of these products black box tools which cannot be modified.

SharePoint Overview

SharePoint is comprised of two primary components. First you have Windows SharePoint Services (WSS). WSS is the foundation of SharePoint and as you can see in the diagram below includes all the core capabilities. WSS 3.0 is free. You can download, install it and be on your merry way.

If you want a little more "out of the box" functionality (and you have a budget), then you move forward and buy Microsoft Office SharePoint Server 2007 (MOSS).

MOSS builds on WSS, giving you six pillars of core functionality. For more information on MOSS' core functionality, see our article SharePoint 2007 Review - Six Pillars of MOSS.

WSS is the key to understand the platform take on SharePoint. It, of course, is built upon Microsoft servers and technologies such as the .NET framework, SQL Server and Windows Workflow Foundation.


The SharePoint Platform

Alfresco Overview

Alfresco is a dual license, open source enterprise content management system. At its core is the Alfresco JSR-170 content repository. You build on that repository using a number of development approaches including REST, SOAP Web Services, CMIS, Java and the MS Office SharePoint protocol.

On top of the Repository is where all the Alfresco content managementsolutions sit, including Share, Document Management and Web Content Management.


The Alfresco Enterprise CMS Platform

There are 2 flavors of Alfresco, with 3 corresponding source code licenses: Alfresco Labs -- the free community version licensed under GPL or if embedded in a commercial product licensed under an OEM Commercial License, and Alfresco Enterprise -- the enterprise version that you get via subscription, also with a commercial license.

The Technology Stacks

SharePoint is a Microsoft solution. It therefore sits on a complete Microsoft stack including Windows Server, SQL Server, Internet Information Server, etc. There are no options here.

Alfresco on the other hand is said to run on just about any stack that can support Java. So while they likely encourage an open source stack such as Apache, Linux and MySQL, the platform can also be installed on Microsoft Windows Server and use MS SQL.

APIs, Web Services, Protocols

SharePoint sits on a Microsoft stack, so one develops SharePoint solutions using Microsoft technologies -- ASP.NET, WCF, SOAP-based Web Services, XML and so on. For Rich Internet Applications (RIA) you have Silverlight and ASP.NET AJAX.

To develop solutions for Alfresco, you have scripting languages like JavaScript, PHP and Freemarker, and Java. The repository is accessed via REST API, Web Services, SharePoint Office Protocol and a number of other standards. Both platforms support RSS and WebDAV.

Of course the Content Interoperability Specification (CMIS) is also important to mention. Alfresco's latest versions support the currently proposed implementation, and have demonstrated that in a number of ways. SharePoint does not yet implement the standard itself -- we expect to see that in SharePoint 2010 -- but Microsoft is supportive of CMIS and have demonstrated how MOSS currently can integrate with another CMIS-compliant repository.

Office Integration

One would have thought that this is an area that SharePoint would win hands down, but it that's not the case. Microsoft opened the doors to interoperability when they released MS Office and SharePoint's technical specifications to the broader public.

This move has enabled Alfresco to implement their own SharePoint Office protocol. So one can talk to Alfresco Share through MS Office just as easily as you can communicate with SharePoint.

Application Development Tools

Aside from the fact that you can write code for either application using your basic text editor (only for hard core geeks), each vendor offers a couple of ways to develop solutions and/or customize their platforms.

Microsoft has both SharePoint Designer (now free) and Visual Studio 2008. Alfresco has Eclipse (although they say it's not needed that often) and their new Web Studio.

Web Studio is a designer for Surf -- Alfresco's web application and site assembly framework. It is Surf that Share is built upon.

You can compare Web Studio to SharePoint Designer and Visual Studio to Eclipse. Arguably there are solid development tools on both sides of the fence here.

Full API Access

Both Alfresco and SharePoint are platforms. Therefore, they provide full access to the core APIs so that you can both customize the platform and build solutions that integrate with it.

Learning Opportunities

With SharePoint there are over 3000 APIs to potentially work with. We don't how many API's make up Alfresco, but we bet there's at least as many as SharePoint has, give or take a few.

Third Party Integration

It's probably a safe bet to say that you know about many of the third party integrations with SharePoint. There's hardly a day that goes by when we're not talking about a new integrated solution offering for SharePoint. You can also pick up any number of web parts or other add-on components to extend SharePoint's capabilities.

Whether it's for collaboration in the form of blogs, wikis, activity streams, enterprise content management, communities, content connectors, there's something out there that you may need to take advantage of.

For its part, Alfresco has a healthy ecosystem out there building third-party add-ons for the platform. But they also have relationships with other vendors who offer integrated solutions that may be preferred over what they offer within the platform themselves.

The Health of the Ecosystem

The SharePoint Ecosystem

There's a reason SharePoint is so attractive. WSS 3.0 is so easy to install, configure and start working with. That's why it has taken off so quickly and gone so deeply into the enterprise. The fact that it sits on a Microsoft stack is probably more of a plus than a minus – whether you like it or not.

But Microsoft has also been very smart in how they have positioned SharePoint and how they have encouraged the broad creation of integrated solutions to extend the SharePoint platform.

Which leads us to the SharePoint Ecosystem. The SharePoint Ecosystem is a combination of services, add-ons and integrated solutions offered by the greater SharePoint community.


SharePoint Ecosystem from CMS Watch SharePoint 2009 Report

SharePoint thrives on its ecosystem. Its community of vendors and individuals extol the virtues of this platform. The ecosystem takes the platform and extends it in ways Microsoft probably only dreamed of.

If that ecosystem was to disappear, there would be greater opportunity for a competitor to come in and take market share.

The Alfresco Ecosystem

You can easily differentiate the SharePoint Ecosystem with that of Alfresco's. As an open source platform, Alfresco has -- as we've said -- both a commercial and community version. The Alfresco community is dedicated to developing add-on components for the Alfresco platform

Alfresco does have a large community, but they don’t seem to depend on it for their success. One data point here is recent commentary from Alfresco's Matt Asay:

"In open source, we tend to think of community as a group of people that actively contribute code to a project.But this myth was debunked years ago. Most people don't contribute any software, any bug fixes, any blog mentions, or any anything to open-source projects, including those from which they derive considerable value. They just don't."

If the Alfresco community went away, would Alfresco? It doesn't sound like it. But does community and ecosystem are not exactly the same thing. Community in the above sense is more the community of contributors to the software product.

When comparing the two ecosystems, it's fair to say that Microsoft had a big head start and continues to hold a significant lead over Alfresco. A simple search of Microsoft's partner directory shows 387 Enterprise CMS & Forms partners. Alfresco's website lists less than 30 Solution Partners (those who develop complementary solutions or embed Alfresco technology).

Can You Pick the Best Solution?

There isn't really anything in the platform comparison above that makes you think Alfresco is better than SharePoint. There's also nothing to make you think that SharePoint is better than Alfresco. And we certainly aren't believers in the open source vs proprietary bandwagon -- there's room for both.

But the reality is, SharePoint is in there with a thriving ecosystem that Alfresco doesn't appear to duplicate. Yes, open source is making more in roads into the enterprise, but they are still going to meet SharePoint at the door. It's not impossible to push it aside and take its place, but it's an uphill battle that won't be easily won.

An Exciting Year Ahead

SharePoint 2010 is coming later this year. Microsoft have launched a SaaS version of SharePoint. Meanwhile Alfresco has been faster to deliver technologies like Web Scripts and CMIS. They seem to have a lot of interesting pots on the stove, and are putting more energy behind Alfresco Share marketing.

As these Enterprise CMS and Enterprise 2.0 tools evolve we'll be following. The Microsoft challengers have picked a tough fight and have not yet breeched the wall, but they're certainly banging on the gate.