Lukas Smith on how Drupal and Symfony mutually benefit from cooperating
Part 2 of 2 - I had the great pleasure of speaking with Lukas Smith at SymfonyCon Warsaw in December, 2013. Lukas is a major contributor to open source and is involved in a range of projects, including the Symfony framework, Drupal, and many more. He is one of the 50 most active contributors on GitHub. Thank you, Lukas!
In part one, we talked about how Lukas manages to contribute so much to so many open source projects, social competence in open source (I love this quote: "We talk about social incompetence among geeks, but actually I think many open source developers have a social competence that other people in other industries might lack, which is accepting people for who they are and finding common ground on the code that we love."), and aspects and potential benefits of the the PHP Content Repository specification.
How Drupal and Symfony2 started dating
Lukas was involved in the early conversations with Drupal core developers that led to the adoption of several Symfony2 framework components into Drupal 8. He was yet another PHP type who had written off the Drupal community as being ruled by the "not invented here, I gotta do my own thing" mentality and was pleasantly surprised when Larry Garfield contacted him about Symfony. "We got to talking. Initially they [Drupal core folks] were just looking for a way to objectify the request data. In the Symfony2 world, that is represented by the Symfony HttpFoundation component, but it turned out to be a little bit of a gateway drug I guess because more and more things happened after that."
Some of the "things that happened after that" are Drupal 8 pulling in a bunch more Symfony 2 components, the Twig template engine, and several other new libraries. The "Getting off the Island" campaign successfully took the Drupal project from "Not Invented Here" to "Proudly Found Elsewhere". The benefits of "open-sourcing our open source project" are manyfold, from getting a larger developer community and therefore better code, to having more influence in the broader PHP landscape, and more.
Our Drupal tool belt just got more awesome
The architectural changes in Drupal 8, adding Symfony2 components, making it easily compatible with lots of other libraries and projects, seriously expands my toolkit as a Drupal developer. "If you're working more as an end user, maybe not as much will change. You get more high quality code or it might work better. But if you're willing to dive a little bit deeper, there are now lots of opportunities now working on the thing that you love – Drupal – but still interacting with other people. You have that as a career opportunity, as an opportunity to meet new people, to get around!"
"We've gotten a few feature requests from the Drupal world, but we've also gotten patches from the Drupal world and people like Larry who traditionally have only been speaking at Drupal conferences, they are now out there. Cathy Theys is here at the SymfonyCon speaking. It really is an opportunity to meet new people, meet new communities, and broaden your expertise."
Symfony just got more awesome, too
Now that the Drupal community is getting to know the Symfony2 framework, "There are a lot of people providing feedback on how it works or how it doesn't work. There have been several feature requests that came in from the Drupal world that make absolute sense. Maybe it's part of that, but last year, it felt like every month some CMS was announcing that it was adopting at least some of the Symfony components. I think that Drupal in many ways paved the way. Many other CMS's were saying 'If we want to keep up with Drupal, we gotta get on this! We can't waste our time doing the stuff that Drupal is getting for free.' Drupal showed it is a viable approach. It increased our user base considerably. I read in Dries's blog post that he's hoping to get more talent by adopting more of the general development principles, but in turn, I am also hoping that this will bring more talent into the Symfony2 world. Drupal developers who were previously [just] working on the [Drupal] core, now when they are fixing something in core, the fix is a patch to Symfony." Bonus: those developers are now also qualified to take on a whole new range of projects and problems.
"We're exchanging code. It's kind of funny, I also work on the [Symfony Content Management Framework] CMF initiative, which is sort of a competitor to Drupal. We built this routing component that extends the Symfony2 routing system to enable dynamic routing, which is critical if you need to determine if a route exists based on data in a database. Drupal 8 is actually adopting that as well, but EZPublish is adopting it, too! We've had a few patches from Larry and other people on this component, so effectively now, they are also EZPublish developers." Open source takes the whole 'strange bedfellows' concept to new levels.
Lukas goes on to talk about the difference between Drupal and the Symfony Content Management Framework being that Drupal is targeted at site builders who want a ton of functionality without having to code. The Symfony CMF is the exact opposite: very sleek, very specific CMS functionality targeted exclusively at coders. He also thinks it might be the working prototype for Drupal 9 or 10. *grin*