Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 22 additions & 7 deletions tutorials/docs-01-contributing-guide/index.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,28 @@
title: Contributing
---

Turing is an open-source project. If you feel that you have relevant skills and are interested in contributing, please get in touch. You can contribute by opening issues on GitHub, implementing things yourself, and making a pull request. We would also appreciate example models written using Turing.
Turing is an open-source project and is [hosted on GitHub](https://github.com/TuringLang).
We welcome contributions from the community in all forms large or small: bug reports, feature implementations, code contributions, or improvements to documentation or infrastructure are all extremely valuable.
We would also very much appreciate examples of models written using Turing.

Turing has a [style guide](#style-guide). Reviewing it before making a pull request is not strictly necessary, but you may be asked to change portions of your code to conform with the style guide before it is merged.
### How to get involved

### What Can I Do?
Our outstanding issues are tabulated on our [issue tracker](https://github.com/TuringLang/Turing.jl/issues).
Closing one of these may involve implementing new features, fixing bugs, or writing example models.
Comment on lines +11 to +12
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a couple of things here which I think it might be worth thinking about:

  1. Turing issues aren't all hosted on Turing.jl, they're scattered around the entire organisation. I don't know if there's a way to view all of them at the same time.

  2. If someone wants to work on an issue, it would be good for at least one of us to be aware of that. It's probably a bit intimidating for someone new to directly ping a person, and in any case the person that is pinged might not see it because they're away etc.

    I think it would be good to create an organisation team like @turinglang/maintainers or something like that, and say "if you want to take on an open issue, ping this group of people". Then one of us could (for example) assign the issue to them. (This is a pattern I've seen on other projects.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to experiment with it!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this idea of maintainers team.

Also, if you have any ideas for how to keep tabs on what's going on in the repo, I'm looking for better ways. I would ideally like an email notification every time a new issue or PR is opened, but not every time a comment is left in any issue or PR, and I haven't found a way to do it. Either I get unmanageable amounts of spam, or I miss out on important conversations and changes.

Could discuss this at one of the weekly catch-ups.


Look at the [issues](https://github.com/TuringLang/Turing.jl/issues) page for an outstanding issue. For instance, you could implement new features, fix bugs or write example models.
You can also join the `#turing` channel on the [Julia Slack](https://julialang.org/slack/) and say hello!

### Git Workflow
If you are new to open-source software, please see [GitHub's introduction](https://guides.github.com/introduction/flow/) or [Julia's contribution guide](https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md) on using version control for collaboration.

For more information on how the Git workflow typically functions, please see the [GitHub's introduction](https://guides.github.com/introduction/flow/) or [Julia's contribution guide](https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md).
### Documentation

Each of the packages in the Turing ecosystem (see [Libraries](/library)) has its own documentation, which is typically found in the `docs` folder of the corresponding package.
For example, the source code for DynamicPPL's documentation can be found in [its repository](https://github.com/TuringLang/DynamicPPL.jl).

The documentation for Turing.jl itself consists of the tutorials that you see on this website, and is built from the separate [`docs` repository](https://github.com/TuringLang/docs).
None of the documentation is generated from the Turing.jl repository; in particular, the API that Turing exports does not currently form part of the documentation.

Other sections of the website (anything that isn't a package, or a tutorial)—for example, the list of libraries—is built from the [`turinglang.github.io` repository](https://github.com/TuringLang/turinglang.github.io).

### Tests

Expand All @@ -38,7 +49,11 @@ Or otherwise, set the global `ARGS` variable, and call `include("test/runtests.j

### Style Guide

Most Turing code follows the [Blue: a Style Guide for Julia](https://github.com/JuliaDiff/BlueStyle). These conventions were created from a variety of sources including Python's [PEP8](http://legacy.python.org/dev/peps/pep-0008/), Julia's [Notes for Contributors](https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md), and Julia's [Style Guide](https://docs.julialang.org/en/v1/manual/style-guide/).
Turing has a [style guide](#style-guide).
Reviewing it before making a pull request is not strictly necessary, but you may be asked to change portions of your code to conform with the style guide before it is merged.

Most Turing code follows [Blue: a Style Guide for Julia](https://github.com/JuliaDiff/BlueStyle).
These conventions were created from a variety of sources including Python's [PEP8](http://legacy.python.org/dev/peps/pep-0008/), Julia's [Notes for Contributors](https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md), and Julia's [Style Guide](https://docs.julialang.org/en/v1/manual/style-guide/).

#### Synopsis

Expand Down