> ## Content Index
> Fetch the complete content index at: https://connortumbleson.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# The birth of an open source project
- URL: https://connortumbleson.com/2019/07/08/the-birth-of-an-open-source-project/
- Published: 2019-07-08T02:30:00.000Z
- Updated: 2025-02-04T11:43:48.000Z
- Description: Any time an open source project hits the web, you can never doubt the crowd of people ready to submit spelling fixes.
- Author: Connor Tumbleson
- Tags: Developer

![](https://connortumbleson.com/content/images/2019/07/photo-1553895501-af9e282e7fc1.jpeg)

Photo by [Christian Wiediger](https://unsplash.com/@christianw?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit) / [Unsplash](https://unsplash.com/?utm%5Fsource=ghost&utm%5Fmedium=referral&utm%5Fcampaign=api-credit)

On July 1st, 2019 Google [open sourced](https://opensource.googleblog.com/2019/07/googles-robotstxt-parser-is-now-open.html?ref=connortumbleson.com) their *robots.txt* parser. Something that was written 20 years ago and updated with the evolving web. I really enjoy reading the code of open sourced projects, even if I don't understand it. Very rarely do companies also open source the commit history, but when they do - that is even more interesting.

However, what I've noticed is a common pattern in every single existing project that has been open sourced. The larger the company open sourcing and the larger the code base just increases this phenomenon.

![](https://connortumbleson.com/content/images/2019/07/spelling.png)

First 15 Pull Requests to [google/robotstxt](https://github.com/google/robotstxt?ref=connortumbleson.com)

The above image shows what I'm talking about. Out of the first 14 pull requests to the project, we can group them into the following categories.

1. 7 spelling fixes
2. 3 real code contributions
3. 2 unneeded code contributions
4. 1 style fix
5. 1 bad code contribution

I know the first question is "*how do you determine a bad code contribution?*". Well, lets dive into it.

![](https://connortumbleson.com/content/images/2019/07/turbo-tax.png)

[Force Crawling TurboTax Free File Edition](https://github.com/google/robotstxt/pull/5/files?ref=connortumbleson.com)

This change is requesting that the Google robots.txt parser that runs probably on a couple thousand computers should be patched to explicitly check for Turbo Tax Free edition and allow it to be indexed. There are so many reasons why this is wrong and won't be accepted, but it blows my mind that someone put forward this change request hours after the project went open source.

Was this person just itching to get Turbo Tax indexed online? Was is a big joke? I have no idea, but we are more interested in the obsession with getting spelling fixes into the code base.

- Correcting "*against*" and "*initialized*" - [#2](https://github.com/google/robotstxt/pull/2/files?ref=connortumbleson.com)
- Correcting "*anywhere*" - [#3](https://github.com/google/robotstxt/pull/3/files?ref=connortumbleson.com)
- Correcting "*terminated*" - [#7](https://github.com/google/robotstxt/pull/7/files?ref=connortumbleson.com)
- Correcting "*initialized*" - [#8](https://github.com/google/robotstxt/pull/8/files?ref=connortumbleson.com)
- Correcting "*against*" - [#10](https://github.com/google/robotstxt/pull/10/files?ref=connortumbleson.com)
- Correcting "*outside*" - [#12](https://github.com/google/robotstxt/pull/12/files?ref=connortumbleson.com)
- Correcting "*utf-8*" - [#14](https://github.com/google/robotstxt/pull/14/files?ref=connortumbleson.com)

For me, it is slightly upsetting for a code-base to go public and the only thing people want to do is correct grammar in comments. They may genuinely care about the grammar quality of the code-base, but more than likely it was a script or auto-correcting plugin of the browser. I'm assuming the urge for simple spelling fixes is to forever mark the code change in the history of time with that author's mark.

Outside of the spelling fixes, there is a unique function in the Google that is responsible for looking for the word "Disallow" in the *robots.txt* files. Google commonly saw people worldwide misspell that, so they introduced this function.

![](https://connortumbleson.com/content/images/2019/07/misspelling.png)

[KeyIsDisallow](https://github.com/google/robotstxt/blob/master/robots.cc?ref=connortumbleson.com#L691)

This basically allows you to misspell the word in your *robots.txt* file and Google will still understand. It looks like common typos along with some regional spellings of the word.

While logic like this is pretty fast to run, I noticed a new pull-request to the project in the first 24 hours it was open sourced. They wanted to change this function to this: 

![](https://connortumbleson.com/content/images/2019/07/error-checks.png)

[Adding more possible iterations of "disallow"](https://github.com/google/robotstxt/pull/11?ref=connortumbleson.com)

Which basically adds every iteration of the misspelling of the word. This much overkill for a parser that needs to be fast is just too much. Not to mention if you spell "disallow" wrong like "dissallov" do you deserve for Google to understand what you meant? 

This is just one example of a recently open sourced project, but I enjoy reading them every time they come around.