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