On Sun, Mar 8, 2009 at 1:09 PM, Domenic Santangelo <domenic@workhabit.com> wrote:
On Sun, Mar 8, 2009 at 8:46 AM, Stella Power <stella@stellapower.net> wrote:
>
>>   However, in the end, you get what you pay for!
>
> Well, Drupal is free and you don't pay for it. :)

One of the things that surprised me when I started working with Drupal
is the breadth of functionality that's left out of core. No automatic
path aliasing? No subscribing to a post? Wait, I can't add more fields
to my content types??? For a "Content Management System", Drupal core
is _severely_ lacking in features.

The logical end is that modules now have inflated importance to
Drupal, because you (basically) can't do jack without at least some of
them. This creates an odd disparity: the concept of "modules" refers
to both one-off, unimportant, unfinished modules, AND to
cck/views/pathauto, three modules you basically can't build a site
without.

That is actually one of the strengths of Drupal. Core providing extensibility, and
not trying to be everything for everyone, and farming out functionality to contrib.

Contrib is where innovation happens faster than in core, because the "think it,
code it, commit it, release it, download it, try it, improve it" cycle is faster in
contrib. It is not dependent on a few core committers with limited times and
hundreds of tasks to get it in. People who want to try something can do it faster
and people download and test and improve it faster as well.

The second thing is that there are many arguments of task X be done in a certain
way, and not another. If core did something just one way, then all the others will
be precluded without being tried in the field. By providing an extensible framework
where people extend it in different ways, and "let the market decide" which one is
better, or even if all of them exist at the same time, everyone wins.

Over time, we continually re-evaluate and move stuff in and out of core as appropriate.
We pick what has been proven and get it in core, like we are doing with fields now.
And we send other parts to contrib.

This is the open source way: It does not have to be perfect, just good enough, and then
released to the community to tear apart, use, extend, remix, borrow, copy/paste, ...etc.

Think of Linux: it is just a kernel and people take it and extend it, bundle it, port it
so it runs on everything from cell phones to IBM mainframes to supercompters and
many things in between. If Linus insisted on doing a distro early on, it may not have
been as successful as it is now.
--
Khalid M. Baheyeldin
2bits.com, Inc.
http://2bits.com
Drupal optimization, development, customization and consulting.
Simplicity is prerequisite for reliability. --  Edsger W.Dijkstra
Simplicity is the ultimate sophistication. --   Leonardo da Vinci