If I create a Distributed App, am I obligated to make that code open source? I fully appreciate open source is the preferred mode, just curious if I can keep my code proprietary. Does it matter if it is on a private or public blockchain?
You're not obligated to make your code open source. Publishing code is a good thing in regards to contribution to the Dapp community but keeping it private also has some advantages. For eg. The DAO attack might not have occurred if they hadn't published the source code.
Also, it doesn't matter if your app runs on a private/public blockchain. Through private blockchain, privacy is ensured to your data and you can have custom parameters, but this comes at a cost of trust and reliability i.e., you have to trust all the nodes in your private network.