You are right it is a delicate balance both in terms of my goals for the project and my personal goal to make a living doing this. I'm not saying no, I'm just saying not now, not this minute. Things will evolve in all the features in due course.
I have no plans to abandon support for Mono nor any of the supported dbs. Its a little more work to support all these dbs but its not as much more as you may think. Others who develop custom modules don't have to support more dbs but things included in the core or the core feature set do have to support more dbs. If someone contributes a feature that I find very valuable and they only implement MS SQL I am willing to implement the other databases, this is how it worked for the Poll and Survey and Content Workflow that were all contributed by community members.
Supporting Mono requires only a little extra attention for case sensitivity and file paths, any problems are typically Mono bugs so testing and reporting to the Mono team is also part of the process. Yes we pace ourselves against what is supported in Mono but it does not hold us back much, we already target .NET 3.5 SP1 much to the chagrin of even some windows users who wish we could still run in 2.0 .NET.
My biggest challenge is that I do not have a lot of time to coordinate the efforts of others who would like to help. If I were already profitable I would make more time for this and encourage more community contribution but in my experience often when people want to help they end up using more of my time than it would have taken me to implement the feature myself and this merely slows me down on my own work and ultimate slows progress rather than speeding it up. Rock star level senior developers are able to help without too much of my time and direction but this is not the average person who offers to help so I can really only receive help efficiently depending on who is offering help, what they prospose and how throroughly they propose it and whether I see enough value in it to commit my own time to working with them. Its very difficult for me to know what level of developer is offering help. The really good ones either submit a detailed propsal of what they want to change/implement and how they plan to do it or else they just send me finished product that is so good I naturaly agree to include it. But even reviewing code takes a biit of time and I only let stuff in if I think the quality is good enough for me to own and maintain the code going forward.
I remember how the Rainbow Portal Project encouraged too many people to help, gave too many people committ access and they all coded in different directiosn with no strong leader coordinating things, it finally seems to have self imploded at this point.
If you look at the track record of mojoPortal I think you will see it is evolving faster than many projects who have more developers in spite of the fact that I'm doing the vast majority of the work myself and supporting all these databases and providing support in the forums. So something must be right about my process if I'm gaining ground on these more established projects with teams of developers.
Best,
Joe