I've been wondering why most Ubuntu projects use Launchpad.net instead of GitHub for the Version Control and bug tracking system. Is there a specific reason as to why Ubuntu uses launchpad (and hence bzr
)?
I've been wondering why most Ubuntu projects use Launchpad.net instead of GitHub for the Version Control and bug tracking system. Is there a specific reason as to why Ubuntu uses launchpad (and hence bzr
)?
This list contains the reasons why it did not use back then and why it should not move now
Launchpad used Bazaar which was developed long back. GitHub did not exist that time (as Robin said) Launchpad was launched in 2004 and GitHub in 2008
GitHub is not open source. GitLab or Gitorious would be a better choice in this case. I know Launchpad was not FOSS initially, but it was released later
Initially GitHub did not have many features which Launchpad had, like teams. GitHub does not have a build system integrated with it, like PPA
Many projects in Launchpad heavily make use of the "Merge request" functionality which has very basic support in GitHub. It is called "Pull request" but Launchpad has better features and more detailed than GitHub
GitHub's Bug Tracker is next to useless (this may have changed by 2021). My pet project for a bug tracker might be more useful
Launchpad is owned by Canonical and they pay the developers. They have the complete control over their product. GitHub also is owned by GitHub/Microsoft.
GitHub uses Git for tracking releases using branches and tags. In Launchpad, which uses Bazaar also has this feature, but Launchpad explicitly enforces this outside the source control system. This would be a bit more easier for people who have to handle versions but don't want to dig inside the source code.
Just a small note: Github vs. Launchpad and git vs. bzr is sort of religious topic. I want to stay away from this endless discussion. I use which fits the use-case.
I guess the simple answer is that Launchpad does a lot of stuff that other systems don't (and this was even more true back when Ubuntu started using Launchpad).
Some examples:
While code hosting is an important feature of Launchpad, it is not the only one and it wasn't the first feature Ubuntu used.
As for upstream projects related to Ubuntu, there are benefits to using the same system as Ubuntu itself. Just one example is tracking bugs in both upstream and packaged contexts.
I actually think it's more like "why do they use bzr, and hence launchpad"? Canonical invested money and people into developing bzr and its precursor baz, long before GitHub existed, and they probably don't want to throw away all of that accumulated expertise and investment now. Indeed, baz was started before git existed.
Also, with Launchpad being controlled by them, they can more easily add features that make sense for them - whereas GitHub is not even open source, and certainly not under their control!
Zed Shaw covered this topic very well in a recent blog post, Launchpad vs. Github/SysAdmin vs. Coder.
I don't entirely agree with his assessments of Launchpad's features outside of code management. As a developer, I do prefer Github's repo view, but Launchpad's bug tracker is far, far superior to Github's.