Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'd like to contribute to Ubuntu development some day. If you're a developer of Ubuntu could you tell me/us what are the prerequisites to start?

What languages and technologies are needed to know, how to make familiar with development (overview over the project) and development process? I am interested in the core of the distribution, the main parts, not writing applications.

I'd like to read some advice from the developer who has already some experience and can say the main points of his learning path and difficulties (that are general enough for typical Ubuntu distribution developer) he had to overcome.

share|improve this question
@Lekensteyn thanks, I'm going to read it too, but now I'm rather interested in the desktop environment (and whole distribution) –  xralf Feb 14 '12 at 11:33
@Lekensteyn not apps but the core of distribution, the main parts, architecture etc. –  xralf Feb 14 '12 at 12:09
Related: askubuntu.com/questions/2872/… –  Jorge Castro Feb 14 '12 at 15:05
@JorgeCastro Thanks for edit and interesting link. –  xralf Feb 14 '12 at 17:33
@xralf Are you looking to make this the authoritative and canonical question for this topic? –  jrg Feb 15 '12 at 19:45
show 3 more comments

4 Answers 4

up vote 7 down vote accepted

For contributing directly to Ubuntu as a developer you can start with these guides:

share|improve this answer
Looks good. And is somewhere the description of whole project to have some overview of everything and directory structure, individual subprojects to able able to see the nice place I can contribute with something? I mean, to see the project decomposition. –  xralf Feb 14 '12 at 17:37
add comment

For mobile development (phone apps), see Ubuntu app developer: Go mobile.

Basically (summarized, not copied from that page, except commands, which are copied):

  • Install Qt5 and the Ubuntu QML toolkit:

    sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-beta1 && sudo apt-get update && sudo apt-get install qt5-meta-full && echo 'export PATH=/opt/qt5/bin:$PATH' >> ~/.bashrc
    sudo add-apt-repository ppa:ubuntu-sdk-team/ppa && sudo apt-get update && sudo apt-get install qt-components-ubuntu qt-components-ubuntu-demos qt-components-ubuntu-examples qt-components-ubuntu-doc notepad-qml
  • Optionally, install the qtcreator Install qtcreator integrated development environment (recommended).
  • Make the currency converter sample application.
  • Check out the API docs.
  • Develop your app, ask questions, sign up to get involved in Ubuntu mobile development (step 4 here).

     ‣ Canonical, "Go mobile"
     ‣ David Planella and SDK Team, "Create a currency converter phone app"
     ‣ Canonical, Ubuntu User Interface Toolkit
     ‣ This answer is inspired by maggotbrain's comment on this duplicate.

share|improve this answer
add comment

I am not an ubuntu developer, however I would check out this link. I haven't had a bunch of time to dedicate to it yet, but when I get more time, I'll be checking it out.. This may not address developing on ubuntu directly, but may give you a quick way to start contributing.

Ubuntu App Developer

share|improve this answer
Thanks. The same comment as in JorgeCastro's answer applies here (some structure and decomposition). –  xralf Feb 14 '12 at 17:43
add comment

You may check this page out. It's a official introduction.

share|improve this answer
Thank you for the link. If you're a developer could you please concentrate to your answer the core of all that information (some main checkpoints on your way, what you had to learn and where you are now directing)? –  xralf Feb 14 '12 at 11:31
@xralf Sorry, I am a not a developer, but wanna be. this page shows how to quickly get started to build your first ubuntu app. The official recommend pygtk (the gtk bindings for python) to develop apps. And Here has a expatiation –  liuerfire Feb 14 '12 at 11:53
This is really useful but not exactly the answer I expected. I'd like to read some advice from the developer who has already some experience and can say the main points of his learning path and difficulties (that are general enough for typical Ubuntu distribution developer) he had to overcome. But your answer is welcome and appreciated. –  xralf Feb 14 '12 at 12:06
I think the best way is to chat on irc. #ubuntu channel on irc.freenode.net is the official channel. ubuntu.com/support/community/chat –  liuerfire Feb 14 '12 at 12:42
@xralf If you're expecting a certain kind of answer you need to put that information in your question! –  Jorge Castro Feb 14 '12 at 15:04
add comment

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.