硅谷知名技术开发者社区专家Kevin分享“如何打造国际开发者社区” ... [复制链接]

1131
 
8btm.com-新币圈 8btm.com-新币圈 8btm.com-新币圈180201f9tdvppudbge44rg.jpg 8btm.com-新币圈 8btm.com-新币圈 8btm.com-新币圈

8btm.com-新币圈 8btm.com-新币圈

8btm.com-新币圈 8btm.com-新币圈
周洋: Hello 大家好,我是 Andrew。接下来的时间里我们会与 Kevin 聊聊有关“如何打造国际化开发者社区” 的话题。Kevin 有多年的国际开发者社区运营经验,曾是 Meteor 社区的活跃贡献者,也是国内最早一批 Meteor 技术栈布道者。现在是 iHealth 的 CTO。Kevin 与大家打个招呼吧。

8btm.com-新币圈 8btm.com-新币圈

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
可能有些人还知道我,因为以前来中国做过一些开源社区的普及工作,可能有的人还知道我原来在 Meteor 技术社区做过布道。当时他们叫我扫地僧来着,后来明白这是牛人的意思。我最近这几年在 iHealth 做 CTO,也一直在开源社区做贡献,对国际开源社区还是比较了解的。现在我加入了亦来云社区,加入社区热心贡献者行列,我很兴奋能跟大家在一起分享。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
另外一个主要话题是如何能让跨国跨时区的协作开发比较顺利进行,这个还是有点难度,这也是我之前在 iHealth 做 CTO 这些年来所面临的问题,因为 iHealth是美国加州、中国、新加坡和法国四个国家在一起协作做的跨国项目。之间遇见了很多很多的困难和挑战,不光是语言文化方面还包括协作工具,沟通方式等等,我们遇到这些困难再自己想办法解决,然后组织出一些还算是有效的经验吧,所以也在这儿跟大家共享一下。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
周洋: 接下来我会问一些问题来请 Kevin 分享,也欢迎大家提出自己的问题参与互动。建立国际化开源社区,大家可能多数是远程工作的,这和我们平时到公司上班很不一样。那么我们怎样分工,怎样同步去解决一个问题。效率上会有影响吗?

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
如果理解这句话呢?从表面上看公司没有固定的办公室,也没有所谓的总部,也没有美丽的前台小姐,也没有人事行政保安什么的,完全是大家在自己喜欢的地方,自己喜欢的时间,通过软件的协助来协同开发,所以这个跟我们传统意义上软件开发的协作模式有了很大的区别。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
乍一听好像挺难的,因为平时大家在一个办公室下协同都还有很大困难,那么这些人都分布在不同的地方,不同的时区,大家工作、休息时间都不一样,怎么能够一块儿系统的工作呢?解决问题的关键点是我们必须有一套行之有效管理工具和管理方法让大家来共同遵守规则,这样每个人才能高效地去工作,也不至于影响到很多人,这就是今天我要分享的第一块内容。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
举个形象简单的例子:Java Script 语言的特点就是不可以被阻挡的单线程,如果靠远程的 Http请求做运行的函数,如果时间比较长,它不会像 Java 那样等待着执行结果送回来它再继续进行,而是它会把这个 Call出去以后就把结果放在一个回调函数里面并搁到队列的结尾,它先执行下面的子任务,直到这个回调函数的结果回来以后放到队列下面,它有时间轮到那个地方了再去执行。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
合理工作安排我们其实已经有很多很成熟的这些工具来使用,大家都在用的代码管理工具 Github 有很多的部分,比如像Issue 还有 Wiki 等都可以来参与任务管理。其他任务管理工具包括像 JIRA 这些大家用的比较多,也是很不错的一个工具。另外产品经理真的很重要,要把整个 Feature 和 Bug 分在一个Issue 里,每个Issue 不要太长,最好是可以让 Developer 在一天之内最长不超过两天能够完成,如果这个任务很大得想办法变成子Issue 的小Issue,让它变得比较短。而且Issue 执行过程中他有时候会有些Dependency,比如要解决这个问题先要解决另一个问题,如果有 Dependency 的话 Developer 在执行这个Issue 时会把它 Re-assign 给另外一个人,然后自己去做自己名字下的下一个Issue。这种工作的结果就很像 Java Script 的无阻塞单线程模型,每个人任何时刻都是有事情继续往前做,而不会在等着同步完成这个东西。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
Jerry: 协作的需求怎么协商呢?会不会多个人同时在开发同一个功能?

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
我通常不建议分配Issue 的人把同一个Issue 分给超过一个人,比如两三个人。其结果就很可能变成三个和尚没水喝的结局,大家反正还有另外俩人,天塌了高个子扛着,没人去做就麻烦了。所以就把它分给一个人,如果他说他不能解决再把它 Re-assign 给另外一个人。如果一旦分到个人头下的话,就不会发生多人同时开放一个工作的情况了。(每个人都不要去做不在自己名下的Issue)如果一个功能很大,一样可以把它分成几个小功能,每个功能是由一个人单独开发,而不是把整个功能分给十个人。听起来好像很协作,其实这叫不协作,没有人是责任人就更麻烦了。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
协作的需求如何协商这个是比较重要的话题,刚才我前半截儿提到了产品经理或者项目经理在这边就十分重要。他的主要任务就是从客户这边把需求或者自己的设计拿出来后,把它分解到具体的 Feature,这个是一个很重要而且还不是很容易的工作。因为刚才我讲了,每个 Feature 的开发时间要有一个大概靠谱的估计。当然估计一个软件开发时间是很难的,所以产品经理需要对这个产品开发十分了解,这才叫一个合格的产品经理。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
关于工作效率的问题,还是说 Java Script,你们要是写过就知道,虽然这个语言是低效的,不像是 C++ 这种语言直接可以很快的被 CPU 执行。但是 Node.JS Server 执行的效率十分高,它高的原因就是刚才我说的原因,它是异步执行,它不会被阻塞,CPU 总是有事儿干,一旦它在等待的时候到最后会把等待任务Callback 以回调函数的方式放到最后边它就是继续执行下一个任务。这种情况下,对于整体来讲是十分高效,如果你们做过 Node.JS 程序或者对比 Java Server来讲,Java Server 通常很难达到超过百分之四十或五十的这种 CPU 占用率。Node.JS 程序达到了百分之六七十、七八十也都很正常,并没什么特别之处。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
周洋: zoom.us

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
如果你要想面对面的开会,那成本就更高了,总得有人跨过要么大西洋,要么欧亚大陆飞到另外一个洲去开会,咱先不说酒店机票成本,就光跑一趟倒时差对大家的工作效率就会产生影响,这些都是巨大的成本。所以大家要把必须要同步才能解决的问题降到最小。最必需的东西,比如开会,讨论,甚至于面对面开会这些都是需要珍惜使用的时间。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
跨时区工作的人一定要有一个概念,你跟别人约定一个时间的时候通常要带个时区在后边儿,比如现在美国我们约时间通常说上午十点 EST 或者 EDT。我得给个具体的日期是哪天或者星期几,通常不会说明天上午八点,因为明天上午八点这个事儿对于在不同的时区的人,听起来是不一样的概念,你的明天上午八点对他来说也许是后天,也许是今天,所以一定要给一个具体的时区,才能把时间约定好。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
Jerry: 产品经理来做 Issue 的划分,在国际化开源社群里面产品经理是非常重要要求非常高的,那么这个重要的角色一般要怎么产生呢?另外还有测试的问题怎么做?

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
另外测试问题是个大话题,在开发这里有几种测试,第一个是程序开发者自己要写单元测试,这个是必要的但同时也是最难做到的,因为有些开发者认为东西能跑就行了,觉得单元测试浪费很多时间所以不愿意写单元测试。我对这件事情的解决方案是这样的,我不需要覆盖百分之七八十的代码,我只要覆盖百分之五到百分之十的,这些代码是十分难以被测或者十分重要的代码,我用单元测试解决。所以如果你写单元测试,就务必把很重要的核心代码的所有可能性都要测到,这就是我的一个建议。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
当然这个问题通常也是留给产品经理或者是资深的架构师来确定哪一部分代码是必须要完善单元测试的,对于这些单元测试的代码,你就要仔细写所有可能的Scenario,边界条件都要测到。这就是一个纪律,这个代码如果没有测试到没有授权出了问题,那问题就比较大了。这块可以举一个很有趣的例子,也是听美国的大牛们给我讲的,这个例子是,我求两个数的均值,a 是个(无符号)整数 b 是个(无符号)整数。我让 c 等于这两个数的平均值,所以c = (a + b)/2, c 是不是这个平均值?大家是否认为 c = (a + b)/2 这个很简单的等会出错?我先停一会儿听你们的反应。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
Kevin: 周洋赞一个。确实这段代码是有错的,c 在某些边界条件下会出错,如果你们是老程序员或者经历过这种类似的折磨就知道当a和b两数都很大的时候加起来会超过(正)整数最大值,会变成负数,我刚刚忘了提醒了这是个 uint,所以正确的是用它的差去补就可以了。就是这样的一个代码,我第一次被人家问的时候我就没想出为什么会错。这就是边界条件,要通过测试才能容易发现这种很难被解决的问题,所以单元测试很重要。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
Staging 中文大概叫后台,意思是没有正式上线服务器的一个测试状态,测试服务器里面运行另外一整套的面对生产环境下的一种测试工作。如果没有通过的话,一样会打回来,它就不会部署到生产环境下。如果这个部署的是已经通过了,然后我们测试人员已经手工测试过以后才会真正的部署或者叫灰度部署到生产环境下。这样的产品质量就会比较高,而且部署后还有 Rollback Plan,就是如果出了问题怎么能退回来,比较保守可靠的做法是灰度。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
Kevin: 英语是一个很大的问题。不用避讳,因为我自己也是这么过来的,我生在中国,你看我中文讲这么利索,这不是后来学的,后来学中文不会讲这么好。在中国读的书,清华毕业的又在北京工作了几年,然后移民去了加拿大后来又移居美国。所以走南闯北不少地儿,后面的后半生基本是在讲英语。我很了解,对于生在中国没有太多机会去跟国际接触,本来也就不太爱讲话,主要跟计算机和苍老师在交流(学习日语?)。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
我发现一个很有趣的现象就是说和听英语,不是很容易,至少对于很多中国、东方语言来讲。但是读和写相对来说,还是比较容易跨越的一个难度。我知道很多的 Developer 读英文文档,甚至写英文的注释还不错。我当时为了让中国团队的员工尽量适应英文的这种思维方式,就用 Slack,一个协同工具,你面对的人,往往是不会讲中文的,大家企业内部通信全部是Slack,每天大量的 Message,像瀑布一样流下来。对于中国员工也一样,所以被迫适应,没有时间去翻译。学语言一定不要翻译,而是要用那个语言去思维。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
我对大家的期望值也是这样,你没有必要去学个什么英语班。你能够用英文想一个问题,用英文的方式考虑,拿键盘把它打出来,这就是巨大的一个改进。而且如果你能够用英文去想问题,那么即使你今天是用键盘敲,一旦有机会必须用嘴说的时候,你马上就知道该怎么说了,因为你脑子里是用英文在想。所以我建议是大家花更多的时间来换你的语言环境,可以读英文的文档,可以写英文的注释、文件,就用英文写,不要试图去翻译。而且随着工作的需要,你有更多的机会跟国际的同事用英语交流,快速地用键盘去聊。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
而新招的人如果感觉到这种情绪,可能就不愿意参加这个公司。除非他也是讲中文的人。结果这个公司的文化就慢慢变成中国文化了。这是我极不愿意看到的一个事情,因为我一直是强调公司要国际化。各种各样的族裔均衡,所以我们订了一个 Policy: 在公开场合,比如办公室内部、公开的区域里,英文是唯一的语言。小屋里边儿聊,出去聊,不关我事。开会时一定是英语,也是官方语言。我们严格执行这一条,效果还不错,公司讲英语的员工仍然是多数,没有变成中国公司。要是想跟国际社区交流、要看世界,尤其是科技领域,英文就是一个通用语言。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
另外有一个人,我们要大赞一下,就是咱们的韩老师、韩锋博士,亦来云联合创始人。他去年第一次去美国的时候,英文还差的比较远,点菜等各方面都还不知道该怎么讲。最近几个月时间,他在哥伦比亚大学做访问学者,一直很胆大敢说,用英文演讲,跟国会议员、哈佛剑桥的人用英文去表达自己的理念。现在的英文水平很快已经不可同日而语了。这是一个很好的榜样。韩锋老师,我敢保证比咱们群里大部分人年龄要大,在这种情况下,他都勇敢地用英文去跟这些陌生的老外去交流,用英文表达自己的观点,面对台下这么多人讲演。这种精神,是十分可贵,值得学习的。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
社区来做?

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
而这件事我认为最好由社区的人来做,因为他们既是用户也是体会最深的人,也是需求最旺的人。他们来参与这个事情是比核心开发人员做更适合。因为社区成员关注的,不完全是内部 Core Team 关心的东西。Performance, Security,不见得是他们最关注的。他们最关注的是,是否 Community Friendly,是不是友好,所以这些事情我觉得适合社区来做。而核心开发的部分,如果能够有一些比较靠外围的部分也可以拿给社区做。但是特别核心的部分因为需要核心团队十分 Intensive 高强度的工作,需要密集的交流的工作就不太适合在远程由社区成员来做。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
会议结束以后在大家会一起聊天交流,公司会提供场地啤酒,零食等,让这个社区团结的比较紧密,除此之外,他们在全球还有其他活动,很多时候是由各地的活跃社区自己组织的。比如伦敦那边的社区活跃份子他们自己来组织,有时美国这边会派个人去一块儿参与,有时就远程视频参与。所有活动都有录像,在网上都可以看到,是可以追溯的,每年都记录了大量的资料,IPFS 也是一样。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
对于社区的活跃份子有很多种参与的方法。深入了解的可以参加核心代码开发,帮忙找问题,然后提交Issue。或者自己改好代码,直接Pull Request,提交给核心团队,核心团队主要任务就是 Merge,核心团队发现这个问题解决的很好,就Merge 这个 Pull Request。所以判断一个 Github 的项目是不是好可以参考几点:

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
2.Community Members(社区成员)的数量。社区成员越多越好,不用担心大家

