Someone recently said to me, "Open source doesn't mean free, it means freedom".
I couldn't agree more. Open source means that you have the freedom to take the code, adapt it and use it in whatever capacity you need, without being locked to us to make changes for you. Yes, we happen to give the software away for free because we believe that, with your help, the software can mature faster and generally be a superior product.
It is important to us that our community understands our perspective on this: we are not developing the software to suit your specific needs. We're developing it to suit the needs of the majority. Any customizations that are very unique to your use-case should probably be programmed by you (and hopefully submitted back to us so that the next person who needs what you've built can get access to it). It is doing a disservice to us and to the community in general when new members get upset and complain if we decide not to add the feature you want to the product. Our job is not to take lists of feature requests and work on them tirelessly for free. Our job is to make the core software work well on as many platforms as possible, serving the majority of use-cases.
Vanilla is pluggable for a reason, and we're working hard to improve our documentation so that people can more easily write plugins to achieve their goals. You're not tied to us in any way, and you shouldn't think of us as the answer to all your problems. Problems exist for everyone, and your first offense when facing a problem that isn't solved by the core product is to figure out how to solve it on your own. Failing that, think about hiring someone to solve it for you.