好 我们开始吧嗨 大家好 新一期的 WebWorker 播客又来了 WebWorker 播客是几个前端程序而前聊的音频播客节目然后在往期呢 我们邀请到了很多前端领域的开源作者 开源贡献者也就是我们常说的开源真神这次我们终于又非常开心又反场邀请到了安特夫来加入我们聊一聊他感情的一些话题那我们先聊聊在场的都有谁吧我们邀请到了 Smart
嗨 大家好 我是终于听到安特夫老师声音的 Smart 对 之前我们邀请的时候你当时应该还没加入 OK 然后我们还邀请到了韩老师大家好 我是秀儿韩老师秀儿韩老师又回到我们对 和安特夫有一面之缘 一个面世的缘分哦 我想起来了 这个一会儿解释一下然后我们主要是邀请到了安特夫
大家好我是 Anthony Fu 然后我是不会写 Ross 的 Anthony Fu 我是 Alpha 音比较牛逼的新宝头那我们在现场旁听的还有 Eva 你可以打个招呼 Hello Hello 我是 EvaOK OK Eva 我们来旁听 OK 那我们现场结束结束完了刚才韩老师和 Ant4 有一面之缘你可以聊聊这个有趣的经历这个是当时我有段时间在做直播然后当时就
我也不知道到底是为什么,可能是看到那个 react 的那个 Dan 他做了一个模拟面试这件事情,所以我们想说我们来做一个模拟面试,然后之前做了大圣面试我,然后找了一个海老师面试我,来考我这个 type script,然后我应该算是惨败吧,就是被刷掉了应该说。
没有没有没有,托尼老师非常优秀,我们 overqualified 了,成功拿到 over,从上写不出来。
安德夫和外博和博客也有亲密的缘分我们在 23 年 10 月份在第 38 期上我们和当时标题是和前端界的老朋友安德夫聊技术开源 供件协作和前端思考那时候我们和安德夫也聊聊他之前的参与开源的一些改悟这次我们聊点不一样的我们这次聊点什么好呢看到了安德夫在做一个放这个东西是什么东西这个他其实最开始
也不是,其实他严格意义上我觉得他也不算是一个放的,对我来说。他比较像是,最开始我看到了一些就是开源做的多了之后,看到一些开源的问题,就比如说我觉得很大的一个问题是其实大家想要把开源做好,但是其实你需要自己去平衡自己的时间跟精力以及吃饱饭的问题。
那很多时候大家都是说我业余没有工作休息的时间我再来花时间在做开源那这样一个是可能负担会比较重再一个就是说可能你在开源上的时间你今天非常喜欢做开源但是你又不能有足够多的时间去把一个项目做好
这时候我就会觉得说,开源这个事情本质上来说,虽然它给社区、社会提供了很大的价值,但其实本质上它因为是开源、因为是免费提供给大家的,所以它并没有特别多的钱流入到开源里面去。然后以及说,我会觉得说不是所有做开源的人都擅长宣传自己,
就是有的人可能是技术非常强然后算法特别厉害然后埋头苦干写了一个非常厉害的东西但是无人问洽然后或者是说也许有很多人在用但是没有人知道他实际上在用这个人的东西
我就觉得这个东西是蛮可惜的然后我觉得说我有相对来说比较这个 front facing 就是就是比较对外有这么一个形象然后以及说我可能有一定的号召力这样的感觉那我觉得说虽然我做了很多东西但其实我也是用了很多别人的东西才做出现在有的东西所以我想说其实就跟类似有点像是供应链一样的感觉那我希望说如果说如果大家会给我赞助的话那理论上应该要给这些
我依赖的这些工具赞助但是其实上大家不一定会知道那这件事情就由我这个销售终端产品的这么一个人如果我能够通过我的比较就是大家比较知道的这些开源项目能够筹集到一部分资金的话那么我应该要把这个资金留回去给我依赖的这些工具
這些工具他們不一定所有人都知道但是因為我直接用它所以我會更我可以更了解這些東西以及說我可以去做功課去把這個事情就是把一部分的錢然後可以來資助這些辛苦在下面工作的這些開源項目這樣然後最開始它其實是一個 Open Collective 然後後來因為一些這個這個叫什麼他們這個
管理上的问题他们觉得说 collective 也不行那改成一个放所以最后就变成了一个放然后现在在这个也在 opencollective 上然后叫做 Anthony 放的这样嗯韩老师有关注吗啊有一点就一直能看到那个呃托尼老师在那边打赏其他的开源项目就就这个属于是开就托尼老师的真开源项目那个带带你逛开源对不对嗯啊对对
我记得之前安特佩在 B 站上原来也尝试去做类似的那种开源我认为带逛我记得有小短片那个我觉得面相比较不一样那个比较像是去发掘一些这个就出使流量的感觉就是说希望可以因为其实我觉得做另外这个是另外一方面就是开源你要做的话其实这开始你形成一个循环让别人知道你是谁以及你的作品是什么这件事情
起头比较难,所以当时想说就是做一个这样子的事情,然后让大家可以,也是一个是说可能分享一些我觉得做开源,一个开源专,一个开源项目可能需要的某些东西,比如说你的文档要怎么写,你也要怎么去介绍自己的东西,这样子的感觉,对,但有点类似的,嗯,
感觉在对有相似也不同感觉在回答不同的问题一方面是这个东西我们去发现它去引导它去提出一些优化建议比如我们在宣传上在一些 Redmi 上或者在一些对外的这个社区的链接上我们是一个反应另一方面现在在聊的这方面也是相当于更有更直接更明确的一个反应这个做了多久了什么时候开始做的
去年 4 月中的时候快差不多快一年了嗯对还是真的还挺快的我也没有注意到所以一下就一年了嗯
我印象中也是去年也就是当初你在推上去宣传去推广你这个想法的时候也是当时也关注到了当时我也有一个怎么说热爱开源的心然后我说这个东西蛮有趣所以应该是比较早就开始来尝试加入了我记得印象中比较早我发现了还有就是比如去参与开源的赞助有
GitHub Sponsor 当时在 GitHub Sponsor 上也有一些分散的那个投入现在在那个现在专门的这个网站可能我对很多人说这个网站可能并不熟在 GitHub Sponsor 上会更熟一点这两个东西有什么区别然后他们分别是什么东西能给不熟悉不了解的人介绍介绍吗嗯
首先感谢这个 web worker 对这个 collective 的赞助金主爸爸谢谢谢谢能够支援开源
然後這個平台叫做 Open Collective,它其實是在 GitHub Sponsor 之前就有了,它其實還挺複雜的,對我來說還挺複雜的,總之來說它就是有點像是一個基金會這樣子的感覺,但它是可以說是一個開放的平台,讓每個人可以去託管自己的基金會,相當於是這個樣子。
那 Open Collective 它本身跟开源并不是有直接的挂钩的关系但它还有另外一个东西叫做 Open Source CollectiveOpen Collective 是平台 Open Source Collective 是这个类似基金会这样的感觉然后那我们实际上大家平常在讲的这个 Open Collective 在开源项目里面大家都一般的用的是 Open Source Collective 就 OSC 然后这个它是一个非盈利组织然后它可以说你去你去投你去赞助的时候你是把钱
赞助给这个非盈利组织然后这个非盈利组织在根据某些情况你可以去你每个项目里面会有一个这个预额吧就是说你可以知道说你这个进来了多少钱然后你可以去找一些理由把这个钱提出来就比如说我要去说我这个月我可能这个项目我可能每个月给几个人发一个固定的薪水那这时候就是他的这个维护的这个成本的开销就人力成本那你可以每个月发一个这个
呃,这叫什么呀?收据吗?还是怎么样?然后就可以去申请一笔款,然后如果这个这个项目的作者,这个项目的 owner 他批准了,那这个钱就会打到你的账上。然后还有的方式就比如说我们可能说我们这个团队啊,几个人,那我们可能出去聚会或者是说我们去集中开发的时候,那可能中间的交通成本啊,住宿的成本,那这些东西都可以由这个项目来来去 cover 这样。
这就是有点类似报销的性质那如果在这个钱不用的情况下这个钱都是在这个非营利组织你下面的然后它主打的是一个就是公开透明吧实际上就是说所有的入账和出账都是透明的你都可以任何人都可以看得到那它的好处就是你可以知道这些钱的流向以及说这些钱有没有被合理的利用这样的感觉
对,然后 GitHub Sponsor 不一样,就是 GitHub Sponsor 都是个人,然后基本上就是直接打到个人的账户里每个月,然后他在税务上也会有一些不一样。对,我发现了,有时候比如我想赞助这个人 5 美元或 10 美元,他并不是 5 美元,可能我这边还需要一些额外的一些小数或者说一些税,这个怎么理解?
对这个是有分手续费跟税的问题那手续费的话 GitHub Sponsor 其实是比较好的因为 GitHub Sponsor 个人赞助个人的话他的手续费是有这个平台 cover 所以相当于是说你赞助我五美金在 GitHub 上的话我是会收到实际上收到五美金但是其实上中间这个刷卡的过程他一定会有手续费但这个手续费相当于是 GitHub 出了对其实还是挺良心的
然后那 Open Collective 这边的话它手续费跟平台托管的费用会有 10%所以你赞助我 10 块钱的话你付了 10 块钱我实际上只会收到 9 块钱那这个是我一开始非常犹豫 Open Collective 的一点就是它的这个手续费特别的高
对然后但是它的好处是这笔钱在赞助了之后这笔钱是不属于任何人的这笔钱是属于这个基金会的但是 GitHub 的贊助是说你赞助我五块钱这五块钱下个月就在我的账上了
那这个时候你就要需要去申报这个个人所得税那根据你在的国家的不一样的话你就会需要交不同就它是算是你的收入的一部分但是 OC 的话是说你有需要用到的时候它才会算是才算是收入或者是说如果你是买东西报销的话或者是旅行报销的话这个是不用算到税的这样子所以它的性质不一样走开了是
对那个听众朋友们可能会那个有点疑惑就是税务这个问题就税务这个问题呢一般在海外他他他这个税务是做的是非常的严格的
他给你的钱比方说给他的话就属于那种你给他打工那我给你钱就你给太原社区打工是吧那这个是算作为你的收入所以他是做收入税的就是如果我们在国内的话就是你的报税 app 你要在报税 app 里面舔那个东西然后你要被被被
比如说拿个 5%如果你赚的多一点 35%那其实是比较多的那 Open Collective 就相当于这个钱是属于集资然后你的报销它不属于你的收入所以你就不需要再额外报税那这个时候就不需要你的一般的话你的收入的税率会比 10%要高
会比这个要好一点但是尽管这么说呢 Opencollective 的 10%的手续费其实是非常夸张的非常非常夸张我不知道我不知道他 Opencollective 会不会给你你钱打到他上面他会不会给你利息不会他是不会那有点坑啊那他直接就在里面套利了对不对他拿你钱去买那个那个那个定的那个那个活期存款那里面有 3%啊没错是这个样子
但是它的好处就是相当于是说你你如果是甚至是个人的 open collective 的话你也可以就是说你可以根据你的需求再去提这个提这个款就是说你不是说你一笔钱进来之后你就要报一笔非常大的税而是说等到你有需要的时候再去报所以其实可以一定程度上达到一个这叫什么合理分配税的这么一个事情
听起来一个像拿到了工资交个人所得税一个像是企业运营的成本支出你只需要缴纳你就成本支出之后他本身就已经会有一部分的免税额度
但是应该是说 Open Collective 是在这个报销的情况下才不需要交税但是如果你是以这个这个收入的情况就 Open Collective 也是可以提前的就是当作是你你工作的时长然后你可以说我这里也是可以另外一种形式的的这个提款那他的他这个地方你还是要交个人手的税所以这个其实在这个情况下是更坑一点的
那就是 open collective 允许你时报时销拿发票就可以那他就是需要你跟这个这个项目有点相关这样的感觉感觉韩老师感觉安德福老师这一年做了好多工作能聊一下你这一年就是开始做这个有哪些成就吗就比如说收到别人的感谢啊或者就说
哪些项目因为你做了这个他可能变得更好或者哪些项目因为你做了这个他被更多人认识更多人所了解到的这个东西对我来说有一点点难量化首先放的现在的情况大概是说每个月会有大概 500 到 600 美金的这么一个这个收入就是进到这个进到这个 cladcape 里面的钱
然后那我基本上会把我每个月都会把这个所有的钱都分配掉
就是会剩一点但是大概的情况就是我现在大概的模式就是说一个项目大概会是捐助 150 刀的样子就是如果是对还要讲到一点就是说我们刚刚讲完了这个税务的问题跟这个就是支出的拿出来的这种问题但是它的一个很好的好处是说因为它所有的钱都是放在这个 Clarity 里面的所以每一个项目其实本质上的钱都是在同一个池子里的
那它的好处是说如果你在这个时候你一个 Open Collective 的一个项目去赞助另外一个项目的时候这个中间是没有任何手续费的以及也不发生任何税务的关系所以这样子的我当时会选择用 Open Collective 的一个原因就是说如果我是想要把别人给我的赞助去转发给别人走 GitHub Sponsor 的问题是说我进来的时候我可能要被扣一个 30%到 40%的税
那这时候我 100 块钱进来我只剩下 60 块钱这时候我再拿 60 块去赞助给别人的时候别人还要再扣根据他的情况还要再扣一次所以然后如果甚至还有我们还有循环赞助这么一个事情所以这个还是非常的
在税务上效率非常低的这么一件事情所以当时用 OpenCraft 的好处就是我想说我如果可以在项目之间到项目之间去做这个事情的话那我其实就可以真正做到一个这个 forwarding 就是转发的作用因为这个转发的过程是没有任何损失的只是一开始的 10%会比较痛一点对
所以我現在大概就是說一個月一個項目的話我可能會去一個月我每個月去看一下說這個月我想去贊助哪些項目去整理一下說我看一下我的依賴數看一下我的工具鏈看一下是說哪些工具是我有很常在用到或者是說對我來說對我在做的東西或者是說對我的工具的受眾
的使用者是就是可能比较关键的这么一个东西那我就会去看一下说好我这个月我现在比如说我有 500 美金我要怎么分配这 500 美金
以现在的情况是说大概一个项目的话是 150 美金一个月一次然后因为我们现在还没有足够多的钱所以还没有就是基本上现在还是每个月单次单次的所以那个人的话一般是 250 美金因为个人的话需要比较麻烦一点的操作就是因为项目之间我就直接直接点到那个项目里去做赞助就可以了
但是如果是赞助给个人的话会需要要需要叫这个人去去在我的 openclacking 里面填一个这个 invoice 所以这个会是相对来说比较复杂一点所以我就想说一次性这个可以给给多一点钱然后这样就省一点麻烦不是说按你你你填了这么久然后给你 10 美金这样子的感觉哦明白了嗯
原来是这样现在比如你刚才也说大概量级比如我们 500 到 600 那这个你是怎么来分配的每隔一段时间然后怎么来分配谁来获得 250 谁来获得就是其他不同的这个额度的
对这个就 250 跟这个这个金额不同是取决于性质不一样就是个人因为不是所有人不是所有人都有不是所有的项目都有 open collective 就是他必须要他自己在 open class 上搞一个开一个这个 collective 就比如说你想知道 view 啊 babel 啊 wipack 啊这些东西他们都在上面有那这时候如果你要去赞助他们的时候就直接就可以直接赞助这个
這個 collective 而不是個人那有一些項目可能是他可能實際上就是只有一兩個人在做的那這種的話那他的情況就會說我會需要叫他來去做這個所以那決定到底是誰這件事情就非常的主觀因為因為這個事情之所以會叫做就之所以會叫做 Anthony CollectiveAnthony Fund 這件事情是因為
呃我觉得没有一个真正公平的方式去做这件事情那与其说呃去真的找一个最好的算法我不如说我今天就是呃
有点像是说大家相信我做的决策那我就非常主观的去选说我觉得怎么样的项目好怎么样的项目值得那当然这其中肯定会有分配不均的问题但是我是尽可能去做这个公开透明所以我每个月会去看一下然后我每个月会写一篇文章短短的一篇文章告诉一下说这个月钱都流到哪里去了以及说我会借这个机会去介绍一下我赞助的这些项目说为什么它对我们来说很重要
以及说这个东西它有什么样的帮助之类的好处就是说一个是你知道钱去哪里再一个是说也许你没有发掘到你用这个东西因为这篇文章如果你能够发现说我其实在用这个东西这东西还不错也许你其实可以说我知道这个东西你可以直接去赞助它你也不需要通过我但是说如果你觉得比较省心或者是你觉得相信我这个人
你就来赞助这个我的这个这个放那他的好就是就是说相当于说我是非常独裁的个人决定要怎么去做这件事情哎对这样就刚刚才害了是开玩笑说我们变成一个 test worker 对我们刚才稍微聊深入一些税务的一些细节
那我们刚才我突然想啊我说有点像我们早期比如支付宝那互相转你给我钱我给你钱这里边是一种方式那支付宝你给我钱这我在提取是一个方式这是我们刚才在聊的一部分深入一点话题那有些人对这部分不太熟的话可以钱就是对应到我们现实生活中一些举措具体方式这里我们就不纠结那里边税务的各种小细节
我们再继续来聊聊刚才提到了其实安德福他有了这个想法就是他意识到了开源供应链里边这些他能观察到一些有趣的现象所以他也有号召力来做一个 fund 那如果大家认可安德福的一些眼光和一些判断的话可以他有他的这个 fund 就能拿到一些资金他来决定把这部分钱给到特定的组织特定的开源作品或特定的这个开源那个协作者那
这里边就变成了现在我们推荐蛮久的,居然快一年多了这一年多,现在刚才也提到了整体的规模是大概 500 到 600 现在就每个月,刚才提到是每个月分配一次现在大概就是资金情况,我们聊金额的话大概现在是一个什么水平然后你分配的话,比如未来近几次的分配大概是一个什么情况
嗯对这个具体我现在不知道总共是多少但是我可以看一下但我上次在年底的时候就是就是元旦的时候统计了一下我去年大概是啊转发了大概 4000 多块 5000 美金的样子啊然后我现在看不太到我之后可以再看一下啊我看到了啊我看到了啊总共我现在到现在目前为止这一年的时间总共是收到了 6600 美金
然后到现在来说是花掉了啊就是转发出去了 6,300 所以还剩下 200250 块钱的在这个这个 collective 里面还有一个个人的额度是吧怎么是个人呢
就是还能再给一个人捐赠了 250 美元是吗?对对对现在是就是我要等到这个钱就是大家赞助这个放着的钱进来然后我才会我才可以转出去所以大概一般我会在月底做这个操作然后这个账户里一般会留一些钱来做这个这个 buffer 这样的感觉
但我的角度是说我是想尽可能把这个钱早点转出去然后也许它可以起到更好的作用所以但这个东西我虽然目标是每个月做一次但有时候真的是忙不过来的时候可能会比如说这个月停一下然后下个月一起做的那下个月一起做的时候它两个月积累的钱会让我更多就是选择的时候更有灵活性一点
对,Smarta 观察,对我们在这个 show notes 里面也放一个链接如果对刚才提到的 nfoad 这个放的感兴趣可以去看这个链接然后我我观察到它也会有一个 update 和一个 email 那个其实看那个 update 就行就是看能够看到过往的每一个阶段的分配情况和它有一个文字的一个介绍和有对应的链接
Smart 有没有去看这个分配的情况有没有观察到有趣的或有意思的人或组织或产品我刚刚大概扫了一眼发现好多都是我们的老朋友有一些也是我们节目的嘉宾比如说有一些生肖质子还有一些基本都是前端领域的还有是像工具链一些的所以我有一个问题是
像安特富他刚刚说到他赞助的大部分还是他用到的一些工具会不会有一些也是比较优秀的项目但是他没有用到就没有赞助后续有没有会把这个边界往外扩比如说我会挑出我会专门腾出一周的时间然后我去筛选这些优秀的项目即便我没有用到我也会给他做赞助
这个我觉得是可以考虑跟讨论的但是我觉得以我的角度来说的话比较像是说
一个是我能够就是因为这个收到的钱其实并不是特别多说实话就是每个月能够赞助的人跟就是因为我自己是觉得说其实稳定性更重要就是说对于一个对一个做开源的人来说他一收到一笔钱其实对于他来说的帮助其实是有限的最好的方式是他如果他每个月可以固定收到一笔钱那其实是啊更有帮助就是他可以可以有一个比较好的对自己的经济的一个预期
那事实上就会我会觉得说以我的角度来说我用到的工具的生态其实就已经很大了以及说其实
大家嗯就是大家都还挺辛苦的所以就是我我能够收到的钱其实都不太能够去啊说你你就不要说养活一个人了其实就是啊分配分我们我能够分配到的其实都只有一点点那当然说这个放的的意义初衷本来是想说可以希望能够可以吸引到更多的人或者是更大一点的公司来去做这件事情或者是要么他们自己做这件事情要么就是他可以交给我他可以投钱给我做这件事情所以
以现在的角度来说当然我会希望说能够做到更多的这么一个不同的这个社区但是现在的目前的阶段来说我是觉得说我们自己的这个社区其实需求就已经不太能够满足了然后以及说大家来赞助我大部分情况下是
用到我的工具才会来赞助我那我当然是需要对大家交给我的这笔钱负责的那你说我去赞助一个 Rust 的项目也许可以但是也许对于大家来说的收益并不是特别好那只能说对这个是其中几个原因吧然后
对这一点就其实说的也也很坦诚也也是我们现在基于现有的情况和现有的条件来做这个抉择刚才也明确提到了那我们现在的这个量还没有就不能更高更好的去覆盖所有的人然后更好的去覆盖所有的情况
再一个就是我们现在能够对一个项目对一个人俯视和理解也是基于他使用他的作品使用他的相关的开源付出我们才有了对这个产品和人有一个基础的认识
其实本质上来说我不是想要只通过我来做这件事情我比较希望能够带动这个希望能够做一件事情给大家看一个样子说也许大家也可以做这件事情那我们想要说其实更希望的事情是说会有一些特定的某一些领域的组织来去做这个事情比如说我们可以有这个 TypeScript 相关的这么一个 collective 那你去赞助这个里面的社区的话那可能跟开源跟 TypeScript 有关的就相对来说给了一个主题而不是给一个人
那虽然给一个人你可以知道说我在做什么我可能跟 view 相关我可能跟 vis 相关但如果你说我是一个主题我是 type square 的主题那你今天用了 type square 你赞助这个主题那他就会这个主题的这个这个 collective 的人就会去相应去找这个相当于就对 type square 做做有做贡献的人那去他们再去考虑赞助这件事情那你也可以说我们可能可以我们之前做了一个这个
项目叫做 EAT&E 就是 Ecosystem Performance 我们希望能够去改善这个 JavaScript 整个生态的这么一个性能也好然后这个体积也好这个也是一个行动这样的感觉就是一个小的组织那也许这个组织也可以搞一个 Collective 那如果你赞同这么一个做法你赞同这些人在做的事情那也许你也可以去给这个主题的东西做感觉所以我是希望能够去让更多
这样子的东西,有点像是一个托管吧,是一个信托的感觉。非常像基金经理,托尼老师不仅每天要把钱发出去,每个月还要写月报,投资人要看一看,托尼老师你发了哪些项目?非常有意思,就刚才说的那个,
那个就有目的性的那些基金那就更像主题基金了对不对 JavaScript performance 我们就把钱打到那些 JS 基建的项目那以后我们甚至可以说写个半年报里面就是专门来 measure 这些 package 它的 bundle size 然后它的 run time performance 好 benchmark 对不对对还可以有个成效的报表是吧对对对其实我刚刚听下来觉得
安特夫更像就突然闪过一句话就是达泽兼济天下大家出于我大家认可我的作品把这个钱给我然后我也要感谢我使用到的这些我要感谢我用到的这些所有工具链这些突然有种就是我突然有钱了我也要记得我的兄弟们对但是的确是
你這麼講的確是,但是我也不能說突然有錢了,只是說我可能看的事情是更長期一點的事情,就是說我希望能夠讓整個社區變得更加的活躍,能夠讓能夠在做這些事情的人能夠更開心的去做這些事情,長期下來才看,也許對整個社區來說都會更有利
我看刚才其实有有一个词是一闪而过那我们在国内有这个什么叉叉甄选那就现在就是 andful 开源甄选哈哈哈哈啊 okok 哎刚才也是看到一个问题说嗯你现在更明确的想去说我去赞助某一个人某个东西其实刚才也提到了一些标准
那未来有没有想法去把这个标准更明确然后或者有没有可能某些开端作者能够主动推荐或自荐的方式来参与或来扩大这个怎么说候选的一个清单嗯这的确也是一个可以考量的点嗯嗯
对当然这也是一个我看到了一个有趣的问题那也是可能埋下一个小小种子未来说不定还有可以想的更那个想的更深入然后就执行的更好嗯对对对没错没错嗯
现在这放的其实我听下来我也每个一段时间会收到你的那个发的那个信息我也会去阅读那你对现在这放的运行的情况满意吗你对未来有什么期待呢比如现在站在接近一周年的节点那去看后面的期待那有没有新的想法或新的玩法或新的一个目标
其实我是觉得我是觉得一个是你要说期待的话我是觉得可能没有达到我最开始的预期说有很多人会来给我赞助就相当于是说我觉得呃我觉得现在呃怎么讲呢就是说我觉得现在我希望能够去赞助的人其实还是非常有限的以及说就是能够收到的这个这个放的能够收到的钱其实不多那呃
但是呢我觉得他能够这样子运行一年下来我也觉得其实已经也很了不起了对吧就是说虽然钱没多少钱但是能够这么持续的去做下来我觉得我觉得对于社区来说也未尝不是一件好事那这个方面的话我会觉得说可能钱的上面我可能觉得预期跟我不太一样但是时间的跨度上来说我也没想到这个事情还能够做了这么久
所以这个其实反而是超出我的期待的那再一个就是说我并没有特别好的计划去说未来会往怎么样的方向发展而比较像是说我能够做的可能就是维持现状那如果能够有吸引到更多的人来给我赞助的话那我当然会就是转发出去给更多的项目或者是说我可能会去做一些更多的这个
呃 recurrent 就是定期的这么一个每个月的这么一个能够说我可以去保证一些项目的这个基本的运营或者是说怎么样就是至少给对他们来说是有一个比较稳定的期待的那我本质上做这件事情不是就并没有考虑任何功利的事情所以也没有特别多的计划那比较像是说嗯突然我突然忘记掉我刚才讲什么
对对对这个对后续的发展也没有明确的这个计划可能还有一些零碎小想法对对对但是这个说实话对我来说的影响比较像是其实压力还是挺大的就是我需要花不少的时间去做这个
就是去找项目然后要去联系这些人就比如说如果我要赞助个人的话然后他们如果没有这个平台可以赞助的话那一般来说我就要去私信他们以及说要跟他讲说要怎么去开一个这东西就是会有一些额外的这个沟通的成本然后我每个月都要去做这件事情其实是需要我花掉一些精力的那现在我其实觉得说也许我应该要做的事情是我要更努力的去把这个东西做好
然后我可能可以去更积极的去跟别的公司谈说你们要不要来赞助一下我这个项目之类的但的确就是我会觉得说以我的个人的角度来说还是一个分身乏术的感觉吧就是精力翻配不过来然后包括说我自己要做我自己的项目那这个东西最好的方式我觉得可能是说如果能够给别人带来一些启发或者是给一些能够去有更多资源的公司也好个人也好如果他们能够去把这个事情做得更好的话那我觉得这就算是我
做這件事情
达到了最大的价值嗯哎那其实现在有一个问题那你你看如果比如我现在想投入一部分出于热爱想想投入一部分钱那现在我可能会如果我想把这个钱给安德夫的话可能面临的两个选择一个是 sponsor 一个是你刚才提到的这个安德夫 fund 那你如何来建一个选择呢那因为有一部分钱是给到你的有一部分钱是希望通过你来转移来就是给到开源社区的那你如何来做选择
对想投入想参与的人来说对这件事情现在我的做法就是我在文章上提到就是简单一点的方式就是你如果在通过 GitHub 的 sponsor 你就是赞助我的然后你想要赞助社区的你就是赞助我的那个 OpenCreative 然后 OpenCreative 里面我是一分钱都不拿的那就是我全都是转发给别人的这样相当于概念就是我让赞助我的人来做选择当然你两边都要赞助的话也是可以这样的概念
那如果我作为国内的能用户,我用国内的这种支付方式,我想去把钱给到你,我需要怎么做?我能用微信支付宝吗?或者需要外币信用卡吗?我需要开通这个账号,需要怎么来去做支付这个事呢?这个的确是一个很困难的话题,我也并不知道有怎么样的方式比较好。
因為的確就是刷卡這件事情好像還是稍微比較麻煩以及說 GitHub 的 Supporter 在國內是沒有的然後 Open Collective
之前 GitHub Sponsor 是可以用 PayPal 嘛然后 PayPal 可以绑银联卡后来它跟 PayPal 的合作决裂了之后国内就基本上没什么办法去这个做 GitHub Sponsor 的赞助了就是你作为一个在国内的这个开源的维护者你是开通不了 GitHub Sponsor 的然后以及说如果你想要去赞助别人的 GitHub Sponsor 一般来说你还是会需要一张这个外币卡所以门槛还是比较高的然后 Open Collective 这边也有点类似这样的情况
但 Open Collective 應該是可以用 PayPal 的 PayPal 的手續費好像更高一點點
一般来说国内也是看这个每个人的接触的这个情况更多情况怎么采用一张外币信用卡一般来说有时候会参与一些信用卡开通的时候你去申请一张信用卡的时候他有时候会给你推到就外币的就是非银联的这里边可能涉及到个不同的金融名词了有的这个外币信用卡就可以
作为这个外币支付手段那我把我决定这个支付 10 美元 20 美元这个金额一输那对应到这个外币咱国内发行的外币信用卡上也是能够直接折合成人民币来做一个支付的那对我来说比如我现在的阶段可能是在
安德福放的上每个月是投入 20 美元现在是应该是 20 美元然后我对我对我这个在在大陆的人来说那我有一个外币信用卡那我填了这个周期性信息之后他每个月会扣除 20 美元乘以这个浮动利率的这个人民币那我对于我来说每个每到那个还款日我就把这个人民币用人民币的方式来去还这个信用卡
相当于我在国内用外币信用卡购买了一个服务那就是把钱花出去了还这个钱的时候是用的这个人民币所以对于想参与这个安德夫 Fund 的可能用户和那个爱好者来说就可以遵循我刚才提到这个方式来去探索一下那当然也刚才提到那大部分情况是不能支持咱银联这是不同的金融方式那这个好像是会更把这个门槛推得更高一点
的确会有挺不少阻碍的而且咱国内其实也有一些相似的类似的赞助这并不一定非得是放在这部分了我印象中比较大家用的比较多的还有一种叫爱发电爱发电其实也坚持运作很久了对然后接到刚刚新宝说的你其实可以有那种双币的信用卡它上面会有两个标一个是银联的一个是 vista
一个是 Visa 的这个就可以实现你花美元然后用人民币还甚至你还可以小耗一下羊毛瞅瞅汇率汇率低的时候你再还对然后这个这部分就涉及到我们的盲区和每个人实际情况不同他可能没接触过这部分或者不太了解或者说非常了解根据个人的实际情况如果感兴趣就可以遵循我们刚才提到的方式来去尝试和参与一
有这次播客也是也是想借 and food 之口我们去更多的去宣传 and food 的这个想法和理念因为我对 and food 的呃开源精神非常认可所以我对于我个人来说其实我也是小私心用我个人的身份用用我个人的名义反而是用这个播客的身份去呃给那个 and food 放的去提供我现在调整了每个月 20 美元之前其实也差不多
以往是我用分散的开现在合并开我觉得每个月阅读安德夫的那个周报发给我的周报我去读一下感觉非常好说到这儿我也是对我也是插进来看看比如观察一下对还没了解这个项目的人说他这月报有什么结构组成我简单一看
比如我们在生动词也会放这个链接打开这个链接的话也能看到一个列表类似一个博客然后里边有很多不同的这个详细点进去之后呢整体结构大概会说截止到比如最新的一期是 3 月 2 号发的看安德福提到了就是因为 1 月和 2 月是做了一个合并所以金额会更高一些然后接下来会提到了他把现在 1 到 2 月是 1000 多美元
然后他分配到了三个个人每个人是 250 美元那这样就花掉 750 美元后面呢他又提到了每个月有三个项目有三个项目是每个月 50 美元的经常性那个赞助那对应到这个月的话就是 50 乘以 3 那 150 配合刚才 750 就几乎达到了他现在所有的就是积累的累积水平了
然后在在后半程呃除了这个因为他这个给这个人一般会有一个简单一个介绍比如最新的啊我们看到很多熟悉的面孔比如一段这个最新的这个三月份发的一到二月的每个二每个月二那个分配给 250 美元的人有没有熟悉的呃三小质子啊质子君
然后会有我们的呃那个 jason 就是写哎对很奇妙的缘分我们后面也约到了 jason 去聊他的 alien singles 啊也聊到了他后面对我有些新新版本做了说一些突出性贡献啊也提到了呃
额外的有一些组织比如 PMPMICONFIFI 然后 ESM.SH 他在这个介绍的时候也提到了这个人他做了哪些贡献他也提供了一些链接如果你对这个人感兴趣可以找到他的
推特信息和它的开源贡献地址对这个人有一个基础的了解组织部分也会有一个基础的介绍这个组织他做了哪些工作他们在做哪些事情对我们来说我们作为用户从中能获得哪些收益也相当于一个开源优秀项目的介绍我称之为安德福真选
这是周报的整体一个结构对之前没了解过或感兴趣的人做一个介绍对可以只看周报学习最新的技术对但是这个本质上来说还是我其实有跟很多
呃这个开源项目的作者聊那有一些其实他们会觉得说他们不需要收这个钱就是也许他们可能自己有一份正职的工作或者是他可能这是他的工作所以就是他还是我会比较偏向于说我觉得需要这些资助的人更需要这些资助的人然后包括说我之前想要去赞助 nodejs 的一些贡献者但他们说哎呦他们不需要这个钱对所以就比较遗憾是没有办法去跟大家介绍这些项目但是还是一样就是
会说觉得如果能够通过这个方子能够去就是帮助到最需要被帮助的人其实是我觉得对就是会有更多的价值这样的
我刚才提到了一个 20 这个这个数值是自己随意填的就是大家呃有余力的情况下可以更高更低那我刚才发现就是更高的数值呃个位数 1-5 1-10 20 500 这都是可以的我也看到了历史的贡献者里边有些比较有实力的大佬或者相关的一个商业组织他们会更有更高的格度给到大家所以去如果感兴趣去参与的话可以去点点看一看到金格那个部分去可以切换嗯
想到了一点我看到 Smart 说写月报了 Smart 你接下来就是可以只花几枚刀让大佬给你写一个月报让大佬汇报一下他这个月的工作内容对我觉得看月报这个事情也非常有趣或者说从换一个角度来看
你可以主动去看就是不发现也是当然这都是可以因为这个东西是公开的对我前段爱好者来说我可以通过这个月报去看一些有趣的人或有趣的项目有的项目我可能用的这个用的这种方案发现还有一种方案是比较优秀的那我们也可以借此机会有一个曝光去熟悉和了解去探索一些新的东西
也是经过安德夫认证的所以无论是基础的质量或使用情况或基本上手难度应该都是可靠的也是稳定的这是从另一个角度去看去看看安德夫甄选有哪些好处
我们再回到回到这个问题里边我看也有人去去谈可能也还也有些误解那有没有情况就是现在你从安抚你的观察来看参与开源能够去看不出自己的生存或者能够更进一步和在国内或者在参与一些商业公司打工这个收入相比能够得到吗大家你觉得
呃那个比较起来会怎么样然后比例的大家的达成率比例会怎么样你你想问这个全职开源这件事情对不对对对对很多人可能有滤镜或者说对这个东西并不了解啊啊我一个简短的答案就是不行完全不行嗯哈哈哈强如托尼老师都说不行其实其实我觉得我自己也不算是
不算是完全能够就是我现在还是实质上是我现在是在 NUXLAB 这家公司然后我是全职在这家公司工作的所以我是我是跟他们领薪水的然后只是说刚好他们够开放然后一起说我们在做的东西跟开源有关所以大部分时间我都是在做开源的但是我你说我靠我自己全职做开源我觉得这个事情在短期之内对我来说也都是不可能的
那事实上就是你通过通过这个赞助能够收到的钱其实我觉得还是非常的少相当于是说当然是说你真的想要靠全职做拍员这也跟你怎么去调整你的这个消费习惯有关系嘛对不对就是如果你省吃俭用也许也许勉强可以凑合但是你要说可能跟这个就是大厂的的工资比的话我觉得是很难达到这个正常上上班的这么一个工资水平的
那当然是说你说这个我们是在讲这个个人自己做开源自己靠自己对自己负责的说实话我觉得在社区里面绝对是十个手指头数得过来的那其他的其实大部分大家都是做了一些产品或者是开了一些公司之类的
可能靠開源做流量入口但是它本質上不是靠開源做全職而是靠你的另外的工作去做的但真正靠純粹開源的可能也就 Linux 吧做 Linux 然後 Foundation 或者是說可能之前 AVEN 也是這個樣子
但就是这件事情我觉得是非常难的但是它的一个切入点我觉得对于个人而言我觉得最好在想你如果真的特别喜欢做开源那他最好出入是找到一家跟开源精神契合的公司然后让这个开源公司来去雇你然后去做开源的东西那我们其实在开源里面也看到了不少例子比如说这个 VIT 这边有这个
帕塔克那个猫头的那个那个大叔然后还有就是比如说 Serval 的作者 Rich Harris 在 JavaCell 工作然后那个 Solid 的作者 Rian Caninato 之前在 Netlify 现在在 Shopify 还是哪里但是就是类似是这样子就是说如果你的开源项目可能对于某些公司它有一些好处的话那
也许你们可以达到一个比较良好的合作关系那他可以去全职赞助你做开源的同时那你又可以有一个相对来说比较稳定的工作然后可以去做你想做的事情就是一个双赢这样的感觉所以我觉得对在这个情况下
是一个比较好的出入相当于一个光谱的两端一个是完全靠靠开源靠写代码靠 GitHub 这样的社区另一方面是我们完全是靠这个商业公司去打工去搬砖然后我们中间有一个一个非常好的一个完美中间一个地带那如果这个公司既是能鼓励你去做开源同时呢你作为全职员工也能正常的去作为一个发薪水这样一个水平那那
梦中情对没错这个 sweet spot 太原想做主业的话还得需要一个领薪水的副业这样才可以对这么讲也是可以的看海老师提到了猫头老叔猫头大叔对之前跟游宇新那些聊到好像 wait 现在是
猫头老叔猫头大叔在负责对真的他一个人也不能说他一个人但是他在这个 VIT 整个生态起了非常关键的作用就是他有非常强的凝聚力然后把每个框架的作者都都拉拢过来我以我的角度来说我从来是没有想到过不同框架之间以前可能大家就天天看前段框架各个各个打架然后吵架说我的最好你的最好对但是 VIT 这个东西出现
然后以及说帕塔克他其实把整个社区的拧地率做得挺好就是现在基本上所有的框架大家都是一个相对来说比较和睦的状态然后以及说所有的除了 next.js 的这个前端框架就是这个 meta framework 原框架吧然后现在基本上都是用 vita 然后大家也一起来 vita 共建然后 vita 也不是只有 view 了所以这件事情我是觉得对非常的厉害
OK 刚才我们顺着其实提到就是我们以前可能有误解或者说想象中我们可以靠开源得到很多收入然后实际情况可能我们刚才也谈到更好听的话可能是一个适中的选择在商业打工和靠爱发店去贡献参与 GitHub 社区之间还有一个中间的选择
那有时候我们去想比如我作为一个技术萌新想去参与到开源这个社区中去有时候我们发现写的代码
代码可能受限于他的呃受众那可能比较垂累中的垂累或者说写的东西还在比较早期的阶段他可能需要想获得一些激励无论是这个钱上的激励还是精神的激励就是能够被认可被看到那就回到了这个问题那你觉得如果有人认为他在参与开源的过程中啊这个受到的各种激励不够多那种心情如何排解或你觉得可以如何来做会让这个
让这个人心情会更好一些或者有更有动力一点 OK 好分享一些我自己主观的意见并不代表所有人然后我自己的建议是不要对做开源的话不要对钱有任何的期待就是说你今天最好的方式就是你假设这件事情是完全没有钱完全不会有回报那这时候如果你意外得到了回报你会比较开心然后再一个是说
他其实很多时候就是我们刚刚讲的他其实是不稳定的以及说是不可以预期的也不可以计算的就是说你今天做这件事情他不是跟你的你产出的价值有一个正比的就是说他今天很取决于说你的形象做得怎么样或者是说你有没有让更多人知道这个东西以及说
你的受众是经济能力是怎么样的以及说他今天可能真的开心他就愿意给你钱但是他今天如果等于就是有很多各种各样的因素那你不要对钱有期待的话我是觉得是会让你在做开源这件事情上更开心一点以及说能够更加专注去把这个东西做好
然后会更纯粹一点然后我觉得所有的额外的东西都算是一个额外的收获那有或者是没有对你来说都应该是差不多的你才会可以把这件事情做场景那当然我们等一下可以来聊一下就是我觉得开源能够带来的各种各样就是
不可量化的好处对这可以再讲一下但是对我觉得然后再一个就是说你说关注度这件事情我个人的倾向于也算是说不要太在意这件事情因为一样的你并不知道你做出来的东西社区喜不喜欢需不需要因为你是很难去了解这个事情特别是在早期的时候因为你如果比如说我刚接触前端我怎么知道前端缺了什么东西
你需要更多深入之後你要自己去用了自己去實際上更多了解這個神態之後你發現說這裡缺一個東西也許大家會需要但這個大家需要這件事情也是需要社區去驗證你是沒有辦法去通過想像想像出來的所以我現在做項目也不一定會成功我現在做很多東西也不一定會有人用這但這都沒問題就是說你期待放在這裡那如果你
你不要设太高的期待那如果今天这个东西成了那你自然就会知道因为很多人来用的时候 start 的数量会增加 issue 的数量会增加你就知道说哦那这个东西实际上对大家有帮助然后以及说 issue 可能会告诉你说大家的用法是怎么样然后这可能很多是你想不到的东西
所以这个是其中一点当然你说最开始的部分的话我觉得是会有一些技巧说虽然你不应就是一个是期待管理预期管理不要设得太高尽可能为零我觉得是最好的方式但是
但是你要说怎么样让更多人知道你的项目当然是有门道或者是有一些方法可以去遵循的比如说一个是你得先把文档写好你得把你的这个项目的这个 motivation 你的动机写好以及说它适用什么样的场景然后再一个就是说你可能会需要去在一些地方做宣传那你当然要找适合的地方就是比如说你今天做的这个项目跟什么有关那你跟 view 有关也许你可以去 view 的 discord 里面来跟大家讲一下或者是说你也可以是呃
有很多方法比如说你可以混个脸熟比如说你可以先去假设你对某一个项目的经验比较就是你会比较丰富的经验那其实可以去到这个他的这个社区啊 Discord 啊 Reddit 啊或者是可能国内的一些群其实甚至也都可以那如果大家有问题如果你可以回答
那其实你就可以说一个是你可以帮助这个社区嘛就比如说人家说啊我 view 配不了或者是起不来怎么办那如果这时候你刚好知道答案你可以去回答他你可以去跟他做一些互动那假设你在这个社区的形象建立起来大家知道说你是一个 view 专家那这时候你说我在做一个 view 的什么东西那大家其实你会有更自然的这么一个事情说让大家知道你这样的事情所以当然有很多方式啊就不是这不是唯一的方式啊只是说
对那以及说可能也取决于说你希望做到怎么样子的程度啊我只要有些人做开源就是说我就想要 show off 我就想要说哦我特别厉害我写了一个特别厉害的算法但我根本不在意有没有人来用然后或者是有些人甚至说千万不要有人来用我只是想要我只是想要放放出来展示一下对因为有人来用他其实连带了会有很多责任比如说维护的成本啊什么之类的嗯当然
大概率情况下我们是说啊我享受这个过程我享受大家给我回馈我想说把这个东西变得更好但长期下来你会发现说其实是花掉很多精力那这个当然也取决于说你你的这个生活的平衡以及你的这个事情对
刚才这一 part 其实已经给出了说我们有一个开发项目去做宣传或我能去做具体去做哪一事情给出了很多实操方面的一个建议了这些方式可能因项目而异我甚至刚才也 link 的想到了之前安德福也提到比如他之前有一次分享去提到了 i18 那之前我印象中好像什么 VS Code 的 VUE i18 那进一步的去基于那个分享然后进一步的拓展成了一层一层的把这个收众变大
我其实印象中好像还有一个那个非常形象画图我们到时候也把它放在 link 里边里面时间关系我们就不做额外的展开了也相当于刚才的一部分讨论提到了一些具体的可行性建议在一个业务之前 NF 也提到一个具体的方法论让你的收入更大然后从而获得更多的使用人和钱的这个贡献者哎刚才也提到了呃想延展接下来想进一步做讨论是想讨论
开源的副产品或者说开源的开源项目的非直接激励等一下我能想到吗我刚才是想想说啥来着什么呢老师就跟我讲讲做做开源项目有什么除了钱以外的额外好处啊嗯 ok 嗯我觉得额外的好处有非常多但是他又不太好亮
就是我自己是觉得说我其实通过开源认识了非常多的朋友以及说这些朋友给了我很大的帮助
就包括说我之前去搬家去法国这件事情其实也受了很多人的照顾啊然后那你说你说我假设我是一个刚毕业的学生我人生地不熟的我去哪里认识法国人对不对那我去哪里可以认识到有有愿意帮助陌生人的法国人对吧那这件事情其实就是说因为我做了开源项目之后相当于是说别人会感激你
给他的贡献或者是你做的工具对他的帮助那这个事情他不一定会直接量化成钱说他愿意赞助这个当然取决于个人的这个经济能力跟这个支付的意愿但是大概率他会觉得说他会是感激你的那这时候如果你有刚好遇到这样子的人然后你说那他对于他来说他可能不一定能够给我经济上的帮助但是如果我今天去了如果哪些事情要麻烦他其实
大部分其实大家都还是非常友善的所以我通过开源去认识了非常多啊就是愿意帮助我的人然后也受到了他们很多的帮助那我觉得这是很大的一点然后就是能够去说建立这个人跟人之间最开始从不认识到认识这个过程你通过开源其实相当于是他就跳过了一个跳过了这么一个过程嘛那相当于是说你的你的这个默认好感度就会比较高一点对对对
同样是陌生人基于过往的理解和完全不理解他显然对信任程度是也不同的而且我们有同好那意味着我们后面的后面各种奇妙的缘分也会更多那所以去同样去扩大朋友圈去扩大生活中的方方面面的时候可能会有奇妙的这些缘分
对然后就是再一个可能是可以认识很多这样子的人然后有这样子的讨论其实会有很多会碰到出很多新的火花或者是想法想法出来那这也是一个能够去认识很多厉害的人的机会啊对对对哎是的也是通过播客清白的缘分开源前的缘分我们在在现在我们在一起能够有讨论一些有些的话题
嗯,OK,我看技术方面应该聊差不多然后简单一些聊一些轻松的话题哎,我说哎,等等发现安德富有博客了,呵呵,来来来讲讲,呵呵啊对最近
最近可能两周才开始做的一个播客是跟是跟一个台湾的这个做教育的 YouTuber 就是啊就是也是做前端 view 相关的然后跟他一起和开的一个比较面向台湾市场的这么一个这个播客然后主要是在讲这个台湾的职场跟这个开源文化的碰撞然后包括说啊就是怎么面试啊或者说怎么做开源啊以及说可能大家怎么去啊
平衡在开源对于工作的帮助之类的对然后对这个现在算是我跟这个主播麦克他算是他盛情邀请我然后我们两个一起一起办的这么一个这个博客之后如果有机会可以串串台对如果我想听我说我听一会我想去听我怎么可以去收听到啊他叫做尖不想写扣他尖是那个就是
出戏的那个间嘛那个叫什么就是上面一个小下面一个大的那个间对小大对然后他是一个今天的这么一个快读吧就是一个谐音梗然后你去搜的话应该可以搜得到然后我们有一个这个 bento 啊 bento 点 bento 是点密还是点然后是叫做 no coding today
主要是在 Apple Podcasts, Spotify 跟有 RSS 的链接主要是通过这样子的方面收听如果 Shownotes 里我们能够放外量的话我们把这个部分也可以看到我们也像一个奇葩圆粉也能够在另一个方式另一个主题上去看安德佛从聊他的一些观察和他的一些感受
还有一个提问是看到你最近在搞了一个新的工具包 node-models-is-tactile 这个项目
其实其实跟我们刚刚聊到的放的其实有一点点关系就是因为其实很多时候你的依赖如果藏得很深的时候其实你是不知道你依赖了谁的东西那这个工具它是一个相当于是把这个 node module 这个整个复杂的一个非常复杂的这个图吧然后把它放到这个前端然后做个可视化然后有各种各样不同的这个这个透析的对吧去解析它的方式啊然后它有一个简单的这个这个
图状的一个竖状的图然后你可以去看一下说你到底依赖了什么东西然后以及说他可以筛选出来说你用了所有的工具的 license 是什么或者是他们的作者是谁以及说他们如果在这个 package 里面有放这个 funding 的 link 的话你可以直接看到说你如果想要去赞助这个这个项目你要去哪里赞助这样的
那对我来说也是一个很好的帮助就是啊我下一次在选这个要去赞助谁的时候我可以比较有一个可视化的工具去找到这些工具对对对然后对然后再一个他我想要他起到的作用是去啊把这个这个你的依赖做一些清理吧就是有的时候可能会说你的一个依赖可能依赖了非常多个不同的版本或者是说啊
也许你可能打包的时候发现说有一个包特别大然后你去研究一下为什么然后它可以给你展示出来说为什么这个包被引入进来了以及说如果你想要把它干掉的话那你是不是可以去跟这个包的作者提一下说那这个包已经很久没更新了你要不要更新一下或者是说怎么样之类的对这个工具就是希望能够做到这么一些事情然后再来就是一个满足我对这个东西的好奇心这样的感觉
其实在一定程度上也可以缓解供应链钳子的安全隐患哈老师又补充了这一块没有但是 node module.dev 的 UI 真的是就已经做得非常完善非常好想问一下托尼老师大概用了多久做完因为这个看上去工作量非常大我
其实这个项目其实很早就起了但是一直都一直都处处在一个完全没有做的状态就是完全没有余安然后开始会做大概是在过年的那段时间就过年的一个星期放了放了一个星期的假吧然后我就想说去做一些跟工作比较无关的东西然后就搞了这么一个东西然后我现在想来就会觉得说啊我这是要用一个
一個是我就是想要自己去嘗試一下這個設計方面的東西就我想要去做一個更加我覺得比較有趣一點的這麼一些設計吧然後因為我每次看到很多很厲害的這些設計師做的東西我就好想要啊想要自己能夠做一些比較有設計感的這麼一些東西然後就也是自己做了一些嘗試
然后对现在想来就是会变成说我就想要做一个好看的工具来去展示 node modules 里面的章真的是做的特别好你看还有那个那个 terminal 能能能弹出来这个 UI 就特别特别好还有各种各种各样的那种 graphgraphviewtableviewreportview 然后各种颜色也配的很漂亮对真的非常不错
对,对这部分我们聊的感兴趣的朋友可以看我们的 shownotes 里面,我们这会儿在描述 node module inspector 里面的网页上,如果去使用,里面视觉效果非常的舒服,也非常的清晰,能够去看到刚才安特夫想展示的这些信息,然后去观察这里面的一些技术的一些细节,依赖的一些细节。
OK,我最近还看到一个有趣的一个反馈好像是做完之前在推上提的说最近面了 32 个全站工程师 28 个都说安德福是他们崇拜的工程师最崇拜的工程师我只能说受宠若惊吧
对其实这里边也嗯也延伸出来就说如果很多人从你的开源精神中或者说过去过往的这些开源项目中受到很多激励那很多人可能现在还没有非常好的 idea 或想法那你觉得从你角度去看嗯有哪些潜在的好的工具方向或角度能够让他们找到自己愿意投入精力愿意去呃
获得更多的参与机会从而不断成长获得更好的成长机会你觉得有哪些方法或者哪些方式让一个充满热情的一个技术萌新找到他擅长或乐于投入的项目无论是开源还是不开源
OK,首先我覺得我可能就是比較花了多一點心力在這個營銷自己這一塊,所以受到了比較多的關注,但技術實力說實話我還是覺得非常欠缺了。
那说到这个建议的话我其实觉得没有真的特别好的建议因为我觉得每个人的情况都不一样每个人真的喜欢做的事情跟热情所在的地方不一样那像我的话我就是对于工具链这一块或者是我对于这个数据可视化这一块可能会比较有兴趣然后我希望能够做到一些工具能够让大家用的开心这样子的感觉那这是我的个人的这么一个动力来源
然后我可能会偏向做一些比较视觉上的东西然后让大家看得到摸得着那所以这也是我会选择做前端的一个原因啊所以大家要去先去看一下说自己喜欢做什么啊当然这个事情你不一定知道因为你要做了之后才会知道那我个人的建议会说你可以找一个东西你想做的或者是你觉得你应该要做的开始那一般来说我会推荐说你做一个个人博客
那取决于说你想要怎么样的工具比如说你想要去了解一下现有的这些这个 Meta Framework 你也可以去用这些工具去搭一个那如果你想要真的对这个工具非常深入的话你也可以自己建议
那就看你想要用怎么样的技术在那我是觉得说你今天有这么一个目标不一定要做博客但我觉得博客是一个如果你真的没想法是一个不错的切入点你今天有一个大的目标说我要做一个博客我要做一个什么这个放照片的也好做一个自我介绍做一个有链的链接也好做一个留言系统也好
那这些都是一个大的目标那你把这个大的目标拆解下来说你有哪些部分要解决那在这个过程中你其实会对整个生态有更好的了解比如说你想学 view 你用这个你用 view 来做一个那你就会学到很多 view 的用法或者怎么样之类的然后你用的你写完了之后你不一定写得完就是不是要不一定写得完就是它会是一个渐进式的过程就是你不可能一天就写完
那你在这个过程中你会遇到很多各种各样的问题那你可以去学习你可以去查你甚至可能会遇到 view 的 bug 或者是遇到你用的工具的 bug 或者是你觉得这里少了一个工具这都有可能那我会觉得说你通过这样子的方式从这个角度出发
你去把你去帮助这些开源工具变得更好你给他们提议给他们 PP 啊或者是你自己做一个工具这个其实跟你有直接的更多的利益相关吧就像刚才是说你今天想因为为了要把这个网站做好所以你今天需要解决这一系列的问题那这时候你会更加有动力去把这些事情推进好以及就是我觉得这比起说有些人会问我说他想要来贡献有没有仓库或者有没有依旧可以给他贡献
那就像是我给你分配工作你做的不一定会开心但是如果你给自己自己找的工作你可能就会更乐意去做所以我觉得开源并不需要说特别功利的去想这些事情而是你今天怎么做的开心你去找一个最适合自己的方式是最好的
这个就也是实道性和这个我们这个理论性也是非常强就我们首先在这个心态建设上和我们这个具体行动上我们有时候去空想可能就是很难去想到遇到各种问题那我们实际去操作的时候可能就遇到不熟悉或感到这个陌生的地方那有阻塞点那我们就找到了一个解决问题的一个方向有了更明确的一个需求也看看各位有想聊的话题我们也交流交流
我看最近之前你也有一个进入上的一个讨论之前我们也是做一个影子我看到之前你也在讨论就是 ESM 的拥抱 ESM 这个过程和这个趋势看起来比想象中的要慢这个结论准确吗然后你对 ESM 看到有个趋势图占比图这个你怎么看待我觉得
比较慢吗我觉得其实整体上来说还可以就是你可以看得出来就是他有一个图是呃等一下我们可以贴链接上去就是嗯呃
有个人跑了一个脚本去把所有的 MPM 的 ESM CJS 的占比给它画出来给它收集出来然后给它画了一个图标然后它是大概每隔几个月就会跑一次然后他做了一个时间纵向的图然后你可以看到很明显的是 ESM 跟这个 Dual ModuleDual Module 就是同时有 ESM 跟 CJS 这么一个包的话它的占比是在越来越多的然后 CJS 的占比是减少了当然现在还是 CJS 大头那
这个东西它的确需要很长很长的时间甚至很多人是说 CGS 是不可能消失的就是一定会有一些 CGS 的包在那里对但是我自己个人而言我觉得现在时机算是比较成熟了
因为一个是 ESM 这个规范已经出来十年了很难想象已经十年了然后再一个就是现在的工具链也都算是跟上了这个进度就是大部分的工具像 Viz 这些新的工具以及 WiPack 最新的版本现在都可以支持这个 ESM 他们可以消费 ESM 然后以及说很多框架他已经做成
原生支持 ESM 所以以前我觉得可能很多的问题是说我用我用某一个顶层的工具比如说 view CLI 那 view CLI 用 Wirepack 那 view CLI 不支持 ESM 那这时候我中间任何有一个东西是 ESM 的我就用不了因为因为它 ESM 是异步的所以它就导致说同步的代码是不能去消费异步的东西的一个是现在大部分的顶层工具都已经支持 ESM 所以顶层的问题解决了底层你中间想要用一些 ESM 的东西是没有问题的
然后再一个就是最近 Node.js 推了一个这个 require ESM 的这么一个功能就是说 ESM 之所以设计成非同步的原因是因为它是设计给浏览器的所以说它至少要考虑浏览器的要求那浏览器的话是说它每次你去引得一个包的时候它就发一个网络请求了所以这个东西是会有时间差的那这时候它整个它整个这个模块的图它都设计成是异步
但对于 Node.js 的情况来说,它所有东西都在文件系统上,所以它其实是不需要考虑这个异步的问题。但是呢,因为 ESM 这个东西它本质上有个异步的功能,所以他们还加了一个叫做 Top Level Await,所以就是你说我想要去执行一段代码,然后让它阻塞,就是让它异步阻塞的话是可以的。所以 Require ESM 相当于是解决了一个是说,假设你的整个图里面是没有这个顶级 Await 的话,
它是可以让 node js 在同步的情况下把 ESM 加载进来也就是说它可以让你在 C js 里面去消费 ESM 的代码你可以直接 require 一个模块但这个模块是 ESM 的然后这个功能它现在已经推到它是从
node23 开始下放到 20 了所以你现在在 20 的最新的这个这个 manual 版本上已经是可以用这个功能了然后这个 node18
再过两个月就要被叫 end of life 了所以过两个月之后你可以理解成是所有主流的这个 node js 的版本都支持这个 require esm 那这个时候作为库的作者就可以更放心的说啊我直接走全部 esm 因为 cjs 的的用户也不会受到这个东西阻挡他也可以继续消费这个这我们也
哦那那是否意味着意味着后来我们去做 Electron 的时候还是这个我们先不展开了这个这个额外的题目嗯 OK 也问问 Smart 那个韩老师一把就刚刚突然嗯 Handful 讲那个引用就是那个占比 ESM 和 CGS 占比的时候就提到的上边提到的那个工具它就可以显示出这里边的占比
所以说大家对这个有兴趣的话可以把那工具下载来看一下你用的包 ESM 的占比和 CGS 的占比
其实当时做这个 Node Module Inspector 最开始是想要做一个 CLI 然后那个 CLI 叫做 RV ESM 就是想要跑一下你的 Node Module 告诉你说你哪些包已经上 ESM 哪些包还没有然后我做了之后发现说这个中端它能够展示出来的数据的信息量太少了以及太局限了所以最后就改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改改
的这么一个工具所以他本质上是当时我想要写那篇文章来去告诉大家说 ESM 这件事情对当时为了这个文章甚至推动了我去把这个东西做好这样对也把话筒给给海老师给一瓦我没有什么特别多问题那个 ESM 真的是这个这个真是一个非常困难的任务
看看未来十年能不能把 USM 作为一个接报的我想到一个技术无关的,安德佛最近和 AI 打交道多吗?然后你观察到 AI 有哪些实践或有哪些有趣的主意吗?有趣的想法吗?我个人是比较唱衰 AI 的
但我觉得我可能是这个我 bias 的就是我可能有这个认知偏差或者是这个偏差就是因为我大部分需要接触到的代码我觉得都是 AI 不太能够胜任的情况
就是我觉得一个是说 AI 你大家应该都算是同意他没有办法做创造创造性的东西所以你会需要给他一个点子那他会去执行但我实际上会觉得说他连执行的时候对我来说可能以目前的情况来说质量还是可能没有达到我的
要求吧差不多是这样子的感觉但他可能我觉得他可能生成 UI 或者是这个这个 HTML 这一块可能也许会比较适合一点但以我的使用场景我觉得还不是特别有帮助但我最近在 NUX 在做的事情就是我最近的工作就是想要把这个 AI 集成进去所以我现在开始了解一些然后之前做了一个就就上个星期吧做了一个这个 NUXMCP 的一个
MCP 的一个 server 吧啊 module context protocol 嗯是那个 cloud 推出的一个对其实就是一个 API 但是就是他在这个 AI 圈子里面又非常的有话题性啊啊其实就是一个包装好的 http 的一个他是反正他是包装好的一个服务器的一个请求将来说说你把一些通用的接口暴露出去然后让 AI 去调
或者是说你可以给 AI 更多一些上下文我看到了一个比较实用的例子好像是说它边上开一个 Blender 然后接了 Blender 的 MCP 之后可以让 AI 直接操作 Blender 然后叫它去拉一个模型出来
然后那我觉得这种可能会更有帮助一点那以我们现在的角度来说我对我来说还是在探索阶段就是说我可以看一下是我怎么能够把一些这个打包的环境的一些信息这个对于这个比如说对于 cursor 这种看静态代码的他不一定会知道这些信息比如说跑起来之后某些代码怎么执行或者说某些代码怎么转移这个东西他是在内存里做操作在在 vitz 内部做操作
那其实我是可以把这些信息暴露给 AI 的通过 MCP 的方式呢如果他需要了解这个模块我可以把这些信息都发过去给他那可以给他一些更多的上下文更多的能力吧但这个东西我现在还没有
了解到说有特别大的用处啊,只是这还是一个在探索的阶段。对这个 MCP 是一个好好话题,后面我们也在规划去有专门的那个角度去去谈那个谈论我们现在这个视角,因为呃有很多不同从技术角度,非技术角度的不同视角去看待这个技术本身或者这个生态本身。
因为我也用过 MCP 然后我没有用过 MCP 用过类似的因为做完之后发觉这个这个就 AI 如果没有被 fine tune 过就他不会用你的你的 protocol 就你就 MCP 有点像那个你告诉 AI 你有哪些功能有哪些工具然后你给他那些数据但但他
没有被 fine tune 过他没那么聪明然后我用的是给他未给他 ASD graph 的一些文档让他给我写入然后他一直给我给我给我幻觉给我幻觉到其他竞品的语法我教也教不会对不对嗯就是安图夫刚刚提的 AI 可能还不太聪明我得教他还老是说我教了也教不会哈哈哈哈
但确实他可能就是目前环境里的语料越多他可能对那一方面就更了解说明你们做的工作还是偏创造性还没有人在做用的人不够多所以那个语料少对只是说我们的工具影响力还没有大到可以进这个 AI 的这个训练资料集是吧我们还需要努力我跟海尔老师都需要努力
我是想问一下安乐福的代码风格因为我感觉我看过安乐福的很多产品都是界面特别的那种就是我朴素的话就是特别的优雅完美然后我想问一下如果用三个词形容你的代码风格的话你会用哪三个词这是一个很有趣的问题
三个词来形容代码风格嗯我觉得可能有个词是 minimum 吧就我自己是可能
特别不喜欢那个分号的然后 anyway 就是这可能又可以吵一架了但是呃就我会觉得说所有跟阅读无关的信息就是可选的信息我都不要就是尽可能少以及说如果单行的一幅我可能也不会加一个这个花红就是我会觉得说尽可能让阅读的时候的噪音越少越好所以可能第一个词我可能会选 minimum 然后再一个是我现在是一个特别 esm 的用户者所以我会说 portable
就是之所以叫 Pollable 是因為 ESM 是可以吹 shake 的但是 CJS 很常的問題就是我今天做了一個包然後你這個包能夠用在哪裡
局限性很大因为 CJS 它不是一个这个通用的这么一个语法嘛以及说浏览器不能执行所以你需要通过打包器打包器它会把你 CJS 转成一个很奇怪的格式然后再转出来然后你才能消费它那这时候它很多连带的其他的东西都被拉进来了但它其实会说
我只是想要用你的一个函数但是你跟了很多东西进来所以我这个函数其实它的这个负重就很大那我会觉得说这个它就是它不 probable 的一个很大的一个痛点然后再一个的话我觉得可能叫做 isomorphic 或者是 agnostic 那比较像是 runtime 无感知的 runtime 不可知的这么一个情况就是说我想要写通用的这个 javascript
就是希望能够说同样的一段代加他能够在浏览器上跑也可以在 node js 上跑也可以在 dino 也可以在 bomb 上跑那这个他就会对你的你的这个代码的质量或者是你的抽象有一些要求比如说你不能用 file system 你不能
你不能用一些 Node 专有的一些工具你要用这个 web standard 的一些 API 然后包括说如果你真的需要用到 file system 你要怎么把它抽象到说这个 file system 是可选的那你在浏览器的时候你可以有一个这个在内存里的 file system 或者是怎么样之类的去替换掉这个事情然后对那这个跟 portable 也有点关系所以我大概会选这三个词就完全没有经过实时处理就是现场编的嗯
对姐姐嗯中立这个这个不准哦这个一万一万就提到提问的很好吗还有想提问的吗我们其实也差不多我这边没有其他问题了 OK 那和玉希我们也聊的差不多那呃看各位还有想提问的嗯我趁着海老师在我想问一下海老师对于 rast 跟 go 的看法以及跟 type squarego 的看法哦对那我们作为一个政府那 ts go 现在最近很火
好啊那肯定是好啊肯定是好嘛开始重学重学公语言了那那那海老师怎么看 go 跟 rust 就是今天假设一个想要做开源或者是想要了解更新这个技术的人他今天会说我好像要学一些 rust 会学一些 go 那本来是已经变成是好像社区都说 rust 最棒了然后那学 rust 就好了现在又 go 又回来了那这件事情要怎么办呢
哇,这个我真的不知道,因为这个现在就其实这个是怎么说呢?就我是怎么理解东西?就是一般某一个语言或者是某一个生态特别强,就是他会有一个领头人比方 RUS 就是因为 SWC,OXC,那个 Rodar,那这些领头人在那边就把生态给做起来了。
但是呢,Time Square 也是一个特别强的领头人,所以我现在就没有办法说压住谁可能更强一点,就有可能就因为 Time Square 的那个 Time Checker,就所有其他团队肯定是做不完的,只有 Time Square 能做,所以很有可能以后就是你想要基于 Time Square 做一些什么东西,你必须要用狗。
这样的话你就很难说,但是 Go 有很多的局限性,因为这两天我看了一下 Type-0 Go 的那些 discussion,然后专门讲了它的 API,它的 API 里面它说的有一些限制,首先 Go 的 ruin time 只能有一个,不能有多个,
因为这个呢就会导致你比方你起多个 type spurt 的 compiler 你就会爆炸就就而且是这个爆炸就是你你没办法修的因为他没有办法隔离就是人狗的 run time 是直接做在那个那个 os 里面的就是就你肯定是没有办法所以这个可能就有问题所以他没有办法给 api 或者 ffi 那你可能就要用其他的办法那到底是怎么用呢那就打一个问号而且如果他
他如果给不到那个 go 的 API 那他可能我现在看到他是给了一个 ICP 就是反正就是一个和语言没有什么关系的一个协议来给 API 那这个时候就可能你用 JS 也可以做那肯定大家都用 JS 那我就也肯定不用 go 也不用 RUS 那这个的话就不知道 TypeScript 能做到什么程度
OK,这个其实主要是看 type-c 能做到什么时候,再回到另外一个,如果你要做那些就编译型的这些工具啊,就现在可能 rus 还是行的,还是行的,但以后我其实不太好说,这个就是你真的要做,比方说你想要做一个前端的那个工具链的那个底层的构造者,那你可能要在这里进行一场好赌,
OK 还是一个风水流流转的一个状态还不知道谁是最后的我觉得原生的语言的这么一个事情我觉得插件系统一直都是我一个作为 JS 这边的人一直一个非常疑惑的一点就是大家好像都还没有探索出一个非常好的这么一个插件系统非常难做非常难做
然后等我有空了我可以去看一下 TypeScript API 的设计因为他现在要想的就是他有一点类似于 TypeScript 以后可能会出一个像类似于语言 Language Server Protocol 一样东西
但是它不用 HTTP,直接用操作系统的 interprocess communication,开销会小一点,这种协议的话就性能比较好一点,它不走 HTTP 也不走 JSON,可能会快一点。
然后基于这个东西它就要做开很多 API 但是这些 API 基本都很难写然后可能要 audit 一下现在我们是怎么用 TS API 的比方说 TSLint 它其实就比较简单它就直接你给一个数然后我看一下这个 DST 里面的类型
基本上比较好做,但是如果像 Johnson 的那种 view language tool,那个是魔改,type2 compiler,魔改好多东西,基本上我觉得可能够呛了。OK,我们接下来也会非常幸运邀请到了 Wallet 的作者,也就是现在外星人信号的作者 Jason,我们也邀请了 Duck2,你对他们有什么想提问的吗?
我就想要问一下 Johnson 对于 TypeSquare Go 的态度以及这件事情对于它在 VOLA 跟 View Language Tools 这个东西上的影响因为我之前听他抱怨了不少 TypeSquare 这边的设计的限制导致他很多东西做不了这个是我可能比较好奇的一点 OK 我们把提问也给到他
也问问你线下见过 Jason 和 Dr.Wu 吗?对,都见过。对他们有什么印象吗?或者夸夸他们?我觉得他们都还算是挺腼腆的。
我觉得对,其实大家见面我觉得对我来说很有趣的就是你在网上你在 GitHub 上你认识的这个人跟实际上见面其实感觉上很不一样就是因为你在网上认识这个人的时候他比较像是一个这个你对他做的事情跟他讲的话的一个想象但是你真的见到这个人其实感觉很不一样就是他们的讲话的语气也好他的性格也好就会更加信息量更大一点
让我想起来去年线下见到在 wecom 是见到安德夫我紧张的都没有好好打招呼所以新报还是一个线上比较比较那个线下比较腼腆一点的下次见可能会更好 okokok 一来生二来受嗯也最后问问各位因为我们和预期聊差不多然后我们因为增补了一些内容会比预期稍微长一点看看各位还有想交流的吗我们做个结尾
没有我就想问有个问海老师的海老师要打算在学够吗那必须重新学习学习够对吧 it's my goal 那下次就不能再说修儿海老师了那就就就叫什么狗儿了看来这个名字不太好听上去像狗子了修狗哈哈哈哈
效果还不错同时双开行那我们刚才聊了很开心我们也聊了很多非技术类的话题我们也聊了安特富的他眼中的这个开源世界和他的放的然后我们在后半部分聊聊绕不开的聊聊我们前端关心的一些话题也聊聊一些技术话题我们最近也聊到了一些技术热点非常开心聊到了很多话题后面我们有何时机会我们还会在就有趣的话题我们再做进一步的交流
那 OK 这就是以上节目的所有内容了我是今天非常聊得非常开心想到了很多有趣的技术名词的点的新毛的然后给 Smart 我是今天学到很多的 Smart 海老师开始重新学习 Go 的海老师安夫感谢感谢 WebWorker 再次的邀请然后也谢谢大家来捧场然后我是除了 Rust 现在 Go 也不会的 Anthony Hu 伊娃
我是今天第一次旁听还很激动力吧