xref: /iperf/.github/CONTRIBUTING.md (revision 9e2d79d2)
1# iperf3 Contribution Guidelines
2
3Thanks for contributing to iperf3!
4
5This page contains some guidelines for filing issues, pull requests,
6and other sorts of interactions with the iperf3 project.  These are
7guidelines and not hard rules, and it is intended that common sense
8and good judgement will prevail.
9
10## Support
11
12iperf3 is officially supported on Linux (various distributions),
13FreeBSD, and macOS.  Support may be provided on a best-effort basis to
14other UNIX-like platforms.  We cannot provide support for building
15and/or running iperf3 on Windows, iOS, or Android.
16
17Before asking for help, please check with your favorite search engine
18or the
19[iperf3 Discussions site on GitHub](http://github.com/esnet/iperf/discussions)
20to see if your question might have been asked (and maybe even
21answered) before.  https://fasterdata.es.net/ has some information on
22the use of various bandwidth measurement tools, including iperf3.  The
23iperf3 documentation Web site at http://software.es.net/iperf/
24contains various bits of helpful information, including a list of
25[frequently-asked questions](http://software.es.net/iperf/faq.html).
26
27We specifically discourage the use of the issue tracker on the iperf3
28GitHub project page for asking questions.  Questions posted in the
29form of issues may go unanswered.  Please use the
30[iperf3 Discussions site on GitHub](http://github.com/esnet/iperf/discussions)
31to ask questions of the community or
32alternatively use the iperf3 mailing list at
33[email protected] (posting requires joining the list).
34
35## Code
36
37If you have improvements or bugfixes to make to iperf3, we'd love to
38hear from you.  We prefer changes to be submitted in the form of pull
39requests on GitHub, although we can (probably) accept simple patches
40as well.  If in doubt, ask.
41
42Before making any submission to the iperf3 project (whether it be code
43or documentation), we urge you to consult the iperf3 license, in
44particular the section quoted below:
45
46```
47You are under no obligation whatsoever to provide any bug fixes, patches, or
48upgrades to the features, functionality or performance of the source code
49("Enhancements") to anyone; however, if you choose to make your Enhancements
50available either publicly, or directly to Lawrence Berkeley National
51Laboratory, without imposing a separate written license agreement for such
52Enhancements, then you hereby grant the following license: a non-exclusive,
53royalty-free perpetual license to install, use, modify, prepare derivative
54works, incorporate into other computer software, distribute, and sublicense
55such enhancements or derivative works thereof, in binary and source code form.
56```
57
58If you're considering changes that will have an architectural impact,
59we strongly encourage discussing them with the iperf3 maintainers
60before doing a significant amount of work on the code.  We might be
61able to provide some guidance.  Also, we're more likely to accept a
62submission if if it doesn't involve rewriting large sections of the
63code.  Even if you're going to fork the code and maintain your own
64changes privately (which you're perfectly welcome to do) we might able
65to give you guidance so that future iperf3 changes won't conflict with
66your work.
67
68## Conduct
69
70We expect that iperf3 interactions via the issue tracker, mailing
71lists, and so forth will be conducted civilly.  Language that is
72deemed appropriate or abusive may be removed, and we reserve the right
73to ban users from accessing the project for repeated offense.
74