Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How can I find and adapt the source code for Ubuntu programs, and what resources are there for improving my programming knowledge in any language? I would like to improve my programming skills so that I can contribute to Ubuntu.

share|improve this question
A good place to start would be learning and early programming language such as Java or Python. Most open source work is done in Python and a lot of systems programming is done in C. You need to decide what you want to do the most and find a book on it. However, this is not the correct place to ask the question. Stackoverflow points users in the right direction with resource material for learning to program. – Dymatic May 15 '12 at 0:47
I think if we concentrate on "where do I find source code of Ubuntu programs so I can study it to improve my programming skills" and possibly "how do I contribute to Ubuntu", then it's a very good and valid question – Sergey May 15 '12 at 1:03
up vote 0 down vote accepted

Source code of all programs which Ubuntu is composed from is not stored in one central location because it is developed and maintained by thousands of independent developers. So it would be easier to choose a project you're interested in and then trying to find its source.

Example: from the top of my head, I decided to find the source repository of Transmission, the BitTorrent client shipped with Ubuntu. A short Google search lead me to where, in the Download section, I found a source tarball. You can download it, read compilation instructions, try to compile, then read the code and possibly try to tweak it. Hours of fun guaranteed.

I couldn't find SVN/Git repository for transmission, but many projects are hosted on sites like github, launchpad or Google Code so their repositories are publicly available. For such projects, it's reasonably easy to push your changes back to the official repository in case you add a useful feature or fix a bug.

If you want to start your own project, Ubuntu Developer portal has extensive documentation on using Quickly, a tool for creating applications using Python and pyGTK

share|improve this answer

The source for almost anything you install from the Ubuntu software center or repositories can be easily downloaded using the apt-get command-line tool. For example, to get the source for transmission (the example given below), you simply type: apt-get source transmission

share|improve this answer
Yep, this is also an option although it may be not too handy for the purpose of playing with the code and studying it... and for contributing back to the project having a VCS checkout is the best option I think. – Sergey May 15 '12 at 2:55

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.