Drupal's Greatest Asset
This month at the Toronto user's group meeting, Bob Fabian presented a talk on CIPS's (Canadian Information Processing Society) decision to convert their main site as well as 35+ regional sites to Drupal.
Neither Bob nor CIPS is a client of Be Circle, but the reason they choose Drupal was somewhat surprising. Upon reflection I think it is something I intuitively knew and couldn't help but write about it here.
So what lead to the decision? Why did CIPS choose Drupal? (I'll give you a clue: Its Drupal's greatest asset).
Did CIPS choose Drupal because its free?
Well, not because its free as in beer. In fact a large company (starts with an M ends with a T and has a icrosof in the middle) offered their CMS solution to CIPS for free. So price wasn't the determining factor.
What about free as in liberty?
Yes the freedom of open source is attractive to many organizations, but there are many open source CMS solutions available.
How about the number of modules and features available in Drupal?
Well, yes Drupal does have CMS features and that was a requirement, but its still not exactly what set Drupal appart. But we're getting warmer.
The community? Is that what set Drupal apart? It must be the community mustn't it?
This is the closest answer yet. Drupal's community has been growing steadily. Each new member lends another vote of confidence to the product. Ultimately, without a community to support an open source project it stagnates. But Drupal's community makes Drupal alive and certainly gives the impression that its going to be alive for the foreseeable future.
All well and good, but the main reason for choosing Drupal before all others; its greatest asset:
Architecture, extensibility and its developer-centric nature.
Bob rightly acknowledges that what is good for Drupal developers is good for Drupal (the project) and Drupal (the product).
Its developer-centric nature? How could one of the most common criticisms of Drupal possibly be its greatest asset?
The architecture of Drupal core and several key contributed modules are designed to be extremely extensible. And because of its architecture and extensibility developers are able to quickly and easily develop new modules and features to get their job done. Extensible systems by their very nature are also easier to maintain since the core system requires little or no modification to allow an extension to be created. In other words, a developer does not need to create and then maintain changes to the core system in order to add new functionality. All these things make developers very happy.
Happy developers also tend to be loyal developers. When developers find the right tools to get jobs done faster (cost effectively) and better (high customer/employer satisfaction) they tend to keep those tools in their tool belt.
So what? Drupal has happy loyal developers? How is that an asset?
There are a number of ways. I've already mentioned that Drupal has a vibrant community. What is really interesting however is that the composition of the community. Since Drupal is developer-friendly the Drupal community is increasingly composed of happy loyal developers.
This makes Drupal far more attractive to organizations that are selecting a technology platform. Its not enough to have strong user community support for a product. Its necessary for there to be strong developer support as well to ensure that the product will improve and that there is a pool of skilled talent to call upon to work on an organizations specific implementation of the product.
Which bring us to the work of developers. Happy, loyal developers are also prolific developers. Some have compared Drupal to Lego with its pieces (modules) that can 'click' together. But I think of it more like living organic chemistry. The pieces do work together, but because of Drupal's architecture the pieces literally proliferate: like cells dividing in an organism to produce new tissue. I've touched on the fact that the sheer number of modules and features of Drupal are attractive to organizations considering Drupal, but that number would not have been nearly as high if weren't for an environment that was conducive to their development.
Finally, before any organization can consider a product they have to have heard of it. Luckily, happy loyal developers are also happy loyal and vocal developers. Those happy developers are Drupal's cheerleaders. What is important about developer's as cheerleaders is that they have the ears of their employers and of their clients. They have the ears of decision makers. But, they will also take the ear of anyone that's willing to listen about the benefits of choosing Drupal over another platform.
To be sure many of the factors that have lead to Drupal's success are interconnected. If it weren't open source, it may still have been developer oriented, but not developer-centric or developer friendly. If Drupal was completely unusable, it would never have been adopted by so many users and organizations. Without adoption there wouldn't be such a strong user community. But it is open source. It does have a community. It is developer-centric. It is feature rich. It is supported. It is heavily adopted.
The developer-centric nature of Drupal begets developers. Developers beget improvements, features and sustainability of Drupal. All these things beget adopters. Adopters beget sites that make Drupal visible. Visibility begets more interest which begets ever more users, developers and adopters... and so on and so on.