[development] Freezing the Drupal API

Richard Archer drupal.org at juggernaut.com.au
Tue May 16 01:24:37 UTC 2006

At 5:31 PM -0400 15/5/06, Khalid B wrote:

>The core developers innovate as they see fit, and do not let the API freeze
>limit their creativity, the features to be implemented, or the overall
>flexibility, power and compactness of Drupal's core.

I know. This, along with "code is gold" is the Drupal mantra.
And I would argue that this attitude has to change. It is a
sign that Drupal is immature, without focus and not much more
than a plaything for the core developers.

This "moving target" API model makes Drupal frustrating for
someone building a site which they want to run in the long term.

And as for trying to build a business around Drupal... well,
there's surely a lot of money in helping people upgrade their
installations. But personally I want to be able to offer a
reliable, up-to-date, feature-rich hosting environment, and
all Drupal promises me is a world of hurt.

I would also argue that the lack of a robust API has a detrimental
effect on the quality of the code in Drupal. For a simple example,
trace through the code that displays a menu item and see how much
code is executed to perform this task! I think this is a good
example of where "code is gold" and not having a well-defined
API to work within has led code which is complex, convoluted and

>Perhaps it is best to spend energy on migration paths (e.g. Flexinode
>to CCK, forms updater, ...etc.) rather than freeze the API early.

I'm not talking about freezing the API early. I mentioned that
my goal would be to have a stable API for Drupal 5.0 with CCK.

And upgrade paths don't help people upgrade their custom modules.
I think this is where the most pain is felt with upgrades.

I realise there will always be major new features which require
changes to the API. But what I want to do is work to create a
robust API that will allow incremental changes to be made behind
the scenes without impacting so heavily on both contrib and
custom modules.


More information about the development mailing list