Managing the middle, often overlooked, and possibly the achilles heel of open source.
3 developers can’t take care of 3000 customers specific needs and continue to develop.
As soon as you create a privileged group, you have broken the sharing and contributory spirit of open source. The middle level should be the bridge from developer to neophyte. And along with new users, the source of some of the best ideas. For this middle level to grow, it has to be nurtured and rewarded.
Relating my own experiences with vtiger. I had a better understanding of that system than 95% of the people that were asking questions in the forums. This understanding was from about 100 hours of reading through code and looking at debug information, not because I was just automatically smarter than anyone else. I tried to always answer in the forums, what for me were slam dunk questions. But each thoughtful response takes X amount of time. Only X amount of time in the day. Got kids to feed, a boss to answer.
I asked a few questions of my own, with the perception that by me taking the time to answer some of the mid-level questions, somebody with more knowledge than me, like a core developer, would find time to help me out once in a while.
It never worked that way. The developers were overloaded, were trying to figure out a way to not be overloaded, and were looking to implement some kind of paid, closed system on top of the contributory system that had made the whole project viable in the first place.
The people that should be paying for support are the ones who don’t have a clue, don’t really want to have a "clue", never intend to give anything back. Many of them have money and are glad to pay. But these paid services seem to me to be much more logically handled at a level far below the core development team.
A pyramid approach, where low levels get paid in money or support credits, contribute X percent to mid levels, x percent to core might work, if well thought out and well documented. Mid levels get paid at higher rates, contribute X percent on up to core development. Somebody in the middle level gets paid for figuring out what kind of resources are available in the total system and how to equitably distribute and prioritize resources to meet development and customer service objectives. Management, yuck!
Speaking from my own perspective, the people in the middle that are actively giving need to see something. Some kind of an opportunity for some kind of reward somewhere. If there is no financial incentive, no enhanced service, no nothing at all, the middle level goes elsewhere, leaving a system where the lowest level of user expects unreasonable levels of service from the highest level of developer. The time and efforts already expended by the middle level that has freely contributed up to this point, goes to line the pockets of those who are happy to pick the bones clean as decay sets in. Don’t be tempted to sit around and lament human nature. Figure out a system that works, based upon human nature.
What safeguards do you propose to keep competitors from accidentally or intentionally becoming involved in forums they were not supposed to see? Paid or otherwise?
Do you foresee in your system, any way of rewarding those who might take the time to understand the codebase, use modx in their business, but are not looking to capitalize financially on that knowledge? The type of contributor who just wants to help others, help move the project along, and expects a little help back in return? If not, I think you may miss a large, if not the biggest group of potential contributors. Or you may just miss one or two crazy’s that are actively being hunted down by some 3 letter agency in the government ;~)