Remote DrupalCon - Day 3
"Talk is silver, contribution is gold"
It's the final day of sessions at the Real DrupalCon and these are the keynotes I've been waiting for! (click here for yesterday's blog if you missed it)
I say "keynotes" as in a departure from the norm there are two speakers today, both whom I've had the pleasure of seeing previously and both whom touch on subjects close to me - Contribution beyond source code in Drupal and Mental Health in Open Source.
Contribution beyond source code
David Rozas (@drozas) is a Free Software enthusiast, Drupal developer, PhD candidate and postgraduate researcher whom for the last few years has been researching contribution in Free Software communities, specifically Drupal. I've seen David talk at a few DrupalCamps and it is great to see his work being recognised and able to reach a wider audience.
I find it a particularly interesting area as my non-code contributions to the Drupal project are orders of magnitude greater than the ones of code - I just noticed the other day my Drupal Groups Profile says I've been involved in organising 70 events, plus I've done things like create a cool short film about What is Drupal? In fact one of the reasons I used Drupal in the first place was because writing code for other people's websites selling parking spaces or whatever didn't really float my boat much as a computer scientist so I could do most of what I needed with existing modules and just provide the 'glue code'.
It is only really in the past year with the advent of Drupal 8 that my code contributions have started - much of that has also been to do with actually knowing how I can join in, along with confidence issues - the latter covered by today's second keynote so I'll park that one for the moment.
Commons Based Peer Production
The key to David's session for me was the introduction to the audience of the term "Commons Based Peer Production", which is how the Drupal community works. I honestly think the vast majority of people who currently use Drupal at the moment think it's a CMS product produced by some magical team toiling away building the exact feature you want to use for Free, or they simply don't think about how or where it comes from, it just is. By David introducing the notion of Commons Based Peer Production it ideally frames the community and the product, and explains how it is built and maintained - not by one specific company but by a community of peers, i.e. you and me, no magic unicorns in the sky. Far too often I see Drupal 'sold' as a product which often serves to disappoint when people encounter issues and don't understand the process of how they can deal with them, often expecting people to work for free and/or blaming Drupal itself for their problems. An overview of CBPP should be in every Drupal 101 tutorial, get people involved in the community from the start!
David covers the notion of what commons are and highlights a number of quotes from Drupal community members and comes to the conclusion that to continue to scale the Drupal community effectively more local meetings in real life are needed to strengthen the connections built online and enable community members to interact on other levels than just code itself. In terms of funding the growth, David explains we need to explore new dimensions of value - an area I'm particularly interested in as I love to write and do other things than code however the only proven way I get money at the moment is from coding.
Profiles on the Drupal website are covered, highlighting that community contributions are beginning to be included a lot more, as well as things like listing your mentors which helps the mentors too, not just your own profile. More non-code contributions need to be included - it's often been the mantra of Drupal that "Talk is silver, code is gold", I like the alternative "Talk is silver, contribution is gold". The more we recognise people's contributions of any kind, the more the community will grow organically.
David's keynote is an enlightening one as it educates members of our community as to what it is they are actually part of - I think this is key to knowing that you can and are part of it and helps to break down the barriers to contribution. He ends his keynote saying this is only the first set of results and wants to continue the research in an open, Drupal fashion and invites people to join in over at a new group set up Research about the Drupal community - this is only the beginning!
Mike Bell, UK Drupalist begins his keynote on Mental Health & Open Source with a caveat that he is not a doctor and this is just from his own experience via a break down. Shortly after his talk I saw this infographic by Anna Vital go by on my twitter timeline which I thought was quite appropriate as I think I have at some time encountered similar scenarios and it's how you deal with them which makes them either constructive or destructive.
Mike covers these issues well in three sections - Depression, Anxiety and Imposter Syndrome. Rather than repeating his entire keynote I'm going to cover a little about how each of them affects my life and I encourage you to watch Mike's keynote to gain more insight into what is a very important subject everyone is affected by at some time or another.
It's strange when you look at your life and all the things you have - I live in a wonderful apartment, in a wonderful city, close to the beach yet depression is something which, as Mike says, just comes over like a dark cloud and it's very hard often to see the good in anything. Like Mike, when I first went for help with my depression from the medical profession I was put on a dose of medication and it did help me get through the worst of it. This was 20 years ago when I was a 'mature student' at uni (I'm now 43!). A year later I went particularly low again and was put on a different medication which had an adverse reaction with me which meant I was shaking all the time and when my best friend pointed it out I took myself off the medication and haven't had any pharmaceuticals since. For me, I know what causes my depression and I know what I need to do to get out of it - eat healthily, do lots of exercise, etc. Doesn't mean I always do it, and I'm particularly out of practice at the moment hence why I'm not as happy as I know I can be, but whilst the pills do help in some cases, they only tend to mask the underlying issues which are often more than not life issues which I believe working through them makes me a stronger person in the end. I'm not advocating not taking medication, I'm just saying for many people it's not the answer but a temporary fix, and if you're happy with that then that's fine. Mental illness isn't one thing affecting people in one way and there's no one answer.
I'm going through lots of anxiety right now - I spent a lot of time and money traveling this year so I could grow my Drupal network and learn more about Drupal 8 but I went over-optimistic again and didn't build my pipeline up enough, so a month ago I lost a number of potential opportunities all at the same time and now I'm two months behind in rent. The worst is it's debilitating which just produces a downward spiral as it means you stop doing the things which bring you the work in the first place. Luckily a couple of months back I forced myself to start blogging again, so when I had to cancel my DrupalCon ticket I thought that instead of being depressed and anxious about cancelling the one thing which probably would've meant I'd bump into someone and make connections for work I'd use my talents, keep myself busy, create the opportunity for connections to happen, and give you all an ear-bending in the meantime ;)
I'm anxious about writing about this stuff because I'm freelance, I'm the salesperson, and I worry if people know every bit about my life then they somehow link it with work. Well, for sure I don't do a 9-5 any more, but I go by what I produce, the end result, and when I look back at the projects I've produced lately I'm very proud - happy clients takes my anxiety away for sure! So thanks to Mike, because if it weren't for you I wouldn't feel as easy as I do now writing about this stuff, and frankly I don't care what people think, whether self-indulgent, too much, or whatever, it's helping me right now lol.
This is probably my biggest bug-bear with mental illness. I've been hacking on computer code for the lat 34 years, yet often when I look at some code I go "I can't do this" and it often take a lot of effort to get past this point, but every time I have I've proved to myself that I can do it. That's probably more confidence than imposter syndrome, for me it stems back to when I was in a previous company in the dotcom days and the head geek took the mick out of my technical capabilities. I admit I'm not the best one to be sitting down coding all day on a client's site, but that's more to do with the fact I'm a creator as opposed to a mechanic, and my days are not 100% coding any more.
Where I get imposter syndrome most is when all three issues are affecting me, and I can honestly say yesterday was one of those days. I was ready to sell everything up - I don't know where my next income is coming from, I'm late with bills, I'm credit carded up to the max - what am I doing, who am I kidding that I know this Drupal thing? I realised it was only my current wave of thinking though so instead of staying up late last night to write this final blog of the conference I'd do it the next day. Then anxiety set in - what if I forgot everything I watched? What if I just let it slip and didn't end up writing the blog? I knew this blogging thing was a silly idea & wouldn't last long - etc. etc. - if I told you every thought I had last night on this the page would never end, but we are here so once again the world didn't end ;)
Managing Mental Illness
Mike continues his keynote covering what methods he's using to cope at the moment and areas such as how it impacts companies and business. For me, Drupal enables me to live with who I am as a person - there's enough opportunities around so that I can, bit by bit, fulfil my needs from a number of different areas - personally I've never found a job which could do that for me. You're either building your own life or someone else's, from a bad experience being made redundant back in the 'dotbomb' days I've always wanted to be in a position where I'm in control, and although it's hard to say this right now with imposter syndrome creeping back in with the thought of the late rent and bills, I do believe I've managed to do pretty good having freelanced now for the last 15 years. That's not to say I'm not open to opportunities - often I think about how 'easy' it would be not to have to worry and just take my monthly pay, but I don't believe that's going to fulfil my potential as a human being - in fact I don't think it does for any human being, but that's another story for another time.
All I do know is I'm enjoying writing this way too much - I used to blog and write stuff every day as I wrote a Plain English Guide to Open Source but my writing stopped shortly before my Drupal started due to an abusive relationship I was in over in Canada with a girl who I found out was BPD & bipolar, but that's yet again another story so for the moment thanks Mike for helping me back on my road to recovery, apologies to those who are just trying to catch up with the goings-on at DrupalCon, I'll get back on the case shortly, if you want to discuss this, or anything, further please do tweet @stevepurkiss or contact me through my website, comments are broken on here and I'm not fixing them as I'm migrating to Drupal 8 just as soon as I finish this blog ;)
Mike's keynote finishes up with a well-deserved standing ovation from the audience then a short Q&A session discussing things like how we can help within our community and at our events. Mike suggests a table at events where local mental health professionals can set up a stall with leaflets, etc. Personally I think we should do those as part of the process but focus on the underlying issues as to why people are having break downs in the first place. It's a strange year as this is covered in other sessions I watched which I brief below as our project has experienced much 'burn-out', but it is great to see so much focus on this - seeing and being part of how we address these issues is great as I'm sure if it were in some company they'd probably just pass it on to the HR department to sort out, we have the opportunity here to forge new ways of dealing with the pressures of modern life. Personally I believe new ways of living like being a digital nomad are part of the cure - we don't need to be near the factories to do our work any more yet we live in an infrastructure and culture built around those principles, luckily this is changing slowly as we do more of this sort of thing.
Other sessions from Day 3
I must admit I had to have a break after watching the two keynotes, it was all a bit overwhelming - two subjects close to my heart, community members and their work being recognised, the reaction of the audience, etc. but I knew there were more awesome sessions coming and two days in with only one to go was certainly no time to give up now I've been blogging about it too ;) So on we continue, and on a similar vein to the keynotes...
Avoiding and surviving of contribution burnout - @laurii1 and @schnitzel provide an excellent session on what burnout is as opposed to stress, some tips on how to deal with it personally (like drink more water, cos it makes you pee so forces you to get up and move around!), and how to deal with it in our community (delegation, more praise for participation, etc.). More than half the session is given over to discussion with the audience on how we can make Drupal more sustainable so well worth a watch. I think there will always be stress and burnout whilst there's such a disproportionate amount of contributors vs users of Drupal so believe that at least some of these issues can be addressed by growing the community of contributors so the workload is shared more, and perhaps saying no to stuff if there isn't the material support to go along with the efforts necessary to produce it.
Pain Points of Contribution in the Drupal Community - Kalpana's (@kgoel) session is along similar veins but more on the practical side of what the problems are with the current interfaces we have and stumbling blocks to participation and how we can get organisations to contribute and participate more.
Hassle-free Hosting and Testing with DevShop & Behat - there's lots of options for managed Drupal hosting, and whilst I love them they are rather expensive especially when dealing with small or personal projects, plus it's always good to look at other options so when I saw there was an open source hosting project for devshops available I thought I'd check it out. It's interesting, but I still don't feel confident enough to manage my own and clients sites as I'm no sysadmin (I like to break things, guess that's why I like tests so much!) so whilst I'll still be playing around with self-hosting a few pet projects, I'll leave the client stuff up to the professionals. Worth watching if you want to set up your own hosting stack though.
The future of Groups on Drupal.org - unfortunately the presenter's slides didn't display properly so we couldn't fully see the proposed improvements but you got a good idea that there's a lot of good change on the way, focusing on the personas that were created a while back for drupal.org users so contextual data should show up in the future, at the moment it's focused squarely on developers.
Planning for Drupal 8.1.x, 8.2.x, and our future together - this was actually more interesting and important than I thought it would be, another half-session, half audience participating in making a list of what to be included in the next versions of Drupal now that we have gone to semantic versioning, i.e. minor versions as well as major providing functionality additions. Presenter Tim Plunkett whom I had the pleasure of finally meeting when I went to DrupalCon LA (yes, that's another reason why I'm cashflow poor at the moment!) is ideally placed to host this talk as his work in the panels and layouts area is particularly affected by semantic versioning as not everything will get into the 8.0.0 release. Watch this if you're planning on using Drupal 8 and want to know what's coming up soon!
AMA: Drupal Shops Explain How They Do It - not much in terms of visuals on this one but an interesting discussion from a few Drupal shops as to how they do things like manage remote teams and encourage clients to become part of the community. I find it encouraging hearing their efforts but as someone who's seen a lot of the issues lately with getting Drupal 8 out of the door I'll be a lot happier when the balance of contributions is, well a little more balanced. If people can make millions out of Drupal, then it shouldn't be as hard as it was to get $250k for funding some core development - for whatever reason. What businesses get back is Drupal, if you don't fund/help maintain/grow Drupal, it will disappear. Free as in speech, not beer remember!
PHP 7 is (almost) here. OMG! PANIC! - I started to watch this as now Drupal 8 is almost here we are actually making use of some of the functions PHP has developed in the last 10 years or so! It was a little too heavy for me for yesterday so I'll revisit it sometime as interesting things are happening in the PHP world.
Paid contribution: past, present, and future - this was a really interesting session on funding contributions, mainly driven by audience discussions being part of the core conversations track. There's been a lot of different approaches to funding in the last year with more people now being paid to work on Drupal fulltime, a few funding campaigns for things like Rules and other efforts. One particular point I thought interesting was the discussion on return on investment for companies sponsoring DrupalCamps, and the general feeling that it's becoming harder to justify as businesses want to know direct results. Suggestions such as questionnaires before the event so companies can research potential employees were offered and a general feeling that the overall sponsorship packages need to be revamped - companies don't care how big their logo is, they want value they can value. There was also the Rules initiative which was funded but took a lot of effort and it was mentioned that it's going to be hard to go back and ask for more so other options would be good to look into - personally I think people just don't know what needs doing or how they can get involved so it's good to see sessions like this try to hatch more ideas out.
Building semantic content models in Drupal 8 - I was particularly interested in this session as one of my projects is a Drupal skills-matching site. I must admit I was eagerly waiting Dries' Drupal 8 retrospective to appear in the video timeline so once it did and I saw that most of this looked the same as it was in 7, I moved on. Extremely interesting topic though!
Drupal 8 retrospective with Dries - each year the founder of the Drupal project Dries does a Q&A session which is one of the only sessions I usually attend. After quite a few DrupalCons (8 I believe!), I soon worked out that most of the videod sessions I was fine with watching after the event, so mostly ended up going to BoFs (Birds of a Feather) sessions where you get to participate in the growth of a certain area of the project, or the hallway track. This DrupalCon is the only one I've watched all sessions during the event but sadly that's only because I'm not physically there!
Dries goes through what worked well, what didn't, and how we can improve in the future - release fewer things sooner, improve core funding, etc. The take-away quote for me was when he said "we need to get off our processes island as well as our technical one" which couldn't have summed it up better - other projects and organisations have worked on this for years and we should gain knowledge from them, at the moment we just throw things into the pot and Drupal comes out the other side, we need more direction.
A truly superb session and one every Drupaler must watch!
Watch Later List
By this time I was pretty bushed so I thought I'd go through the rest of the Drupal Association videos to see which other ones from the conference I'd like to watch. As per usual a massive list emerged but thought I'd post it here for those like-minded!
- Introducing Probo.CI
- Building semantic content models in Drupal 8
- Remote Entities: Standardizing External Integrations in Drupal
- 10,000 hours distributed, why being remote is the best way to run a team
- The wonderland of HTTP in PHP
- CIBox - full stack open source Continuous Integration flow
- Tools for talking
- Configuration management in Drupal 8
- Content Migration for Site Builders
- Introduction to R and Exploratory Graphics
- What PHP-FIG means to Drupal
- Large scale Agile development with Scrum
- Decoupling Drupal modules into PHP libraries
- Content is Drupal's business - so make it yours!
- Webform vs. Entityform: Exposing forms to end users
- The Future of Mentoring
- Our experience with building Drupal 8 Sites in Alpha and Beta
- Managing extreme demand – Global platform scaling
- Principles of Solitary Unit Testing
- Making Drupal fly - The fastest Drupal ever is here!
- Inclusive Design: an Introduction to Accessibility Whys and Hows
- Drupal and Security: what you need to know
- Community Training: Public Speaking
- Next generation graphics: SVG
- Drupal architectures for flexible content
- Entity storage, the Drupal 8 way
- Linked Data 101: The Non-Terrifying Intro to Semantic Content
- Architecting Drupal Businesses that are Built to Last
- Drupal Extreme Scaling
- SmarTest: Proposal for accelerating the detection of faults in Drupal
- Breaking Down Silos
- Behat+Mink+PhantomJS = Test ALL THE THINGS!
- Pull requests are coming to Drupal.org
- How to setup Nginx/Varnish Full Page Caching for Drupal
- Caching at the Edge: CDNs for everyone
- Composer and Drupal 8
- Dependency Injection, what, why, how and when
- Drupal 8 Plugin Deep Dive
- Docker in the DrupalCI test infrastructure
- Headful Drupal
- Drupal 8 media status update
- Features for Drupal 8
- Puli: PHP's Next Package Revolution
- Let's build it on Drupal 8
- Planning for CRAP and entity revisions everywhere in core
- Reverse Engineering People
We did a DrupalCon!
These words from the closing session where they announced the next European DrupalCon will be in Dublin next September! Before that there's DrupalCon Asia in Mumbai in February and DrupalCon New Orleans in May. I do hope I manage to work out my business models so I can afford to go to all. I'm particularly interested in Mumbai as I've never been there and I think there is massive opportunity over there, I'd love to grow teams of connections out there, watch this space and get in touch if you want to be involved or can help out in any way.
Although I didn't make it I do feel doing this blog has made me feel more part of it so didn't totally miss out but I do recommend you make the effort to attend a DrupalCon if you haven't already, at least go to your local events or start one up if there isn't anything - I learned the hard way that Drupal isn't just a sole way of working, it's all about the people, join in and soon things start to become much clearer.
Well, that's it from me - thanks for joining me on my remote DrupalCon journey and I hope never have to do it again as instead I'll be there ;)
Remote DrupalCon - Day 2
Let's never do that again
Unlike when I was watching yesterday's Driesnote, I actually quite expected these sorts of words to come out of the mouth of Larry Garfield, aka @crell, long-time Drupal contributor and the reason I stayed up way too late last night after blogging so not strictly Day 2 but deserves a mention as was a superb, insightful session "Drupal in 2020".
The never do that again refers to the four-or-so years spent on developing Drupal 8 with most of that time spent not developing new stuff but just barely catching up with modern technology trends. In order to be relevant even with today's technologies we need to be looking at what we could be doing and Larry shows off a number of impressive development projects which enable PHP to run in a similar way to node.js - even faster in many cases. Well worth a watch!
I ended the night with Ken Rickard's 2020 Vision, an entertaining session from a highly experienced professional reminding us that we are implementing a content management system, not a web publishing tool which comes from the print era, and thus there are many different considerations, and often many of the non-technical ones are overlooked whereas they can prove to be the biggest obstacles.
I'd seen Nathalie talk before so I must admit I wasn't paying much attention until I saw a question pop up on twitter asking how this session mostly on marketing manipulation techniques was relevant to our community. Nathalie quickly focused on how we could use some of the techniques to help our current community as well as attract new people in by simply telling our story. A well-deserved round of applause came when Nathalie remarked:
"This is such a vibrant community it needs to be expressed online much more"
This is a big area of interest to me as I see so many wonderful stories from around the Drupal world yet currently the loudest voices being heard are the ones with funding. I've not an issue with that per se, I believe we could do more by collaborating together on strong marketing messaging.
I know the DA are doing as much as they can with the resources they have available, however I believe there is a place in the market for an organisation which markets the community as a whole - I envisage trucks that turn into training rooms / 24h coder lounges with schwag stores on board so can rock up to camps all over the place ;) But I guess that's another blog for another time - all I know is I'd love to go round the world interviewing the community for all to see & potentially training many more unexplored areas up in our community values of ownership!
Drawing from his own experience with Drupal offsite backup service NodeSquirrel, Drew Gorton from managed hosting service providers Pantheon gave an interesting talk covering how quite a few product businesses had managed to make the uncommon successful birth from an agency. Drew provides useful insights I empathise with as I much prefer working in the product world however what with my bootstrapping and co-operative ideals it's taking a little longer than I'd hoped for ;)
This was a really interesting session from a company I hadn't heard of before - Liip. Their organisation is around the 120 people mark and they have a self-organising way of working, with the ratio of pay difference between high and low 3-1. I beleive the company is also owned by the staff however I don't think the percentages were detailed, will have to watch again. They said they had no plans and let teams decide their own projects, strategies, etc. Obviously it's not all plain-sailing and provided a for a great case-study in things going certainly a better way in terms of fairer working environments and enabling human beings to grow rather than be stunted by job roles.
I watched a little of Shut up and take my money! which was about integrating the Stripe payment system with Drupal 8. I've done this previously and nothing much seemed to be different on the Stripe side so moved on - the videos are pouring in quick & fast!
I then watched Expose Drupal with RESTful for a short while until I realised it was 7 so moved on to PhpStorm for Drupal Development which was a fairly short session clocking in at 15 minutes however very useful, even pointing out a feature which shows you what features you have and haven't been using. I'm no fan of the licensing on PhpStorm but it does make life much easier so will be harder to give up than my macbook but I guess will have to be done at some point if I'm going to achieve complete Freedom!
It was noted from the outset that this was a sponsored session from platform.sh so they would be showing off their product, which I've had the pleasure of playing around with a little on a time-limited trial, however I was suckered in by the buzzwords so I stuck it out. Being at home it was even easier for me to just click the mouse than suffer potential slight embarrasment as I walk out of the session room but in reality that rarely happens and I end up sitting right through the session continually questioning myself as if I were watching the fifth instalment of Jaws wondering wether an incident with a fish will happen at some point.
Suffice to say platform.sh works with HHVM and Angular.js. I've nothing against sponsor talks or platform.sh, I think they are both good things, just not this session, for me at least. I guess I wanted to see something shiny, not just a product demo, I feel they could've made a lot more out of the title than they did without having to be so focused on the continual sales pitch. Which I know that's what it was, but felt more like something that should've been out in the exhibit hall. I guess that doesn't get videod and put into the stream though.
I started to watch Altering, Extending, and Enhancing Drupal 8 by Joe Shindelar (@eojthebrave) whom I've had the pleasure of meeting at a number of Drupal events here & in the US. Joe's a great teacher, but for me as I've been playing with Drupal 8 for a while now I decided to skip on, especially when he said "Don't hack core" which is I know the thing, but in Drupal 8 I plan to hack core by simply using its interfaces... it's made for 'hacking' this time. Properly hacking that is of course! I realise this presentation wasn't for me though.
Then I watched a little Building amazing searches with Search API but all was looking pretty similar to 7 so thought I'd put that one on the watch when I have a specific need for it list. Then came along a truly awesome session...
As someone who has suffered from depression I am particularly proud of the fact our community can have sessions that cover topics like this. I feel like I'm coming from a different angle as I'm spending most of my time working out how and where I can be of help and it's the client work if anything that's burning me out due to my complete lack of wanting to do anything other than write beautiful code, and I've not yet met a client who has the want or budget to pay me to do that. Sarcasm aside, burnout is a big issue, and something I have an issue with the business/community balance side as I believe one is currently gaining far more benefit out of the other than there should be and I don't really think it's anything that can't be solved with a more balance put back into the situation. That of course is not to make light of anyone's situation, just how I see the situation from my many travels around camps and to CXO meetups and my experience in the world up until now.
Along similar veins to the previous session, Kalpana Goel delivers another important session trying to untangle the issues surrounding contibuting to the community and how we can potentially go about solving them.
Then I watched around half of Hassle-free Hosting and Testing with DevShop & Behat which looks like an interesting, open, option for self-hosting your own sites. Being a little tired I thought I'd come back to that when I'm more awake one weekend.
Last one for the day was The future of Groups on Drupal.org, which gave an interesting insight into forthcoming changes on drupal.org, much powered by the persona work done previously, so should be interesting when I log in and tailored content appears for me! It's great to see movement finally here, but I agree with Dries when he said previously it really needs perhaps ten million dollars of investment in it. ATEOTD, if you don't look after your tools you won't be able to make a decent product. It's always been my hope that as we talk about Drupal more, about the Why, and show people around the world what we're building the community will organically scale as people will want to be part of it. I think we have a number of issues in the way of that at the moment - perception, current human fear-driven non-sharing society, and state of internal systems. It's good to see a little focus going on the things we can fix now, hopefully we can scale it up soon so we don't get more fractured across different proprietary community silos just because they're 'easy'.
Well I may not be in Barcelona but I'm certainly ranting like I'm at DrupalCon, just on the record lol! With all the tweets and session-watching I'm certainly getting DrupalCon tired so signing off for the night, looking forward to the final day of sessions tomorrow with another important keynote and of course looking forward to finding out where next year's European DrupalCon will be - hopefully I'll plan a little better and build a little buffer so I don't miss out!
Remote DrupalCon - Day 1
Drupalaton 2015 - the memories
"The advantages of variables in Drupal 7 is they're all loaded into memory. The disadvantages of variables in Drupal 7 is they're all loaded into memory".
With this, Károly Négyesi ('chx'), opened his Storing Data with Drupal 8 workshop at Drupalaton to a standing room only crowd - half whom chuckled knowingly, with the rest following shortly after once they'd had a little time to think about this technical juxtaposition.
It is this pull no punches attitude which made chx's workshop, for me at least, the highlight of the event - I like to know what is wrong, why it is wrong, and what we can or are doing to fix it. It was different when I'd asked the Hungarian, now living in Vancouver, to keynote our local DrupalCamp Brighton held back in January. In a departure from his normal techie talks, chx delivered a highly enjoyable and enlightening session talking about the profession of programming and how computer game music was the best type of music to listen to when coding. Here at Drupalaton though, we were back to the nitty and gritty of Drupal's internals.
Chx proceeded to give an excellent overview of the different subsystems of Drupal and how they'd changed from version 7 to 8. Drupal 8 brings together a lot of pieces which were fragmented in Drupal 7 - for example Drupal's Entity API where most of the functionality existed in a contributed module. By bringing it all together into core Drupal and providing APIs it improves maintainability through common knowledge, translation, access, performance and testing. He went on to cover the improved data stores in Drupal 8, for example the state API to store information such as when maintenance updates were last run using cron, a private tempstore for functionality like autosave data and the new quick edit functionality, and a shared tempstore for things like views.
After an intense hour and a half and a short break chx for a moment thought he'd lost half the audience but most soon filtered back in once their brains had a little more time for the coffee to take effect! The workshop continued with much information about how to use these new APIs, and how all configuration was now in YAML files then loaded into the database at runtime. In previous versions of Drupal, many settings were stored in the database and work-arounds such as using the Features module were used to extract settings. These approaches had varying results - as someone coming from an Enteprise Java world where storing settings in files is the norm I for one am very excited about this as it provides far more easier development, deployment and versioning. Features still exist in Drupal 8, but for their original purpose - to create exportable features of functionality.
Contributing to Drupal can be tiring!
After the workshop I made my way to the only air-conditioned room for what felt like miles around and managed to catch this picture of chx resting - with lots of talk recently about 'Headless Drupal' I thought the angle was quite funny.
I'd gone there to do some more work on Drupal 8 Rules - the fifth most popular module for Drupal which enables people to create functionality through the user interface, for example to send an email when someone adds a comment, or to apply a certain tax rate for a certain product in a certain country.
Although I'd previously worked on a few core issues for Drupal 8 like splitting up the 'password strength' and 'password matches' code and cleaning up some unused variables, I'd not really found an area I could focus on, but then I attended Drupalaton last year where there was a whole day of Rules, with a morning workshop bringing people up to speed on Rules in Drupal 8 and an afternoon spent focusing on how you could get involved and contribute.
For me, the workshop format is what makes Drupalaton so special - most other DrupalCamps have half-to-an-hour long sessions where you get an overview of something but don't really get time to delve in deep. I wanted to learn Drupal 8, and helping Rules out where I could to me seemed like a pretty good way of learning it. Since then I've helped update a few Rules Actions, Conditions, and Events to Drupal 8 and although I haven't done half as much as I've wanted to, it feels great to be learning lots and hopefully helping progress things a little bit.
After spending the afternoon learning more about exporting, importing, and deploying configuration management in Fabian Bircher's workshop (slides and a great blog post from Fabian here), it was time for the yearly Drupalaton Cruise Party.
The cruise party is an excellent chance to chill out, see a little more of Central Europe's largest lake, talk Drupal, and enjoy a most wonderful sunset!
The next morning, after I'd managed to complete 30 lengths of the swimming pool and a 20km cycle for the second day in a row (yes, I know, shocker, but the Sun makes me a different person than I am in the dreary rainy grey UK!) it was workshop time again - this morning's being 'From User Story to Behat Test' with Pieter Frenssen.
I'm almost as excited about using Behat as I am about Drupal 8 - after many years of discussions about how functionality X worked, or whether feature X and function Y was included in the original quote, this way of defining requirements provides an excellent interface all project stakeholders can be a part of, with a solid technical backing enabling tests to be performed against sets of Plain English user stories.
The workshop was to go through setting up Behat with Drupal 8 which was great as I'd spent some time recently getting it set up but lacked in-depth understanding of the setup which Pieter's workshop helped enormously with so now I'll be using it on all my projects. There's plenty of info online about Behat so I won't go into more details here.
The afternoon was spent discussing using Drupal as a prototyping tool with Kristof Van Tomme László Csécsy and finding out about Pretotyping. This is of particular interest to me as I continue my work on abilit.es - a topic for another blog I think!
In the evening the lovely Drupalaton organising team arranged a Grill Party - this didn't happen last year but was great as was right next to the hotel and means we weren't dispersed across many different places.
As well as great food a few people had been working on some lyrics and provided lots of entertainment with a fab Drupalaton song!
So long Drupalaton, till next year!
Drupalaton Day Zero: Drupal 8 shipped - you didn’t miss the boat already?
“Shit, shit, shit!” exclaimed the guy sitting next to me, bashing his fingers away on his laptop in the reception area of Hotel Helikon, an ageing family summer fun destination perched on the southern shores of lovely lukewarm shallow Lake Balaton in Hungary where I had arrived a day early for the yearly Drupal event Drupalaton.
You wouldn’t have noticed the extra sweat on my forehead in the sweltering 36 degrees heat, but these words made me nervous, for these weren't the words I was expecting to hear come from Daniel Wehner, the person who has the most commit mentions in Drupal 8. Had Drupal 8 broken horribly? Had some big problem just been found? No - well, not exactly. It was to do with supporting a beta-to-beta update path - more on that in a moment, for the moment let’s bring everyone up to speed.
Patch me in!
“But Steve, wait a code-damn minute there - what’s a ‘Commit mention in Drupal 8’ when it’s at home?" I hear some of you say! It means you were involved in some way in something that ended up being part of the core package of the next version of Drupal, version 8. What is Drupal? It’s a piece of software which currently powers over a million websites around the world. Everyone from those who accidentally became a Drupal developer whilst looking for a solution to help their tennis club to those in charge of running the United States use Drupal to communicate with their community via the web - see more examples over at this showcase of Drupal sites.
Drupal is a Free Software project (you may have heard it incorrectly referred to as 'Open Source'). This means anyone in the world is free to participate in the project - you can use it, study how it works, make changes, and share those changes if you want. A commit mention means you might have fixed a bug, reviewed some code, or been involved in some way with helping an issue move along the process until it has been deemed reviewed and tested by the community (“R.T.B.C.”) and thus ready to be committed to the codebase of the Drupal project. OK, now let’s get back to Hotel Helikon!
Getting on the Island
Later that evening after I’d unpacked and had a little wander around, I chatted with Daniel out on the island which, by daylight every inch of the hotel's small private enclave surrounded by the lukewarm shallow water of the lake is covered with holidaying families. Once a year, by night, the island becomes a hotbed of Drupal chat, especially this time as we are so tantilisingly close to release which has been worked on for four years now since the release of Drupal 7 in 2011.
“BDFL!” Daniel suddenly exclaimed. I thought for a moment - I didn’t recognise the acronym at first, thinking it may have been some internal subsystem only a few people knew as seemed the way with previous versions of Drupal to 8 which is now far more easier to approach using standard industry practices. This BDFL meant “Benevolent Dictator For Life”. It’s how the Drupal works currently, with that BDFL being founder of the project Dries Buytaert, whose own company Acquia recently announced that even though 8 wasn’t released and would be “ready when it’s ready”, they were ready to support customers who wanted to use Drupal 8. I guess this means they would value some kind of beta-to-beta upgrade path.
Grow the island communities
From the perspective of being one of the people who supports that upgrade path whilst also being asked every five milliseconds “When is Drupal 8 going to be ready?” I can imagine it’s probably quite stressful. Acquia aren’t the only ones of course, from a value perspective it means more adoption, certainly an easier life for me as I now partake in Brighton’s Homebrew Website Club to help keep the ball rolling on my migration of my own purkiss.com site to Drupal 8, although now I’ve thought of a few more pet projects I’d like to get up and running now I can actually base my efforts on the solid, well-thought-out foundation Drupal 8 provides me with.
Whatever the case, I leave my peers up to discuss and my readers to join in appropriately if they want. All I know is these decisions could be influenced by me if I wanted as it’s a Free Software project and if I cared enough about a certain topic I could get involved however I fit best and change it, not enough people understand or make use of those freedoms. Whilst Drupal is the largest community of contributors and over 3,000 people have commit mentions in Drupal 8, that’s a tiny proportion of those who use it, many whom make and create a lot of value and some of whom make a shed-ton of money out of it. Of course many more than just commit mentions make the community what it is, however the adoption rate at which Drupal has been taking that percentage is getting smaller every day.
An enormous amount of money comes back into the community in one way or another, but we are quite a way away from being able to simply visualise a piece of software in our minds and it suddenly spring up into existence in front of us without any human expense of effort. We may be able to one day do that - especially if we continue to freely innovate - but for the moment we have what we have, and every little piece takes human resources; at least until we replace them with running code.
As the Drupal project and community grows we need more people to be involved in building and supporting the very foundations which support us as a whole, and if that means rambling on in a lengthy, potentially edgy blog post in order to perhaps gain just one more person as a contributor then, until I am able to express myself in a better way, I’ll be doing that. I gained Daniel’s permission to blog about our discussions, I think it’s important to open up our processes deeply so people can see where they can potentially help out and become part of the thing we commonly refer to as Drupal.
As for the BDFL topic, I think it has obviously shown to work out well so far for Drupal, as for whether it’s a long-term solution well that’s also obvious to humans ;) Seriously though, I have no issues with the current situation until something proves me otherwise, I still believe we have a way to go before we are able to dissolve the fine leadership Dries provides to the community he has successfully fostered for the last fifteen-or-so years now.
Dries always seems open to discussion and is the most patient person I’ve ever met, certainly holds a role I would stress out in five minutes doing. I don’t see it working any differently for the moment at least - perhaps it would take a fork to even prove something like that. Forks are a Good Thing as they show in the long run what works and what doesn’t, providing the ultimate freedom of expression in an interdependent community such as Drupal.
As Daniel and I furthered discussion, he said something which resonated so much with me my virtual self almost shocked itself to spring into eternal existence. Sadly it didn’t, but it now has this quote emblazoned in its tiny, tiny virtual mind: “We should sell the community not the CMS.”
As an independent consultant who sometimes still writes code for certain things (only 8 commits in Drupal 8 so far though!) but works with people far better than himself in the community to deliver world-class software it’s something I’ve been doing but had not heard it in this simple, switch around way before. I invest in visiting the community and see what wonderful things they are building and his words to me, meant when you sell the CMS, you sell a product. There’s expectations put on that product often not knowing how those expectations will pan out. When you sell a community, you focus on promoting the people in that community, and as a Free Software community, provided you join in in some way, you too can benefit from the output.
Let’s just get the issues with the notion of selling Free Software - and people - out of the way. I’m not saying ‘Selling out’, just ‘selling’. Making a sale is an exchange of value between two or more parties, for example “you’ve sold it to me, I’ll use Drupal for my voluntary community project web enabled systems, thank you kindly!”.
It’s been working for me ever since I made the decision last year to not work through agencies after having to deal with yet another bad implementation of a CMS. Drupal is far greater than this, and so is my life. Since then I’ve had nothing but win/win/win results and although my cashflow has taken a dive as longer projects take time to bear fruit, it’s temporary one I'm almost out of and I’m kinda enjoying hacking on some bad code to pay the rent but even there I believe I’ve managed to turn the situation around and have an interesting offline mobile project in the pipeline. Along with the great work we’re doing with CRM (topic for another post!), it’s all about working together and supporting each other, and you don’t get that from talking about Drupal as a CMS.
As for did you miss the boat with Drupal 8? Not if you start now. Don’t wait for Drupal 8, in fact don’t use Drupal. Be part of it. Trust the community of peers and do what you can to help the project move along, and if you don’t know what that is then that is most likely a good place to start looking.
Is it that time already?
I didn’t imagine for a minute it would take this long to just describe day zero but I believe it’s of valu - in the next part I will move onto the workshops of the week, i.e. the ones I went to ;) This will cover why Drupal 8 Rules Configuration Management and Data Storage, manages client expectations with Behat, and why sometimes hospitals may seem a good prospect, but only if there’s air conditioning!
Oh, and a boat party and an outside grill with live music. It's not all serious talk on the shores of Lake Balaton you know ;)
Dropping in on the Brighton Homebrew Website Club
Last night I attended the first meetup of the Brighton outpost of the Homebrew Website Club - I had planned on staying in and blogging about my recent Hungarian adventures at Drupalaton but very glad I popped my trusty Respect Your Freedoms-certified Libreboot X200 laptop into my lovely new Drupalaton tote bag & made the short but always eventful trip across the Laine/Lanes border from purkisshq to 68 Middle Street and made progress on upgrading my website to Drupal 8, here's why:
- focused time meant I actually did what always seems to get put back in the queue, and owning my own data and code is important to me in the long term
- time-boxing an hour meant I had no choice other than to prioritise, for me that was fixing an issue I had with getting DrupalVM running.
- collaboration apart from attending the business day at our DrupalCamp Brighton event I haven't been to 68 Middle Street much since I wrote a blog post about Atomised Web Design where I kinda rip into one of the space's founders & organiser of the Brighton Homebrew Website Club Jeremy Keith (@adactio). Four-or-so years on, and thanks in big part to the stern work of MortenDK, Drupal 8 is a whole load better so I don't feel so bad for my not-so-humbledness of old, plus I couldn't miss an event on a topic I'm so passionate about - Freedom!
Show & Tell
Not realising the openness of the space I may have been my usual loud self when chatting to a fellow fashionably late attendee as we walked around the corner of a bar to the main venue space where there were lots of people sitting round tables with one up showing what they'd been working on. There was a wide range of people and interests, with most discussions being around what software and services people were using to control their internet communications.
It came to my turn - I didn't want to even attempt to connect my laptop up to the projector as I didn't really have that much to show so just waved my latest blog post about What is Drupal? around on the laptop and explained that ever since I attended Léonie Watson's DrupalCamp Bristol Keynote: The metamorphosis of accessibility I have been deeply affected by how far behind we still are in terms of providing any sort of acceptable web experience for everyone, and as I started blogging again I wanted to make sure my creative efforts would be accessible and enjoyable. I wrote a description of the photo in my blog post but noticed the correct tags weren't there for accessibility - WAI-ARIA, ARIA Live Announcements API and TabManager are built-in to Drupal 8.
Other people were using a wide range of tools and languages to build their sites, it will be interesting to see how they achieve some of the things I'm going to be doing with developing purkiss.com over the next few months to explain more about what I do, in terms of delivering Drupal projects by working with the community as well as other parts of how I approach my life experience.
Once updates were all done it was time to get down to business. Fellow Drupaler & DrupalCamp Bristol organiser Oliver Davies had mentioned the other day that I just needed to change nfs to rsync in the settings.yml file and that worked. I should've seen that but wasn't thinking - NFS is Windows, I'm using Linux ;) So by changing just one setting I had a whole virtual machine with a fresh, working install of Drupal 8 up and running on my 7-year old technology but freedom-respecting laptop - so much for Drupal 8 is complicated enterprise-only!
Next was reading up on a production-ready version of the virtual machine which I could host on DigitalOcean. Once I learn more about the sysadmin side of things and feel more confident, I'd prefer to host it from home as there don't seem to be any suitable distributed options I know about / could use which fully respect mine (or yours) freedoms - surely there's business to be made there?! I'm also looking at a more home-grown solution from the UK - VLAD, but for the moment I'm going with what I know is working for me and once I'm a little more confident and can inspect a working system I'll see where I can go from there.
I'd just started to get into the production-ready issue when the preverbial bell rang and we were out of time! I made my way up to the Brighton Farm weekly new media freelancers meetup where, amongst many other interesting conversations, I discovered the Cubieboard, which according to the FSF is all good for Freedom apart from the WiFi controller, but as I don't plan on hosting wirelessly this sounds like a good option to investigate for self-hosting.
I'm looking forward to the next Homebrew Website Club meeting in a couple of weeks, certainly managed to achieve movement and am looking forward to getting off the Drupal 7 island into the wide open waters of Drupal 8!
What is Drupal?
Drupal is people. Drupal is figuring out people. Drupal is figuring out how to make things better. Drupal is about feeding yourself and your family. Drupal is about feeding other people's families. Drupal is about going to places you'd never considered going to. Drupal is about laying in the lake and watching the stars at night. Drupal is about making money for your business. Drupal is about making things easier. Drupal is about accessiblity for all. Drupal is about opportunity for all. Drupal will tell you what you need to know. Drupal is there for you to tell and show. Drupal is the push and the struggle. Drupal is the hook. Drupal is about taking those moments to really get your teeth into something you're passionate about and feel like you're maybe making a difference. Drupal is about escapism. Drupal is firing up the laptop and tethering before you get on the plane so you can git clone the latest dev release to take a look through the code until you're sleepy just to show off a bit more Drupal to fellow passengers who may take a glance but also learn something at the time. Drupal is about sharing your costs. Drupal is there to learn how to share. Drupal is there to provide a path to follow. Drupal is about sharing your thoughts and visions. Drupal is finding out where the line is when you didn't even know there was a line. Drupal is finding out the magic of everyone. Drupal is about survival. Drupal is tolerance. Drupal is about sustainability. Drupal is opportunity for all. Drupal is forcing you to face up to your conditions. Drupal is understanding. Drupal is a battle, an upheal struggle. Drupal is simple. Drupal is about sharing. Drupal is about caring. Drupal is hugging. Drupal is your voice. Drupal is special. You are special.
Drupal is your True Pal.
Case Study - NickJr. Colour CMS & API - Feedback sought!
It's been an embarrassing amount of time since I last blogged or did anything to my site so I've started to create some content, but before I submit it as a case study on Drupal's site I'd love to have some feedback, it's been years since I wrote case studies so a little rusty. Is it of interest? Does it help? Does it answer the right questions? Are there any questions you'd like me to answer?
Viacom’s Nick Jr. is a digital television channel aimed younger children, home to popular shows including Dora the Explorer, Angelina Ballerina, and PAW Patrol. 'Colour' is a section of the Nick Jr. website where, daily, tens of thousands of users interact with predefined line-art drawings using paint brushes and stickers. They can then, if they wish to, send pictures they create to their friends via email. The mostly Flash-based front-end currently connects to a legacy back-end system which is being replaced with Drupal.
Completed Drupal site or project URL
Why Drupal was chosen
Drupal's core and contributed modules along with customisable web administration interface provided all the functionality required out-of-the-box and is already used widely throughout the organisation.
Describe the project (goals, requirements and outcome)
The goal of this project was to provide a bespoke back-end CMS based on Drupal to replace the legacy system, along with introducing new functionality enabling Send to Gallery and Pic of the Week features. The CMS needed to as simple as possible for content managers to use, and the whole system had to be able to cope with the tens of thousands of users using the API on a daily basis.
The site was to be delivered as a Drupal install profile so it can be adapted and re-used – an initial step towards creating internal Nickelodeon-specific distributions of Drupal, further lowering costs and time-to-market for future projects with similar requirements. Purkiss built a similar system a few months prior for Universal Artists uView Augmented Reality App and have extensive experience integrating Drupal with 3rd party services so were ideally placed to deliver this type of Drupal project.
First we set up the install profile with Shiny, the administration theme which comes with Drupal Commerce Kickstart, to be the main theme to the site. Shiny is a great theme for this kind of system where there's really only one main display the content managers interact with – it's easy on the eye with good typography and spacing.
We then re-created what functionality was required from the legacy system using Drupal Services – the calls for saving images, retrieving images for a show, etc. There was a major difference here as the legacy system stored all the data in flat XML files with no user data linked. Drupal is a relational database system so we have user accounts, content types and taxonomies – this proved to be an exercise in both education of the client as to the benefits of hooking into the Drupal API, along with re-architecting of the current content model and workflow.
We used a Features-based approach to development with each of these features, along with the install profile, having their own private Git code repository in the cloud in order for issue tracking and maintenance to be easier.
The features we delivered were as follows:
- NickJr Colour Image – stores the user’s image along with a Canvas ID which refers to the line art used, a taxonomy field to link to the associated show, and two flags – one to show if the user has sent the image in to Nickelodeon for consideration to be included in the showcase, and one to denote whether it is in the associated show’s showcase.
- User Profile Fields – extra profile fields to store the user’s name and age.
- Redirect after login – redirects to the front page view after logging in.
- Pic of the Week – Views Bulk Operations Component – one rule to set and one to unset an image as Pic of Week
- Showcase – one to set and one to unset an image as to be in a Show's Showcase
- NickJr. Colour API – the Services settings for the custom API endpoints.
- Shows Taxonomy – with Pic of the Week field
- Always harmonize views filters – Allows views to use both contextual and exposed filters for views
- Front Page – Displays all images, defaults to only show images Sent to Nick
- Showcase – Displays images in showcase, all if no show_id sent through
- User Profile – Displays users images on their profile page
Project timescale and budget was for an incredibly tight 10 days which we delivered in, however were subsequently hired for a further 7 days to re-factor the API and provide a few final additions to the administration interface.
Out-of-the-box, Drupal Services module provide a standard set of API calls so you can do things like create a user, a node, etc. so all the functionality required was there however required a number of calls to the API to achieve the desired workflow. It was decided to spend extra time creating custom API endpoints which would hide this functionality, reduce the number of API calls required, and make it easier for future users of the API.
The downside to this approach is the technical debt introduced when diverting away from the *.drupal.org infrastructure of support, i.e. core and contributed modules. In this instance the code was simply wrapping existing API calls and the client has access to technical resources so the decision was to take on the technical debt in order to produce a more tailored outcome.
We used the extra time to create a RESTful API which abstracted away from Drupal Services out-of-the-box API endpoints along with coding an auto account creation system to link up user data from the front-end without users having to enter their email address, a requirement of Drupal’s user account creation. We documented the API using Drupal’s inbuilt help module and passed the system over to the client, helping them through building the system from the Drush make file.
The resulting system is a clean, simple-to-use CMS with RESTful API handling thousands of users on a daily basis. Content managers have a separate role with very restricted access so can only do what they need to do on the system.
We really enjoyed delivering this project, however alert anyone thinking of building similar to allow extra time, especially if it is their first Drupal experience - no matter how good specifications are, issues usually arise in one form or another. Also often once people do start using Drupal and see the possibilities available, requirements change and it is good to allow for those to be taken into account.
Purkiss helps organisations onboard Drupal through consultancy, development, training and support. For more information about Purkiss services please visit http://purkiss.com
Why these modules/theme/distribution were chosen
- boolean_formatter – makes the user interface a little nicer by providing icons for boolean fields such as ticks and crosses
- CORS – required for connecting to the front-end
- EVA - we used an Entity Views Attachment to display users pictures on their profiles
- features - features allows you to export configuration settings to code
- filter_harmonizer - Views Filter Harmonizer fixes an issue when using multiple filters on views
- mimemail - used to send images via email
- rules - as described above, used for redirecting user on login and for custom views bulk operations
- services - used for the RESTful API
- shiny - an administration theme we are using for the entire site
- smtp - for sending email
- strongarm - for storing variables in features
- views_bulk_operations - to enable easy workflow, such as adding an image to a showcase
- views - so we can display the data we want easily
As the API is specific to the client and used mostly existing functionality we had no code to contribute. The only custom code was for automatic account creation and there are existing modules which provide similar functionality which we used the code from but is too specific to this install to re-use externally.
This is however the second time we’ve been asked for this sort of system, and with the growth of mobile apps we are currently working out whether it would be possible to create a distribution which will help get most of the way there - at least have relevant modules and perhaps an example scenario based on the simple image requirements for this project.
drop.coop podcast episode 1 - Drupal Drop In Sprint London Saturday 26th January 2013
Audio & Video tracks also available on Archive.org
drop.coop podcast episode 1 - Drupal Drop In Sprint London
- Robert Castelo
- Stefan van Hooft
- Pedro Cambra
- Steve Parks
- DrupalCamp London in March - a marriage made in…
- drop.coop - Europe vs. U.S. ways of doing business
Drupal Association Election 2013: Why I am withdrawing my candidacy, and who I'll be voting for
It is that time of year again when the Drupal community (1/4 of a million people last time were eligible as they had logged into their drupal.org account at least once in the year previous, although only 655 voted, roughly 0.25%) have the opportunity to choose who sits on the Board of Directors of the Drupal Association, a U.S.-based educational non-profit organization that tasks itself with fostering and supporting the Drupal software project, the community and its growth.
Well, I say that time of year again, but actually the first of these community elections, where Donna Benjamin and I were voted in, happened less than a year ago back in February. The election has been brought forward in order to align the yearly goal-setting which was made before we were elected, so we had no say over the 2012 goals, and however strange it feels as we haven't had our full year to show what we have done before the community is asked to vote again, I believe we can use this to our advantage.
For a period of a few months, the Drupal Association will potentially have four community-elected Directors, which is one of the reasons I've decided to withdraw my candidacy for re-election. If I am re-elected, we will only have three, going back to two in February 2013 when Donna's and my terms finish. Why is this so important? Read on...
At the moment there are twelve seats on the Board. Two are empty, and one is nearly or is free as it is currently held by someone who had made it clear they couldn't make the meetings - I've certainly never met nor heard from them. That leaves us with seven - Dries Buytaert, Danese Cooper, Angela Byron (webchick), Tiffany Farriss, Jeff Walpole, Vesa Palmu, and Cary Gordon. These elections are for Donna and my positions, which only last a year, and you are eligible to vote if you have an account on drupal.org, logged in during the past 12 months, and created your account before 31 August 2012 when the election was announced. The remaining three positions are to be chosen using a nominating committee.
As for the make-up of the Board, Dries and webchick are both Acquia; Danese is Open Source Strategist for Bill & Melinda Gates Foundation and on Board of Open Source Initiative; Tiffany runs Palantir.net along with husband George DeMet; Jeff runs Phase2 Technology; Vesa runs the recently formed Wunderkraut (previously four companies); and Cary Gordon, who runs the Cherry Hill Company - "a Los Angeles based boutique system integration and development shop serving libraries, education, non-profits and NGOs", has history in running many, large, music concerts, and used to be Events Director for the Association.
Donna runs a small Drupal business in Australia, and I have been freelancing building web sites for the past eleven years. The last seven of those I have been focusing on Drupal, and the last few of those years I have been trying to build a business as building web sites myself doesn't fill me with enjoyment - it is something which paid the rent after I was made redundant back in the dotcom days where I was consulting on, and winning, web site projects which had six figure budgets.
Then there is also an Advisory Board, although my only contact with them personally was during DrupalCon Denver where we had a strategy session together late in the evening after the open Board meeting - our Board meeting ran late during DrupalCon Munich so at 9.20pm it was decided to can the planned strategy session.
Learning Drupal the Hard Way
In order for this story to make sense, I have to delve into some history. I'd love not to have to, and believe it or not I've tried to make it as brief as possible.
What makes me get up in the morning and work late into the night is creating value by connecting people with people, people with technology, and technology with technology - after all, my core process is "fostering connections". I discover who and/or what needs to be connected for mutual benefit, I connect, I check the connection is working, then I go elsewhere and rinse and repeat.
In 2005 after a few years of helping people on the business network Ecademy find out more about free software, for free, I came up with a concept of how I could make money out of my talents as a connector, and in turn others could make a living out of whatever their talents were, simply by raising the intangible free software into the tangible world via a scalable variation on coworking spaces, which were beginning to crop up at the time. I coined the rather long title of Organic Open Source Cafe Coworking Concept and was so sure that everyone else would "get" the idea they would be throwing money at me to build them all over the world!
I had a mentor through Ecademy at the time, and one particular day when I was stressed because no-one was throwing pots of money in my direction, he recommended I needed a break. He was doing a talk in Toronto that weekend, so I thought where better to chill out than above the clouds, and promptly booked my tickets. Ecademy itself is a Drupal site, however I wasn't using Drupal myself (I had settled on XOOPS after working my way through the *nukes) and had the same view of Drupal as many still do - I thought it was just too damned hard to even bother taking a look.
I loved the "go for it" attitude in Toronto and decided to return home, pack up, and come back to Canada for a while, see if anyone there would throw me pots of money. The first few months were fantastic and I met many luminaries of Free Culture, including Lawrence Lessig (creator of Creative Commons), Eben Moglen (founder of the Software Freedom Law Centre), and John Terpstra (co-founder of the Samba project). We spoke at length about my concept and got some great responses and feedback. I then met a girl who I didn't realise hadn't been on "meds" for three years, in fact I didn't even know what "meds" were.
Without getting into the ins-and-outs, let's just say it didn't get much better from hereon in, apart from one thing which happened which was one of the XOOPS websites I made for a client, the now defunct LinuxVAR.co.uk, was relaunched in Drupal, which really pissed me off, so I finally cracked open Drupal and was hooked straight away - I couldn't understand why they weren't shouting about how good it was!
At the time I couldn't be seen to be interacting with anyone else, so I learned Drupal just by downloading modules and reading the code. I was quite adept to this as when I first learned how to code at the age of nine I spent most of my time in my bedroom on the computer playing around with code. I couldn't control my parents arguing, but I could control this amazing virtual world I had in front of my eyes. Having spent my childhood buying floppy disks of Public Domain software pre-Internet, I didn't know there was this whole "community" side to it, but I did realise soon that it could do everything the software I had previously been selling for £70k+ per licence, and all for Free.
Thanks to a good friend, I finally managed to "escape" the bad relationship and return back to the UK. I ended up going bankrupt a few months later, but shortly before that I tried my first piece of community interaction, I posted a little module I'd written for displaying your LinkedIn profile in a box. Five and half years on, still no response. OK, so it was probably posted in the wrong place, but how was I supposed to know?
After bankruptcy I picked myself up again and managed to build a good business because I knew Drupal. A year later I managed to pick up a great project for Mazda, and I used that money to move myself down to Brighton where I soon set up a local Drupal user group, and last weekend we had our second successful DrupalCamp, with everyone from career-changers to schools, charities, and multinational corporates turning up and joining in. The rest is history.
Although I've been in the Drupal world for many years, I still feel like an outsider sometimes, and I know many others feel the same - we have the Drupal "echo chamber". I remember once picking up webchick on a point during DrupalCon Denver when she said "100% of the community want this function on drupal.org" - I pointed out to webchick that it was actually "everyone you asked", as I'd asked everyone in the Drupal party the previous night and none of them even knew there was anything going on with drupal.org. Many people don't even know drupal.org is there or what it does.
Even when I'm lucky enough to be sitting in the back of a car with UID1 himself (although I learned recently that he was actually UID2 originally as it was his mate who installed Drupal first before he asked to swap UIDs!). Those who submitted code seemed to be the ones who were looked after the most, but I know from my previous experience of many years working in software houses that it takes more than coders and designers to make a successful project, it takes project managers, sales people, marketers, etc. to provide an all-round offering. If you leave geeks to do marketing they will do their best, but a better option is to get them connected to people who are experts in their field.
The Simple Solution
Drupal wasn't, and isn't built by money, it is built by people with passion. And some with money, no doubt, but the extremely long tail of the Drupal community is what makes it work and keep on growing. At the moment that works with code, but it doesn't successfully reach out to many non-code focused people. Marketing people, sales, project managers, etc. all mostly work outside the issue queues and in companies - they still work in a proprietary way, and that doesn't scale. The trouble is, if it's not on drupal.org, it's not on the same system which successfully created the software and the coding community.
The result of this is we've made a wonderful modular piece of software, we just haven't built the modular business model on top of it yet.
This is what we are beginning to fix with DrupalBAM - Branding and Marketing Committee. This is not a committee to create any chains of command, it is simply to put a system in place so those who want to join in and contribute to the project can. As webchick said during the Governance BoF in Munich:
"Things like committees and charters, they're scary words, even though it's not that scary, it's just putting people where an individual used to be in a lot of cases, or putting five people where a hundred people used to be"
We are essentially open sourcing Drupal's branding and marketing processes. This means working on big ideas, but also attending to the details at the same time, like helping get through the marketing-related issue queues. Because we are now "on the system", we can do things in parallel, and anyone is free to join in and help. It is going to take time for people to get onto the system and used to what little flexibility we have on the current system, but already it is working and we are seeing results.
As more people use the system, more issues will be resolved, more different ideas will be shared, the easier Drupal and *.drupal.org will become to use, and we will have a more rounded and fair community, with more people having an input, and more people helping out.
At the moment people are shouting "just do it" but not telling people what they want them to do, and even when they do they seem to make it as hard as possible to do. The amount of times I've looked at issue queues and run away, yet within five minutes of talking to someone it all became clear - that isn't scalable quickly though, unless we all start making short video tutorials, but better to make it easier in the first place to join in. As Jared Spool said in his DrupalCon keynote, you either have to raise the level of knowledge of your users or lower the complexity of your software.
Much work had been done on marketing before, but in many different places and having many of the same conversations - I know because I spent a ton of money going around as many Drupal events as I could in order to learn as much as I could about the business side of things as I have had little help from "official" bodies who are supposed to provide support and help for those who want to build a business, but the Drupal CXO people were all sharing ideas, and I was listening intently.
Why we need more representation on the Board
When I could finally afford to go to my first DrupalCon it was only a couple of years ago in Copenhagen. I had just been to an event here in Brighton entitled "Connecting Innovation" where Ken Thompson did a workshop and a talk on "Virtual Enterprise Networks". I read the book and the model Ken had created and used with clients including NASA seemed to match pretty much how the Drupal community looked to me - lots of companies, freelancers, and people across the world all coming together to create something bigger than the constituent parts.
I was really excited as I'd spoken to many people who had trouble finding work even though I kept hearing of this "Drupal Talent Gap", and the only way to get work seemed to be either be great at business, or work for a company. For many, Drupal is about Freedom, and the thought of doing a 9-5 is pretty abhorrent to many I spoke to. Drupal is also different in that the person you want to help you could be the opposite side of the world, it's such a big project it's impossible to know everything about it.
As I mentioned in my previous nomination back in February, I saw someone I knew was on the Drupal Association Board and asked if there was anyone I could speak to about this method which meant we could all collaborate on the business side only to get a response of "They're all very busy working for very large corporations", which of course threw me a bit. It didn't give me a great impression of the Drupal Association, and instead of pursuing that, I spent the next eighteen months working out the starting point for this so I could do it myself.
Eventually I worked out the first and most important part was to create a live skills heatmap so we could see who's available where and when, and what skills they have. That can be companies and individuals, and would enable us to work more like the film industry does when they come together to produce a film. It also mimics the natural world much more, for example starlings where no one single one knows the whole journey but together they do.
I began this year pursuing this and it was my intention to go round the events so I could talk to potential members and clients. It didn't turn out quite like that because at the second event, CXO Process event in Amsterdam, I bumped into Vesa Palmu and upon asking him about the elections which were going on he said there had only been a couple of people nominate themselves. After my previous experience with the DA not wanting to talk to me I thought "Well, they would have to if I was on the Board, right?" and as it was deadline that night I decided to nominate myself. Amsterdam can be trouble sometimes!
The next day a Drupal friend had made me a graphic "Vote Steve!" image and within a week I was voted in. I got a fair amount of backlash for the "Vote Steve!" thing, but I'd personally never heard of an election without a campaign, and at the time it seemed like a bit of fun. I'd helped many people out over the years with Drupal, and well-known in the community, and as it was a community position I felt "well, if I didn't have a community of supporters, I wouldn't really be a good representation of the community, would I?". Sure, we want people from under-represented countries, but as mentioned above, we have three further seats on the Board available which could help there, plus we could always consider opening up more seats.
It was a strange start to my Directorship, but within a month or two we had already managed to take the work we'd been doing on marketing and with the help of the Board we created the committee and charter. Ben Finklea was chosen to head it up as he had 'made it happen' in Denver at the marketing BoF, and whilst others had done much groundwork before, it was Ben who took the lead over the final hurdle and got everything and everyone in place to make it happen.
Admittedly I went into the Board with guns-a-blazing, however I realise many issues arise due to lack of, or no communication, and have grown to highly respect each and every person on the board. They have all made remarkable contributions to the Drupal project, and we have a wonderful opportunity to broaden the reach of the Board and we should be focusing on that.
Looking to the Future
DrupalBAM is just one solution, we need to focus on improving our own communication tools. We seem to have to use a different web conferencing each week - when this is such an integral part of how we collaborate it is essential that we invest in our own, free and open source, scalable systems. I've started a discussion on improving web conferencing tools if it's something you're interested in.
Biggest of all IMHO is helping move the Commons 3 project along and get it onto gdo so "normal" people can collaborate easier. There's some prototypes here and I believe Acquia are helping, but we shouldn't always look at other people to help, we need to work out ways to fund these sorts of initiatives ourselves and share the load.
The Drupal Association needs to focus on improving the tools we use, and working on stuff which a business couldn't necessarily make money out of but is of great use to the community. There is one candidate who is on the infrastructure team, and although I thought at first that wouldn't be a good fit, I'm actually thinking it might be the perfect fit - providing we don't just focus on the devs but the community as a whole - I'm sure that's their plan anyway.
Looking Even Further into the Future
The trouble with everything being on *.drupal.org is that then provides one central point of failure, one point of control. Absolute power corrupts absolutely, so it's something we will need to look at and try to solve. Exploring possibilities of the federated web is where we should be looking to next, but hey, let's get past this period of growth first before we worry too much about that.
Finally - Why?
Because if we don't massively and quickly improve our communication both internal and external, we may end up thinking the Drupal Association is something like this:
We have something special here with Drupal. My most memorable moment is at an OpenAtrium BoF in Chicago when most people were from universities and government institutions, but there was one guy sitting next to me who was built like a brick s******e - I asked him what he did and he said he helped prisoners on their 12 step programme when they come out of prison - he'd just downloaded OpenAtrium and was using it, thought he'd pay his few hundred dollars and come along to DrupalCon to find out what else he could do with it.
Drupal changes lives for the better, let's not lose that by voting in people based on whether we like them or not - read through their nominations and think about how they can help us grow and help us navigate safely across the chasm from innovators to early adopters and get in ship-shape ready for Drupal 8, which in real terms is not that far away when you consider how much catching up we have to do in certain areas. A manual process needs to be backed up with systems in order to scale.
When I decided to nominate myself for re-election it was because I didn't know who was going to put themselves up for nomination, now I am happy that there are many there who have far much more experience, passion, and energy than me to do what is needed in order to move successfully forward through the launch of Drupal 8.
These last few months have been an incredible journey, but it has cost me much in terms of cash and health. My 71 year old mother who has been through many illnesses was in hospital yesterday as cancer has spread to her other breast. She's out now and recovering, but again it is a reminder to me that life is short and I need to focus on getting my own life in shape and be happy again, and perhaps one day find or make a bucket of money so I can build a network of community spaces as I mentioned above ( offers of help welcome ;).
I will still be a Director until Feb 2013 unless I get chucked off ;) I hope you choose our new Board members wisely - I'm sure you all will, especially if you managed to get this far ;)
BTW, Vote Matthew Saunders, he has by far the most appropriate experience along with the passion to see it through and will serve us well. As for the others, well, I already mentioned the infrastructure side. Other than that, look at who's ideas are scalable, we have less than a year until the potential release of Drupal 8.
Stephen B. Purkiss