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