A distributed revision control system keeps track of software revisions and allows many developers to work on a given project without necessarily being connected to a common network. Using a revision control system is clue for free software projects:
- The source code is permanently accessible to anybody wanting to use, modify or contribute to the program.
- It makes possible to register any contribution and so to keep track of the history of the project. Also is possible to roll-back any applied patched if did not work or brought unexpected results or problems.
- Other advantage is to create “branches” for different features or sub-projects.
In this post I will talk about Git, one of the most used distributed version control systems, originally written by Linus Torvalds for supporting Linux development.
In particular, I will talk about Git main website git-scm.com because it contains very useful information about the tool.
I liked very much the website http://git-scm.com. It brings the main information in an simple frontpage: What is git, projects using git, download git, git quick start, contact ways (chat, faq, email, documentation)
About Git authors
In the “About Git” section we can find a list of the authors and contributors to the program. It is interesting to know that although the git project was developed by Linus Torvalds in 2005, today you cannot find his name in the authors list, since this list is generated by counting the commits and the current maintenance is overseen by Junio C Hamano. It is interesting also to know that even people that submitted just one commit is listed there as contributor.
The “Documentation” section is very complete. You can find there short tutorials, longer tutorials, links to books (for buying or download in pdf), reference manuals, several videos, a list of useful commands, and link to the git documentation wiki.
From the “Download” section we can learn that git is available for Windows, MacOS, and the different flavours of GNU/Linux.
In the “Hosting and tools” section you can find GUIs for git, related programs, and several sites for hosting software projects using git as Gitorious, GitHub, and others.
In the main page there is a list of famous free software projects that use git, like Linux Kernel, Gnome, Android, Perl or Debian, but in the Git wiki there is a list with more than 190 projects.
About the source and the license
Git is licensed under version 2 of General Public License.
If you go to the source repository, you can find all the source files, documentation folder, and the COPYING file with license details. This details include the complete text of GPLv2, and an interesting note from Linus Torvalds about possible future updating to GPLv3. I will finish this post reproducing that note here. For me is one more example of collaboration and friendly spirit of free software.
Note that the only valid version of the GPL as far as this project is concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x or whatever), unless explicitly otherwise stated. HOWEVER, in order to allow a migration to GPLv3 if that seems like a good idea, I also ask that people involved with the project make their preferences known. In particular, if you trust me to make that decision, you might note so in your copyright message, ie something like
This file is licensed under the GPL v2, or a later version at the discretion of Linus.
might avoid issues. But we can also just decide to synchronize and contact all copyright holders on record if/when the occasion arises.