github-linguist / linguist

Language Savant. If your repository's language is being reported incorrectly, send us a pull request!
MIT License
12.29k stars 4.25k forks source link

What are the exact requirements for a language to be added? #2657

Closed danilolekovic closed 9 years ago

danilolekovic commented 9 years ago

Hi,

I read the guidelines but was still wondering exactly how much usage was required and what the exact requirements for adding a language is. Are stars on the language repository considered too?

Thanks a ton! @danilolekovic

deathbeam commented 9 years ago

I am interested in this too, as in guides there is that "there must be hundreds of repositories with language you want to add".

danilolekovic commented 9 years ago

@deathbeam Yeah, and I see languages on here with like 4 repositories that are all by the same person.

deathbeam commented 9 years ago

For example, I found this language: https://github.com/anunayk/cool-tmbundle to be officially supported, but there exists only one repository in COOL language on GitHub and also, even the main repo for COOL have 0 starts lol.

pchaigno commented 9 years ago

First, I should point out that I'm not part of GitHub staff ; I'm only a contributor to this project.

So, as @bkeepers explained in #1894 (Comment):

this [requirement] is just a rule of thumb to help us differentiate languages that have widespread adoption vs languages that are research projects or personal hobbies. It's not a hard rule.

Languages/extensions for which the requirement is not clear are generally considered on a case by case basis. The popularity of the language outside of GitHub (indicating that it might just be a matter of time before it spreads on GitHub) and the unlikelihood of the extension to collide with another might help. For instance, when .dyalog was added (see #1894) there was only 54 sample files (more than 800 now).

I see languages on here with like 4 repositories that are all by the same person.

Several things could explain that some extensions/languages don't fulfil this requirement.

For example, I found this language: https://github.com/anunayk/cool-tmbundle to be officially supported, but there exists only one repository in COOL language on GitHub and also, even the main repo for COOL have 0 starts lol.

Please see #1796 and #1181 for the background on COOL. I can find almost 1,500 examples of COOL files on GitHub. More repositories here.

bkeepers commented 9 years ago

Thanks for the explanation, @pchaigno.

@danilolekovic does that help clarify it? I'm going to close this issue, but feel free to continue the discussion here and we can reopen it if any action needs to be taken.

davidzchen commented 9 years ago

Thanks for the explanation.

@bkeepers - can you clarify on whether the requirement for both adding an extension and adding a language is still hundreds of repositories (as currently stated in CONTRIBUTING.md), or have the requirements changed? I am wondering because:

I understand that the distribution of languages change over time and that the requirements for Linguist change as GitHub scales up. However, I think we would appreciate some additional clarification on the requirements, especially whether the requirement is on the number of files or repos.

danilolekovic commented 9 years ago

Thanks @davidzchen @bkeepers!

bkeepers commented 9 years ago

can you clarify on whether the requirement for both adding an extension and adding a language is still hundreds of repositories (as currently stated in CONTRIBUTING.md), or have the requirements changed?

@davidzchen Hundreds of repositories is the rule of thumb. Again, it's not really a hard and fast rule. We just want to see that a language has some adoption before we commit to supporting it. If you have a language that you think should be added, feel free to open a pull request for discussion.

davidzchen commented 9 years ago

@bkeepers Understood. Thanks for the clarification.