Channels

Services

Django migrates to GitHub

Adrian Holovaty, co-founder and developer of the Python-based web application framework Django, has announced that Django will be using GitHub for collaboration from now on. Correspondingly, the project has switched its internal source code management from Subversion to Git.

With the move, Holovaty says, the project wants to achieve better performance for its source code management and also easier branch handling. He hopes that this, together with the decentralised nature of Git, will improve collaboration between the members of Django's contributor community. Django had been using Subversion since it was originally open sourced in 2005.

The GitHub repository will include the current state of development of Django. An unofficial repository that had existed for several years on GitHub has been renamed to django-old. To answer the question of why the project chose GitHub, Holovaty said: "it's very well made, and it's where the people are. Clearly GitHub has won the majority of open-source developers' mind share."

The blog post also contains a detailed rundown of how the project switched its version control to Git and GitHub. Holovaty said that Django will not be using GitHub's issue tracking system for now as it is "a bit too simple" for the project's needs and that they will be sticking with Trac instead – Django already has a well established process for triaging tickets. Contributors are, however, encouraged to submit pull requests via GitHub.

Django is a framework for writing web applications that was originally geared mostly at writing content management systems but has significantly expanded its scope since its inception. The framework is often described as the "Ruby on Rails for Python users" and is used by companies such as Instagram, Spotify, Disqus and also Canonical to create purpose-built web applications. Furthermore, the FreeNAS web interface is written in Django. The framework is licensed under the 3-clause BSD licence and can be downloaded from the project's web site.