113498266Sopenharmony_ci# How to get started helping out in the curl project 213498266Sopenharmony_ci 313498266Sopenharmony_ciWe are always in need of more help. If you are new to the project and are 413498266Sopenharmony_cilooking for ways to contribute and help out, this document aims to give a few 513498266Sopenharmony_cigood starting points. 613498266Sopenharmony_ci 713498266Sopenharmony_ciYou may subscribe to the [curl-library mailing 813498266Sopenharmony_cilist](https://lists.haxx.se/listinfo/curl-library) to keep track of the 913498266Sopenharmony_cicurrent discussion topics; or if you are registered on GitHub, you can use the 1013498266Sopenharmony_ci[Discussions section](https://github.com/curl/curl/discussions) on the main 1113498266Sopenharmony_cicurl repository. 1213498266Sopenharmony_ci 1313498266Sopenharmony_ci## Scratch your own itch 1413498266Sopenharmony_ci 1513498266Sopenharmony_ciOne of the best ways is to start working on any problems or issues you have 1613498266Sopenharmony_cifound yourself or perhaps got annoyed at in the past. It can be a spelling 1713498266Sopenharmony_cierror in an error text or a weirdly phrased section in a man page. Hunt it 1813498266Sopenharmony_cidown and report the bug. Or make your first pull request with a fix for that. 1913498266Sopenharmony_ci 2013498266Sopenharmony_ci## Smaller tasks 2113498266Sopenharmony_ci 2213498266Sopenharmony_ciSome projects mark small issues as "beginner friendly", "bite-sized" or 2313498266Sopenharmony_cisimilar. We do not do that in curl since such issues never linger around long 2413498266Sopenharmony_cienough. Simple issues get handled fast. 2513498266Sopenharmony_ci 2613498266Sopenharmony_ciIf you are looking for a smaller or simpler task in the project to help out 2713498266Sopenharmony_ciwith as an entry-point into the project, perhaps because you are a newcomer or 2813498266Sopenharmony_cieven maybe not a terribly experienced developer, here's our advice: 2913498266Sopenharmony_ci 3013498266Sopenharmony_ci - Read through this document to get a grasp on a general approach to use 3113498266Sopenharmony_ci - Consider adding a test case for something not currently tested (correctly) 3213498266Sopenharmony_ci - Consider updating or adding documentation 3313498266Sopenharmony_ci - One way to get started gently in the project, is to participate in an 3413498266Sopenharmony_ci existing issue/PR and help out by reproducing the issue, review the code in 3513498266Sopenharmony_ci the PR etc. 3613498266Sopenharmony_ci 3713498266Sopenharmony_ci## Help wanted 3813498266Sopenharmony_ci 3913498266Sopenharmony_ciIn the issue tracker we occasionally mark bugs with [help 4013498266Sopenharmony_ciwanted](https://github.com/curl/curl/labels/help%20wanted), as a sign that the 4113498266Sopenharmony_cibug is acknowledged to exist and that there is nobody known to work on this 4213498266Sopenharmony_ciissue for the moment. Those are bugs that are fine to "grab" and provide a 4313498266Sopenharmony_cipull request for. The complexity level of these will of course vary, so pick 4413498266Sopenharmony_cione that piques your interest. 4513498266Sopenharmony_ci 4613498266Sopenharmony_ci## Work on known bugs 4713498266Sopenharmony_ci 4813498266Sopenharmony_ciSome bugs are known and have not yet received attention and work enough to get 4913498266Sopenharmony_cifixed. We collect such known existing flaws in the 5013498266Sopenharmony_ci[KNOWN_BUGS](https://curl.se/docs/knownbugs.html) page. Many of them link 5113498266Sopenharmony_cito the original bug report with some additional details, but some may also 5213498266Sopenharmony_cihave aged a bit and may require some verification that the bug still exists in 5313498266Sopenharmony_cithe same way and that what was said about it in the past is still valid. 5413498266Sopenharmony_ci 5513498266Sopenharmony_ci## Fix autobuild problems 5613498266Sopenharmony_ci 5713498266Sopenharmony_ciOn the [autobuilds page](https://curl.se/dev/builds.html) we show a 5813498266Sopenharmony_cicollection of test results from the automatic curl build and tests that are 5913498266Sopenharmony_ciperformed by volunteers. Fixing compiler warnings and errors shown there is 6013498266Sopenharmony_cisomething we value greatly. Also, if you own or run systems or architectures 6113498266Sopenharmony_cithat are not already tested in the autobuilds, we also appreciate more 6213498266Sopenharmony_civolunteers running builds automatically to help us keep curl portable. 6313498266Sopenharmony_ci 6413498266Sopenharmony_ci## TODO items 6513498266Sopenharmony_ci 6613498266Sopenharmony_ciIdeas for features and functions that we have considered worthwhile to 6713498266Sopenharmony_ciimplement and provide are kept in the 6813498266Sopenharmony_ci[TODO](https://curl.se/docs/todo.html) file. Some of the ideas are 6913498266Sopenharmony_cirough. Some are well thought out. Some probably are not really suitable 7013498266Sopenharmony_cianymore. 7113498266Sopenharmony_ci 7213498266Sopenharmony_ciBefore you invest a lot of time on a TODO item, do bring it up for discussion 7313498266Sopenharmony_cion the mailing list. For discussion on applicability but also for ideas and 7413498266Sopenharmony_cibrainstorming on specific ways to do the implementation etc. 7513498266Sopenharmony_ci 7613498266Sopenharmony_ci## You decide 7713498266Sopenharmony_ci 7813498266Sopenharmony_ciYou can also come up with a completely new thing you think we should do. Or 7913498266Sopenharmony_cinot do. Or fix. Or add to the project. You then either bring it to the mailing 8013498266Sopenharmony_cilist first to see if people will shoot down the idea at once, or you bring a 8113498266Sopenharmony_cifirst draft of the idea as a pull request and take the discussion there around 8213498266Sopenharmony_cithe specific implementation. Either way is fine. 8313498266Sopenharmony_ci 8413498266Sopenharmony_ci## CONTRIBUTE 8513498266Sopenharmony_ci 8613498266Sopenharmony_ciWe offer [guidelines](https://curl.se/dev/contribute.html) that are 8713498266Sopenharmony_cisuitable to be familiar with before you decide to contribute to curl. If 8813498266Sopenharmony_ciyou are used to open source development, you will probably not find many 8913498266Sopenharmony_cisurprises there. 90