There’s a big difference between “everyone needs to learn an additional language so that they can communicate with each other” and “everyone writes stuff in their language of choice and needs to learn whatever language others use when reading their code”.
The main difference is probably that in the first case it enforces the burden of learning a new speaking language, for a benefit that is mostly hypothetical. How many project out there are solely internal and don’t take any benefit from underlying software layers being extremely tied to English? How many open source projects have a single or small same-native group of contributors, with English only coming as an unnecessary additional burden in their work?
The difficulty of learning a new language comes with many variables, including how many languages you already know, how close your linguistic knowledge is with the targeted language, how much time you can dedicate to this activity and spend in full immersive environment.
I had to learn English, but now I’m able to use almost all online libraries, programming languages etc. because English is the common language in those.
When someone can master a programming language or a new library in no time, most likely it means that is just an other implementation of the same conceptual stuffs that this person already masters with just a very thin layer of different syntactic sugar.
If I’d need to use five libraries, all written in different languages, I wouldn’t have a chance to make my program work.
But no one is suggesting that it’s what would happen with the integration of internationalization of cleverly designed facilities. On the contrary, it should ease the move of an existing library gaining in popularity to whichever lexicon turn out right for most people interested in contributing, while still allowing anyone to bootstrap with whichever lexicon they prefer. Chances are good that most popular libraries would still use English, for the forthcoming time.
For me, on of the most important aspects of open source projects is global collaboration and knowledge sharing. I believe that this is only possible because there’s a common language used in almost all projects.
The underlying important aspect is to empower end users, for that is how you enable people to collaborate at whichever extensive level. Programming languages are just one kind of interface between the end user and the state machine which should help them have a better life. The common language people are using for global digital collaboration are machine instructions, and anything else is more or less abstract interface sugar.
When allowing people to write their code in different languages, I’d be afraid that this would lead to more local projects and less global communication.
Aren’t this fears groundless? No one should let groundless fears guide them against respectful human diversities.
For example, just imagine a German, English and Chinese community, each working on their own web framework. Apart from a lot of work that would have to be done multiple times, this would also mean that changing from one framework to the other would require you to learn a new language.
Once again, this is missing the main point that it’s not about preventing anyone to use any commonly agreed language for projects targeting international audiences and contributions. This phobia of multiple implementation is somewhat baffling. First, at last news in the wild there are many web frameworks. Even on top of a single programming language you often found several rather large ones.
It could expect that having some of them using whichever speaking language has primary working language as a potential competitive advantage for some niche markets. All the more, diversity comes with some advantages, like better resilience of the network against failure which increase with system homogeneity.
Finally what it really means would that anyone would chose the software framework which seems the more adapted to their need, and if “use English as working language” is in the requirement, any solution which doesn’t meet this specification will be dropped. That’s all it means, as far as I can tell.