Fedora Repository Contributor Danny Bernstein–A Musical Approach to Fedora Flexibility

The Fedora repository project relies on many individuals and institutions to ensure the project's success. We are grateful for their commitment and will showcase their contributions in a series of community profiles aimed at recognizing our contributors’ achievements, and introducing them to the rest of the community. This is the first article in the Fedora Repository Contributor Profile series.

Danny Bernstein has a long history with DuraSpace technologies and is a new contributor to the Fedora repository team. His focus is on core Fedora performance issues particularly as they relate to development of the new Hyku repository.

Please share some information about yourself and your interests.

I am one of the founding members of DuraCloud development team and an ongoing contributor to all aspects of the project and service.  I enjoy the challenges of building high-quality software in the service of long-term digital preservation.  When not working on DuraSpace projects,  I am an avid pianist,  a father of a nearly four-year-old, a husband, and a slave to the seemingly endless demands of my crazy DIY house projects.

How long have you been working with Fedora?

I have been working with Fedora now for about six months.

What attracted you to working with the Fedora repository team?

Initially I was  moved to contribute to Fedora for three main reasons. I wanted to support the overall mission of the DuraSpace organization and by extension the repository community.  I was also interested in developing expertise in the Linked Data Platform.  Last but not least, I have enjoyed working with  Andrew Woods directly in the past and I was looking forward to working with David Wilcox who I have gotten to know and really like. With funding from an IMLS grant for the Hydra-In-A-Box project,  I was invited to help support the effort by working on Fedora issues that were affecting the performance of Hyku repository-related use cases (Hyku is the Hydra-In-A-Box repository product).  In order to gain familiarity of the codebase I began by participating in release testing and bug fixing.  Once I was acquainted with the Fedora development culture–the community of committers and coding standards and practices–I began to branch out into working on core Fedora performance issues as well as other modules and tools that enhance the value of Fedora.  For example at the end of 2016 I participated in the Import Export Tool (fcrepo-import-export) sprint.  Currently I am working on improving the performance of retrieving containers with large sets of dependent objects such as books.

What aspect(s) of contributing to Fedora development have you found to be particularly rewarding?

It is most rewarding to deepen my understanding of the what is involved in creating community software.  The Fedora committers  that I have worked with care deeply about the quality and viability of the software.  They are devoted to building consensus in determining the future direction the software will take. They give friendly, thoughtful, and rigorous code reviews  which spawn meaningful discussions,  enhance the skills of contributors like myself, build collegiality, and ensure that the product of the work of so many minds is coherent and maintainable.  I am genuinely impressed and inspired by the amount of love and care that goes into this collective act of creation.  A deep bow to the leadership of Andrew Woods (Fedora tech lead) and David Wilcox (Fedora product manager), to the circle of core committers, and to the wider field of contributors who bring their energy and intelligence to the project.  The process ain't perfect, but it is the best I've seen and does offer the world a realistic and effective approach to open-source community software creation worthy of emulation.  I have become a better programmer and a better person through my work on the project and the largest part of that gain has come as a direct result my involvement with the community.

If the Fedora repository platform was a house, what would your next home improvement project be?

I think it might be the music studio. Or perhaps a tree-house with a minibar and a zip-line to the roof deck?  No seriously,  I think it will probably be something like adding a big solarium to the main living area with large sliding glass doors to open out onto the patio.  In other words,  working towards making Fedora more friendly to an auto-scaled environment so that it can scale up or down dynamically depending on the repository size and system load in any particular moment.