Participate in a Global Drupal Sprint this weekend

This Saturday and Sunday, March 9-10, over 30 locations around the world will participate in Global Drupal Sprint Weekend, coordinated by Cathy Theys (YesCT). The sprint weekend is a grassroots initiative for people all over the world to get together and contribute to Drupal. You can join a local sprint, start your own, or participate remotely in IRC.

The sprint weekend is a unique opportunity to make big strides on the Drupal 8 release, and I encourage everyone to find something you are passionate about and dive in. For example, you can help reduce Drupal 8's accumulated technical debt by targeting the major and critical threshold issues, to kick off our cleanup phase and make Drupal 8 stable enough that we can continue to innovate. We're currently at 18 critical bugs, 124 major bugs, 33 critical tasks, and 130 major tasks. It'd be great to see how many of these we can fix by this time next week! :-)

Or, try your hand at upgrading a module to Drupal 8, and provide input and feedback on the "Developer Experience", as well as identify missing or incomplete APIs while we can still change them. You can find resources to help you with porting modules on the sprint wiki page.

Whatever you work on, blog or tweet about it after the sprint is done. Let us know what you worked on. You can also share what worked well for your sprint, or things you learned. Tag your posts with #SprintWeekend so we can use your feedback to help shape future sprints!

Finally, if you're local to the Boston area, Acquia is also hosting an Open Drupal 8 Core sprint in our Burlington office that will target core threshold issues, including work on the Blocks UI. Lots of active contributors to Drupal 8 will be here to help you find something awesome to work on. Stop by!

Creating a structure for Drupal governance

Last summer, a number of Drupal community members as well as key figures from other major open source projects met in Portland for the first-ever Drupal governance sprint. The proposal from that sprint recommended the creation of a number of chartered "working groups" to better formalize the existing governance of various aspects of the Drupal project, now that our community is at its current scale. We have now chartered the first of these working groups: the Community Working Group. Thanks very much to everyone who participated in the vigorous community discussion and drafting efforts around this.

However, while the governance proposal coming out of Portland provided some fairly solid direction on the governance of the Drupal project itself, it left some pretty big questions unanswered as it related to the governance of Drupal.org. Drupal.org isn't just some ordinary website. While it was originally a small portal with a few hundred members hosted on a friend's shared server, it is now serving millions of page views to over 2 million unique visitors per month, as well as terabytes of data, and is home to almost a million active members, among them thousands of contributors committing code, reviewing patches, improving documentation, etc. at all hours of the day. The old "do-ocracy" model of getting things done on Drupal.org isn't scaling for our community anymore, and lack of clarity around decision-making has cost us repeatedly, in the form of slow progress on the Drupal.org Drupal 7 upgrade, Drupal Association funding challenges and staff inefficiency, and various community volunteer frustrations.

I've therefore spent time over the past few months talking with a number of members of the Drupal Association, various Drupal.org volunteers, Drupal core/contrib developers, as well as other interested parties, in order to determine how to put into place a structure that clarifies the decision-making processes around Drupal.org. The following is the overall proposal for Drupal.org governance we've come up with, as well as links to more specific draft charters for community review.

Overview

Note: the finer points of this can be found in http://buytaert.net/files/drupal-governance-plan-2013.pdf.

While "governance" can sometimes sound like a scary word, really it's about coming up with a way to:

  • Make decisions fast,
  • In as lightweight a way as possible
  • Allowing affected parties to have a say,
  • With clearly-defined processes and easy to understand decision-making.

Cracking this problem for Drupal.org provides us with less frustration/uncertainty among volunteers, more money and resources funneled into improvements, and better community velocity overall.

Governance mostly comes down to establishing "working groups" around major areas of the project, many of which already have governance in at least an ad-hoc basis. Working groups will consist of a chair, plus 3-5 members who are empowered to make decisions, then a team of N volunteers and/or DA staff to help carry out their tasks/policies. The working groups are only empowered to make decisions as a whole, not on an individual basis.

Drupal project governance / Drupal.org governance compared

For the Drupal project, we are working towards developing a number of working groups related to various aspects of the community (security, documentation, conflict resolution, Drupal core, etc.), with myself as the final decision-maker:

Drupal project governance

The working groups might be compared/contrasted this way:

