How to Get Involved in Developing HPX - STEllAR-GROUP/hpx GitHub Wiki

Welcome

This page describes how you can get yourself involved with the development of HPX. Here are some easy things to do.

The basic approach is to find something fun you want to fix, hack it up, and send a git diff as a mail attachment to [email protected] with a Subject prefixed with 'PATCH,' as well as: "made available under the Boost Software License V1" license statement. We also need a real name for the git commit logs if you usually use an alias. Alternatively, you can create a pull request from your HPX repository you cloned on Github (see below). It should be easy!

If you create new files, please use our License Header:

//  Copyright (c) <year> <your name>
//
//  Distributed under the Boost Software License, Version 1.0. (See accompanying
//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Please avoid larger reformatting of the code for the time being (except for the tasks listed below).

If the task is really quick and easy, 'just do it.' However, if you think it will take you some time and/or need partitioning (e.g., some big, scalable cleanup that many people can help out with), then please:

  • add a comment to the ticket that you're starting work on it
  • please provide updates each week or so; otherwise, someone else may take the issue
  • please take only one part of the task at a time.

If a task has an owner without an update in a week, feel free to notify them that you're taking that on yourself, and of course, if you realize you can't complete a task - please update it in the ticket system.

Even if you are deeply skilled, please consider doing one easy little hack to get used to the process. After that, you are invited to move on up to the more difficult tasks, leaving some of the easy tasks to others so they can get involved and achieve change themselves. The quicker you move up the pile, the more quickly you can be making large-scale, user-visible changes and improvements to HPX - of which these easy hacks are just the tip of a very interesting iceberg.

Here is some additional information to get you started before we get to the list of possible tasks.

Getting Started

Get a login on Github here and fork the HPX repository to your Github account.

For a list of new and old HPX bugs, look at our ticket system. Especially with new incoming bugs, it is helpful to test the bug on your own computer/operating system and comment in the bug entry whether you can or cannot confirm the bug and under what circumstances it affects you.

Getting a build - if necessary

Some but not all tasks require you to have built HPX. Even if that is not required, your feedback can be helpful to us - so - please try. The master build instructions are here, with more stuff under development.

Hacking help

If you need to search constructs in the code, there is a code search engine at the Ohloh HPX page or simply at the top of this page.

A Taster Selection of Tasks

Entry-level Hacks

Fix spelling errors in binaries found by lintian

http://lintian.debian.org/ looks for suspicious misspellings in binaries. To help here:

  1. Checkout the HPX source code
  2. git grep for the wrong spelling found by lintian
  3. if found, correct the spelling
  4. if not found, it might be just a false positive (e.g., something binary looking like text but not being one). Don't bother too much about it, but leave a comment on the bug. Doing so may help others so that they do not have to search again for the string.

Skills: git grep

Verify a Bugfix

  1. Download and install an HPX daily build at ...
  2. Open the page listing the closed tickets.
  3. Select one ticket, read the description and check if the problem is gone in the daily build now (it should be).
  4. If the problem is gone, add a quick comment on what you tested.
  5. If the problem is still there, add a comment about this and ask the developer for clarification. If the developer does not reply after a week, reopen the ticket to get the developer's attention.

Skills: Installing a daily build

⚠️ **GitHub.com Fallback** ⚠️