"It's the code that matters" is a nice soundbite, but in software engineering it's absolutely critical to be able to communicate and understand others' code, as well as reason and communicate about what the code should do. Having a working binary that's decoupled from any human language is only the end result you get after this process.
Maybe Mandarin will be the lingua franca of computer technology in 30 years, if China becomes the dominant player in technology development. But that's not the world we have today, and this is really a decision between trying to include Chinese developers in the international community of technologists, or being stuck with two separate communities for the forseeable future.
[Edit: Of course, since Tencent has 75 open-source projects and there's presumably a thriving community of Chinese technologists, we will most likely end up with the latter result anyway. So you may actually end up in the position where you'll have to learn Chinese to contribute instead, because the Chinese developers will be similarly disinclined to use English as long as they are able to get things done in their native language].
A great example is Clickhouse. Russian product, build by an all-Russian team. Yet their docs are in English and they track issues on github in English. I could read them if they were in Russian, but then I would never advocate for the use of Clickhouse in any commercial projects.
If Tencent is unable to cross that bar, then the project should absolutely be rejected from the Linux foundation.
>If Tencent is unable to cross that bar, then the project should absolutely be rejected from the Linux foundation.
I could bet $100 dollar the result of that would then be politics.
Weird how you think Tencent should perfect the project before the LF accepts it. Why can't the LF support the English documentation effort? To me, it sounds like you not only don't you want to be involved in a non-English project, but you don't want anyone else to be, and my question is "Why?"
LF translating documentation for them is a one-shot effort that's ultimately going to be useless as time goes on without someone on their side dedicated to keeping it updated and keeping github issues in English.
It's not too much of an ask. Again, see Clickhouse for an example of how to do international open source correctly.
Your implicit assumption is that the Chinese-speaking development community is not sufficient to sustain the project. I don't think that scenario would be fragmentation but the addition of a new developer segment (net addition).
For reference I'm a mechanical engineer and have heard endless stories of delays, critical failures, and manufacturing errors due to confusion with units. Either they weren't specified and were incorrectly assumed, or a single part out of hundreds is in a different unit and overlooked, or tests were performed incorrectly due to this confusion. It's no good and if it can be avoided then it should.
And how do you think this can change but by having projects whose main language is not English?
But yes, as you say, the way for this to change is by having the majority of software projects written and documented in Chinese instead of English. This might eventually happen, but I think the more likely outcome is that we will have (at least) two disparate communities of developers, with a high communications overhead between them. This is sub-optimal with regards to international cooperation, but the most likely outcome.
Might even turn out to be the most efficient way of moving the world forward, I wouldn't know. I'd bet against it, but not at any odds.
You know, it doesn't change anything if while you steal something you are yelling "it's not theft". It works the same in other situations too, like when you argue all other cultures should speak the same language as you.
Language barriers are inconvenient, but they can be overcome in well known ways, so they are certainly not the cause of breakdowns in international cooperation as all that is mostly done by multilingual people anyway.
That's why most international institutions, wether private or not, define 'official languages'.
When it isn't, it often involves translators, in numbers ranging from a few to armies.
Most software out there being freely supported by at most one person, do you really think any of them have the resources, time, to find multiple translators willing to work for free on translating their project? Or, heck, pay them on their own dime for it?
No. So most developers know that if they do not work in a language that will be understood by most other developers, their work will essentially be useless to everyone, no matter how great it may be.
Honestly, we're lucky to even have a lingua franca. It could be Egyptian hieroglyphs, for all I care. It just happens to be English. And that is fine by me.
Indeed, and some of those multilingual people are developers bridging between the world of international software where English is the lingua franca and their own local communities where company-internal code doesn't need to have all documentation in English, even if that's the case for the open-source software it relies on.
The bridge also works in the opposite direction, such that if you want to contribute your internal code to the international community, it's appropriate to provide them with English documentation. The TARS developers evidently realize that, their translation is just not fully done yet.
I'm not sure to fully understand your position.
If we want to be purely pragmatic, asking Tencent to document all its code in English will probably never happen, even if they can surely improve the coverage in the future. From there if we find their projet valuable enough we'll have to contribute English (I don't think they are opposed to it, far from that)
That is for me the pragmatic approach.
From another angle, is it a "must" for Tencent to adapt to bring a contribution to the table ? If there were actually in a imperialistic approach I could get the frustration, but here the predominance of Chinese is an consequence of their developper base and I wonder if they even planned to expose that code to the greater world from the start. Would we bash them for open sourcing their next mature project on the basis of the quality of the English documentation ? I surely hope not.
My comment was meant more generally: I strongly believe that in a domain that's as communication-heavy and global as computer software, adhering to a professional lingua franca will yield better results for the field as a whole than having each country write code in their own language, translating only when the benefits of cooperation become obvious.
This has been the case in every (Norwegian-speaking) company I've worked in. Separate documentation has indeed been mostly in Norwegian, but with almost no exceptions, code, configuration and commit messages have been written in English, even though none in the company actually spoke English as their primary language. Ditto for software configurations and OS installs. This has made it painless to search debug messages, ask contextual questions online, get outside help and has ensured zero interoperability issues in libraries and dependencies.
It also turned out to make it almost effortless to introduce foreign-language developers in our teams, a strategic advantage. If we were doing open-source software, these advantages would have been compounded. You don't know what you would lose by using a more obscure language, and the effects compound the bigger the impact your software turns out to have.
Much of this is probably a foreign idea to someone who has only spoken English from birth, but I've seen similar phenomena in other fields that are highly international. E.g. an acquaintance of mine works with biotech sales across much of Scandinavia, and although most people there will be able to understand each other using their mother tongue, using English in common communications greatly reduces the time required to sort out misunderstandings. The access to talent is increased by a multiple, and communications overhead is greatly decreased.
But of course there are nuances to this. E.g. in the case of China, there is probably a developer base in the millions that doesn't know English, and the world will probably be a better place if they are able to contribute anyway. And of course, the laws of physics don't care, it's not like there's some authorization board that will prevent their compiler from working if they do everything in Mandarin.
The domain of computer software will probably move faster if these developers are able to seemlessly communicate with the rest of the world than otherwise. But it's also likely that it will move faster with them contributing with a higher communications overhead, than not at all.
I had fellow students in my Russian classes that were there, in part, because they wished to pursue math PhDs, and it was crucial to have competency in one of the other major languages for math publications.
A software engineering community with multiple large active language communities is inevitable, and doubly so for software's ubiquity. Math is at least an ivory tower discipline with a small community that can tolerate limited language diversity. The broader software community using English only would be akin to HVAC professionals exclusively using Italian to discuss their work.
Computers could be in Latin, Esperanto, or Mandarin (which ironically in this case names itself 普通话 “pu tong hua”, the common tongue) for all I care, as long as it’s consistent. Right now it’s English.
Other crafting disciplines don't have super-complex tooling that goes through massive paradigm shifts every 5 years, with work on the same tools and products happening across continents, and where learning the inner workings of each iteration of these tools can be career in itself. Things move much slower in the physical world, and it's likely that other rules apply to such a domain.
“The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.”
I would rather we go with having more translators and encourage more translators to work on technical projects.
People should have the option of learning English vs. waiting for a translation and we should strive to have translations done relatively quickly.
Why not also translate classes', functions' and variables' names too?
I am not a native English speaker. I also really don't have any resources, wether time, money or mental bandwidth to waste on translation.
Nearly all code and documentation out there is in one single language, that happens to be English, so I work in English, and I wouldn't have it any other way.
Is it that much different than for native German/French/Spanish/etc. speakers?
> There is no need to force developers to learn an entire new language to be useful to the community as a whole. At the end of the day, it is the code that matters.
This might be controversial, but I think being able to understand english will help a lot in better code. Why? Because most of the article in the field are in english, open source projects are in english, etc. The more you can read those and the more you can learn from them, the better your own code will be.
This is open-source software, if you are not happy with the language choice of other developers, send a pull request with your own translation.
As a non-native English speaker, I do not agree with your argument. When it is profitable for Chinese people to speak English, they seem to be doing just fine. For the rest of the world, it is easier to learn English than Mandarin.
English is pretty important. It's not really possible to collaborate effectively with people that you can't communicate with.
It used to be French, German, and others with one dominating for a period. What’s so bad about this? It ensures everyone can communicate.
Lastly, this emerged naturally. No central community said, “hmmm we’ve had enough French in business, time to move to X”
> Have you considered how Chinese developers feel when they must not only browse English documentation, but learn English keywords present in every major programming language? How accessible do you think StackOverflow is to Mandarin speakers?
and then
> "I'm not a nice person, and I don't care about you. I care about the technology and the kernel — that's what's important to me." - Linus Torvalds
Based on those two quotes, it doesn't matter how the Chinese feel, what matters is the technology as you said yourself.
An established standard is in place. Why should it be changed to make Chinese devs feel better? What about middle eastern developers or south American developers?
But we adapt. Why wouldn't they? The internet was invented in English-speaking persons .
It's the most logical "standard" in development.
English's not my first language, and I do not care about Chinese developers' feelings, nor do I expect you to care about mine. In fact I'd prefer it if you did not care about mine.
It's not _just_ that the Chinese people's alleged feelings is exploited by the Communist Party of China to justify their oppression of Tibetans or denying Taiwan their place among nations. It's that you seem to be making a lot of assumptions as to how other people "feel." Take a minute to consider how your attitude could be seen as patronizing.
The solution is incredibly simple. Hire professionals or invite volunteers to provide an English version of the documentation. There is no need to force developers to learn an entire new language to be useful to the community as a whole. At the end of the day, it is the code that matters.
"I'm not a nice person, and I don't care about you. I care about the technology and the kernel — that's what's important to me." - Linus Torvalds