|
2 | 2 |
|
3 | 3 | `fastplotlib` is a next-generation plotting library built on top of the `pygfx` rendering engine that leverages modern |
4 | 4 | GPU hardware and new graphics APIs to build large-scale scientific visualizations. We welcome and encourage contributions |
5 | | -from everyone! :smile: |
| 5 | +from everyone! :smile: |
6 | 6 |
|
7 | | -This guide explains how to contribute: if you have questions about the process, please |
| 7 | +The rest of this guide explains how to contribute; if you have questions about the process, please |
8 | 8 | reach out on [GitHub Discussions](https://github.com/fastplotlib/fastplotlib/discussions). |
9 | 9 |
|
10 | 10 | > **_NOTE:_** If you are already familiar with contributing to open-source software packages, |
11 | | -> please check out the [quick guide](#contributing-quick-guide)! |
| 11 | +> please check out the [Quick Guide](#contributing-quick-guide)! |
12 | 12 |
|
13 | 13 | ## General Guidelines |
14 | 14 |
|
15 | 15 | Developers are encouraged to contribute to various areas of development. This could include the addition of new features (e.g. |
16 | 16 | graphics or selector tools), bug fixes, or the addition of new examples to the [examples gallery](https://www.fastplotlib.org/ver/dev/_gallery/index.html). |
17 | | -Enhancements to documentation and the overall readability of the code are also greatly appreciated. |
| 17 | +Enhancements to documentation and the overall readability of the code are also greatly appreciated. :) |
18 | 18 |
|
19 | 19 | Feel free to work on any section of the code that you believe you can improve. More importantly, remember to thoroughly test all |
20 | 20 | your classes and functions, and to provide clear, detailed comments within your code. This not only aids others in using the library, |
21 | 21 | but also facilitates future maintenance and further development. |
22 | 22 |
|
| 23 | +If your PR will introduce **significant** changes, or new features that are not in our Roadmap, please open an |
| 24 | +Issue describing your proposed changes so we can assess whether the contribution would be accepted or not, and also so we can provide guidance |
| 25 | +on how the proposed implementation can be tailored to conform with the rest of the codebase. |
| 26 | + |
23 | 27 | For more detailed information about `fastplotlib` modules, including design choices and implementation details, visit the |
24 | 28 | [`For Develeopers`](https://www.fastplotlib.org/ver/dev/developer_notes/index.html) section of the package documentation. |
25 | 29 |
|
| 30 | +## AI Policy |
| 31 | + |
| 32 | +*This policy was adapted from `pygfx`, `scikit-learn`, and `SciPy`* |
| 33 | + |
| 34 | +While we recognize that LLMs may be useful, at our core, we are a small team of developers who enjoy discussing code written by other humans. |
| 35 | +As such, our preference is that contributions are written without the use of AI. |
| 36 | + |
| 37 | +### Responsibility |
| 38 | + |
| 39 | +You are responsible for all the code that you contribute, including AI |
| 40 | +generated code. You must understand and be able to explain the submitted code as |
| 41 | +well as its relation to existing code. It is not acceptable to submit a |
| 42 | +PR for code that you cannot understand and explain yourself. |
| 43 | + |
| 44 | +### Disclosure |
| 45 | + |
| 46 | +You must disclose whether AI has been used to produce any code of your |
| 47 | +pull-request. If so, you must document which tool(s) have been used, how they |
| 48 | +were used, and specify what code or text is AI generated. |
| 49 | + |
| 50 | +### Copyright |
| 51 | + |
| 52 | +Contributors must own the copyright of any code submitted to `fastplotlib`. Code |
| 53 | +generated by AI may infringe on copyright and it is your responsibility to not |
| 54 | +infringe. We reserve the right to reject any pull requests where the copyright |
| 55 | +is in question. |
| 56 | + |
| 57 | +### Communication |
| 58 | + |
| 59 | +When interacting with developers (in discussions, issues, pull-requests, |
| 60 | +etc.) do not use AI to speak for you, except for translation or grammar editing. |
| 61 | +Human-to-human communication is essential for an open source community to |
| 62 | +thrive. |
| 63 | + |
| 64 | +### AI Agents |
| 65 | + |
| 66 | +The use of an AI agent that writes code and then submits a pull request |
| 67 | +autonomously is not permitted. |
| 68 | + |
26 | 69 | ## Contributing to the code |
27 | 70 |
|
28 | 71 | ### Contribution workflow cycle |
|
0 commit comments