Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add language: liquidsoap #6565

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

toots
Copy link

@toots toots commented Oct 5, 2023

Description

This PR adds support for the liquidsoap language. The language has been existing since ~2005 and is widely used to run media streaming applications. Although its original scope is specialized, the language itself if a general-purpose scripting language that is functional and statically typed with inferred typed.

Checklist:

@toots toots requested a review from a team as a code owner October 5, 2023 06:31
Copy link
Member

@lildude lildude left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given its age, usage is surprisingly low in GitHub at the moment, but that could be due to old inactive repos that haven't been indexed yet (the new search will get to them one day).

Other than the suggestion, your three samples suppressed in the diff are too big (probably because of the extensive comments). Please replace these with smaller yet diverse samples with fewer comments.

As popularity isn't sufficient for inclusion right now, I'll label it as such and will review popularity with each release.

vendor/licenses/git_submodule/vscode-liquidsoap.dep.yml Outdated Show resolved Hide resolved
@toots
Copy link
Author

toots commented Oct 5, 2023

Thanks for the review @lildude. I have applied the changes.

I am confused by the popularity assessment. I read the contribution guideline carefully before engaging in all the work required to implement the grammar and requirements for this so this comes as a surprise.

The contribution guidelines states that:

each new file extension [should] be in use in at least 200 unique :user/:repo repositories

Considering the poor results provided by the current search this was later amended in #5756, stating:

  • at least 2000 files per extension indexed in the last year (the number you see at the top of the search results), unless the extension is expected to only occur once per repo, then 200 files.
  • with a reasonable distribution across unique :user/:repo combinations assessed by manually and randomly clicking through the results.

In light of this, 1.7k files is already pretty close to the 2k threshold in and of it self. Furthermore, liquidsoap is a specialized programming language. Most of our users are not developers and most projects consists of one liquidsoap script file that defines all the streaming setup with e.g. a docker compose files or a CMS or database and website application, etc.

The search results only show 5 tabs with 20 entries each. That represents only the first 100 results, 5% of the total results. Glancing through these very limited results, however, it is clear that:

  • Most repositories have between 1 and 5 files
  • A lot of them are large projects with backend and front end for a radio-related website and only a handful of liquidsoap files

Considering this, I have no doubt that, should the search be returning satisfactory view on the actual data, it would show an even distribution of very well over 200 unique repositories. This is the assumption I made before starting this work.

We have engaged in this work because, on the user side, we have identified that, since most of our users are not developers, better support for tooling around the language is really important to improve understanding and learning it. This is part of a larger push that includes a tree-sitter grammar, a prettier plugin and vs-code extension (linked to this PR).

Support for the language in github would be a very valuable tool to help our users report issues and understand suggestions and responses to them, particularly since they are very new to programming.

The search results for issues reports about 3k of them mentioning the project and 1k pull requests. Discussions is a fairly new feature but it already almost 500 of them. A very quick google search on stackoverflow reveals at least 1k entries.

Our user community is very large, with over one million pull on the most popular docker image.

The project is used by multiple large scale organization (Radionomy, owner of winamp and shoutcast, live 365, Radio France with millions of daily listeners) as well as a great number of open source projects (AzuraCast, about 30k radio stations all running liquidsoap scripts, libretime, etc).

Lastly, but very importantly for us, multiple smaller community radios and communities around the world rely on the tool to communicate. See for instance some of the presentations during our 3rd liquidshop here: http://www.liquidsoap.info/liquidshop/3.

The project was also represented in the last two FOSDEM open-source conference at the media devrooms with solid interest from the audience.

Thus I would like to kindly ask if it would be possible to reconsider the popularity threshold in light of these details as I do believe that the language does meet the documented threshold for inclusion. Thank you for your consideration!

@toots toots force-pushed the master branch 2 times, most recently from de19397 to 3e0f282 Compare October 5, 2023 13:15
EstelitoBunyijr

This comment was marked as spam.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants