proprietary programs

Many of these problems are not specific to Free Software in particular, but to volunteer software. Hobbyist proprietary programs often have poor designs for many of the same reasons. But the easiest way of getting volunteers to contribute to a program is to make it open source.