As for the dillema of how to distribute - I would still say that "encrypting" database or merging closed-source modules with open-source base would be quite pointless, as dishonest people will be able to bypass it (with more or less effort). Having everything open sourced makes it less work for you, with - probably - same results - honest people will pay for it as you request.