Skip to content

Commit 7b13837

Browse files
committed
Remove Slack and update CONTRIBUTING
1 parent 4905df8 commit 7b13837

File tree

1 file changed

+73
-62
lines changed

1 file changed

+73
-62
lines changed

CONTRIBUTING.md

Lines changed: 73 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,59 @@
11
Contributing to Rust-Lightning
22
==============================
33

4-
The Rust-Lightning project operates an open contributor model where anyone is
5-
welcome to contribute towards development in the form of peer review, documentation,
6-
testing and patches.
4+
The `rust-lightning` project operates an open contributor model where anyone is
5+
welcome to contribute towards development in the form of peer review,
6+
documentation, testing and patches.
77

8-
Anyone is invited to contribute without regard to technical experience, "expertise", OSS
9-
experience, age, or other concern. However, the development of cryptocurrencies demands a
10-
high-level of rigor, adversarial thinking, thorough testing and risk-minimization.
11-
Any bug may cost users real money. That being said, we deeply welcome people contributing
12-
for the first time to an open source project or pick up Rust while contributing. Don't be shy,
13-
you'll learn.
8+
Anyone is invited to contribute without regard to technical experience,
9+
"expertise", OSS experience, age, or other concern. However, the development of
10+
cryptocurrencies demands a high-level of rigor, adversarial thinking, thorough
11+
testing and risk-minimization. Any bug may cost users real money. That being
12+
said, we deeply welcome people contributing for the first time to an open source
13+
project or pick up Rust while contributing. Don't be shy, you'll learn.
1414

1515
Communications Channels
1616
-----------------------
1717

