You need to have git installed on your machine to download the Yambo source.
Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for software development.
For more information, see here.
To obtain the last GPL source, you simply need to do:
git clone https://github.com/yambo-code/yambo.git yamboPlease notice that doing so you will download the whole yambo repository, thus included all previous releases. To see the list of releases just do
git branch -a git checkout 4.1to switch to a specific version (X.Y) among the ones listed after the command "git branch -a" (X.Y=4.1 in the example). For production we suggest to always checkout a specific branch and not to stay in the master which maybe less stable. The branch corresponding to the version X.Y is always kept at the last patch-level. However if you need to checkout a specific patch-level you can do
git tag git checkout 4.1.2to switch to a specific release (X.Y.Z) among the ones listed after the command "git tag" (X.Y.Z=4.1.2 in the example).
If you are more familiar with subversion you can also download the whole repository in svn form. Github offers the feature to automatically convert the git repo during the download. However remember that the repository in svn like form will be much bigger (~300 MB) that in git form (16 MB). Thus it is better to directly specify which branch you would like to download in that case:
svn checkout https://github.com/yambo-code/yambo.git/branches/4.1 yambo-4.1or
svn checkout https://github.com/yambo-code/yambo.git/tags/4.1.2 yambo-4.1.2
Yambo is a GPL code mantained by a small team of researchers. If you would like to help us coding new features or simply you would like to modify the code for your needs, we advise to follow the online tutorial Developing yambo. Together with this tutorial we can also give you write permission inside the GPL repository. Thus, in case you are interested, please contact the yambo team and we will be glad to set up a specific branch for your needs.