8btm.com-新币圈 8btm.com-新币圈
团队成员需要带头做贡献,社区成员就能看到,然后其他一些社区成员或多或少做出点贡献就可以引发更多的社区成员参与进来为社区做出贡献。如果所有做贡献都是团队成员做的,而社区成员只管使用的话,那我认为这个社区做的不够好,因为这样就没有交互,即一些人在干活而一些人在免费使用,如果项目变成这个样子,未来这个项目维护就是有困难了,因为一定是众人拾柴火焰高。点火的人是社区核心成员,他们把任务、把要做的事情、理念说清楚,然后提供一些最基础的初级代码,而更多的任务是靠众人拾柴。大家都参与进来,你做一个测试,帮我挑个 Bug,我帮你改几行代码,写一个视频的导航,做一个推特(Twitter)的推广,这样越来越多人参与,才能把火烧旺燎原。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
因为社区里的人也是币的持有者,他们从经济利益考虑,也希望这个币能够增值。社区项目做得好,自己的财富也跟着增长。所以社区成员跟核心开发成员还有基金会、公司,大家形成了一个利益共识:共同把代表社区的币做成高价值。在这种前提下,大家很容易把社区的事情做好。所以一旦达成这个共识,这个社区就会活跃发展。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
资本家怕员工不好好干活,怕你偷懒,各种各样的监督都来了,这都没用,属于奴隶制社会。现在的都叫 DCO,大家是共同的目的,所有的开发者,社区成员,不管你是拿工资、拿币、啥都不拿的参与者,大家都共识,我们必须把这个社区搞好,把币值弄上去。哪怕你手里有币但不会做什么,你可以帮着吆喝,吸引更多韭菜们进来,也算是做贡献。大家一旦达成这种共识了,那么干劲就足了,你用不着逼着人去做这做那的,大家干劲儿足着呢,给资本家干活跟给自己干活,那是完全不同的,所有人都觉得这个干活是对自己有利的,那自然就努力干活了。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
周洋: 要激励社区取得成功,才能共同成功是吧?

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
程序人生: 可不可以在社区把区块链技术应用起来,比如 Token激励?

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
周洋: Elastos 托管在 Github 上,使用 Github 有什么好建议? 什么是正确的姿势?

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
而且在 Github 上,还要有 Community Friendly (社区友好) 意识,就是让社区成员能够更多参与进来。团队的文档要写清楚,因为将来的开发者来自世界各地,大家都要用你写的这部分东西来解决问题。所以对应的文档、说明都是需要格外清楚的,让别人能够明白,这点十分十分重要,这就要看你的意识有没有做到Community Friendly。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
很多人在大多数情况下就是把代码改了能跑就完事儿了,谁都不去关心这个注释到底是不是已经过期了,我经常看自己的代码和别人代码都发现这个代码和注释压根儿没什么关系,注释是可能的 4、5 年前写的,代码改了无数个版本,注释却没人去动它。这种情况反而造成更多的麻烦,我试图去理解这个代码,看这注释还更混乱,所以这个坏的结果比好的结果还要大。因此我不太建议写注释,除非真能保证你每次修改代码时,还能把注释一块儿读一下并进行需要更新。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
(小编批注:Git 中的“Blame”特性描述了文件的每一行的最近一次修改信息,包括修改内容、作者和时间等;可用于追踪某软件新特性的添加及引起 Bug 的提交操作;)

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
1. 每个Issue 十分清楚,不能太大或太小了,太小意义不大,一个Issue 五分钟还不够麻烦的,每个Issue 力度要合理,当然也有可能确实是很简单,那就没办法。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
这是多年被自己和别人的代码残害的经验集中,应该说是血的教训,是这么多年总结出来的。我认为这样的强制要求是有帮助的,虽然对于很多开发者来讲还是挺难适应的一个过程,但是未来会体现到它的好处。你得到好处就会坚持下去的。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
Kevin: 亦来云现在有开发者论坛,咱们这个就是其中一个,另外我们还会建立更多社区。我主要负责全球社区,所以主要关注英文这边,Reddit 我们已经有账号了,Medium 也已经有了,Youtube 频道也很快会建立。另外呢,还有很多社区爱好者自己建立的跟亦来云相关的社区,我已经知道有一个Elastosjs.io 网站,未来还会有Elastosfan.com 或 Elastosfan.io,肯定会有更多交流社区。我希望在未来我们在 Google 里搜索 Elastos 的时候,我会看到无数个链接,来自于不同的国家和不同的人,不同的爱好者以自己的热情来维护这个社区。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
以前项目赶的比较紧,大家都没有时间来维护这些东西或者没有人督促这件事情,我希望把我的解决方案用在咱们社区里面。我会写很大量的 Github 文档,也会找一些人共同帮着来做。我们就先点个火吧,在这个社区里边先找些热情的人一块做。我刚刚举的都是英文的例子,当然中文也一样都是同样的做法,只是语言文字不一样。我希望社区的人一起来参与,能够分一些任务大家一起来做。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
Kevin: 首先关键是自我管理能力。说点题外话,我也在中国接受的教育,中国的教育跟西方有比较大的区别就是中国人对于自觉性的培养不是很够,大家从小就被管着,很多东西都需要被管理才能干,一旦不管理就不知道该干什么了。这个跟西方社会是本质上是有区别的,以美国为例,你们要是在美国生活过就知道美国是一个十分去中心化的国家。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
要是一开始没有自觉性或者管理能力不够怎么办?这个情况一定有,我们经历过这事情有一定的经验,有工具能干这事,像刚才提过的 Zoom 这个工具。我们的办法也挺简单粗暴,对与那些我们认为或者自己也觉得自己不能被管控的人,我们就要求他上班的时候需要打开视频,因为我们希望能看见人,你也能看到你的同事在屏幕上,当你需要跟别人讨论问题的时候,只需要在屏幕上点他一下跟他说话就行了。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
我觉得社区喜欢的就是咱们在座的这些人,你们在社区里面提问、有贡献,这是社区最喜欢的人。如果从开发者的角度来说我希望是有技术实力的开发者更多的加入社区来共同开发。因为亦来云这个项目是很大的,光靠咱们这三五十号人是很难做出来的,而且要做得好更难,一定需要大家众人拾柴,需要有技术背景的人一块儿参与。大家有钱的捧个钱场,有人捧个人场,能帮我们找点儿 Bug 也行,这些都是帮助。所以我们什么人都需要,只要大家共识、意识一致就没问题,都欢迎。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
Kevin: 这种结合我不知道你们有没有过足够沟通,我们有一个叫Elastos.NET(.Trinity) 的项目在 GitHub 上,我现在可以先简单介绍一下,这是亦来云很核心的东西,它可以被认为是一个被修改、改造过的浏览器,它把 Chromium (Chrome 浏览器的内核)做为基础,然后我们去掉了它跟外界直接网络通讯的部分,然后取而代之的是我们的 Runtime 也就是 Elastos RT (作者补充: RT 是一个总的运行环境. 里面包含各种模块,比如 Carrier,包括 Trinity 那个改造过的浏览器,直播的时候说的比较混淆,特此更正一下)

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
那么对于开发 Dapp 的人来讲,用Java Script 即可,用你熟悉的比如 React,Angular, VUE.js都可以,然后我们给你提供一个Javascript 的Object。你通过对这个Object 的调用就能实现支付、点对点的数据传输、音频传输、视频传输、用户认证等等,这些都是不需要中心化服务器的后台支撑,这些所有功能都集成在里面。那么对于Dapp 开发者而言,你们就有了一种全新开发 DApp的方式。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
由于是个封闭的沙箱环境它还可以比较容易实现版权确权认证。举个例子,未来你可以在线发布付费观看的电影、视频节目。由于是在沙箱里面,所以你就没有办法是把它解密导成一个 Mp4 文件然后去盗版,因为它拿不出来。当然如果对着屏幕拍我管不了,就是说从我们这个系统这边我们做到这一点,所有的播放都是需要付费 ELA 来观看,这样的话可以解决盗版的问题,这就是一个例子。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
还有 DID, DID 就是一个去中心化的一个 ID 认证系统,以前我们的 ID 认证,比如你用微信认证、用新浪认证、用 Google 认证,都需要去中心化服务器去验证,他如果服务器倒了你这边就通过不了。DID 不需要,DID 完全是分散的。总之,一句简单的话讲,Elastos 给 DApp 开发提供了一个新的、前所未有的、简单和安全可靠的操作系统。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
我再补充一下刚刚那个话题,刚才那个问题是如何结合去中心化和 Web 结合?我们除了提供这个以外,我们还可以另外一个选择,在 Github 有一个叫Elastos.NET.Carrier.Nodejs.SDK,这个项目是上礼拜五在上海建立的,它是给Carrier 来做 NodeJS 的一个包,来给借鉴 Nodejs 写Server 的人用的,它可以认为是上面这种完全沙箱之外,提供了一个半隔离半去中心化的这么一个临时解决方案。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
今后希望社区来共同建设,我只是有了想法起了个头,现在美国有几个朋友已经开始往里贡献了,你们如果有兴趣可以一块儿参与贡献。这贡献除了贡献核心代码以外也包括你可以在上面开发几个 Hello world,如果它能跑就可以把代码加进去,我们是一个去中心化的协作系统,所有东西都是 Open 的,同时也欢迎各种各样的应用。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈
Kevin: 我觉得 Elastos 的开发进度够快了,但是目前还没有到已经Ready 的程度,不光是文档没到位,代码也还有些没有完成的地方,包括整个框架也有些东西。我估计应该在几个月之内就有应用开发了。我希望大家多关注,希望你们做的应用能放上来,我们会把它挂在 Github 上,全部欢迎。

8btm.com-新币圈 8btm.com-新币圈
8btm.com-新币圈 8btm.com-新币圈<div align="left">

本版积分规则

数字币行情 详情>
创意玩法 更多玩法>
玩家测评 加入测评>
发表主题 回复
mailtopia,把去中心化做到极致!

(c) 2015-2021 8BTM Inc. M链、₥币 All Rights Reserved 智能硬件IoT产品:福州智垒电子科技有限公司

网站备案证书号: 闽ICP备18010811号  Ƀ猫商城 IoT&BlockChain:微物联(福州)网络科技有限公司 SiteMap