13

How do I start contributing to GNOME? I can program in C++ and Python, but have never touched C. I am not familiar with GTK even.

To be honest, I have no idea how GNOME works. All I have is a deep desire to somehow contribute to it.

Where do you recommend do I start? Any tutorial, mailing list or anything. I am ready to do the hard work, I just need a direction.

PS: I could have googled for the problem, but nothing beats the experience I have seen since Google returns SO for most of the questions.

S. Patrick
  • 131
  • 3

5 Answers5

11
  1. Visit Join GNOME.
  2. Figure out what you want to do for them
  3. If it's development, then:
    1. learn C and GTK
    2. checkout the source code
    3. browse through the bug-tracker to find a reasonably sized task and ask for help of more senior committers to tell you what is at your level
    4. fix it and submit a patch
    5. wait for roses and glory
  4. But maybe you can help with other things, as mentioned on Join GNOME
    1. Translations
    2. Design / Artworks
    3. Technical Documentation (review, proofreading)

Best of luck and thank you for trying to contribute.

haylem
  • 22,460
  • 3
  • 67
  • 96
5

Be sure to check out GNOME Love as well. It's a site aimed at getting people started with GNOME.

Ruben Vermeersch
  • 1,933
  • 1
  • 18
  • 27
2

You may find it handy and useful by creating new extensions for Gnome shell. There are a lot of extensions on https://extensions.gnome.org/. It requires JavaScript programming. It will also give you insights of how things work in Gnome.

The_Cute_Hedgehog
  • 1,280
  • 13
  • 22
1

start simple program with below manual.

The GTK+ tutorial

GTK+ 2 Reference Manual

GTK+ 3 Reference Manual

show your program here: http://www.gtkforums.com/ (Project Showcase)

plan9assembler
  • 2,862
  • 1
  • 24
  • 13
-1

also to note:

you don't have to learn C (even though it's a good idea). You can use PyGtk for GTK development in python (but i won't recommend that because of the speed of python). GTK bindings for c++ also exit it's called gtkmm. It have binding for many other librays (Cluttermm, Cairomm, Pangomm).

there are bindings for A LOT of languages but native C is the best solution.

I would recommend learning vala because of it's ease of use but also because of it's speed (but that's just personal preference).

also check the gnome-devel-demo out. can be useful

user69969
  • 341
  • 2
  • 10
  • 1
    dismissing a whole GUI framework only because of subjective opinions about the speed of Python, which is more than good enough for any desktop GUI development - lol. – Zelphir Kaltstahl Oct 21 '16 at 12:44