Skip to content

Commit 57d8576

Browse files
committed
Add spell checking for articles
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?)
1 parent 4a3eb62 commit 57d8576

11 files changed

+134
-28
lines changed

_articles/best-practices.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ If you don't want to accept a contribution:
119119

120120
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):
121121

122-
![celery screenshot](/assets/images/best-practices/celery.png)
122+
![Celery screenshot](/assets/images/best-practices/celery.png)
123123

124124
If the thought of saying no terrifies you, you're not alone. As @jessfraz [put it](https://blog.jessfraz.com/post/the-art-of-closing/):
125125

_articles/building-community.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ A welcoming community is an investment into your project's future and reputation
2020

2121
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):
2222

23-
![contributor funnel](/assets/images/building-community/contributor_funnel_mikemcquaid.png)
23+
![Contributor funnel](/assets/images/building-community/contributor_funnel_mikemcquaid.png)
2424

2525
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.
2626

@@ -80,7 +80,7 @@ Try to be responsive when someone files an issue, submits a pull request, or ask
8080

8181
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):
8282

83-
![middleman pull request](/assets/images/building-community/middleman_pr.png)
83+
![Middleman pull request](/assets/images/building-community/middleman_pr.png)
8484

8585
[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.
8686

@@ -130,7 +130,7 @@ Good documentation only becomes more important as your community grows. Casual c
130130

131131
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.
132132

133-
![django new contributors page](/assets/images/building-community/django_new_contributors.png)
133+
![Django new contributors page](/assets/images/building-community/django_new_contributors.png)
134134

135135
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.
136136

@@ -158,11 +158,11 @@ See if you can find ways to share ownership with your community as much as possi
158158

159159
* **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.
160160

161-
![cookiecutter issue](/assets/images/building-community/cookiecutter_submit_pr.png)
161+
![Cookiecutter issue](/assets/images/building-community/cookiecutter_submit_pr.png)
162162

163163
* **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.
164164

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.
166166

167167
* **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.
168168

_articles/finding-users.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Remember that people get involved as users, and eventually contributors, because
2727

2828
For example, @robb uses code examples to clearly communicate why his project, [Cartography](https://github.com/robb/Cartography), is useful:
2929

30-
![cartography readme](/assets/images/finding-users/cartography.jpg)
30+
![Cartography README](/assets/images/finding-users/cartography.jpg)
3131

3232
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.
3333

@@ -60,15 +60,15 @@ If you don't wish to set up these channels for your project yet, promote your ow
6060

6161
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.
6262

63-
![vagrant homepage](/assets/images/finding-users/vagrant_homepage.png)
63+
![Vagrant homepage](/assets/images/finding-users/vagrant_homepage.png)
6464

6565
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!
6666

6767
## Go where your project's audience is (online)
6868

6969
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.
7070

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.
7272

7373
<aside markdown="1" class="pquote">
7474
<img src="https://avatars1.githubusercontent.com/u/169328?v=3&s=400" class="pquote-avatar" alt="avatar">
@@ -90,7 +90,7 @@ If nobody pays attention or responds to your initial outreach, don't get discour
9090

9191
## Go where your project's audience is (offline)
9292

93-
![public speaking](/assets/images/finding-users/public_speaking.jpg)
93+
![Public speaking](/assets/images/finding-users/public_speaking.jpg)
9494

9595
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.
9696

_articles/how-to-contribute.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ Even if you like to write code, other types of contributions are a great way to
9797
* Write and improve the project's documentation
9898
* Curate a folder of examples showing how the project is used
9999
* 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)
101101
* Write a translation for the project's documentation
102102

103103
<aside markdown="1" class="pquote">
@@ -111,7 +111,7 @@ Even if you like to write code, other types of contributions are a great way to
111111
### Do you like organizing?
112112

113113
* 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)
115115
* Ask clarifying questions on recently opened issues to move the discussion forward
116116

117117
### 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
123123

124124
### Do you like helping people?
125125

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
127127
* Answer questions for people on open issues
128128
* Help moderate the discussion boards or conversation channels
129129

@@ -181,7 +181,7 @@ A project also has documentation. These files are usually listed in the top leve
181181

182182
* **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.
183183
* **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.
185185
* **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.
186186
* **Other documentation:** There might be additional documentation, such as tutorials, walkthroughs, or governance policies, especially on bigger projects.
187187

@@ -399,7 +399,7 @@ Before you open an issue or pull request, or ask a question in chat, keep these
399399
>
400400
> 😢 _"X is broken! Please fix it."_
401401
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.
403403

404404
> 😇 _"I'm not sure how to implement X. I checked the help docs and didn't find any mentions."_
405405
>

_articles/leadership-and-governance.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Formalizing your leadership roles helps people feel ownership and tells other co
6060

6161
For a smaller project, designating leaders can be as simple as adding their names to your README or a CONTRIBUTORS text file.
6262

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.
6464

6565
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.
6666

@@ -105,7 +105,7 @@ There are three common governance structures associated with open source project
105105

106106
* **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/).
107107

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:
109109

110110
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
111111
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)

_articles/legal.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Finally, your project may have dependencies with license requirements that you w
3434

3535
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**.
3636

37-
![create repository](/assets/images/legal/repo-create-name.png)
37+
![Create repository](/assets/images/legal/repo-create-name.png)
3838

3939
**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.
4040

@@ -86,7 +86,7 @@ For example, as your project grows it adds dependencies or users, or your compan
8686

8787
**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.
8888

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.
9090

9191
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.
9292

0 commit comments

Comments
 (0)