You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit adds spell checking to all the other prose and
markdown checks currently in place.
As spell checking is a pretty pedantic issue, often marking
jargon (like 501c3, BDFL, or grantmaking) and project and
product names (like Homebrew, Kubernetes, or WordPress),
a personal `dictionary.txt` is included in `test/` with
exceptions for the articles.
URLs, filepaths, @mentions, emoji, and text in block quotes
(as those are used for quotes in the articles) are excluded
from the spell checking.
The spell checking highlighted some cases that I changed:
* All alt text of images is now properly cases if they
start the paragraph
* Typo `sizeable` > `sizable` (former is GB English, latter is
US English)
* Casing of `reddit` > `Reddit` (latter seems to be used more)
* Casing of `pypa` > `PyPA` (latter seems to be used more)
* Casing of `eslint` > `ESLint` (latter is the official casing)
* Casing of `READMES` > `READMEs` (plural `s` is now cased just
like `PRs` and `APIs`)
* Casing of `ok` > `OK` (latter is the propper spelling)
* Spelling of `PostgreSQL` > `Postgres` (both were used throughout,
the latter seems simpler and is just as well known)
* Hyphen in `tradeoffs` > `trade-offs` (both could probably be used,
but the latter is more often used)
* Latin `de minimis` > `minimal` (this section is about law, so the
Latin makes sense, but it’s also a phrase I had to look up, so
I’m guessing other people would have to as well)
* Space in `pageviews` > `page views` (former is more about the
metrics in Google Analytics I believe, latter is just as good?)
* Space in `datasets` > `data sets` (both work, but latter is more
common?)
Copy file name to clipboardExpand all lines: _articles/best-practices.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -119,7 +119,7 @@ If you don't want to accept a contribution:
119
119
120
120
You shouldn't need more than 1-2 sentences to respond. For example, when a user of [celery](https://github.com/celery/celery/) reported a Windows-related error, @berkerpeksag[responded with](https://github.com/celery/celery/issues/3383):
Copy file name to clipboardExpand all lines: _articles/building-community.md
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ A welcoming community is an investment into your project's future and reputation
20
20
21
21
One way to think about your project's community is through what @MikeMcQuaid calls the [contributor funnel](https://speakerdeck.com/mikemcquaid/the-open-source-contributor-funnel):
As you build your community, consider how someone at the top of the funnel (a potential user) might theoretically make their way to the bottom (an active maintainer). Your goal is to reduce friction at each stage of the contributor experience. When people have easy wins, they will feel incentivized to do more.
26
26
@@ -80,7 +80,7 @@ Try to be responsive when someone files an issue, submits a pull request, or ask
80
80
81
81
Even if you can't review the request immediately, acknowledging it early helps increase engagement. Here's how @tdreyno responded to a pull request on [Middleman](https://github.com/middleman/middleman/pull/1466):
[A Mozilla study found that](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) contributors who received code reviews within 48 hours had a much higher rate of return and repeat contribution.
86
86
@@ -130,7 +130,7 @@ Good documentation only becomes more important as your community grows. Casual c
130
130
131
131
In your CONTRIBUTING file, explicitly tell new contributors how to get started. You may even want to make a dedicated section for this purpose. [Django](https://github.com/django/django), for example, has a special landing page to welcome new contributors.
132
132
133
-

133
+

134
134
135
135
In your issue queue, label bugs that are suitable for different types of contributors: for example, [_"first timers only"_](https://medium.com/@kentcdodds/first-timers-only-78281ea47455#.g1k01jy05), _"good first bug"_, or _"documentation"_. [These labels](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) make it easy for someone new to your project to quickly scan your issues and get started.
136
136
@@ -158,11 +158,11 @@ See if you can find ways to share ownership with your community as much as possi
158
158
159
159
***Resist fixing easy (non-critical) bugs.** Instead, use them as opportunities to recruit new contributors, or mentor someone who'd like to contribute. It may seem unnatural at first, but your investment will pay off over time. For example, @michaeljoseph asked a contributor to submit a pull request on a [Cookiecutter](https://github.com/audreyr/cookiecutter) issue below, rather than fix it himself.
***Start a CONTRIBUTORS or AUTHORS file in your project** that lists everyone who's contributed to your project, like [Sinatra](https://github.com/sinatra/sinatra/blob/master/AUTHORS.md) does.
164
164
165
-
* If you've got a sizeable community, **send out a newsletter or write a blog post** thanking contributors. Rust's [This Week in Rust](https://this-week-in-rust.org/) and Hoodie's [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) are two good examples.
165
+
* If you've got a sizable community, **send out a newsletter or write a blog post** thanking contributors. Rust's [This Week in Rust](https://this-week-in-rust.org/) and Hoodie's [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) are two good examples.
166
166
167
167
***Give every contributor commit access.**@felixge found that this made people [more excited to polish their patches](http://felixge.de/2013/03/11/the-pull-request-hack.html), and he even found new maintainers for projects that he hadn't worked on in awhile.
For a deeper dive into messaging, check out Mozilla's ["Personas and Pathways"](http://mozillascience.github.io/working-open-workshop/personas_pathways/) exercise for developing user personas.
33
33
@@ -60,15 +60,15 @@ If you don't wish to set up these channels for your project yet, promote your ow
60
60
61
61
If your project is hosted on GitHub, you can use [GitHub Pages](https://pages.github.com/) to easily make a website. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), and [Middleman](https://middlemanapp.com/) are [a few examples](https://github.com/showcases/github-pages-examples) of excellent, comprehensive websites.
Now that you have a message for your project, and an easy way for people to find your project, let's get out there and talk to your audience!
66
66
67
67
## Go where your project's audience is (online)
68
68
69
69
Online outreach is a great way to share and spread the word quickly. Using online channels, you have the potential to reach a very wide audience.
70
70
71
-
Take advantage of existing online communities and platforms to reach your audience. If your open source project is a software project, you can probably find your audience on [Stack Overflow](http://stackoverflow.com/), [reddit](http://www.reddit.com), [Hacker News](https://news.ycombinator.com/), or [Quora](https://www.quora.com/). Find the channels where you think people will most benefit from or be excited about your work.
71
+
Take advantage of existing online communities and platforms to reach your audience. If your open source project is a software project, you can probably find your audience on [Stack Overflow](http://stackoverflow.com/), [Reddit](http://www.reddit.com), [Hacker News](https://news.ycombinator.com/), or [Quora](https://www.quora.com/). Find the channels where you think people will most benefit from or be excited about your work.
Offline events are a popular way to promote new projects. It's a great way to reach an engaged audience and build deeper human connections, especially if you are interested in reaching developers.
Copy file name to clipboardExpand all lines: _articles/how-to-contribute.md
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -97,7 +97,7 @@ Even if you like to write code, other types of contributions are a great way to
97
97
* Write and improve the project's documentation
98
98
* Curate a folder of examples showing how the project is used
99
99
* Start a newsletter for the project, or curate highlights from the mailing list
100
-
* Write tutorials for the project, [like pypa's contributors did](https://github.com/pypa/python-packaging-user-guide/issues/194)
100
+
* Write tutorials for the project, [like PyPA's contributors did](https://github.com/pypa/python-packaging-user-guide/issues/194)
101
101
* Write a translation for the project's documentation
102
102
103
103
<asidemarkdown="1"class="pquote">
@@ -111,7 +111,7 @@ Even if you like to write code, other types of contributions are a great way to
111
111
### Do you like organizing?
112
112
113
113
* Link to duplicate issues, and suggest new issue labels, to keep things organized
114
-
* Go through open issues and suggest closing old ones, [like @nzakas did for eslint](https://github.com/eslint/eslint/issues/6765)
114
+
* Go through open issues and suggest closing old ones, [like @nzakas did for ESLint](https://github.com/eslint/eslint/issues/6765)
115
115
* Ask clarifying questions on recently opened issues to move the discussion forward
116
116
117
117
### Do you like to code?
@@ -123,7 +123,7 @@ Even if you like to write code, other types of contributions are a great way to
123
123
124
124
### Do you like helping people?
125
125
126
-
* Answer questions about the project on e.g., Stack Overflow ([like this Postgres example](http://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) or reddit
126
+
* Answer questions about the project on e.g., Stack Overflow ([like this Postgres example](http://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) or Reddit
127
127
* Answer questions for people on open issues
128
128
* Help moderate the discussion boards or conversation channels
129
129
@@ -181,7 +181,7 @@ A project also has documentation. These files are usually listed in the top leve
181
181
182
182
***LICENSE:** By definition, every open source project must have an [open source license](https://choosealicense.com). If the project does not have a license, it is not open source.
183
183
***README:** The README is the instruction manual that welcomes new community members to the project. It explains why the project is useful and how to get started.
184
-
***CONTRIBUTING:** Whereas READMES help people _use_ the project, contributing docs help people _contribute_ to the project. It explains what types of contributions are needed and how the process works. While not every project has a CONTRIBUTING file, its presence signals that this is a welcoming project to contribute to.
184
+
***CONTRIBUTING:** Whereas READMEs help people _use_ the project, contributing docs help people _contribute_ to the project. It explains what types of contributions are needed and how the process works. While not every project has a CONTRIBUTING file, its presence signals that this is a welcoming project to contribute to.
185
185
***CODE_OF_CONDUCT:** The code of conduct sets ground rules for participants' behavior associated and helps to facilitate a friendly, welcoming environment. While not every project has a CODE_OF_CONDUCT file, its presence signals that this is a welcoming project to contribute to.
186
186
***Other documentation:** There might be additional documentation, such as tutorials, walkthroughs, or governance policies, especially on bigger projects.
187
187
@@ -399,7 +399,7 @@ Before you open an issue or pull request, or ask a question in chat, keep these
399
399
>
400
400
> 😢 _"X is broken! Please fix it."_
401
401
402
-
**Do your homework beforehand.** It's ok not to know things, but show that you tried. Before asking for help, be sure to check a project's README, documentation, issues (open or closed), mailing list, and search the internet for an answer. People will appreciate when you demonstrate that you're trying to learn.
402
+
**Do your homework beforehand.** It's OK not to know things, but show that you tried. Before asking for help, be sure to check a project's README, documentation, issues (open or closed), mailing list, and search the internet for an answer. People will appreciate when you demonstrate that you're trying to learn.
403
403
404
404
> 😇 _"I'm not sure how to implement X. I checked the help docs and didn't find any mentions."_
Copy file name to clipboardExpand all lines: _articles/leadership-and-governance.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -60,7 +60,7 @@ Formalizing your leadership roles helps people feel ownership and tells other co
60
60
61
61
For a smaller project, designating leaders can be as simple as adding their names to your README or a CONTRIBUTORS text file.
62
62
63
-
For a bigger project, if you have a website, create a team page or list your project leaders there. For example, [PostgreSQL](https://github.com/postgres/postgres/) has a [comprehensive team page](https://www.postgresql.org/community/contributors/) with short profiles for each contributor.
63
+
For a bigger project, if you have a website, create a team page or list your project leaders there. For example, [Postgres](https://github.com/postgres/postgres/) has a [comprehensive team page](https://www.postgresql.org/community/contributors/) with short profiles for each contributor.
64
64
65
65
If your project has a very active contributor community, you might form a "core team" of maintainers, or even subcommittees of people who take ownership of different issue areas (ex. security, issue triaging, or community conduct). Let people self-organize and volunteer for the roles they're most excited about, rather than assigning them.
66
66
@@ -105,7 +105,7 @@ There are three common governance structures associated with open source project
105
105
106
106
***Liberal contribution:** Under a liberal contribution model, the people who do the most work are recognized as most influential, but this is based on current work and not historic contributions. Major project decisions are made based on a consensus seeking process (discuss major grievances) rather than pure vote, and strive to include as many community perspectives as possible. Popular examples of projects that use a liberal contribution model include [Node.js](https://nodejs.org/en/foundation/) and [Rust](https://www.rust-lang.org/en-US/).
107
107
108
-
Which one should you use? It's up to you! Every model has advantages and tradeoffs. And although they may seem quite different at first, all three models have more in common than they seem. If you're interested in adopting one of these models, check out these templates:
108
+
Which one should you use? It's up to you! Every model has advantages and trade-offs. And although they may seem quite different at first, all three models have more in common than they seem. If you're interested in adopting one of these models, check out these templates:
109
109
110
110
*[BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
111
111
*[Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
Copy file name to clipboardExpand all lines: _articles/legal.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ Finally, your project may have dependencies with license requirements that you w
34
34
35
35
When you [create a new project](https://help.github.com/articles/creating-a-new-repository/) on GitHub, you have the option to make the repository **private** or **public**.
**Making your GitHub project public is not the same as licensing your project.** Public projects are covered by [GitHub's Terms of Service](https://help.github.com/articles/github-terms-of-service/#f-copyright-and-content-ownership), which allows others to view and fork your project, but your work otherwise comes with no permissions.
40
40
@@ -86,7 +86,7 @@ For example, as your project grows it adds dependencies or users, or your compan
86
86
87
87
**Your project's existing license.** If your project's existing license is compatible with the license you want to change to, you could just start using the new license. That's because if license A is compatible with license B, you'll comply with the terms of A while complying with the terms of B (but not necessarily vice versa). So if you're currently using a permissive license (e.g., MIT), you could change to a license with more conditions, so long as you retain a copy of the MIT license and any associated copyright notices (i.e., continue to comply with the MIT license's minimal conditions). But if your current license is not permissive (e.g., copyleft, or you don't have a license) and you aren't the sole copyright holder, you couldn't just change your project's license to MIT. Essentially, with a permissive license the project's copyright holders have given permission in advance to change licenses.
88
88
89
-
**Your project's existing copyright holders.** If you're the sole contributor to your project then either you or your company is the project's sole copyright holder. You can add or change to whatever license you or your company wants to. Otherwise there may be other copyright holders that you need agreement from in order to change licenses. Who are they? People who have commits in your project is a good place to start. But in some cases copyright will be held by those people's employers. In some cases people will have only made _de minimis_ contributions, but there's no hard and fast rule that contributions under some number of lines of code are not subject to copyright. What to do? It depends. For a relatively small and young project, it may be feasible to get all existing contributors to agree to a license change in an issue or pull request. For large and long-lived projects, you may have to seek out many contributors and even their heirs. Mozilla took years (2001-2006) to relicense Firefox, Thunderbird, and related software.
89
+
**Your project's existing copyright holders.** If you're the sole contributor to your project then either you or your company is the project's sole copyright holder. You can add or change to whatever license you or your company wants to. Otherwise there may be other copyright holders that you need agreement from in order to change licenses. Who are they? People who have commits in your project is a good place to start. But in some cases copyright will be held by those people's employers. In some cases people will have only made minimal contributions, but there's no hard and fast rule that contributions under some number of lines of code are not subject to copyright. What to do? It depends. For a relatively small and young project, it may be feasible to get all existing contributors to agree to a license change in an issue or pull request. For large and long-lived projects, you may have to seek out many contributors and even their heirs. Mozilla took years (2001-2006) to relicense Firefox, Thunderbird, and related software.
90
90
91
91
Alternatively, you can have contributors agree in advance (via an additional contributor agreement -- see below) to certain license changes under certain conditions, beyond those allowed by your existing open source license. This shifts the complexity of changing licenses a bit. You'll need more help from your lawyers up front, and you'll still want to clearly communicate with your project's stakeholders when executing a license change.
0 commit comments