Hi! Thanks for taking the time and interest to try to help make AI-Toolbox a better project! You can do many things to help:
- Signal any interesting papers or algorithms that you think would be a good fit for the project, and open issues so that they can get into the implementation pipeline (add them to issue #7 on GitHub).
- Write more tests, examples, documentation, or in general report missing information or mistakes you find in the project so that they can be fixed.
- Implement more algorithms yourself.
About the last point, I'd very much prefer if you discuss any new implementation with me before working away at a patch. I maintain this library for many reasons, one of which is the opportunity to learn and improve by reading new papers and try to implement them. For this reason, I'd love to have a first opportunity myself to write new core code. Please open a new issue about these.
If it is something I don't really care about, then you can implement it yourself! Otherwise I'll really try my best to get a working implementation up and running as soon as I possibly can.
Just create a new branch, do your improvements and open a pull request! All contributions should aim to be at least at the level of documentation and quality of the project in its current state.
All code contribution should try to be consistent with the code style of existing code. There is no official style guide (although the Google one is close to what I usually do), so just try to get close and worst case I'll just point out some minor things to change.
In order to avoid copyright problems, all commits in your pull requests should
be signed by you. To sign a commit it is sufficient to call git commit
with
the -s
, which will add a signed off line to the commit message (this message
can also be included by hand if need be). The signoff certifies that you have
read and accepted the following:
Developer Certificate of Origin Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 1 Letterman Drive Suite D4700 San Francisco, CA, 94129
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
This Developer Certificate of Origin (DCO) is also used by the Linux kernel in order to attest that you have the rights to submit the code in your patches. The code still remains yours (or of whoever it was originally). This is pretty much all the extra that is needed.