Mike W. Walker
Mike W. Walker
Foreword
Dear Reader,
By picking up this book you have joined a growing band of people, who will benefit from the power of the open-source movement to create great software, a system that is free to all. Alfresco is unique and different. It is the first new Enterprise Content Management system built, in over five years, based on Open Source and Open Standards.
Late in 2004, it struck John Newton (Alfresco's CTO) and me that all the fastest growing software companies were open source. It was particularly clear to us that the operating system, database, and application server market were being consolidated by open source.
There are literally hundreds of open-source content management systems on the market, but none address the requirement of small, medium, and large enterprises to manage, share, control, and reuse content across the company. So we asked ourselves: "Why would anyone care about another open-source CMS?" The answer to this question was deceptively simple. John Newton was the co-founder of Documentum, which makes him probably the single most influential person in the history of ECMS, as he invented many of the concepts we take for granted today. He said to me in November 2004, "What if we had a real open-source ECMS that was ten times faster, and free?" ECMS was a well defined software category (around $4billion), with no credible open-source enterprise-scale projects, and dominated by expensive, complex, and hard-to-deploy products. Despite the exponential growth in the volume of content, the ECMS market was growing at only 15% per year, and over 50% of that revenue was in maintenance. There were few new customers for the closed-source ECMS vendors.
Within John Newton's simple question, we also had the specification:
- Enterprise features (scalability, security, and failsafe plus the power to manage any form of unstructured data, not just web content)
- Super fast
- Simple (to install, to use, and to customize)
- With low costs
It was now clear that the market was looking for an open-source alternative to monolithic, legacy stack vendors. In order to succeed, we needed to have a product that was not just free, but also demonstrably better.
John Newton and I, along with an exceptionally experienced team of ECM engineers, started Alfresco in January 2005. After six months of hard work, we had created a completely new content management system, based on modern, advanced open-source architecture. The big question was: would anyone care? With a great deal of trepidation we loaded the code to SourceForge, and waited. We thought we could get a couple of hundred downloads rapidly, but on a long term basis we simply hoped for maybe 10,000 in the first year. In fact, we had 10,000 in the first week. At that point we knew our original hunch was right: there were thousands of people out there searching for easier content management solutions.
In June 2005 we announced the preview release, and received $2 million in new development funding. In January 2006 we went GA with version 1.1. We had our first production release, our first six subscribing customers and $8 million to secure the permanent future of Alfresco. On the publication of this book we now have 500,000 downloads, 5,000 community sites running on Alfresco and hundreds of subscribers to the Enterprise Network.
With customers such as NASA, the American Stock Exchange, Davis Polk Wardwell LLP, H&R Block, the UK Ministry of Defence, the EU Commission, McGraw Hill, Boise Cascade, and three top-ten global investment banks spread across the US, France, Australia, Venezuela and the UK Alfresco is now justifiably a major force in the ECMS market.
After it reached 30,000 downloads a month, publisher David Barnes spotted Alfresco, and was surprised to pick up the phone to another Englishman (and one who knows Birmingham well, having been to University there). We quickly agreed that a book on Alfresco would be a great way to provide our community with the team's expertise at a very low cost of delivery. I was impressed that Packt as a publisher had a track record in open-source publishing. Importantly, we agreed that the book should be written by someone independent of the company, who had the book writing experience, which our team lacked! It took another four months to find the right person, but I'm pleased to see that Munwar has more that stepped up to the challenge. The task has been complex given that Munwar has had to juggle his full-time role as CTO at CIGNEX, a dynamic US-based systems integrator, with racing against the speed of evolution within the Alfresco community. I hope that you will agree this is a great result.
So what is better about Alfresco?
Alfresco solves the two key problems in implementing ECMS:
- How do I get users to use the system (and become contributors)?
- How do I customize the system to meet my business needs?
We solved the first problem by enabling Alfresco to run inside the file system. We figured that if the user could use the Windows Explorer/File Manager, he or she could become a content contributor. This was done by providing the ability to mount Alfresco as a shared drive. The result is that the system can implement any content behavior (versioning, transformation, workflow) by the user just dropping the file into the shared drive folder, from any PC (or Mac) on the planet with no training, and no client software installed. Sounds magic? Well, actually it is the CIFS protocol as a Java Server.
We solved the second problem with the help of Rod Johnson, and the Spring Project. Rod's team has created Spring: the most popular open-source framework, implementing Aspect-Oriented Programming (AOP). AOP comes from Xerox Park; the birthplace of object-oriented programming, and solves a key problem for any widely deployed 'horizontal' application. It allows systems to get flexibility and extensibility without imposing on all users the burden of all functionality (whether it is used or not). This enables the Alfresco Community and customers to innovate and add capabilities with ease while retaining a fast and easy upgrade path.