12

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.

Jorge Castro
  • 71,754
xralf
  • 45

4 Answers4

9

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

Elder Geek
  • 36,023
  • 25
  • 98
  • 183
Jorge Castro
  • 71,754
  • 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
6

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).

References/Acknowledgements:
     ‣ 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.

Eliah Kagan
  • 117,780
3

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

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

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

liuerfire
  • 472
  • 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
  • 1
    I think the best way is to chat on irc. #ubuntu channel on irc.freenode.net is the official channel. http://www.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