• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# How to get started helping out in the curl project
2
3We are always in need of more help. If you are new to the project and are
4looking for ways to contribute and help out, this document aims to give a few
5good starting points.
6
7A good idea is to start by subscribing to the [curl-library mailing
8list](https://cool.haxx.se/mailman/listinfo/curl-library) to keep track of the
9current discussion topics.
10
11## Scratch your own itch
12
13One of the best ways is to start working on any problems or issues you have
14found yourself or perhaps got annoyed at in the past. It can be a spelling
15error in an error text or a weirdly phrased section in a man page. Hunt it
16down and report the bug. Or make your first pull request with a fix for that.
17
18## Smaller tasks
19
20Some projects mark small issues as "beginner friendly", "bite-sized" or
21similar. We don't do that in curl since such issues never linger around long
22enough. Simple issues get handled very fast.
23
24If you're looking for a smaller or simpler task in the project to help out
25with as an entry-point into the project, perhaps because you are a newcomer or
26even maybe not a terribly experienced developer, here's our advice:
27
28 - Read through this document to get a grasp on a general approach to use
29 - Consider adding a test case for something not currentled tested (correctly)
30 - Consider updating or adding documentation
31 - One way to get your feet wet gently in the project, is to participate in an
32   existing issue/PR and help out by reproducing the issue, review the code in
33   the PR etc.
34
35## Help wanted
36
37In the issue tracker we occasionally mark bugs with [help
38wanted](https://github.com/curl/curl/labels/help%20wanted), as a sign that the
39bug is acknowledged to exist and that there's nobody known to work on this
40issue for the moment. Those are bugs that are fine to "grab" and provide a
41pull request for. The complexity level of these will of course vary, so pick
42one that piques your interest.
43
44## Work on known bugs
45
46Some bugs are known and haven't yet received attention and work enough to get
47fixed. We collect such known existing flaws in the
48[KNOWN_BUGS](https://curl.haxx.se/docs/knownbugs.html) page. Many of them link
49to the original bug report with some additional details, but some may also
50have aged a bit and may require some verification that the bug still exists in
51the same way and that what was said about it in the past is still valid.
52
53## Fix autobuild problems
54
55On the [autobuilds page](https://curl.haxx.se/dev/builds.html) we show a
56collection of test results from the automatic curl build and tests that are
57performed by volunteers. Fixing compiler warnings and errors shown there is
58something we value greatly. Also, if you own or run systems or architectures
59that aren't already tested in the autobuilds, we also appreciate more
60volunteers running builds automatically to help us keep curl portable.
61
62## TODO items
63
64Ideas for features and functions that we have considered worthwhile to
65implement and provide are kept in the
66[TODO](https://curl.haxx.se/docs/todo.html) file. Some of the ideas are
67rough. Some are well thought out. Some probably aren't really suitable
68anymore.
69
70Before you invest a lot of time on a TODO item, do bring it up for discussion
71on the mailing list. For discussion on applicability but also for ideas and
72brainstorming on specific ways to do the implementation etc.
73
74## You decide
75
76You can also come up with a completely new thing you think we should do. Or
77not do. Or fix. Or add to the project. You then either bring it to the mailing
78list first to see if people will shoot down the idea at once, or you bring a
79first draft of the idea as a pull request and take the discussion there around
80the specific implementation. Either way is fine.
81
82## CONTRIBUTE
83
84We offer [guidelines](https://curl.haxx.se/dev/contribute.html) that are
85suitable to be familiar with before you decide to contribute to curl. If
86you're used to open source development, you'll probably not find many
87surprises in there.
88