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