- assigned_to: nobody --> najatesarraf
• He decided to don’t touch in Linux until he has a replacement for BitKeeper (for doing source code maintenance). He wanted something distributed (“no single place is more important than any other single place”), with a well performance, and that guarantees that the stuff that you put that comes out exactly the same (it is common that there are a memory corruption and that the SCM doesn’t detect). He didn’t find anything;
• Linus thought that he could write something better than everything in 2 weeks;
• Linus doesn’t like SVN because in SVN there is a master location repository and there is where everybody has to write;
• Distributed is more than just offline work;
• Offline work: you can do everything (work, commit, look your logs) even if you are not connected to the backbone, in a place where you don’t have wi-fi for example. It is much more important when you have thousands of people working on the same code. But this results in much more branches. In fact, each person that has it owns repository is working in a different branch. This notion is different from CVS, for example, in which a branch is created intentionally (it is considered for the “gurus” because the merge is really hard to do and normally it is necessary to plan it before);
• In Git, each person can have a lot of branches (one for experiments and another one for maintenance, for example);
• Commit access issue: when everybody is doing commit on the same repository the are psychological barrier (it can result in a lot of acknowledges, especially in open source communities that have a lot of developers). In a distributed model everybody can commit and do whatever want in your own branch and don’t have to worry about commit access; when you think that you did a good job, you can notify the community (the other developers).