After Mediacurrent's excellent retreat in October 2014 it was decided to set up some internal committees to help organize various company initiatives. Several of these committees were fairly straight forward - marketing, training, porting our corporate site to D8, etc, but I felt that one had been overlooked - a committee for organizing our contrib efforts.
The lifeblood of open source software is the time spent improving it. Contributing back to the projects that we use daily is extremely important to me, and many of my co-workers. While many of our clients share this mantra, promoting it from within and living by it is the best way of helping all clients to see the benefits of contributing budget and time to improving the systems they profit from.
With a concern that not having a designated committee might lead to people ultimately not getting time to contribute to Drupal and other projects, I sent a proposal to Mediacurrent's founders, Dave Terry and Paul Chason, our SVP of Professional Services, Jeff Diecks, and our Director of Development, Andrew Riley. Within a few short hours I received a positive response and the next day we had a call to discuss it.
The outcome of the call I had with Dave and Andrew is that Mediacurrent now has an official internal committee focused on our contributions. Additionally, I offered to lead the group - I figured it was only right as I was the one pushing for it.
The primarily goals of the contrib committee are:
- Promote, both internally and with clients, the benefits of contributing to the Drupal project.
- Promote the contrib-first policy introduced by Andrew in 2014.
- Get involved in the Drupal security team in an official capacity, with at least two developers and one PM involved.
- Provide additional support to client project teams where they may run into bugs that the client doesn't have the budget to fully deal with.
- Provide mentoring and training for people unfamiliar or uncomfortable with the d.o issue queue system and its patch-based workflow.
- Regularly blog about contrib best practices, how to work with the drupal.org workflows, success stories, etc.
Additionally we will be working to improve our internal workflows around contributing:
- Provide focus for the company's contributions, especially the 4-6 hours each member of staff (usually) has each week for tasks outside of client work.
- Aim for regular module updates, keeping release cycles short as it’s better to get fixes out sooner than have them significantly delayed by feature improvements.
- Identify and keep track of d.o issues of interest, with the goal of getting all issues to RTBC status.
- Track the contrib work being done on client projects so we can have a true understanding of how much is being contributed by the team.
- Track monthly goals and progress, and provide reporting on achievements.
A tentative start
We had a tentative start in late December, but due to the holidays and everyone's vacation plans the progress was limited. That said, I'm still proud of what was accomplished:
- Michelle Cox made great progress going through a good many CTools and Panels issues; this had the additional benefit of helping Michelle get up to speed with these two important modules.
- Alex McCabe identified that an oddity seen on a client site with exposed date fields was caused a bug in Views, rather than the Date module, and submitted a patch to fix the problem.
- I picked up work on Fieldable Panels Panes again, worked out a solid plan for the next release and started making headway.
- I released Panels Why So Slow v7.x-1.0 and Panels Content Cache v7.x-1.2.
Other staff contributed on their own during the month, including:
- Bob Kepford released an alpha version of his WysiField module, the next generation of the WYSIWYG / embedable objects system originally built for The Weather Channel and recently improved.
January 2015 goals
With Drupal 8 still in beta, and with almost all of our clients on Drupal 7 (or 6), our January goals are focused on stabilizing many of the D7 contrib modules we use regularly:
- Release AdvAgg_Replace v7.x-1.0.
- Release Alt_Login_Page v7.x-1.0.
- Release Fieldable_Panels_Panes v7.x-1.6.
- Release GoogleNews v7.x-1.7.
- Release Imagecache_Token v7.x-1.0.
- Release Menu_MiniPanels v7.x-2.0.
- Release Metatag v7.x-1.5.
- Release Panelizer v7.x-3.2.
- Release Panels_Everywhere v7.x-1.0.
- Release Panels_Hash_Cache v7.x-1.0.
- Release Set_Front_Page v7.x-1.0.
- Finish the missing update script for the Date module due to a change in its internal storage logic in v7.x-2.8.
- Collaborate with Jakob Perry on CTools 7.x-1.6 and Panels 7.x-3.5 which he is planning to release this month.
- Join the Global Sprint Weekend on January 17th (https://groups.drupal.org/node/447258), if only for a few hours.
The majority of these modules are close to being release-ready as-is, they just need a little work to finish them off, while a few of them do need some concrete work done. It's also possible some of them may be pushed out a little, but it should be possible to at least get out a release candidate.
Once we get past our current D7 goals we'll be jumping head first into porting modules to D8. I maintain and co-maintain a number of modules, from small little things like Remy Sharp’s HTML5 Shim and Set Front Page right up to fairly large and intricate systems like Metatag and Panelizer. It's my goal to port all of these to D8 in 2015 and we'll be collaborating on these and more, starting with the smaller ones and working our way upwards.
Lastly, because all of this work is being managed via drupal.org issue queues (with some help by Trello.com) the good news is that everyone can help, so I look forward to seeing many of you there!
2015 promises to be a busy and exciting year!