People may not want to open source things due to the extra work and potential problems it can generate.
Just opening something up will in many cases require cleaning of a codebase intended for one person only (the author), probably require writing support documentation etc. Getting ones name associated with sloppy code (or what is perceived as sloppy code) may cause problems professionally, getting ones name associated with some code release _will_ in most cases generate extra mails and/or harassment* even if the code is released as is. Don't forget the GPL/BSD/whatever licence fanatics that will harass people to change the licence to their preferences even if they don't care of the actual code or can't even code...
For a project in development there will be a greater workload in keeping the code up to date, documented etc. A coder can be very productive, two coders on the same project decreases productivity and having several coders can decrease output greatly.
(* yes entitled pseduo-psychopaths are everywhere - see the "greater internet dickwad theory")
Edit: I actually have had an idea of a "fork-off" licence that perhaps will be realized one day, essentially a PD license with a "do what you want but don't bother me, fork the codebase to enhance it" philosophy.