hugo/content/development/contributing.md

Fri, 30 Aug 2024 19:33:36 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 30 Aug 2024 19:33:36 -0500
changeset 543
4ab2b8637540
parent 503
53ae455c4f10
permissions
-rw-r--r--

Update the plugins page for the new process

This includes defining the process and providing a template for a new issue to
add new plugins. I did go through and audit `No IRC /WHO` so we had at least
one validated entry.

Testing Done:
Ran `npm run hugo:server` locally and verified the page worked and checked the new links.

Bugs closed: NEST-53

Reviewed at https://reviews.imfreedom.org/r/3450/

---
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/
  - /development/version-control/
---

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

[Instant Messaging Freedom Contributors Guide](https://docs.imfreedom.org/contributors-guide/)

If you have any questions about this process, remember that you have a variety
of [methods to reach out to us]({{< ref contact >}}).

mercurial