First, to all devs, thanks for all of your past and current efforts! Hopefully the previous posts show that your work is appreciated, even if that is not said enough. (Which reminds me, I must buy my wife some flowers on the way home from work today...
I'd love to help out in some way. Like everyone else, unfortunately I can't currently spare a lot of time due to work and personal pressures, but I hope I can contribute some and I'd like to make a start with this post...
The focus of this thread has been on the work being of a technical nature. Herein lies one of the core issues. The project is also lacking management resource and/or experience, and that is evident from the requests of what needs to be done and who should be consulted. Without the correct management structure, the work will get even harder and less fun. This is where I, and others, may be able to help. I'm a management consultant, specializing in IT businesses of all types, and have previously run a successful software startup. I'm not a coder (any more), but I know how successful software organizations work and from what I'm reading, and have experienced, the project is suffering the same exact problems as a young software company going through its next stage of evolution.
Good news! Handled correctly, this means great things are to come. It is also the point at which many organizations fail. Now is the time to regroup, consider what the key objectives of the project are, structure it appropriately, recruit resource, and manage the growth. There's room in the project for marketing too (web site enhancements, press releases, even potential revenue streams). In short, it's time to start running the project more as a business. With structure comes simplicity and progress.
First off, the principles of the project should be agreed. A mission statement, if you like. I'm just talking about a few key points that sum up the aims of the project, and communicate them to everyone. Otherwise, people can pull in opposite directions, motivated by their own needs, wants and interests.
A key fundamental consideration, in my opinion, should be whether the project continues to be entirely free, or whether there should be a commercial aspect to it. Frankly, we may get more people willing to give up "free" time, if they get a small amount of compensation. Not because they are greedy, but because time is not free. We all have expenses, and our jobs provide us with the cash we need to live our lives. Not everyone has the luxury of being to donate that time to the project, as it would mean less cash to live. Also, there are costs associated with the project. Test environments cost money. Web hosting costs money. So does marketing, recruiting, and a whole bunch more. There are plenty of options to consider here, from donations to tiered services, free modules and add-on commercial modules. The recent positive responses to a non-free iPhone orbiter app is proof that many people are willing to pay in order to get certain features. I believe a compromise could be met between wanting to keep this a community project, and in bringing in enough revenue to keep it going and to make it good. Take a look at Astaro, for example. They have a stable, beautifully presented product, that generates a lot of income yet at the same time is free for home users. This is one end of the extreme, but if the community agrees that it could be worth aiming for (we're talking possible mass commercialization here), then the project could even attract venture capital and become a household name.
With the fundamentals of the project's direction agreed (and even a constitution, of sorts), the next step should be to elect a top management team and delegate responsibilities. The team should develop a strategy (how to recruit, manage the project, what the priorities are, etc.). Focus should be on the coming 12 months, but with a higher-level vision of the future. The managers should recruit and delegate more specific responsibilities. In a regular business, you wouldn't want too many levels of management or too many managers. However, for a project of this nature where everyone is (very) part-time, I believe that this is a necessity. The less responsibility each team has, the more chance that they will have to get their work done in their available time. It also means that if they have to drop out for a while due to real-life pressures, that big chunks of work wouldn't just stop.
My observation is that after defining the business plan and electing the top management team, documentation should be the highest priority. Everyone will immediately need a clear high-level picture of the software components and how they fit together. We (all) need to know exactly what we've got and how it fits together before we can make improvements. This is especially important when you consider that, as discussed above, most individuals will only work within the tight constraints of their own little project and not have an understanding of the bigger picture unless it is clearly defined and communicated. Nor will they have the time or inclination to try and piece it together themselves (as pointed out several times in this thread already).
I could go on, but hey, who has the time, right?
Here's the call to action. Thom, and the other (5?) devs, you are the leaders at the moment. If you agree, then I suggest you put this into action and set the wheels into motion for us other interested people to help take LMCE into its next phase of evolution...
1. Define the project charter. This should involve some big considerations such as whether the project should have a commercial element. Perhaps a community vote or two would be appropriate here.
2. Request volunteers who'd like to act as managers, including their credentials and how much time they could offer.
3. Either allocate positions according to how you see fit, or (preferably) offer the chance for the community to vote on the positions.
4. The top team defines the long-term and 12-month business plan, and communicates it.
5. Recruit team managers for sub-projects and get working towards the goals in the plan
Thom (and other devs), this will mean you letting go of a lot. It may also mean some previous strategies being reversed, and that may be hard to do on a personal (or even technical) level, especially if there has been a lot of effort made. You will have less control, less responsibilities. You'll also have more time, more fun, and maybe even more money
Are you really ready to let go? This is really the first point that needs to be addressed.