Dries is the creator of Drupal and the co-founder and CTO of Acquia. Drupal is a web framework. It's free software used to build powerful websites. Examples of websites powered by Drupal include whitehouse.gov, Amnesty International and over 1.5 per cent of the web! In an exclusive interview with devworx, Dries shared what Drupal is all about, the enthusiastic community and some finer details about Acquia's offerings.
Q. Hello Dries! I recently read on your blog where you mentioned, "people keep asking me where they could find good Drupal programmers, and you say 'don't ask me. I don't know'." We hear a lot about Drupal. Is Drupal this superior platform where it's rare to find good resources? Or do you think it's simple enough to learn?
A. Well, that's a good question actually. Drupal is often used for building pretty complex websites, so there's some complexity to the software. It is in a way, the necessary evil. In order to build these complex enterprise-level projects, you do need complexity. That automatically means there is a learning curve to get over. At the same time, what's also happening is that with such widespread adoption of Drupal, the demand for adoption of Drupal is much higher than the supply of good resources. So what we need to do is get more people involved with the Drupal project. Also we need more people in training programmes so that we can help meet the demand. So part of it is complexity, because it is a complex system but part of it is also the need for more trained personnel.
Q. Many claim to have experimented with Drupal, but eventually finding a sweet spot with platforms such as WordPress. What do you have to say to such users and how do you plan to encourage the adaptibility of Drupal?
A. Drupal is often criticised for being a little harder to use than other platforms available. At the same time, as I said Drupal is also used in such places where other projects are not used. The enterprise again is the best example. At the same time, we understand that this is a problem and we can do better. And so, if you look at Drupal 7, for example, which is a very major version of Drupal, the number one focus of our efforts was to improve end user experience and accesibility and usability of the system. We invested a lot of our efforts, the design, made the architecture better, and all of these things to make Drupal 7 easier to use. The same will be the case in Drupal 8. Usability will continue to be the focus. And usability not just for site users, but also for developers.
Q. What is the best way in your opinion, to start learning Drupal? Do you have any plans to introduce any Acquia certification system in the future?
A. There are many ways you can learn Drupal. You can opt for paid training, or you could learn through other means. You can learn by participating in the Drupal community. You can interact with other members of the Drupal community and learn from them. Additionally, there are many books written on Drupal. Probably over 40. Also there is a lot of online documentation. There are videos online. So there are these different ways of learning Drupal. I believe, if people want to learn Drupal, they should be able to learn Drupal. One of the best things about open source (Drupal) is that you have access to the world's best experts. There is no limitation compared to proprietary software solution. You cannot become the world's expert on Sharepoint, unless you work on Sharepoint team, unless you are a Microsoft employee. With Drupal you can actually become the number one!
Regarding the second part of your question regarding certifications, well, currently there is no Drupal certification. Since visiting India, I've learned that many people ask for certifications. So that fact combined with the fact that Drupal is looking to grow, probably at some point in the future we will look at Drupal certifications.
Q. So you're open to the idea of having Drupal certification programmes?
A. Oh yes. I've always been open to the idea. I think it's a good idea. But I think it's a good idea only if it's done well. There are several examples. I also think of Cisco certification. It actually means something to be Cisco certified! It's really hard to get certified. So I'm really open to certification. On another angle to it, you know in a way going to college is also certification. At the end you get a certificate. So as an academic, I would say I believe in certification, but it needs to be done well.
Q. Could you guide our readers to some good place where they could find valuable resources? As you mentioned earlier there is a vast storehouse of resources.
A. At Acquia, my company, we have a bit of webinars that you could attend. We also have documentation. As a customer, you get access to all sorts of training resources, including Drupal Lullabot which includes hours and hour of videos. Also there's Drupal.org with a lot of resources there.
Q. How can someone contribute to the community?
A. Well there are hundreds of ways. I always encourage people to follow their passion because ultimately I think that's where I think people grow. If you can straightaway join and contribute to code, well there are issues that you can help us fix. There are modules that you can help us write, if you like writing documentation, then there's a lot of documentation that needs editing. You can also help by writing support. You can also help in other ways, by helping organise events. So different people can help in different ways. If you don't know where to start, you can join us on IRC and just ask people around and they'll direct you in the right direction. The channel is #drupal and is on freenode.
Q. One major concern is that while upgrading to major versions, some of the old plugins seem to break down. For example a module created for 6.X doesn't seem to work with 7.X. At times, they're not supported by newer versions for quite a while. Do you see that as a problem? Do you plan to add a compatibility layer that could help ease this?
A. That's a good question. Well, backwards compatibility is almost a philosophy. Some projects choose to maintain backwards compatibility, others do not. So far, Drupal as a project has chosen to break that. There are advantages and disadvantages to each of them. The obvious disadvantage is that modules need to be upgraded as soon as there is a new version implemented. The advantage, however, is that we don't need to carry a lot of the old stuff. We can reinvent ourselves. We can continue to change Drupal so that it's the best possible platform. Other platforms that choose to support backward compatibility have a hard time innovating because they have to support old code. Obviously there are advantages and disadvantages to each of them. We have chosen to break backwards compatibility. May be one day that will change, who knows. But I feel that's a good thing, especially in a scripted language like PHP where all of the code needs to be loaded.
Q. Is it possible to auto-update Drupal's core modules?
A. It is, in a way. That's something we've been working on. So in Drupal 7, there's an update module which would let you know when things need to be updated, and also lets you install updates to individual modules. It's not actually possible to update core itself, unless you're using things like Gardens. May be, at some point in the future, you should be able to do a straightforward upgrade. It sounds a little tricky though. For a complex project, it's not a good idea. But for other projects that are simpler, even Drupal Gardens, you don't need to upgrade anything. The companies behind it will automatically upgrade it for you.
Q. When it comes to specific usage scenarios such as a blog or an ecommerce website, have you considered using a profile feature, so that users can use it rightaway and customisation becomes easier?
A. In a way you can enable and disable modules. That's you handle one configuration to another. There's also an effort growing called features that allow you to make bigger types of configuration changes. This could be in the form of four or five modules and would involve changing those modules.
Q. What do you think are the core shortcomings in Drupal 7 that are addressed in Drupal 8?
A. Interesting! There are many (smiles). We are always very critical about ourselves. One of the most significant criticism is that in Drupal 7 there is increased complexity. And we were not able to make sure, when we released Drupal 7 that all of our APIs are really complete. So in Drupal 8 we spent a good chunk of time cleaning up our APIs. We could do that because we break backwards compatibility. Also we're looking at mobile as the biggest focus in Drupal 8. There are a lot of things. There is always a lot that needs to be improved.
Q. A lot's been spoken about HTML5. You have expressed interest in it yourself. What do you think would be the impact of the varied form factors of devices out there in the market? What about offline access to data.
A. That's interesting. We don't know yet. We have decided that with Drupal 8 the key focus of Drupal will be on HTML5. That'sa low hanging fruit. There are some initial changes, which we are focussing on. We are making those changes right now. Depending on two things: first, building our own resources and how much we can get onboard; and second, depending on browser reach and browser compatibility. Depending on these factors, we may go all the way to offline access, and geolocation. But we're working in steps right now, launching one feature at a time and building upon it. Ultimately, we want to take advantage of all of these great new features.
Q. So are you working with various browser vendors as well?
A. Yes, we've had phone calls with them. Recently, we spoke to Microsoft and spoke of a few things that we need to work around in IE. And in the recent version of IE, they were fixed. That shows how we as a project have reached a size where we could influence or work with some of these large browser vendors.
Q. How is the path decided for future versions of Drupal. Are these decided by a core group, does the community have a say in it, or is it you?
A. For Drupal 8, it was a combination of different things. One, my own opinion. My opinion, in turn is based on the opinions of several people I meet and talk to on a regular basis when I travel to all sorts of places all around the world. I talk to end users of Drupal, both small and large. I also talk to developers, people that build websites using Drupal. I talk to all different types of audiences amd try to learn from them on what is important, and how we could improve Drupal. They all have really great ideas. This time with Drupal 8, we also conducted a survey. There were several kinds of people who took part in the survey. So I summed up the requirements and finalised that as the scope of priorities for Drupal 8.
Q. Is there a possibility for community modules that are popular enough to become a part of core?
A. Yes, so the way we work is that when community modules become popular enough, that everyone uses them, then I consider them to be part of infrastructure. That always is the good time to move them to core. In Drupal 7, we moved a whole bunch of modules, around 60 modules into core. Some of them are really small and can wait. Some of them are large, like CCK. Additionally, with Drupal 8, there have been initiatives such as the HTML5 initiative. And so, with Drupal 8 would hopefully eliminate the need for HTML5 modules. Also there is a services module in Drupal 7. In Drupal 8 we'll move the services part to Drupal core.
Q. Do you also see the View module being integrated to core?
A. View is an interesting animal. It is the number one module on Drupal. So from that point of view, it's very important. But at the same time, it's still evolving. Plus, there's a lot of complexity in Views. Absorbing all of that chunk of complexity, I want to make sure that Views is ready before any significant change.
Q. Do you plan on supporting non-relational databases?
A. We already do. People have build large Drupal sites, and often as they build large Drupal sites have used MongoDB, Cassandra and others that are possible.
Q. As far as Acquia services are concerned, they're quite expensive. Considering that a lot of activity on the online space is expected from this market, do you have any special pricing planned for emerging markets?
A. Our services are expensive, but I would like to add that we offer a premium white-glove service. That means, we provide "the best" service. As far as providing a special pricing for India is something we need to sit down and think over. In most cases that is a yes. This trip of mine to India has been an eye opener, and I have been thinking over it during my stay in India that the pricing is high for consumers this side, so over a period of time, we should be able to arrive at a decision.
Q. So do you see more involvement in the Indian market?
A. Oh yes definitely. I think there's a lot of opportunity in India for many reasons. There are a lot of talented engineers out there who we would like to be a part of the community to help grow Drupal. And we'd like to grow anything that would help grow Drupal. In addition to these individuals, there are also larger system integrator like Wipro and Accenture, for example, and they're all struggling to find good Drupal talent. So we see that as a focus area in the times to come as well. So there are all sorts of things that we would like to do.