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 use your favorite search engine or
18questions site (such as Stack Overflow) to see if your question might
19have been asked (and maybe even answered) before.
20https://fasterdata.es.net/ has some information on the use of various
21bandwidth measurement tools, including iperf3.  The iperf3
22documentation Web site at http://software.es.net/iperf/ contains
23various bits of helpful information, including a list of
24[frequently-asked questions](http://software.es.net/iperf/faq.html).
25
26We specifically discourage the use of the issue tracker on the iperf3
27GitHub project page for asking questions.  Questions posted in the
28form of issues may go unanswered.  Please use a questions site
29such as [Stack Overflow](http://www.stackoverflow.com)
30to ask questions of the community or
31alternatively use the iperf3 mailing list at
32iperf-dev@googlegroups.com (posting requires joining the list).
33
34## Code
35
36If you have improvements or bugfixes to make to iperf3, we'd love to
37hear from you.  We prefer changes to be submitted in the form of pull
38requests on GitHub, although we can (probably) accept simple patches
39as well.  If in doubt, ask.
40
41Before making any submission to the iperf3 project (whether it be code
42or documentation), we urge you to consult the iperf3 license, in
43particular the section quoted below:
44
45```
46You are under no obligation whatsoever to provide any bug fixes, patches, or
47upgrades to the features, functionality or performance of the source code
48("Enhancements") to anyone; however, if you choose to make your Enhancements
49available either publicly, or directly to Lawrence Berkeley National
50Laboratory, without imposing a separate written license agreement for such
51Enhancements, then you hereby grant the following license: a non-exclusive,
52royalty-free perpetual license to install, use, modify, prepare derivative
53works, incorporate into other computer software, distribute, and sublicense
54such enhancements or derivative works thereof, in binary and source code form.
55```
56
57If you're considering changes that will have an architectural impact,
58we strongly encourage discussing them with the iperf3 maintainers
59before doing a significant amount of work on the code.  We might be
60able to provide some guidance.  Also, we're more likely to accept a
61submission if if it doesn't involve rewriting large sections of the
62code.  Even if you're going to fork the code and maintain your own
63changes privately (which you're perfectly welcome to do) we might able
64to give you guidance so that future iperf3 changes won't conflict with
65your work.
66
67## Conduct
68
69We expect that iperf3 interactions via the issue tracker, mailing
70lists, and so forth will be conducted civilly.  Language that is
71deemed appropriate or abusive may be removed, and we reserve the right
72to ban users from accessing the project for repeated offense.
73