pidgin/nest

accessibility: fix 2.x.y document structure
default tip
4 days ago, Jonathan Champ
9209c7e3a493
accessibility: fix 2.x.y document structure

Testing Done:
ran ./dev-server.sh

Reviewed at https://reviews.imfreedom.org/r/847/
---
title: Contributing
date: 2017-09-19T02:00:55.000Z
anchor: contributing
weight: 10
original: true
lastmod: 2019-08-21T04:05:48.000Z
aliases:
- /development/contributing/mercurial/
---
## Ideas to contribute
Pidgin is a huge project with a ton of things to be done, even if you're not a
coder. Below is a short list of things you can do to help get involved!!
* Triage the issue tracker.
* Try to reproduce described bugs. If you can find an easy way to
reproduce, leave a comment explaining how to do it.
* Find/mark/close duplicates. Seriously, even just one or two duplicates
found and properly marked is a huge help to our backlog!
* Suggest patches be turned into pull requests, or bring patches to the
attention of the core dev team.
* Help users and participate in the community
[chatrooms]({{< ref "contact#chatrooms" >}}).
* Proofread the documentation--this is a really, really easy way to start!
* Help facilitate translators and translations
* via [transifex](https://www.transifex.com/pidgin/pidgin/)
* help translate [this repo](https://keep.imfreedom.org/pidgin/nest)
* Convert [legacy wiki](https://old.pidgin.im) pages to markdown for inclusion
in [this repo](https://keep.imfreedom.org/pidgin/nest).
* Walk the links on [ThirdPartyPlugins](https://pidgin.im/plugins)
and mark broken ones as such. This is another really easy way to start!
* Participate in discussion on IRC, XMPP, and/or the Mailing Lists.
For the coders out there:
* Find/fix build warnings.
* Find/fix bugs on your own or via the issue tracker.
* Participate in design discussions.
* Add cool features!
* Look over the outstanding review requests on our [Review
Board](https://reviews.imfreedom.org/) instance. You don't have to actually
review code (but if you can provide helpful feedback we will appreciate it!),
but looking through the open review requests can help you find your way into
our codebase and style.
## How to submit a bug report
Submitting *good* bug reports is very important.
### Before you submit any bug report
Remember that **we don't support third-party plugins** like the ones we showcase
in the [plugins]({{< ref "plugins" >}}) section of this site. We didn't develop
those plugins and can't help you with those issues. Keep in mind that a sizable
majority of crashes are caused by misbehaving plugins so the first thing to
check when an issue appears is whether the issue is caused by a plugin or not.
1. Make sure your plugins are in the most current version available.
1. Disable plugins you have loaded (one by one) until you eliminate the source
of the crash.
If your crash happens on startup of the application, you can try renaming the
`prefs.xml` file in the `.purple` directory to something such as
`prefs.xml.old` to force a startup without plugins. Note that this means that
you will lose all settings stored there.
1. By now you should know whether the crash is caused by a plugin (ie only
happens when a specific plugin is enabled) or if it's an issue in Pidgin
itself.
1. If the issue is caused by a third party plugin, **report the issue to the
authors of the plugin**. Usually the authors specify how to submit issues
in the repository where the code of the plugin is hosted.
1. If the issue is caused by a plugin that comes built in to Pidgin or
happens with all plugins disabled then follow the instructions below to
submit a bug report to the Pidgin project.
### Steps for bug report submission
1. Ensure that you have read the [Before you submit any bug report]({{< ref
"#before-you-submit-any-bug-report" >}}) section. This will save you and the
Pidgin developers time.
1. Search our [issue tracking platform]({{< param "pidginIssuesURL" >}}) for
existing bug reports that match the issue you have encountered. This is to
ensure that we are not submitting a duplicate issue.
1. If the bug you are reporting is a previously unknown security vulnerability,
please read our [Security page]({{< ref "about/security" >}}) for details on
how to submit a security vulnerability report. It's of utmost importance that
security issues are not made public until we have the chance to fix them,
otherwise our users will be vulnerable until we are able to fix the issue and
release a new version of Pidgin.
1. If you checked all the steps we mentioned before, then go ahead and create
the issue in our [issue tracking platform]({{< param "pidginIssuesURL" >}}).
1. You need to be logged in to our issue tracker in order to submit issues.
If you don't already have an account, click on the Login button and from
there you'll have the option to either use use one of the social logins
available or create a new account directly in our [Jetbrains
Hub](https://hub.imfreedom.org) instance, which is the platform we use to
handle authentication.
1. Ensure you are logged in with your account in our [issue tracking
platform]({{< param "pidginIssuesURL" >}}).
1. Submit the bug report, take your time to describe the issue with as much
depth as possible and if you can it would also be important to provide the
steps needed to reproduce the issue. Another useful section that you may
want to checkout, particularly if the issue is about a crash in the
application itself, is the [Debugging Pidgin]({{< ref
"development/debugging" >}}) one since over there it's explained how to
obtain a debug log or a crash dump which will help Pidgin developers a lot
when looking at how to fix an issue.
## How to contribute code
We acknowledge that Pidgin leverages tools that a lot of developers may not be
familiar with so we created documentation that helps you getting started and at
the same time explains how our contribution process works.
1. Checkout the [version control page]({{< ref version-control >}}). Pay special
attention to the branches which host the Pidgin 3 codebase vs the Pidgin 2
one.
1. [Using Pidgin mercurial](https://docs.pidgin.im/libpurple/latest/chapter-using-mercurial.html).
1. [Pidgin code contribution process]({{< param "contributeGuideURL" >}}).
If you have any questions about this process, remember that you have a variety
of [methods to reach out to us]({{< ref contact >}}).