You can do whatever you want! It`s your code so you are the owner of it. If you want to sell it as closed source, you can do it, if you want to publish it as open source, you can do it. You can also dual license it and releasing a LITE version if that`s your approach. Honestly, there`s no real argument for any of the before-mentioned approaches as far as pro`s and cons. Each has its pros and cons. If you dual license it, you can sell the "closed source" for xx amounts of money whereas you can offer "specialised" services on top of the open source version. If you sell it only as closed source, you should offer premium support for the code, so be sure ( and able ) to offer that kind of support.
Monetising projects isn`t that hard, you need to find a niche market ( which i`m sure you did ) and sell it. Or not. Your choice. Personally, I`d stick with open source. You`re free of all the hassle and worries of people trying to steal or duplicate your code. Also, you can offer the "specialised" services, creating ( and thuss selling ) modules specifically designed to work with your code. Seems a fair deal and once paid for, you can integrate it into a new Open Source version of it ( if you retain the rights to that code offcourse

).
But that`s just my personal view on how to monetise projects like yours, I`m sure the others will have a slightly different view
