I am going to be working with some people on a project that is going to be done over the internet. I am looking for a good method of keeping everyone's code up to date and have everyone be able to access all the code including all the changes and be able to determine what parts of the code were changed. If it were opensource that would be even better.