This is subjective. And it is difficult to please everyone. I’m personally okay with what they have done.
The mentioned Py files are directly tied to releases and is part of the API. It doesn’t surprise me they only update these with releases. Even the default package contributes to the default functionality. I think they want to keep control of the basics as sometimes that stuff is tied closely to API changes etc. Just because it’s not compiled code, doesn’t mean it should be open sourced.
Even with color schemes and the default theme, I can see why they keep it closed. They want to control the default look and feel of the editor. You are free to customize it anyway you want. New color schemes are bringing in overrides. Or you can pick a 3rd party color scheme. Little would be gained for them open sourcing this.
Most companies don’t open source unless it benefits them. It’s a calculated move. Sublime gets the most benefit from open sourcing syntax, so that is what they’ve done. At least that is my take on it.
The Packages repository is monolithic. It’s way too noisy.
I’m just happy it’s open. There can always be something to complain about. Once it was closed, now it is open, and syntax has gotten so much better. I’m okay with the noise. But yeah, it would be nice if each language package was a separate repository. Then you could subscribe to what you cared about. I can understand this argument.
There’s lacking a process to get new new default packages/syntaxes into the core e.g. Git, INI, etc, aswell as little syntaxes that would do well to be in the core.
I think they like to keep it to the most common languages. I am sure you can propose new syntaxes, but yeah, ultimately they need to decide if it is worth committing to the maintenance of it. They’ve picked the most common languages and chosen to support those. I think they rely on the plugin ecosystem to fill in the gaps of what they are not supporting to keep maintenance cost down (even with contributor support).
Again, one could argue that every known language should be in the core. If I need a language that doesn’t come default, I just use Package Control. And if that one needs support, I can pull request that 3rd party package or file an issue there. And that noise isn’t added to the default syntax repo .