Daniel Berrange

75 points
User profile image.

Daniel has been writing open source software at Red Hat for 16 years, as lead architect for the libvirt project and is involved in all levels of the virtualization management stack. Daniel has also developed the Entangle application for controlling DSLR cameras from the Linux desktop. After a long term interest in photography, attention has turned towards mastering historical and alternative photographic capture and printing techniques. This has resulted in design & creation of many pinhole cameras and experimentation with lumen and chemigram processes. A chance discovery of the existence of a central London astronomy club has also lead to work in astrophotography and radio astronomy.

Authored Content

Authored Comments

My first upstream contribution was during my first job post degree in 2001. Our company, Bibliotech, had an community website for schools which was translated into many languages. It was written in Perl as it was starting to get usable UTF-8 support, but we hit a few bugs during testing. One function would report string length in bytes instead of characters, and in the regex engine '.' would match bytes instead of characters. I sent a patch for the first problem which was merged a day later, and a reproducer and partial patch for the second which was then properly fixed by the maintainers a few hours later.

https://grokbase.com/t/perl/perl5-porters/0183apbbsp/utf-8-bugs-in-stri…

I learnt that the Perl maintainers were very responsive and that the Perl regex engine internals were very scary.

Another important thing I've found is to make a positive effort to get new contributors involved in the daily operation of the project, so that they have a stake in its future success. If there's a group of project maintainers who have commit access, and must approve all contributions, try to periodically promote regular external contributors into this role. Try to avoid the trap of thinking you have to wait until they have the same level of knowledge of the code as existing maintainers. Instead promote people early in the expectation they'll grow into the role more quickly. This is particularly important for projects that start out dominated by a single vendor, as building diversity is key to long term health of a project - if the original vendor looses interest, it gives the project a better chance to survive without them.