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