Well, I spent many years doing nothing but proprietary development... all trade secrets, etc. even though the language/database system was based on an ANSI standard language. Now I'm consulting for a small startup, and we are also trying to balance open source vs. proprietary development.
So far, the approach that we are trying to take is as follows: when something we need to write is of general usefulness, such as improving string handling, database access, decimal arithmetic, performance, we'd like to contribute it back to the open source community (I've been trying the last two weeks to deal with some string issues, plus I'm hoping to collaborate with some of the other really smart people contributing to Julia, like Steve Johnson on decimal arithmetic & Jacob Quinn on the ODBC binding. It's a win-win for us, because in some sense, it's like getting the work of other really smart people for free... (of course, it's a two-way street, hopefully we'll be able to give as good as we get...)