Community working group Technical working group Security team Documentation team Drupal core X working group
Guarantee a friendly and welcoming community for the Drupal project by upholding the Drupal Code of Conduct. Maintain technical policies, procedures, and standards as required to keep the technical side of our community operating smoothly. Maintain technical policies, procedures, and standards as required to keep our projects secure Make sure that we have high quality technical documentation for Drupal, including the Drupal handbook and API documentation Provide technical leadership and project management for Drupal core development.

In the case of Drupal.org, however, it makes sense for this final decision-maker to be the Drupal Association, since they are ultimately responsible for the website, purchasing hardware, etc.

Drupal website governance

The working groups might be compared/contrasted this way:

Drupal.org infrastructure working group Drupal.org software working group Drupal.org content working group
Responsible for all infrastructure-related needs of the Drupal project, including the servers, Git repositories, mailing lists, DNS management, e-mail management, network, server access and security. Responsible for guiding the planning, architecture, development, and maintenance of the Drupal.org websites. Responsible for maintaining policies around the major content areas on Drupal.org. They also manage the overall look and feel and voice of the website, including its information architecture and design elements.

This means that the existing webmasters group members can choose to participate in either the Drupal.org software working group or Drupal.org content working group, or both.

Needless to say, groups will often have to work together. For example, to answer the question of whether to keep developing project module or move our collaboration tools to Github, we'll have to get the following groups together: (i) the Drupal.org software working group because it affects the features of drupal.org, (ii) the Drupal.org hardware working group because they may need to host new features, (iii) the technical Working Group because it impacts how we collaborate on software development, and (iv) the Drupal Association Board of Directors because they have to write the check.

Draft charters for review

This is a work in progress. Please help shape the future of Drupal.org governance by reviewing and commenting on the following proposals:

Our plan is to allow everyone in the community to provide feedback during the next 3 weeks. Then, around the end of March I will post updated drafts based on community feedback, with the aim to finalize the charters by the mid-April.

Onward and upward

I'm really excited about the possibilities for Drupal.org in the future with this governance structure. My hope is that this helps address some of the ambiguity and confusion around the current structure, while at the same time not being overly constrictive.

Thanks in advance to everyone for their participation in helping to shape the future of Drupal.org!

Acquia is hiring in Europe

We just celebrated our two year anniversary of Acquia's expansion into the European market. It has been a phenomenal two years and as a result, we have grown to over 50 employees in Europe. Our UK office is bursting at the seams so we're about to move into our new digs in Reading. We also have a growing presence in the Benelux, France and Germany.

We are looking for more great talent, no matter what level you're at. If you are passionate about working on some of the most challenging Drupal projects alongside other talented Drupalists, we want to talk to you! Please stop by Acquia's booth at DrupalCamp London, or contact us at careers@acquia.com. We currently have vacancies for Client Advisors, Customer Support Coordinators, Customer Advocates, as well as Sales and Marketing roles.

Code freeze and thresholds

Note: some of the information on this page is out of date.  For the latest information about how Drupal releases are managed, see http://drupal.org/core/release-cycle.

As of Monday, February 18, Drupal 8 feature completion phase has officially ended. Since December 1, the original code freeze date, we've managed to add numerous awesome features that were previously in-progress, such as:

  • WYSIWYG with CKEditor
  • In-Place Editing
  • Entity Reference Field
  • Date and Time Field
  • Revised content creation form
  • Tour module to offer step-by-step help
  • API support for Multilingual configuration
  • Revamped and far more usable UI for configuring translatable entities and fields
  • A RESTful API for entity CRUD in Drupal core
  • Support for Views to be output in JSON, XML, or other formats made available by contributed modules
  • Important under-the-hood improvements to allow for native ESI/CSI/SSI caching support in Drupal.

There are also a handful of features that were RTBC by Feb 18, but not quite ready for commit. They are still undergoing consideration. All things considered, I'm glad we extended the code freeze.

What happens now?

We now enter the "clean-up" phase of Drupal 8, where focus turns to refactoring of existing subsystems, better integrating features, and improving the consistency and coherence of the existing functionality. While APIs can and will still change as this coherence shapes up, contributed module authors are nevertheless encouraged to start porting their modules now, as there is still time to influence and fix APIs and the overall developer experience in Drupal 8. This will become much harder as we get closer to code freeze.

So ... REALLY, what happens now?

