"Drupal distros sound great, but...."
Despite the great Drupal distributions available, most Drupal site builders have yet to start using them regularly for building client sites.
There seems to be a bunch of perceptions out there about the limitations and difficulties of using distros, some of which may have been true at one time but are increasingly less so. So, following up on my "There's a distribution for that" post yesterday, here's a top ten list of reasons given for not using a Drupal distribution, with some reasons you might want to think again.
Site builders might be concerned that using a distro means being locked into a monolithic site design with many non-optional features. Fortunately, that's less and less the case.Many distros are now built on Apps, with each app being an optional and stand-alone piece of functionality. You can pick what you want and happily leave the rest. Even distros not based on Apps usually have small cores enhanced by many distinct, optional features. It's even possible to mix Apps from one distro with those of another. Increasingly, distros are flexible enough that you can take just what you need and leave the rest.
There seems to be a perception that distros are proprietary "products", as opposed to modules, which are community contributions. It's true that some distros are strongly identified with particular companies. But so are many modules--and that doesn't keep us from using them. In fact, having one or more companies actively engaged in backing a module, theme, or distro probably increases the chances it's going to get the long term attention it needs.
In my experience, distro maintainers are just as happy as any other Drupal dev to get community feedback, fixes, and improvements. Adopting and contributing to a distro isn't "helping the competition". It's using and improving our shared solutions.And, just like with modules or themes, some distro maintainers will be more than happy to add you as a maintainer once you start making steady contributions. So "their distro" becomes "our distro".
Custom site development is the bread and butter of many Drupal developers and shops, and distros may seem to threaten that. After all, if you don't get paid for building out basic site functionality, where will the revenue come from?But here's another way of asking the same question: Now that you don't have to charge out for all the preliminaries, what more interesting features may you be able to fit in? In what ways will you be able to give your clients better value for the same investment? How many items can you convert from "future wishlist" to "phase 1 deliverable"?
For sure, there's going to be small or even large details about any distro that don't fit with the way you'd want things done. We each have our own way of doing things and distros aren't perfect any more than modules are.
The good news is, just like any other Drupal project, you can help improve them. Got a better idea about how to present content, design a page, or structure a content type? Go ahead and post an issue. Better yet, work up a patch. Speaking for myself, I'm thrilled whenever someone comes along with a better way to do things.
And you can customize. It's true there's probably not a lot of sense in using a distribution if you're going to override and customize everything. But you can get value out of a distro and still do some things your own way.
At the easiest level, since distro features tend to live in code, you can simply override selected elements like views or content type displays. If you want to play by the book, you can put your customizations into a site-specific override module, using the standard alter hooks that are available to customize code-based configuration, like
hook_views_default_views_alter(). Or you can try out the Features override module, which can automate the process of capturing your customizations in code.
Yes, there's a learning curve in developing a site off of a distro. You have to spend the time to wrap your head around how the distro is structured. You might need to read some developer documentation or bone up on some modules in the distro that you haven't used before.
But you might be surprised at some of the benefits. For one, the features built out in a distro often provide some great examples to work from.
Basing a site on a distro has a way of enforcing some good habits, like systematically registering your customizations. The time you save in basic site development can help free up budget and development hours so you can do things right, rather than rushing to deadline.And developing expertise in a distro can be a long term boon, as it means your next project will go a lot quicker and smoother now that you've learned the ropes.
So if you haven't started building distro-based sites, now might be a good time to consider starting. At their best, distros are just another facet of what community open source is all about: pooling efforts and collaboratively building great solutions.