Drupal considered dangerous for startups?

Mike mentioned on a mailing list that he “can think of at least 5 startups that were seriously hurt by using Drupal”.

I have to agree, I can think of at least three cases.

But you could say that that’s more a case of startups being hurt by technical incompetence because they thought they could use an open source CMS as the basis for their company. Not to say there aren’t any successful companies using Drupal, but if you’re building anything else than a content company (which you could probably run on any cms), you’d be foolish to start by using Drupal. That’s just what I think.

Why? Drupal keeps evolving to solve a lot of different problems, it tries to be a swiss army knife. You’ll probably use 20% of Drupal, which means you have 80% cruft (which 20% can be different for everyone), and you’ll probably only have 20% of your needs addressed by Drupal, which means you’ll have to hack around the 80% cruft to get your 80% needs addressed. It’ll just keep frustrating you.

I call this Peter’s “generic-cms-warning 80-80 rule”.

35 thoughts on “Drupal considered dangerous for startups?

  1. Great post. I think you hit the problem right on the head:

    “But you could say that that’s more a case of startups being hurt by technical incompetence because they thought they could use an open source CMS as the basis for their company.”

    But I think it’s wrong though to say that Drupal’s swiss army knife is “cruft” to be “hacked around”. I heartily agree that you’ll probably only use 20% of Drupal; there is so many add-on modules it makes my head spin. But I’ve never found that other 80% bogs me down. If you have a good developer (ie “technical competence”) they’ll know what you can use, what you’ll need to modify, what you’ll need build from scratch, and what you should stay away from with a 10 foot pole.

    And that idea of modifying and development is key. I use Drupal as a framework. When you strip away the modules you don’t need (and by strip I mean “click deactivate” on the admin screen) you have a rock-solid foundation with lots of bells and whistles (user and content control, great pseudo-object-orientedness, awesome override and theming capabilities) on which to build. The only other thing I can think of that even comes close is Ruby on Rails.

    I will be honest and say that about 20% of my development time with Drupal is making the website not look like Drupal! But if I had to build all those bells and whistles up from scratch, I wouldn’t know where to begin and would end up with something buggy and insecure. And it would take me 100 times as long as it does to just do some simple re-theming in Drupal.

    Yeah, it’s dumb to think you’re going to have a successful start-up if all you do is go down the Drupal Project page like it’s a shopping cart and you’re at the Apple Store.

    Drupal is like your neighborhood hardware store: they’re really helpful and if you don’t like the cabinetry they have in stock, they’ll give you all the tools and materials you need to make it just the way you want.

  2. It all depends on your business model.
    If you sell 80% customized solutions, you may not want a CMS, but maybe a more fundamental framework – so you’re not “stuck” with specific solutions to communications needs – that are contrary to the solutions you came up with earlier in your proces with the client.
    If you sell standard solutions – and tell the client that some things are “the way it is” – and that’s how the price tag can be kept low – it is a different story. Then Drupal will probably be a good solution.
    After that we’ve got to talk about service and maintenance – and that is yet another “risk” to be dealt with. And Drupal is not yet there. Maintaining Drupal sites are not a walkover.

  3. “You’ll probably use 20% of Drupal, which means you have 80% cruft” — I wonder what you mean. Drupal is highly modularized so you can use what you want and keep a very low amount of ‘baggage’. It would benefit us if you would elaborate more.

  4. Right on the head. Though ‘considered dagerous‘ is a bad choice, the point you make is true.

    Drupal is very good for certain problems, certain models. Drupal is not some wonder-elixir that some think it is. Same goes for wordpress, ruby on rails or any other web-thingy. There is no “perfect solution for each and every case”. Though, Drupal is well suited to solve many cases (probably more then most other CMSes), Ruby on Rails is well suited for other projects, e.g. where noth having that 80% cruft is a requirement. WordPress is very good (much better suited then Drupal) when you only need a blog system. Etceteras.

  5. your line about “generic-cms-warning 80-80 rule” is a good one. seems like the title of your article is entirely misleading to the real point that you make.

  6. Without more specifics, it’s impossible to judge what the real problems were. Were they using Drupal to drive a web site that was an end in itself? If so, was it a content site? A commerce site? Something else? Were they selling canned web sites built on Drupal? Selling canned intranet applications built on Drupal? Providing Drupal hosting services?

    Was the immediate Drupal-based cause of probems due to security? Missed schedules? Reliability? Design limitations? Administration difficulties? Usability? Undocumented (or even unknown) incompatibilities between modules? Problems in a single specific module?

    Once a clearer picture is available, it may be possible to step back and look for root causes. Technical incompetence or inexperience is certainly one possibility. But it could also be poor research, no QA process, etc. If someone crashed because they refused to hire an experienced software QA lead or pay for a security audit, that’s management incompetence, not technical incompetence.

  7. I think the root of problems some people encounter with building their website upon an open source platform is that they don’t understand the core software well enough and try to hack it to change it, and quickly get in over their head, or create a site that cannot be upgraded easily. Show me a Drupal website that is not working, and I would bet that it’s not Drupal core causing the problem.

    I would also be very surprised to see a Drupal-powered site using only 20% of the core code and functionality. Drupal core is very lean and scalable. It’s in the >300 contributed modules written by all sorts of people where the uncertainties can arise, just like in any open source project.

    Also, some folks can get into trouble by not planning for service and maintenance. The big upside of free open source software is that there are no licensing fees. It’s free, as in free beer. But what this also means is that there is no company raking in licensing fees to finance the constant patching and upgrading any significant CMS is going to require. Anyone using an open source platform for their website should figure in some time and budget for maintenance. When you own the code (as you do with GPL), you own it, and it’s up to you to maintain it (or have someone do it for you).

    I don’t think Drupal is “dangerous,” but not understanding the open source paradigm can be. My advice to any business considering building their website on Drupal (or any open source CMS) is to stick with the community (don’t fork, contribute what you come up with on your own), plan for maintenance, and if you need custom work, hire experts.

  8. As other commenters have pointed out, many of the problems people have with using Drupal arise from a lack of understanding about what Drupal can and cannot do — It’s not the perfect tool for every situation, and it’s certainly not the tool for an inexperienced developer in a rush.

    Your closing paragraph is a logical fallacy arising from some general, and largely insupportable, assumptions: “You’ll probably use 20% of Drupal, which means you have 80% cruft (which 20% can be different for everyone), and you’ll probably only have 20% of your needs addressed by Drupal, which means you’ll have to hack around the 80% cruft to get your 80% needs addressed.”

    One company’s cruft is another’s must-have feature. The usefulness — and appropriateness — of a tool is determined by the needs it must meet, not the tool itself. And even the best of tools can be misused, or underused.

  9. Nice discussion. I was actually part of a startup at one time that wanted to use Drupal, and it failed. In the end, it wasn’t Drupal that failed, to be fair. It was the expectations at the outset that were unrealistic. The application that was being built had a list of requirements that rivaled sites like Linkedin and Facebook. It’s just not fair to expect that you can plug in a bunch of Drupal modules and *magic* – the site of your dreams is built. Anyway, I set you up on Digg:
    http://digg.com/software/Is_using_generic_software_dangerous_for_startups

  10. Having used Drupal for several new sites over the last year, I can happily say it has helped no end, removing the need to create our own user/authentication system, providing basic forms of content, and easily added onto with modules, both node and user based.

    I agree that it’s not perfect at times, the Forms API changes from 4.6 to 4.7 means that one or two sites haven’t seen the update, mainly due to the hours involved to fix up all the forms, and I hear V5.0 has a few more changes along those lines that may delay other sites getting upgraded.

    On the other hand, if it works, why fix it.

    It did take us a little while to learn all of Drupal’s code ins and outs, but once figured out, as others have commented, it’s highly customizable and configurable, most ‘cruft’ can be turned off, the rest utilized to your advantage. Apart from the upgrade annoyances I think it’s the best CMS I’ve used.

  11. Personally I hate this sort of thing. It takes a serious topic, trivializes it and tries to make it controversial. While I’m of the “it’s not perfect by any means” camp I think titling a blog post “…considered-dangerous…” is misleading (it sounds like a “finding” from some authority other than an opinion). There are some considerations one needs to make when using Drupal:

    – Do you really know what you are doing? If you are about to invest 100s of thousands of dollars and 1000s of hours of people time in a project it is a good idea to be very familiar with your tools.
    – Are your expectations appropriate? – My opinion is that Drupal was “oversold” in the 4.4, 4.5, 4.6 period.
    – Are you trying to create a highly customized user experience? – because if you are you are in for a lot of customization of Drupal.
    – Are you a Drupal team or do you have a commitment to become one? There is nothing worse than an engineer forced to use a technology she/he doesn’t like. If you are new to Drupal and opinionated you will have at best a 50/50 chance of appreciating Drupal.

    Most startups fail. period. They often fail because of unrealized technology goals. Some of those projects used Drupal.

    Taking generalized pot shots at Drupal is easy.

  12. As other’s have said, the “use 20%, have 80% cruft” line doesn’t make sense.

    There may be 80% of Drupal that you don’t use, but Drupal’s modularity means that code is “turned off”. That is, it is never loaded, parsed, or run.

    Drupal’s not perfect. But here the 80% rule applies, too. If it does 80% of what you want it to do out of the box, you’re a lot closer to the final product than if you were to start from scratch. As in any endeavor, starting without doing proper research first is a ticket to failure.

  13. I am just catching wind of this whole debate.

    Anyone who says Drupal was oversold and lead to their startup failing is looking for a scapegoat, plain and simple. The argument that hype lead to catastrophic business failure is ludicrous exactly because that is the worst way anyone could ever make a decision regarding technology. There is no substitute for knowing your business needs and collecting facts to use as the basis of a choice. Someone making life or death decisions regarding a technology platform in any enterprise should perform an adequate amount of due diligence around the technical issues involved relative to their business needs and not rely on the subjective opinions of anyone for their IT strategy (in other words, write what you need it to do, read the facts or get someone to read them for you, then see what the pros and cons are).

    http://www.opensourcecms.com/ and http://www.cmsmatrix.org/ both do side by side comparisons of Drupal and numerous other commercial and open source content management solutions. They have been around for years. Forrester Reports constantly makes assessments of commercial and open source cms tools and there is plenty of published data on the effectiveness of various platforms in small, medium and large operations. Usenet still exists and there are about 50 groups dedicated to content management tools with experts answering questions daily. There are numerous online Linux publications that evaluate technology and their writers and editors often respond to questions about suitability of purpose. Major technology publications have been touching on the subject of CMS for years.

    Given the fact there are numerous sources of objective data regarding the suitability of any content management system for use in the operations of a startup, one has to wonder a) what are the specific expectations of these people in using Drupal that lead to catastrophic business failure and b) who are these people who make choices on technology in a business context the same way they choose music (and how do we get rid of them)?

    The argument that Drupal moves and shakes too much to be used in the operations of a business fails to persuade me. Just because a site is built on Drupal does not mean that site needs to be upgraded to the latest and greatest all the time. A perfectly valid strategy for having a stable platform is to not upgrade – find a stable version you like, patch often, and communicate with the core maintainers of the project if you feel you need help. Find a Drupal consultant if you are really lost, there are some excellent ones out there.

    M

  14. I think your arguement of “you’ll end up with 80% of cruft because you only use 20%” is a complete strawman argument see http://en.wikipedia.org/wiki/Straw_man .

    If you know anything about the architecture of drupal, or a good perspective into its API calling method you will note that just because theres some code there that isnt used, it does not mean it is “cruft”, why dont you remove the rear doors from your car since you dont use them much? hell rip out the carpet too.

    Start-Ups are often funded by well meaning but poorly expirienced vaguely-technical people without any expirience at actually using the tools they decide to develop with, Ive been employed but a few such startups and it’s an all too common pattern.

  15. I would like to flip the premise of this article:

    What isn’t dangerous for startups?

    I can think of these: A solid business model for an application with sufficient time, money, experience, and intelligence to develop it. What’s left out is vast in scope.

  16. I would agree but think it is still better than many alternatives.

    I do think the point could be made by saying something like this: The start ups don’t fully understand that it can provide a basic framework but should not see it as more than that. If you start from scratch 80 percent of your time and energy will be spent creating the core system or the systems represented by Drupal Core. Its the other 20% that makes their start up a unique business and this 20% is 100% of what they should be focusing on.

    Another way to look at this would be Drupal VS. Scratch. I contend that excect in rare circumstances starting from scratch is an competitive disadvantage and can’t think of one inherent benefit

    The big assumption here is that they want to use the functions and not creating a software distribution for actual resale. That analysis is slightly different but not completely..

  17. I consider myself a “do it myself” start-up. I have the technical skills required to maintain a site myself. I maintain that those that failed using Drupal, did not fail because of Drupal.

    I use Drupal and I have found Drupal to be easily configurable and with its modularization presented me with many options to consider. It is all based on focus, willingness and know how to persevere through difficult struggles. If I fail it will not be because of Drupal it is because I lost focus or ambition or both.

    I started the http://for-my-kids.com site with WordPress and was less than empressed with the options I had. I went searching for something else, found Drupal, converted the site using already provided tools (thanks to a Drupal module contributor), and have the site in good working order.

  18. Nice post. When startup is successful I really like Drupal’s scalability. I love it when I just build a blog out in drupal and then the startup NGO begings gaining some traction and a couple months later the same core site is handling the organizations event system and housing a private intranet ect… it makes the clients smile knowing they have a development platform that happens to have a great cms.

  19. No site fails because of drupal.

    But drupal cannot scale to millions of records; it’s not built for that. So if the content company is set up to have more than say, 300,000 records, over the life of it’s business, drupal is not the right choice.

    Another problem is usability. Often what works for users, or the changes needed to make something usable for people, requires deep architectural changes. Change something in drupal, or “uncheck” it, and it would appear it can be put back or checked again, and yet, when the change it made, it screws things up so much, you can never get the original state back without reinstalling (not an option). Recode the change needed, and drupal doesn’t like it most often. Very little about drupal is compatible with regular user needs (in other words, engineers think they know what users need, but it’s really what engineers need that is adequately addressed in drupal).

    I don’t think it’s always a disaster, but I think drupal is often a disaster. Making a startup is hard enough without adding the difficulties of drupal.

    I would not recommend it for any serious venture.

  20. Anna, your assessments about scalability are inaccurate. Not “records”, but the number of page views, concurrent users and enabled functionality affect Drupal’s scalability. There are Drupal sites with more than 300,000 “records”. Unless you mean the scalability of Drupal’s UI? What Drupal version are you talking about?

  21. We’re having a “posture” contest here?
    Assessing that Drupal is unfit for any serious venture call for examples. I mean – Drupal ACTUALLY runs MTV UK, The ONION and several other large scale websites. IBM is working with Drupal, and so are other big shots.
    I don’t think that comment is to be taken seriously.

    That said. Drupal is NOT the cure all CMS (Whether C means Community, Collaboration or Content). It does have it’s drawbacks, and it is not easy to learn how to use to 100%.

    Drupal can probably damage your start up, if you don’t know how the system AND the community works.
    You will NEVER get your Usability issues addressed the way you want by the Drupal community. Drupal is 98% developers scratching their itches. They are smart geeks, but the approach to usability is only changing slowly. I know because I’ve been part of it since 2002, and I’m not a programmer but a communications guy and a strategic web consultant.
    There have been several attempt at solving the usability problems in Drupal – and TOP GUN information architects and usability people have given their feedback. Some of this has been implemented, and more will in the future.
    BUT – you cannot sit back and expect the Drupal community to implement all of your wishes within 3-6 months. It takes time time time – and some work behind the scenes. What you need to do, is to change the perception of the influential people in the Drupal community, which is hard work, OR you need to do it yourself/pay someone to do it – and show the improvements.
    It is not a FLAW in Drupal – it is the way such a community works, and should work. If you expect it to work the way a commercial company works, the flaw is in your thinking.

    So my understanding is: “Not understanding how OSS communities work – considered harmful to startups depending on Open Source!”
    And that is not a question mark!

  22. From a techies viewpoint I think what Anna is trying to say is that modules and settings dependencies are not handled well by Drupal. If you disable or make some changes in a module or a setting, at the very least you should be able to see a list of all other modules and settings that depend on it, and they should also be able to indicate how they are affected before you go ahead, something like package dependencies in rpms.
    This is not a simple thing to implement but I think Drupal needs some quality and compliance levels on modules . They can be reviewed and ranked and module listings can indicate what ranks they are up to in various attributes.
    At least having code documentation guidelines or standards can go a long way and so will insisting on assertions in the code and outputting warnings as to what the modules and their settings.

    In any case these issues are not so easy to deal with in a community based system run mostly on an unpaid basis

    In the case of the performance issues tuning databases and modifying queries to support high performance is not an easy thing and is a bit of black art, and in any case it is not specific to Drupal alone.

    There is also the issue of caching and one that has caught my eye is http://drupal.org/project/boost. Coupled with a system that allows logged in users to decide what type of info to cache and not to cache it can will along way if successfully implemented.

  23. Heh… looks like Drupal is reaching the love it or hate it point.

    Personally, I like drupal, even with all the frustrations. It was definitely worth the trouble to learn how to use it. I’ve deployed six sites, with more to come.

    In my opinion, the people who want to set up new corporate sites using Drupal seem to be asking for trouble, because they read somewhere that Drupal will do such-and-such and so-and-so, and for some reason they think this means that it will cost next to nothing to have those features. Perhaps, perhaps not, it all depends…

    Tools is tools, Drupal is a good one. Long Live Drupal!

  24. Michael is right.

    For some (older) opinions on Drupal and corporate use, see my notes after last years OSCon in Vancouver. Here’s a snippet:

    “After spending the week in Vancouver, I made the following report to our management team. If we are to go forward using Drupal, we need a dedicated support-and-development team of 3 people. (And my eyeball prediictions of such things are ususally pretty accurate.) The team lead will have, as one of his/her main responsibilities, the task of being our public face within the Drupal community.”

    A year (!) later, guess what. We have roughly 3 people working on Drupal full-time, plus my, the Drupal guy. Oh, and for scale, we’re over 205,000 nodes and 166,000 users at SavannahNow.com already.

    That said, back on topic, I think Drupal is great for prototyping new ideas. It’s very fast once you know what you’re doing. But, in many cases, I would remove the Drupal scaffold and replace it with a custom application that does only what’s necessary.

  25. Drupal is great-but the growing pains of a startup require attention-and Drupal can really pull at the limited amount of intellectual resources (your staff) you have..Drupal should be viewed as an objective to bridge over too unless you have the resoures to have SMEs on hand to deal with drupal..Resources-a good linux sys admin who knows mysql and has worked with Drupal, a PHP developer whose worked with drupal and a Community contributer or mod developer..
    Even with those in place for a startup-its tough.

  26. Nice post. When startup is successful I really like Drupal’s scalability. I love it when I just build a blog out in drupal and then the startup NGO begings gaining some traction and a couple months later the same core site is handling the organizations event system and housing a private intranet ect… it makes the clients smile knowing they have a development platform that happens to have a great cms.

  27. Well, I think Drupal has come a long way from the time this article was written. I think D6 is a appropriate choice for many startups that have limited resources devoted to what they want to build. It depends what type of company you are. But there are more problems that can appropriate solved with Drupal in less time and on a smaller budget than not. We just launched a basic site in Drupal in a short time and are more than happy with it (a taxi firm directory).

    -Daniel

  28. Drupal is not dangerous. funny you feel that way. just because big company use it ? like all cms programs. it has it’s share of problems.

  29. It would appear that from the lack of information about the problems or what form of site it was it is a matter of misuse and not wanting to give specifics to cover the inability to properly use Drupal.

  30. The amount that you pay for Drupal services depends on the size of the project, the skill of the developer and the size of the firm you are dealing with. Established development shops are likely to charge more than individual contract developers. Before you begin making inquires I recommend that you developed a basic specification for the work you would like to be completed. Also consider your budget prior to soliciting Drupal services

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s