18-
Communication about Rust-Lightning happens primarily on #ldk-dev on the
19-
[LDK slack](http://www.lightningdevkit.org/), but also #rust-bitcoin on IRC Freenode.
18+
Communication about LDK and `rust-lightning` happens primarily on the [LDK
19+
Discord](https://discord.gg/5AcknnMfBw). Additionally, live LDK devevelopment
20+
meetings are held every other Monday 19:00 UTC in the [LDK Dev Jitsi Meeting
21+
Room](https://meet.jit.si/ldkdevmeeting).
2022

2123
Discussion about code base improvements happens in GitHub issues and on pull
2224
requests.
2325

2426
Major projects are tracked [here](https://github.com/lightningdevkit/rust-lightning/projects).
27+
2528
Major milestones are tracked [here](https://github.com/lightningdevkit/rust-lightning/milestones?direction=asc&sort=title&state=open).
2629

2730
Getting Started
2831
---------------
2932

3033
First and foremost, start small.
3134

32-
This doesn't mean don't be ambitious with the breadth and depth of your contributions but rather
33-
understand the project culture before investing an asymmetric number of hours on
34-
development compared to your merged work.
35+
This doesn't mean don't be ambitious with the breadth and depth of your
36+
contributions but rather understand the project culture before investing an
37+
asymmetric number of hours on development compared to your merged work.
3538

3639
Browsing through the [meeting minutes](https://github.com/lightningdevkit/rust-lightning/wiki/Meetings)
37-
is a good first step. You will learn who is working on what, how releases are drafted, what are the
38-
pending tasks to deliver, where you can contribute review bandwidth, etc.
40+
is a good first step. You will learn who is working on what, how releases are
41+
drafted, what are the pending tasks to deliver, where you can contribute review
42+
bandwidth, etc.
3943

40-
Even if you have an extensive open source background or sound software engineering skills, consider
41-
that the reviewers' comprehension of the code is as much important as technical correctness.
44+
Even if you have an extensive open source background or sound software
45+
engineering skills, consider that the reviewers' comprehension of the code is as
46+
much important as technical correctness.
4247

43-
It's very welcome to ask for review, either on IRC or LDK Slack. And also for reviewers, it's nice
44-
to provide timelines when you hope to fulfill the request while bearing in mind for both sides that's
45-
a "soft" commitment.
48+
It's very welcome to ask for review on LDK Discord. And also for reviewers, it's
49+
nice to provide timelines when you hope to fulfill the request while bearing in
50+
mind for both sides that's a "soft" commitment.
4651

47-
If you're eager to increase the velocity of the dev process, reviewing other contributors work is
48-
the best you can do while waiting review on yours.
52+
If you're eager to increase the velocity of the dev process, reviewing other
53+
contributors work is the best you can do while waiting review on yours.
4954

50-
Also, getting familiar with the [glossary](GLOSSARY.md) will streamline discussions with regular contributors.
55+
Also, getting familiar with the [glossary](GLOSSARY.md) will streamline
56+
discussions with regular contributors.
5157

5258
Contribution Workflow
5359
---------------------
@@ -80,89 +86,94 @@ our GitHub Actions). Also, the compatibility for LDK object serialization is
8086
currently ensured back to and including crate version 0.0.99 (see the
8187
[changelog](CHANGELOG.md)).
8288

83-
Commits should cover both the issue fixed and the solution's rationale.
84-
These [guidelines](https://chris.beams.io/posts/git-commit/) should be kept in mind.
89+
Commits should cover both the issue fixed and the solution's rationale. These
90+
[guidelines](https://chris.beams.io/posts/git-commit/) should be kept in mind.
8591

86-
To facilitate communication with other contributors, the project is making use of
87-
GitHub's "assignee" field. First check that no one is assigned and then comment
88-
suggesting that you're working on it. If someone is already assigned, don't hesitate
89-
to ask if the assigned party or previous commenters are still working on it if it has
90-
been awhile.
92+
To facilitate communication with other contributors, the project is making use
93+
of GitHub's "assignee" field. First check that no one is assigned and then
94+
comment suggesting that you're working on it. If someone is already assigned,
95+
don't hesitate to ask if the assigned party or previous commenters are still
96+
working on it if it has been awhile.
9197

9298
Peer review
9399
-----------
94100

95101
Anyone may participate in peer review which is expressed by comments in the pull
96102
request. Typically reviewers will review the code for obvious errors, as well as
97103
test out the patch set and opine on the technical merits of the patch. PR should
98-
be reviewed first on the conceptual level before focusing on code style or grammar
99-
fixes.
104+
be reviewed first on the conceptual level before focusing on code style or
105+
grammar fixes.
100106

101107
Coding Conventions
102108
------------------
103109

104110
Use tabs. If you want to align lines, use spaces. Any desired alignment should
105111
display fine at any tab-length display setting.
106112

107-
Our CI enforces [clippy's](https://github.com/rust-lang/rust-clippy) default linting
108-
[settings](https://rust-lang.github.io/rust-clippy/rust-1.39.0/index.html).
109-
This includes all lint groups except for nursery, pedantic, and cargo in addition to allowing the following lints:
110-
`erasing_op`, `never_loop`, `if_same_then_else`.
113+
Our CI enforces [clippy's](https://github.com/rust-lang/rust-clippy) default
114+
linting
115+
[settings](https://rust-lang.github.io/rust-clippy/rust-1.39.0/index.html). This
116+
includes all lint groups except for nursery, pedantic, and cargo in addition to
117+
allowing the following lints: `erasing_op`, `never_loop`, `if_same_then_else`.
111118

112-
If you use rustup, feel free to lint locally, otherwise you can just push to CI for automated linting.
119+
If you use rustup, feel free to lint locally, otherwise you can just push to CI
120+
for automated linting.
113121

114122
```bash
115123
rustup component add clippy
116124
cargo clippy
117125
```
118126

119-
Significant structures that users persist should always have their serialization methods (usually
120-
`Writeable::write` and `ReadableArgs::read`) begin with
127+
Significant structures that users persist should always have their serialization
128+
methods (usually `Writeable::write` and `ReadableArgs::read`) begin with
121129
`write_ver_prefix!()`/`read_ver_prefix!()` calls, and end with calls to
122130
`write_tlv_fields!()`/`read_tlv_fields!()`.
123131

124-
Updates to the serialized format which has implications for backwards or forwards compatibility
125-
must be included in release notes.
132+
Updates to the serialized format which has implications for backwards or
133+
forwards compatibility must be included in release notes.
126134

127135
Security
128136
--------
129137

130-
Security is the primary focus of Rust-Lightning; disclosure of security vulnerabilites
131-
helps prevent user loss of funds. If you believe a vulnerability may affect other Lightning
132-
implementations, please inform them.
138+
Security is the primary focus of `rust-lightning`; disclosure of security
139+
vulnerabilites helps prevent user loss of funds. If you believe a vulnerability
140+
may affect other Lightning implementations, please inform them.
133141

134-
Note that Rust-Lightning is currently considered "pre-production" during this time, there
135-
is no special handling of security issues. Please simply open an issue on Github.
142+
You can find further information on submitting (possible) vulnerabilities in the
143+
[security policy](SECURITY.md).
136144

137145
Testing
138146
-------
139147

140-
Related to the security aspect, Rust-Lightning developers take testing
141-
very seriously. Due to the modular nature of the project, writing new functional
142-
tests is easy and good test coverage of the codebase is an important goal. Refactoring
143-
the project to enable fine-grained unit testing is also an ongoing effort.
148+
Related to the security aspect, `rust-lightning` developers take testing very
149+
seriously. Due to the modular nature of the project, writing new functional
150+
tests is easy and good test coverage of the codebase is an important goal.
151+
Refactoring the project to enable fine-grained unit testing is also an ongoing
152+
effort.
144153

145154
Fuzzing is heavily encouraged: you will find all related material under `fuzz/`
146155

147-
Mutation testing is work-in-progress; any contribution there would be warmly welcomed.
156+
Mutation testing is work-in-progress; any contribution there would be warmly
157+
welcomed.
148158

149159
C/C++ Bindings
150160
--------------
151161

152-
You can learn more about the C/C++ bindings that are made available by reading the
153-
[C/C++ Bindings README](lightning-c-bindings/README.md). If you are not using the C/C++ bindings,
154-
you likely don't need to worry about them, and during their early experimental phase we are not
155-
requiring that pull requests keep the bindings up to date (and, thus, pass the bindings_check CI
156-
run). If you wish to ensure your PR passes the bindings generation phase, you should run the
157-
`genbindings.sh` script in the top of the directory tree to generate, build, and test C bindings on
158-
your local system.
162+
You can learn more about the C/C++ bindings that are made available by reading
163+
the [C/C++ Bindings README](https://github.com/lightningdevkit/ldk-c-bindings/blob/main/lightning-c-bindings/README.md).
164+
If you are not using the C/C++ bindings, you likely don't need to worry about
165+
them, and during their early experimental phase we are not requiring that pull
166+
requests keep the bindings up to date (and, thus, pass the `bindings_check` CI
167+
run). If you wish to ensure your PR passes the bindings generation phase, you
168+
should run the `genbindings.sh` script in the top of the directory tree to
169+
generate, build, and test C bindings on your local system.
159170

160171
Going further
161172
-------------
162173

163-
You may be interested by Jon Atack guide on [How to review Bitcoin Core PRs](https://github.com/jonatack/bitcoin-development/blob/master/how-to-review-bitcoin-core-prs.md)
174+
You may be interested by Jon Atack's guide on [How to review Bitcoin Core PRs](https://github.com/jonatack/bitcoin-development/blob/master/how-to-review-bitcoin-core-prs.md)
164175
and [How to make Bitcoin Core PRs](https://github.com/jonatack/bitcoin-development/blob/master/how-to-make-bitcoin-core-prs.md).
165-
While there are differences between the projects in terms of context and maturity, many
166-
of the suggestions offered apply to this project.
176+
While there are differences between the projects in terms of context and
177+
maturity, many of the suggestions offered apply to this project.
167178

168179
Overall, have fun :)

0 commit comments

Comments
 (0)