Have we decided on the details? Could you let me know the details in a nice terse post, please! If Aaron is providing the server, and you're all happy with that, then no problem. However, I'll be more than happy to add Subversion to this server and let you all use that. I'll set-up dev.talkphp.com, or something like that.
The man who comes back through the Door in the Wall will never be quite the same as the man who went out.
This is going to be a large project made by people who are at different ends of the world and will never see each other. Projects are already hard enough when you have people who can talk to eachother in person. Lets not get rushing into this. The work that I am doing now is teaching me a lot about huge systems (the monster I am working on is 50,000+ files).
We need to start walking before we can start running. Without good planning, our coding stage will be longer and less efficient. Here is what needs to happen before a line of code comes from any of us:
We need to make a detailed plan of what the project is.
We will need to decide upon technologies. It will obviously be PHP, most likely mysql as the database. But are there any other technologies we need?
Make a roster of who is proficient at what
We need to decide what server resources we will need to add, or if we will just make them.
We need to agree upon a coding style. We must use a uniform style with things like indentation, variable names, ect. This even goes for things like SQL cleaning.
We need to decide what project management software we will use. Since we are not a company with a large budget, we can not afford software for everyone. The only tool I can see us using is a version control software and documentation tools.
We need to decide, based off the roster, who is who. While we are not a business, someone has to be the head. We need one person to manage everyone and decide what direction the project goes. I will elaborate more on positions later.
The manager needs to divide portions of the project to different people. Since we are not a business, it would probably be best to have the manager make a list of tasks and what they require. Users can then volunteer for a portion. They should state how many hours it should take them.
The manager then needs to create a timeline for the project based off of how long things expect to take. But since we don't have a team working eight hours a day, we don't really know how long things will take. It would be best for the manager to have a planed order of things. Based off of that he can have what needs to be coded done in however long it takes.
Then before we start coding, we will have to have a meeting of some sort to make sure everyone is on the same page and understand what everyone is doing. Then, and only then, are we ready to start coding.
Due to the fact we don't have a full time team, coding will take longer than normal. Just make sure everyone follows procedure and we should do well.
Then we have debugging, the most tedious portion because you are rooting though code that almost works. We don't have money for any debugging software (such as visual studio test edition, about 3k IIRC), so we will have to go though by hand and make a list of all found bugs. After we go though extensively, fix the bugs, and repeat process until things are functional, we can release. Towards the end of debugging, when bugs are only found in small and specific cases, we can release a beta so users can start finding things.
I won't have time to pledge any contribution, but I will help if needed from time to time.
More on positions. Positions are hard to start talking about now since we don't know the size of the team we cant fully make the position list. The positions that will be needed will however include:
-Head Manager (described above)
-Code Auditor. Since some of our programmers may not be advanced at what, we will have to have someone go over people's code and make sure it is up to par.
-Help Desk/IT Guy. It will not necessarily be his only position, but if members have questions of things pertaining to programming or the server they come to him. He will also be responsible for managing the server, if something goes wrong you will go to him for help. Multiple people can do this as long as they work together.
Okay, on Saturday (two days from now) at 11:00pm server time (6:00 US Central/Pacific time) everyone should get on the IRC channel listed above. (details on IRC: An IRC Tutorial) We will have an hour long brainstorming session. I'll keep track of it.
11:00 - 11:10: Wait for the people who are late. Create Roster of all people included. Names, TalkPHP aliases, available times, contact (email) information, proficiencies.
11:10-12:00: Get a clear project goal. Coordinate what technologies will be used and set up the development team leaders/coordinators.
Afterword: Team Coordinators work out who works with whom. Gather technologies that will be used. Set up project on server.
If everyone agree's, see yah saturday.
UNTIL THEN: We can meet in the channel before then if you can't make it on the scheduled time. Your name will be added to the roster, along with your information.
The project will be managed by me (if that's okay) and one other more skilled PHP person, and possible Kalle if he wants, since he started the topic (just remember, it will probably be a lot of work). I would prefer that person to be very skilled with team development. Most of the information will be handed out via mass email or email. You will probably work in small groups on specific sections of the project.
Signatures are nothing but incriminating.