From GNU MediaGoblin Wiki
Jump to navigation Jump to search

The MediaGoblin project is welcoming of new contributors, even those who are new to programming. The following resources can help you learn enough to start hacking on MediaGoblin.

Tips for people new to coding

Learning Python

GNU MediaGoblin is written using a programming language called Python.

There are two different incompatible iterations of Python which I'll refer to as Python 2 and Python 3. GNU MediaGoblin is written in Python 2 and requires Python 2.6 or 2.7. At some point, we might switch to Python 3, but that's a future thing.

You can learn how to code in Python 2 from several excellent books that are freely available on the Internet:

These are all excellent texts.

You Can Help

If you know of other good quality Python tutorials and Python tutorial videos, let us know!

Learning Libraries GNU MediaGoblin uses

GNU MediaGoblin uses a variety of libraries in order to do what it does. These libraries are listed in the :ref:`codebase-chapter` along with links to the project Web sites and documentation for the libraries.

There are a variety of Python-related conferences every year that have sessions covering many aspects of these libraries. You can find them at -- This is a shameless plug; Will Kahn-Greene runs

If you have questions or need help, let us know!

Learning git

git is an interesting and very powerful tool. Like all powerful tools, it has a learning curve.

If you're new to git, we highly recommend the following resources for getting the hang of it:

  • Intro to Git --- a GitHub intro to git
  • Pro Git --- fantastic book
  • Git casts --- screencast covering git usage
  • Git Reference --- Git reference that makes it easier to get the hang of git if you're coming from other version control systems
  • Git workflow --- How to go about submitting patches via git.

There's also a git mission at OpenHatch.

Learning other utilities

The OpenHatch site has a series of training missions which are designed to help you learn how to use these tools.

If you're new to tar, diff, patch and git, we highly recommend you sign up with OpenHatch and do the missions.