xref: /iperf/.github/CONTRIBUTING.md (revision 9e2d79d2)
1aee0b741SBruce A. Mah# iperf3 Contribution Guidelines
2aee0b741SBruce A. Mah
3aee0b741SBruce A. MahThanks for contributing to iperf3!
4aee0b741SBruce A. Mah
5aee0b741SBruce A. MahThis page contains some guidelines for filing issues, pull requests,
6aee0b741SBruce A. Mahand other sorts of interactions with the iperf3 project.  These are
7aee0b741SBruce A. Mahguidelines and not hard rules, and it is intended that common sense
8aee0b741SBruce A. Mahand good judgement will prevail.
9aee0b741SBruce A. Mah
10130ca227SBruce A. Mah## Support
11aee0b741SBruce A. Mah
12130ca227SBruce A. Mahiperf3 is officially supported on Linux (various distributions),
13130ca227SBruce A. MahFreeBSD, and macOS.  Support may be provided on a best-effort basis to
14130ca227SBruce A. Mahother UNIX-like platforms.  We cannot provide support for building
15130ca227SBruce A. Mahand/or running iperf3 on Windows, iOS, or Android.
16aee0b741SBruce A. Mah
17*9e2d79d2SBruce A. MahBefore asking for help, please check with your favorite search engine
18*9e2d79d2SBruce A. Mahor the
19*9e2d79d2SBruce A. Mah[iperf3 Discussions site on GitHub](http://github.com/esnet/iperf/discussions)
20*9e2d79d2SBruce A. Mahto see if your question might have been asked (and maybe even
21*9e2d79d2SBruce A. Mahanswered) before.  https://fasterdata.es.net/ has some information on
22*9e2d79d2SBruce A. Mahthe use of various bandwidth measurement tools, including iperf3.  The
23*9e2d79d2SBruce A. Mahiperf3 documentation Web site at http://software.es.net/iperf/
24*9e2d79d2SBruce A. Mahcontains various bits of helpful information, including a list of
2513ff67e5SBruce A. Mah[frequently-asked questions](http://software.es.net/iperf/faq.html).
26130ca227SBruce A. Mah
27130ca227SBruce A. MahWe specifically discourage the use of the issue tracker on the iperf3
28130ca227SBruce A. MahGitHub project page for asking questions.  Questions posted in the
29*9e2d79d2SBruce A. Mahform of issues may go unanswered.  Please use the
30*9e2d79d2SBruce A. Mah[iperf3 Discussions site on GitHub](http://github.com/esnet/iperf/discussions)
3113ff67e5SBruce A. Mahto ask questions of the community or
32130ca227SBruce A. Mahalternatively use the iperf3 mailing list at
33130ca227SBruce A. Mah[email protected] (posting requires joining the list).
34130ca227SBruce A. Mah
35130ca227SBruce A. Mah## Code
36130ca227SBruce A. Mah
37130ca227SBruce A. MahIf you have improvements or bugfixes to make to iperf3, we'd love to
38130ca227SBruce A. Mahhear from you.  We prefer changes to be submitted in the form of pull
39130ca227SBruce A. Mahrequests on GitHub, although we can (probably) accept simple patches
40130ca227SBruce A. Mahas well.  If in doubt, ask.
41130ca227SBruce A. Mah
42130ca227SBruce A. MahBefore making any submission to the iperf3 project (whether it be code
43130ca227SBruce A. Mahor documentation), we urge you to consult the iperf3 license, in
44130ca227SBruce A. Mahparticular the section quoted below:
45130ca227SBruce A. Mah
46b1bc12a2SBruce A. Mah```
47b1bc12a2SBruce A. MahYou are under no obligation whatsoever to provide any bug fixes, patches, or
48130ca227SBruce A. Mahupgrades to the features, functionality or performance of the source code
49130ca227SBruce A. Mah("Enhancements") to anyone; however, if you choose to make your Enhancements
50130ca227SBruce A. Mahavailable either publicly, or directly to Lawrence Berkeley National
51130ca227SBruce A. MahLaboratory, without imposing a separate written license agreement for such
52130ca227SBruce A. MahEnhancements, then you hereby grant the following license: a non-exclusive,
53130ca227SBruce A. Mahroyalty-free perpetual license to install, use, modify, prepare derivative
54130ca227SBruce A. Mahworks, incorporate into other computer software, distribute, and sublicense
55130ca227SBruce A. Mahsuch enhancements or derivative works thereof, in binary and source code form.
56130ca227SBruce A. Mah```
57130ca227SBruce A. Mah
58130ca227SBruce A. MahIf you're considering changes that will have an architectural impact,
59130ca227SBruce A. Mahwe strongly encourage discussing them with the iperf3 maintainers
60130ca227SBruce A. Mahbefore doing a significant amount of work on the code.  We might be
61130ca227SBruce A. Mahable to provide some guidance.  Also, we're more likely to accept a
62130ca227SBruce A. Mahsubmission if if it doesn't involve rewriting large sections of the
63130ca227SBruce A. Mahcode.  Even if you're going to fork the code and maintain your own
64130ca227SBruce A. Mahchanges privately (which you're perfectly welcome to do) we might able
65130ca227SBruce A. Mahto give you guidance so that future iperf3 changes won't conflict with
66130ca227SBruce A. Mahyour work.
67130ca227SBruce A. Mah
68130ca227SBruce A. Mah## Conduct
69130ca227SBruce A. Mah
70130ca227SBruce A. MahWe expect that iperf3 interactions via the issue tracker, mailing
71130ca227SBruce A. Mahlists, and so forth will be conducted civilly.  Language that is
72130ca227SBruce A. Mahdeemed appropriate or abusive may be removed, and we reserve the right
73130ca227SBruce A. Mahto ban users from accessing the project for repeated offense.
74