10 ms·
Tars: Tencent's microservice RPC framework, open-sourced to Linux Foundation
- kbumsik 7y agoI will never be interested in any projects whose primary language is Chinese, or any languages other than English. I wouldn't care if the project is targeted to China. But it is donated to The Linux Foundation. The Linux Foundation should have not accepted such projects at the beginning. I'm Korean and there is nothing to do with China itself. But the more we accept projects like this, the more they like to write in their language. What's worst is that their Github issue page will be full of Chinese that other people will not understand. I don't want to see the programming culture get fragmented just because of the language.
- kilroy_jones 7y agoThe project itself is not in Mandarin, are they? Thought it was just the docs, which shouldn't be a big deal as they will get translated.
- kbumsik 7y agoThe docs is the most important. If the docs is Mandarin then the project itself is Mandarin. > shouldn't be a big deal as they will get translated. The problem is nobody guarantees they will get translated or the translation will have the same quality.
- powerapple 7y agoSo what? If there is a problem, it will be solved. Forcing non-English speaker to write in crappy English will not solve the problem. Unless, we make the rule that only native English speaker can start an OSS project, or just change Linux Foundation to English Linux Foundation :)
- madsbuch 7y agoIt is already fragmented, the non English fragments are just not at liberated. I think it would be great with some more language diversity. It would reduce the barrier for a lot of people to enter the programming world. (and remember, it is commonplace many places to speak 2, 3, 4 languages).
- a-saleh 7y agoI am not sure the language diversity helps. I.e I remember working with localized Excel. Some of the names made no sense. What was worse, depending on localization, '0.5' could be displayed as '0,5', and that kept tripping me up. And I do speak three languages (and if push comes to shove, I can somewhat understand another two) ... and with <15 million understanding my mother tongue, yeah, I will do my programming in English. If you choose other language, it might make sense for you, and I don't feel entitled to understand you, but I probably won't learn your language just to participate, even if your project is really cool ... (unless it is one of those two that I have been neglecting ...)
- madsbuch 7y agoI think we are in perfect understanding. I, myself, also do all of my work in English even though my mother tongue is a small language of 6 million people.
- saagarjha 7y agoYou’re awfully exclusionary of a large group of people. It’s 2020; we have access to decent translation services: surely it can’t be all that much work to translate the issues? Why deny interested people the ability to interact with English-speaking members of the community?
- kbumsik 7y ago> we have access to decent translation services: surely it can’t be all that much work to translate the issues? If the translation services are great it wouldn't matter but I personally have never seen an useful service that translates technical talks well.
- saagarjha 7y agoI help maintain a project with a very large segment of users who I suspect do not speak English. I have some help from Chinese-speaking members, but overall I can get by with an online translator. It’s not perfect, obviously, but it’s good enough for support in most cases. Usually the bigger issue is technical incompetence rather than a language barrier.
- greendude29 7y agoThat's the stupidest barrier I have seen being proposed to potentially good software.
- dmix 7y agoI use element-ui professional almost every day whose default language and some of the Github issues are Chinese but never had a problem with it. The bulk of the communication is still in english and the translation stuff was built in. https://element.eleme.io/#/en-US/component/installation https://element.eleme.io/#/en-US/component/installation The initial error/validation messages in the dialog box being in Chinese first caught me off guard, plus the website used to default to cn before that added geo filters later on, but a simple config change when you import element and set language to 'en' wasn't a big deal. And I never ran into problems otherwise communication wise. English is still very much the default communication language. My first reaction was that it was awesome to have so much OSS coming out of China and it was top-tier UX/design level stuff using modern JS like react/Vue. If it helps their communities to be able to communicate in their own language while they contribute to the wider world of software with top-notch software than we all ultimately win in the end. Localization is largely a solved problem.
- nexuist 7y agoHave 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? 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
- marvin 7y agoAs a non-native English speaker: I strongly disagree with this. English is the lingua franca of computer technology, and as long as this remains the case, new entrants must adapt to the standard that is established. This is not a matter of cultural imperialism, it's a pragmatic decision around how to easiest communicate with the existing community. "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].
- arkh 7y ago> and as long as this remains the case And how do you think this can change but by having projects whose main language is not English?
- StreamBright 7y agoNot sure why you think that English should dominate international matters. I personally think that Chinese has the same amount of legitimacy to be the Lingua franca for generations to come as English.
- LunaSea 7y agoThe amount of people who know Mandarin as a second language outside of China is tiny. So not a lingua Franca.
- edwinyzh 7y agoI'm sorry, but it's your task to overcome the language barrier if you are interested in the project; if you don't, no one can force you to. But neither you can force other people to do the translation for you, nor force Linux Foundation not to accept an excellent project source project just due to the spoken language of the developer. Everything changes, the world changes. Nowadays you write Korean but your ancestors had been using Chinese as your country's official languages for many hundred years; Now we all learn English to communicate internationally but a few hundred years ago they use France. No one knows how the world will change but there is one thing we can be sure of - no one can force the world to change at his own will - the only thing s/he can do is to adopt it - just as what we human beings have been doing for millions of years.
- TheSmoke 7y agoturk here, if we are going to replace lingua franca, can we please choose german? damn ich würde ein sexy Softwarearchitekt sein. also, chinese software engineering community was a closed up one until a few years ago. now they're actively contributing, rolling up their home brew libraries and applications for the world wide usage. there is simply nothing wrong with them using their own language. we might have a problem when they try pushing that but almost all the popular chinese libs have english documentation.
- rqs 7y agoHere is some basic concept you may need to understand: The language (Both in natural and programming) choice of a project is usually depends on the interests of the main contributors. The main contributors will select the one that is best for them, and make improvement base on that. Since the project is mainly done by Tencent, a Chinese company, it just make since for the project to use Chinese. I see no point for their team members to communicate with one and other by writing documents in a second language everyday. Also, they've provided English document if you want to read, and the document is not bad. If you don't like the document, then send them some PR.
- rad_gruchalski 7y ago> Since the project is mainly done by Tencent, a Chinese company, it just make since for the project to use Chinese. I see no point for their team members to communicate with one and other by writing documents in a second language everyday. The point being, if it is accepted by the Linux Foundation, we should be expecting documentation in English. Otherwise it is fine for maintainers to use whatever language they feel is good for them to use.
- calcifer 7y ago> If it is accepted by the Linux Foundation, we should be expecting documentation in English LF has no mandate to dictate any specific language to projects. > Otherwise it is fine for maintainers to use whatever language they feel is good for them to use. Yes.
- rad_gruchalski 7y ago> LF has no mandate to dictate any specific language to projects. Maybe it doesn't, maybe it does. Maybe it should and maybe Tencent is creating precedents. Plenty of questions. All I see is: Linux Foundation is based in San Francisco, key people are all perfectly well speaking English and LF should do anything what is possible to make the projects accessible globally, using a lingua franca of technology.
- jsgo 7y agoIf it is too high a bar, the obvious choice is to just not participate or use it. There are tons of projects I don’t leverage for various reasons (usually underlying programming language) and that’s fine, not everything is going to be tailored to me. If entrusting it to the Linux Foundation leads to more internationalization of the project, that can only be a win for the LF and Chinese OSS as a whole. Personally, I’d much rather Chinese developers operate within the global community than outside of it. And things like this are just another bullet point in that.
- Proven 7y agoI agree. There are already too many distracting comments on Github. (Not as important, but those who noticed the appearance of Github issues and comments in ideographic languages may have also noticed that most of them happen to be in simplified Chinese. Not Thai, not Vietnamese, etc. Not that I like to see any language other than English, but worst offenders of Github etiquette are from mainland China)
- hhahah 7y agoI guess in the future Chinese government will use it to threat Linux
- ulfw 7y agoI find it funny how when you put two developers in a room they can't decide on one programming language but million of developers shall somehow agree to use only one human language
- MarkLightning 7y agoI am interested in any valuable project, no matter what language it uses.
- GhettoMaestro 7y agoIt’s similar to air traffic control. All pilots speak English. Of course they speak other langs, but for that official purpose: English.
- ksec 7y ago>I find it funny how when you put two developers in a room they can't decide on one programming language May be because most programming language are English alike?
- bborud 7y agoThis is a discussion where everyone will lose because it is practical reality colliding with feelings around identity.
- sargram01 7y agoExactly, one of our teams in China decided to use a popular Chinese web framework, and when the rest of the team out side of China and customers looked at it, the English was grammatically confusing, code had Chinese comments, GitHub was mixed English and Chinese. We ended up replacing the framework for this reason. Here you can see what looking at issues is like: https://github.com/ant-design/ant-design/issues https://github.com/ant-design/ant-design/issues
- Loranubi 7y agoIt's worth supporting Chinese language projects just to see if all the tooling can really handle unicode... There is still too much software around today which breaks when presented with anything else than ASCII.
- gonewest 7y agoYeah, but the problem is those api responses are only 95% accurate... — TARS : [as Cooper repairs him] Settings. General settings. Security settings. TARS : Honesty, new setting: ninety-five percent. TARS : Confirmed. Additional settings. Cooper : Humor, seventy-five percent. TARS : Confirmed. Self destruct sequence in T minus 10, 9... Cooper : Let's make that sixty percent. TARS : Sixty percent, confirmed. Knock knock. Cooper : You want fifty-five?
- unlinked_dll 7y agoI can't read mandarin Is there a document somewhere in english or source code? What is the serialization protocol behind it? Advantages vs. JSON RPC, gRPC, etc?
- tarscloud 7y agoPlz check docs and source code in (github.com/tarscloud)
- unlinked_dll 7y agoWhen evaluating an RPC mechanism I'm mostly interested in performance benchmarks between existing protocols and discussion of schema migration/mutation than architecture (if I'm using your software as a dependency, don't tell me how it works, show me the API and benchmarks!). There appears to be a benchmark table in docs/performance.md but I hope some native speaker can translate for the English speaking folks among us.
- lioeters 7y agoFound the (quite in-depth) intro in their repo: https://github.com/TarsCloud/Tars/blob/master/Introduction.md https://github.com/TarsCloud/Tars/blob/master/Introduction.m...
- lvturner 7y agoTop right corner there's a button/link to switch things into English. At a glance, not everything is translated yet, but it seems a good deal of it is.
- MarkLightning 7y agoCheck from the github: A high perfomance protocol named TARS,and also support PB. PS:gRPC is using HTTP2
- azinman2 7y agoHow does this compare to gRPC? What makes this “a new way to scale?” I found the website confusing.
- tarscloud 7y agoYou could see https://github.com/TarsCloud https://github.com/TarsCloud The performance comparison result: https://github.com/TarsCloud/Tars/blob/master/docs/tars_performce.md https://github.com/TarsCloud/Tars/blob/master/docs/tars_perf...
- thejosh 7y agoThat's not in English though...
- tarscloud 7y agoYou also can check this one: https://github.com/TarsCloud/TarsGo/blob/master/docs/tars_go_performance.md https://github.com/TarsCloud/TarsGo/blob/master/docs/tars_go...
- aloknnikhil 7y agoDo you have any benchmarks comparing TARS to Cap'nProto?
- yorwba 7y agoThe data in those tables should be presented using charts to make it easier to eyeball comparisons. Tables full of numbers are much less intuitive than a nice upward curve.
- tarscloud 7y agoIt focuses on a vertical area and scenario, like edge, gaming, fintech, online video, 5G and so on.
- 7y ago
- chaz6 7y agoI am finding more and more sites linked from here to be blocked by my corporate proxy. The offending "host" is malware.opendns.com. They ought to inform site owners when they are listed.
- AYBABTME 7y agoThe docs seem to suggest that this is a fairly heavy whole system framework, not just an RPC framework. Although I'm not sure because the translation in English is rather poor and I unfortunately do not read mandarin. I want to understand but it's a very hard to read document. I'm curious if someone can tell more about: (1) what the value proposition is in a succinct manner, (2) the specific advantages of this technology versus other RPC frameworks like gRPC or Thrift, (3) some details about the serialization protocol, in particular is it attempting to be low memory overhead like Cap'n Proto or to have interesting features like Flatbuffers?
- yegle 7y agoOT and Nit: Mandarin refers to one of the ways to read Chinese characters (there are other ways e.g. Cantonese, Taiwanese). So you can say "I don't speak Mandarin", but not "I don't read Mandarin".
- yomly 7y agoYou can definitely write Cantonese so I'm not even convinced you are correct.
- bobthepanda 7y agoYou can definitely say "read Mandarin", because particularly in informal contexts there is definitely a difference between "Standard Chinese" based on Mandarin and, say, spoken Cantonese written down.
- Loranubi 7y agoYou are partly correct. Mandarin usually refers to the spoken language and Chinese to the written characters. However there are still differences in writing / vocabulary even if you disregard the existence of simplified and traditional versions. It's similar to US and British English. Books are are often translated to both versions and it's similar for (Mainland) Chinese, Hong Kong Chinese or Taiwanese Chinese text with even more extreme differences.
- MarkLightning 7y ago
- jayd16 7y agoAccording to this link it seems to be more than a wire protocol and seems more like a service mesh. https://github.com/TarsCloud/Tars/blob/master/Introduction.md https://github.com/TarsCloud/Tars/blob/master/Introduction.m... I see: -seems to be implemented as a library and not a sidecar? -a protobuf type protocol -client side load balancing with a name server -a consistent request queuing strategy -a web console for your services -unlike a service mesh, the scope seems to dip into things like service config -end to end request flow tracking? Hopefully someone familiar with it will flesh out the details.
- tarscloud 7y agoAlmost correct! If you are interested in it, please use translator, even review source code firstly. We are working on translate > < Thanks!!!
- MarkLightning 7y agoIt can provide a sidecar based on TARS itself. TARS solves all the problems that Service Mesh meets, such as communication between different languages, rich service governance features, monitoring, logging, and dashboard ......
- dash2 7y agoCan I just say I really enjoy the Chinese-inflected English in use here. Phrases like "Ten years of sharpening the sword" and "application treasures" sound like some venerable Chinese saying, and I like to imagine the CEO sipping tea ceremonially as he dictates into the Apple watch on his silk-sleeved wrist.
- yorwba 7y ago"Application treasures" 应用宝 yìng yòng bǎo is a pun on "application package" (i.e. APK) 应用包 yìng yòng bāo and the name of Tencent's app store. "Ten years sharpening the sword" is a line from a Tang dynasty poem by Jia Dao. The Wikipedia article on him has a translation of the complete stanza: https://en.wikipedia.org/wiki/Jia_Dao https://en.wikipedia.org/wiki/Jia_Dao
- ddorian43 7y agoSee smf-rpc (fastest rpc in the west) https://github.com/smfrpc/smf https://github.com/smfrpc/smf Created in seastar-framework (scylladb's core) created at Akamai , used in Redpanda (https://vectorized.io/ https://vectorized.io/) that is doing scylladb for apache kafka.
- robsinatra 7y agoThe Linux Foundation strikes me as a wolf in sheep's clothing. Who would suspect that The Mother Theresa Foundation was anything but philanthropic? And why is The Mother Theresa Foundation involved with Remington Arms Company and the NRA? Something isn't right here..
- mark_l_watson 7y agoI love reading about how companies create technology that meets their own special needs, whether that be scaling, special business problems, etc. I would like to see more languages supported by Tencent’s RPC framework (Common Lisp :-) ) but they are covering their own needs. One quote in the article “Industrial fragmentation and decoupling of technology will harm the long-term interests of mankind.” affected me because for a long time I believed in individual effort, the efficacy of small teams, etc. Now I think as much about society as technology, where we are headed, and what does the most good for the most people. I see massive loss of privacy freedoms but I also see the need for getting every bit of productivity from all resources: human and environmental. I have a rosy and optimistic view for the future, but it will involve what I expect to be radical changes in societies, increasing power of elites in general and tech companies in particular. Huge companies sharing technology and affecting standards is one way to squeeze maximum efficiency out of the systems that support the world’s population.
- bebopsbraunbaer 7y agoi am kinda conflicted about all the "english first" comments. Isnt this just a blubble / echo chamber ? Arent there eco systems of software not based on english we just dont know about? Millions of coders in the east? on the other hand, human langues (like programming languages) are just a tool in the box right? Dont hold on to your old tool just because.
- grenoire 7y agoThe backlash is due to the Linux Foundation aspect of it.
- pkilgore 7y ago2018?
- sradman 7y agoMy quick first take is that Tencent Tars combines a Google-like binary message/RPC protocol (alternative to Protocol Buffers and gRPC) with NetflixOSS-like Microservice Registry, Lookup, Load Balancing, and Fault Tolerance tools. A back-end platform for web scale services provided by businesses like Tencent, Facebook, Netflix, and Google which is why it closely resembles some of their OSS offerings.
- moderation 7y agoChina has its own RPC ecosystem. In addition to Tars there is Baidu's brpc [0] now hosted with Apache, Weibo's Motan [1], Ant Financials SOFARPC [2], Alibaba's Dubbo [3] also with Apache, Alibaba's HSF [4] 0. https://github.com/apache/incubator-brpc https://github.com/apache/incubator-brpc 1. https://github.com/weibocom/motan https://github.com/weibocom/motan 2. https://github.com/sofastack/sofa-rpc https://github.com/sofastack/sofa-rpc 3. http://dubbo.apache.org/en-us/ http://dubbo.apache.org/en-us/ 4. https://www.alibabacloud.com/help/doc-detail/100087.htm https://www.alibabacloud.com/help/doc-detail/100087.htm
- pcriticism 7y agoAccepting anything from companies like Tencent will put you on a similar list like this one: https://en.wikipedia.org/wiki/List_of_companies_involved_in_the_Holocaust https://en.wikipedia.org/wiki/List_of_companies_involved_in_... Prisoners of conscience are herded in concentration camps and ready to be salvaged as soon as someone is willing to pay for their bodies worth. The Nazi Party thought of the Jews as lesser humans. The Chinese Communist Party thinks of the Uyghurs as cattle to be slaughtered. EDIT: I created this account because of my ethnic background. In China (thanks to the CCP) I am guilty by birth.