Viking is an open-source project and so there are many ways to contribute.
Viking use Git as version control system. As Git is a distributed version control system, you can hack your own version of Viking.
You can send patches against current Git repository.
We also use launchpad in order to offer a web interface to translators. Check the Viking's translation service. These translations are synchronised once per release.
If Viking crashes, it is very helpful to send a backtrace and the steps to reproduce the problem to the developers, to help them diagnose and repair the problem. To do this for Unix like operating systems:
Compile as normal:
make
In the src directory do:
$ gdb ./viking
or full more detailed output one can also show debugging (-d) and/or verbose (-V) messages
$ gdb --args ./viking -dV
Type "run" at gdb prompt to start running viking.
(gdb) run
Do what it takes to make Viking crash (watch for message "Program received signal SIGSEGV, Segmentation fault." from gdb output)
type "bt" at gdb prompt to get the backtrace on screen.
(gdb) bt
Copy/paste the output of "bt" and email to viking-devel.
Type "quit" to exit gdb.
(gdb) quit
Include other pertinent information to enable others to reproduce/understand the problem such as the where and which version the source was obtained from (SourceForge tarball 1.1, SourceForge git master clone, github clone <user> etc...) and your operating system.
As Viking uses Git as source code repository, anybody is free to clone and publish their own Git repository to share changes.
Here is a list of some known repositories. These are forks in the git sense, but generally intended to be merged back into the main repository. This list is open: declare yourself on the mailing-list in order to be listed here.
Since the project uses git for source control, patches that utilize git (especially for patch sets) are preferred in this order:
Main Wiki: Development
Main Wiki: Main_Page
Main Wiki: Source_code
Main Wiki: Using_git_to_hack_on_and_contribute_to_Viking