In the course of adding all of the great features we've added so far to Drupal 8, we've accumulated some technical debt and are currently well over the issue queue thresholds for Drupal core. We roll a release candidate of Drupal 8 when there are 0 critical bugs and tasks remaining. Our over-arching goal should therefore be to reduce the number of threshold issues over time.

At the same time, there are a lot of small, non-destabilizing features that would make Drupal 8 better. Especially for the kinds of iterative improvements that we would allow into 8.1 or 8.2, it doesn't make sense to hold those up until then, if we're able to get them into 8.0 without it delaying the 8.0 release date.

To help with this goal, catch and I have discussed a plan for allowing some features to continue to be committed to core up until RC1, providing we are under thresholds. To help guide us towards release, we plan to reduce the critical task/bug thresholds by one per week, starting the week of code freeze:

  • July 1: 14
  • July 8: 13
  • July 15: 12
  • September 2: 5
  • September 9: 4
  • September 16: 3
  • September 23: 2

September 23 is the week of DrupalCon Prague, and our goal would be to come out of the conference with a first Drupal 8 RC by fixing the last two critical bugs and two critical tasks (or however many there actually are) at the sprint. :-)

However, there are some caveats:

  • Features can't require any new major/critical follow-ups, as that would impact the timing of release. In general, this means no new "big" features, as those tend not to be possible to accomplish without some fairly large follow-ups needed (e.g. Responsive Layout Builder, Project Browser, a new core theme, Symfony Form API). These kinds of issues will likely be moved to Drupal 9.
  • Primarily, this means small, self-contained, iterative improvements that we'd be willing to backport to Drupal 8 (see http://groups.drupal.org/node/210973).
  • Committer attention will generally be prioritized on tasks/bugs first, rather than features.

For now, we've decided to leave the major bugs/tasks threshold at 100 throughout release, and not tie them to the release date trigger for Drupal 8. I will re-evaluate this as we get closer to release.

What isn't bound by thresholds?

We obviously want Drupal 8 to ship as a coherent product, so a major focus will be around better integration of existing features. For example, work required to get the Symfony pieces of Drupal working well with blocks and enabling ESI/CSI/SSI caching. Turning administrative pages into Views so that they can be better tuned for the task at hand. Completing conversions of major APIs such as Twig, new Entity API, CMI, and so on, to fix rough edges such as the inability to translate/in-place-edit node titles.

General guidance on what constitutes a task or a feature is available at http://drupal.org/node/1181250. As we work through the list of these integration items, some features may be recategorized into tasks. At the same time, some issues currently categorized as tasks go beyond strictly integration and polish and will be descoped or recategorized as features.

Kudos!

While we still have a lot of work to do, I want to pause and give a sincere thanks to each and every one of the 1,077+ contributors to Drupal 8 so far. You've all done absolutely amazing work and helped establish Drupal 8 as a far more usable, flexible, designer-friendly, future-proof framework for all of us to use for the years to come. Now let's band together and get our baby polished up and out in the world for everyone to enjoy! :-)

Coldplay - Fix you

This is another powerful and tearful song from Coldplay that is a favorite of mine. One of the most beautiful lyrics ever written.

Coldplay - Talk

I don't always like Coldplay, but when I do, I like them a lot. To me, this song is about being uncertain and lost, and not being able to talk.

I like the imperfect and acoustic version that I embedded above, but you may want to check out the official version.

Lee Hunter new Drupal documentation lead

I'm happy to announce that Lee Hunter has been appointed as the new Documentation Team Lead for Drupal. Lee has been a long term member of Drupal's Documentation Team, and has been a technical editor for thirteen years of his professional career. To read about Lee's vision for Drupal's documentation, please check out his announcement blog post. The short version is that he will focus primarily on coordinating the effort to document Drupal 8 and exploring ways of making Drupal a more effective tool for technical communication.

From 2010 to 2011 the Drupal Documentation Team was led by Jennifer Hodgdon (jhodgdon) and Ariane Khachatourians (arianek), and up until July of year just Jennifer. Without their leadership and effort, tens of thousands of people would have faced great challenges in using Drupal. I'd like to thank Jennifer and Ariane for the tremendous effort that they put into the documentation team.

Documentation is one of the most important aspects of Drupal, and not one that we should take for granted. Please join me thanking Jennifer and Ariane for their work, and in welcoming Lee as Drupal's new Documentation Team Lead.

Pages

© 1999-2014 Dries Buytaert Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.
Drupal is a Registered Trademark of Dries Buytaert.