File format compatibility is the notion that whenever someone develops a new application, they sometimes insist on using a file format that no one else uses. While there are standard formats out there, they aren't always used. Anytime I want to incorporate a new tool into my pipelines, I have to write a wrapper to convert my data into a format suitable for said tool. I keep building format converters but it seems that I never run out. There is always another one to write.
Application ease-of-use is idea that if you develop an application, and put it out there in the open-source world, you should, at least, make it easy to install, and to use if you want anyone to use it at all. There have been instances where I've spent multiple days trying to get an application to compile or install. Documentation is also important. Without good documentation, figuring out how to program works isn't always fun or easy. Sometimes, I would rather just spend the time writing the software myself.