At CivicActions, we promote free and open source software. The Google Summer of Code initiative presents an opportunity to help create new participants and enhance the free software produced by open source development communities. As such, I have agreed to serve as a mentor for several Drupal-based projects.

There are currently 39 Drupal proposals from students, I have reviewed six submissions from students in India and Pakistan, and will be serving as a mentor for projects #23 and #31. Both projects are building Drupal 8 modules, which I have been doing for over two years, including Password Policy, Password Strength, Taxonomy Menu, Key, Encrypt, Field Encrypt, Services, TFA, Multiselect, and many others. I felt I was in a good position to help steer these students development efforts.

Project #23 is an effort to port the Google Authenticator Login module, for two-factor authentication, to Drupal 8. Original discussions focused on doing a direct D7 port, which was an approach mentioned within the module port issue (https://www.drupal.org/node/2665896). However, this approach would require duplication of the TFA module’s sponsored code around two-factor operations. Leveraging TFA as a dependency and writing a plugin for Google Authenticator is more simple and helps abstract the general purpose operations within a module that can serve other two factor authentication use cases as well.

Project #31 is a new module that focused on furthering data-at-rest security by applying ownCloud’s encryption scheme within Drupal. This scheme manages asset-level encryption by a sharing keys between users and assets. Data is then encrypted for assets with user-specific credentials. While this presents many practical challenges (performance mainly), the project is an intriguing use case for the APIs I built for Key, Encrypt, and Field Encrypt modules.

I’m excited at the prospect of working with any of the selected students sponsored by Google. I look forward to providing the students true hands-on, practical experience working within an open source community. My desire is to collaborate on problem solving and help teach effective development methodologies and architectural considerations. This is an incredible way to give back and build future leaders that could have amazing impact. At CivicActions, it’s opportunities like these that we believe help better the world.