Skip to content

Commit 433aa36

Browse files
committed
Changes closing reminder and changes linewidth to appx. 80 characters
1 parent 4415b44 commit 433aa36

File tree

1 file changed

+44
-10
lines changed

1 file changed

+44
-10
lines changed

new_contributor_guide.md

+44-10
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,55 @@
11
## Guide for New Contributors
22

3-
Hello, and welcome to the Rust-ML group! We're glad you may be interested in contributing to our efforts. First, please take the time to review our main README document, particularly around the "What do we do" section.
4-
5-
In general, the Rust-ML group emphasizes the Bazaar, not the Cathedral. In the [Zulip chat](https://rust-ml.zulipchat.com/), we regularly see people who say "Hi, I'm new here and would love to help contribute!" under the assumption that there may be a comprehensive Grand Plan that they can be directed towards. While well-intentioned, this approach is a little difficult to respond to because, while some individual projects do have roadmaps, the working group is not a Group with a Plan, but instead a collection of individuals working on things they're personally interested in.
6-
7-
We recommend you start by looking through the chat history in Zulip (particularly in the [#Code Review](https://rust-ml.zulipchat.com/#narrow/stream/237158-Code-Review) stream, which will have discussion of some of the more active projects) to see if there's something pre-existing that you might be interested in contributing to. Members of the Rust-ML team also help to maintain the site [arewelearningyet.com](https://www.arewelearningyet.com/), which has a more comprehensive list of crates and other projects in the Rust ecosystem. Alternatively, if you *don't* find something like that, write your own and share it with us!
3+
Hello, and welcome to the Rust-ML group! We're glad you may be interested in
4+
contributing to our efforts. First, please take the time to review our main [README](./README.md)
5+
document, particularly around the "What do we do" section.
6+
7+
In general, the Rust-ML group emphasizes the [Bazaar, not the Cathedral](https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar). In the
8+
[Zulip chat](https://rust-ml.zulipchat.com/), we regularly see people who say "Hi, I'm new here and would love to
9+
help contribute!" under the assumption that there may be a comprehensive Grand \
10+
Plan that they can be directed towards. While well-intentioned, this approach is
11+
a little difficult to respond to because, although some individual projects do
12+
have roadmaps, the working group is not a Group with a Plan, but instead a collection
13+
of individuals working on things they're personally interested in.
14+
15+
We recommend you start by looking through the chat history in Zulip (particularly
16+
in the [#Code Review](https://rust-ml.zulipchat.com/#narrow/stream/237158-Code-Review) stream, which will have discussion of some of the more active
17+
projects) to see if there's something pre-existing that you might be interested in
18+
contributing to. Members of the Rust-ML team also help to maintain the site
19+
[arewelearningyet.com](https://www.arewelearningyet.com/), which has a more comprehensive list of crates and other
20+
projects in the Rust ecosystem. Alternatively, if you *don't* find something like that,
21+
write your own and share it with us!
822

923
### Low Hanging Fruit
1024

11-
One of the few projects that the Rust-ML group has direct ownership of and maintains is the [linfa](https://github.com/rust-ml/linfa/) classical machine learning meta-crate. It serves as a collection of multiple smaller algorithms in various domains. Although the implementations of the algorithms themselves usually exist and have some degree of testing, the crate as a whole can use some additional work in the areas of cross-language testing and benchmarking. [Luca Palmieri](https://github.com/LukeMathWalker), the original author of the linfa crate, did some great work on demonstrating the potential speed-ups of using Rust code for a k-means clustering algorithm by writing Rust->Python bindings and [comparing](https://www.lpalmieri.com/posts/2019-12-01-taking-ml-to-production-with-rust-a-25x-speedup/) the results against scikit-learn's implementation.
12-
13-
Creating a similar repository for each of linfa's sub-crates, or creating regression benchmarks for the sub-crates would be a great first contribution. Similarly, the documentation in terms of overall workflow for using Rust in a machine learning problem from scratch is somewhat limited. A Book [repository](https://github.com/rust-ml/book) has been created to help create a guide for newcomers, but is currently missing some content. Building a project using any of the crates in the ecosystem to solve a problem and clearly documenting that process would also be helpful to the community!
25+
One of the few projects that the Rust-ML group has direct ownership of and maintains
26+
is the [linfa](https://github.com/rust-ml/linfa/) classical machine learning meta-crate. It serves as a collection of multiple
27+
smaller algorithms in various domains. Although the implementations of the algorithms
28+
themselves usually exist and have some degree of testing, the crate as a whole can
29+
use some additional work in the areas of cross-language testing and benchmarking.
30+
[Luca Palmieri](https://github.com/LukeMathWalker), the original author of the linfa crate, did some great work on demonstrating
31+
the potential speed-ups of using Rust code for a k-means clustering algorithm by writing
32+
Rust->Python bindings and [comparing](https://www.lpalmieri.com/posts/2019-12-01-taking-ml-to-production-with-rust-a-25x-speedup/) the results against scikit-learn's implementation.
33+
34+
Creating a similar repository for each of linfa's sub-crates, or creating regression
35+
benchmarks for the sub-crates would be a great first contribution. Similarly, the
36+
documentation in terms of overall workflow for using Rust in a machine learning
37+
problem from scratch is somewhat limited. A Book [repository](https://github.com/rust-ml/book) has been created
38+
to help create a guide for newcomers, but is currently missing some content.
39+
Building a project using any of the crates in the ecosystem to solve a problem and
40+
clearly documenting that process would also be helpful to the community!
1441

1542
### A closing reminder
1643

17-
Although some of the people who write code will lay out some sort of a larger roadmap or fill a leadership role to a degree, project management is rarely a full-time concern, especially for projects with a relatively low number of contributors. Therefore, it's usually best to approach things from a "code first, communicate after." That is, feel free to say hi, but unless you have demonstrated some degree of serious intent in the form of a pull request or well-written bug report, existing contributors may not be able to dedicate their limited time towards interacting with you.
44+
Although some of the people who write code will lay out some sort of a larger
45+
roadmap or fill a leadership role to a degree, project management is rarely a
46+
full-time concern, especially for projects with a relatively low number of contributors.
47+
Therefore, it's usually best to approach things from a "code first, communicate after."
48+
As in all open source projects you will get a faster response for a well-written bug
49+
report or pull request. Also sometimes people are busy with their life and can't
50+
spend time on their side projects. Please respect that we're all human and have
51+
limited time.
1852

1953
### Updated
2054

21-
Updated on 20201014
55+
Updated on 20201024

0 commit comments

Comments
 (0)