Part 1 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!
How do you contribute so much?
About his contribution he says, "I don't know how I got to that number. I try to comment on tickets, try to network people, to encourage them to talk ... I guess it's mostly commenting. I guess I do a lot of that." Lukas is a partner at L//P (pronounced "leap"), "I can do part of that as part of my role at L//P." He says he has 8 hours of work time for pure contribution and probably adds that much again or more from his personal time. Projects he is a part of include Doctrine, PHPCR (the PHP content repository), Jackalope (the reference implementation of PHPCR), "a bazillion bundles for Symfony2", "and other stuff ..." :-)
Open Source - communication, competence, common ground
Lukas talks about meeting PHP core developers at LinuxTag 2001 and how open and accepting they were. "The cool thing about open source developers in general is that it attracts a certain type of people. 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."
Getting off even more islands: PHPCR
I was already excited about the idea of the PHP Content Repository specification as a way to standardize data storage and make it easier to exchange data between different systems. Lukas blew my mind a little bit when he explained, "We base this on the Java content repository specification (JCR) and the reference implementation of PHPCR [Jackalope], actually talks to the reference implementation of the Java spec ... This is really exciting. We're not only building something for the PHP world, we're actually bridging two communities that traditionally don't 'get along'. We're not compatible at all. That's really exciting. We've done tests together with Adobe CQ and Magnolia that both use that reference implementation as their storage repository and we can talk natively [using] PHP objects and talk to their storage and exchange data."
"At the same time, once we get this into more PHP projects and CMSs, then we can exchange data more easily, but we can also work together. Rather than Drupal building their content repository, figuring out how to do versioning, how to deal with large binary data ... Typo3 doing the same thing, and Joomla! doing the same thing, we could start exchanging code and focus our energies more on what sets us apart rather than redoing the same things in all these different places."
"The success of PHP is undoubtedly linked to the success of CMSs built with PHP, but these have such long histories. We were just evolving these APIs, adding things on, removing a little bit ... so many of these APIs are just not as consistent as they should be. The great thing about PHPCR is that we built this on JCR, which has 12 years of time that they put into this to come up with a consistent API around all the needs you have for content management systems. We've applied all that experience."
Lukas is hoping to see PHPCR in Drupal 9 ... :-)