How Drupal improves and evolves, the basics behind the community
It is that phase of my life! I'm just turning 30 in a month, working with Drupal for 7 years and just had my third Acquia anniversary a week ago. Time to look back and evaluate how things went, all the good and bad things; even better if the wisdom can be shared with others. This was part of my thinking when I submitted the session titled "Come for the software, stay for the community" for Drupalcon Copenhagen. I was interested to distill and share how Drupal came to be as unstoppable as it is, what core values lie behind it, so someone coming fresh can understand and integrate with these.
When Dries Buytaert started Drupal he made a few key decisions which launched the project and kept being governing principles ever since. First of all he decided to make it free and open source, and release it under the GPL. The choice of one single license helps you use all the Drupal components together without the requirement to consult lawyers. Also, the choice of GPL in particular ensures that derivative works are distributed in the open as well.
Using PHP as the base technology was probably the best decision to help proliferation. PHP is not only the most installed backend software (thanks to all kinds of server side software), but its also easy to learn and jump into. While this can and did end up with some projects that gave PHP a bad name, it also opened the door wide to contributors. Having numerous contributors encouraged the tinkering, technology experimentation spirit that defined Drupal from the gate. What's more, Drupal was an integration platform from the beginning. Even Drupal 3 (in 2001) included RSS generation and consumption, a distributed and automated website directory and tagging. Drupal 4 (in 2002) added Jabber user account integration, XML-RPC services support and Drupal shared authentication. See, Drupal had lots of the base features we praise it for even 8-9 years ago. Woo!
Having a technologically advanced system that people can contribute to easily is not enough. You want to build a culture of building on top rather than forking to avoid the bad fate of many other systems grown up through the years. Establishing the hook system on the API level and the node system on the content handling level formed a good foundation to let people tinker even with the innards of Drupal without ever needing to fork.
Building a big home for all these contributions was the next major idea that distinguished Drupal from many other projects. Drupal itself was built on a sharing cultural mindset and drupal.org was set up for all kinds of contributors to follow suit: release code, designs, tools under the same licenses with the same issue handling system, etc. This helped people move between projects of their interest, contribute to each other's work. Having a strong central base versus everybody's own little kingdoms around the internet jumpstarted the large Drupal ecosystem. In 2009, we had above 2200 new projects started on drupal.org, that is above 6 per day.
Keeping the community all together, Drupal could embrace a culture of change as well. Drupal core could be rearchitected with every major release and have tools to help contributors keep up with the flow. This way Drupal can be at the forefront of innovation both in core itself but even more in contributed modules and themes. As Drupal itself keeps improving, contributed modules are forced to rethink their approaches, purpose, and get better in the process. Old and cumbersome solutions vanish while new ones take their place. Developers and users both come out empowered at the end.
This all provided with good ways to do power distribution without appointment. Everybody can be the king (AKA well respected lead) of their modules, themes, documentation sections, translation teams, and so on. There is no need to appoint people to positions per say and possibly face issues when people become inactive. The centralized project and code management space gave way for power transfer when needed, making it easy to hand off maintainership and continue work without breaking history.
All-in-all it is both Dries' forward thinking launch of Drupal and the bright minds who carried on and continued following the same basic principles for almost a decade. This is why we consider Drupalcons where people can meet and drupal.org where people do Drupal work our most precious possessions. This is why the Drupal Association puts money first and foremost into making drupal.org a better place for both newcomers (with the redesign) and for developers (with the git migration) as well putting on Drupalcons around the world. While looking for the next big thing is always on our mid, we managed to keep our values and build a happy community on the way. Win!
Ps. The new Drupal Code of Conduct was just published on drupal.org which might help you understand some of the basic human values we strive for.