本月前往上海参加 Google Developer Days ,后因父亲突发重病,回到家中陪护。
后,父亲去世,故而本月无月度总结,9 ~10 月后续统一在 11 月进行总结。
本月前往上海参加 Google Developer Days ,后因父亲突发重病,回到家中陪护。
后,父亲去世,故而本月无月度总结,9 ~10 月后续统一在 11 月进行总结。
最近我在华东师范大学的王伟老师那边去做了一下项目的宣讲,介绍了一下 Linux 中国的开源激励解决方案,希望能够吸引一些学生参与到项目中来,参与项目开发、参与开源的过程。
在这个过程中,我在想一个问题,究竟什么样的方式,才可以培养出一个开源人?
我一直自诩是互联网原住民、开源原住民,虽然我并不是最早接触开源的,但是我自从 2011 年开始,就不断在做和开源相关的事情,从早期的使用开源,到中期的参与开源,到后期的贡献开源,和如今的推广开源。我自开源社区成长,也因此成为一个活跃的社区人。我希望能够有更多的人和我一样,加入到开源社区中来。那么,我们应该如何培养出一个像我一样的开源人呢?
思考再三,如果用一句话来描述,那么就是
开源人应当是由开源社区教育出来的,而不是某一个开源人教育出来的。
每一个开源人不是因为他的老师是开源人而是开源人,每一个开源人都因为他自己在开源世界投入了足够的精力,最终成为了一个开源人。
对于开源人的培养,应当以开源的方式进行,这里就不得不说一个项目了。FreeCodeCamp 拥有一个全 Github Star 最多的项目,就是 freeCodeCamp/freeCodeCamp 。如果你在 FreeCodeCamp 学习编程,当你学习到 Github 的相关章节时,就会告诉你,你需要去给这个项目点 Star ,去贡献 PR ,让你从一开始就体验开源、学习开源。
对于我们来说,开源的教育也当是如此(当然,王老师的课程中引入了开源项目来做 Mentor ,本身就是在实践这种理念),我们需要让我们的程序员能够知道开源、了解开源、理解开源、参与开源。
长期以往,我们的程序员中,也会涌现出越来越多的开源世界原住民。
近期在 ICU 陪护,更新不便,不做更新。
后续情况正常后再说。
在COSCUP参会后记中,我提到,因为提交的议题得到了通过,因此我成功的抵达台湾,参加了 2019 年的 COSCUP,并在会后,进行了一系列的开源访谈,以期促进两岸的开源软件、开源社群、开源人的交流。
这次的台湾之行,也让我看到了两岸在开源之间的差异,因此,希望能够通过这一篇文章,让更多的大陆开源人,看到不同的世界,了解多元的开源世界。
Linux 之父 Linus Torvalds 有一本书 《Just For Fun》,在中国大陆的书名是 《只是为了好玩》(也有译作一生只为寻欢笑),这一句话,在我看来,很好的表现出台湾开源人的精神风貌。
在台湾参会期间,令我印象最为深刻的,莫过于所有议程结束后的 Lighting Talk。
Lighting Talk,闪电演讲,每个人都只有 5 分钟完成自己的演讲,如果没有完成,就会被主持人拔掉电源,强制停止演讲。在这五分钟里,每一个演讲者都竭尽所能,将自己的演讲内容完成。
现在听起来似乎还很正常?但是当你看到演讲者的题目,就会觉得不那么正常了。
今年的 COSCUP 的 Lighting Talk 的主题是这样的
你会看到,大家提供的议题并不像我们在大陆所提交的议题那样,高端大气上档次,反而是十分的接地气,大家在起标题时,选择的也是尽可能有意思的话题,并以此来吸引参会者来听。
或许你会想,只是一个 Lighting Talk,随意一点也正常,正式的议题肯定就很正经了,然而,并不是。
正式的议题是这样的:
是的,正式议题也并不那么正式,也带有一丝戏谑和玩笑。回过头来看我们的大会的议题,支撑亿级XX的XX平台架构实践、XXX面对亿级并发场景的组件体系设计,此类型的议题数不胜数。一场大会,从头到尾都是亿级流量,如今的架构师,如果没有扛过亿级流量,都没有资格上大会。
这种差异,使得两岸的开源会议的参与者完全不同。大陆的会议主题大多高端大气上档次,其门票也一样的高端大气上档次,使得大家根本提不起兴趣来自费参会,加上会议总是会在工作日举办,导致如果你想要自费参会,所要付出的成本是极高的。而台湾的会议主题则相对更加的接地气,门票一样接地气,针对开源贡献者,更是提供的免费的门票,让你可以开开心心参会。
台湾开源推崇的便是 “Just For Fun”,首先先要让开发者 Happy ,然后才是考虑产品的商业利益,让爱好,变为财富。首先学会快乐,再学会成功。
而大陆开源推崇的更多是“利益至上”,我如何让我的产品击败别人的产品?开发者先要考虑商业的利益,再去考虑自己的爱好。从一开始,便与利益挂钩,后续,便再也难于利益脱钩。
当然,我不能只是一味的说,台湾的开源更活泼、更有生机,我们也需要看到其后的原因,并提出相应的解决方案。
台湾之所以更活跃,首先应当是开源项目主要由个人及小企业主导。对于个人主导的开源项目来说,因为没有重重的 KPI,所以拥有更多的活力,开发者会大量投入自己的精力去完成、完善、推广一个项目。对于小企业主导的项目,则是希望帮助小企业在残酷的商业竞争中获取一定的竞争优势,有一个社区所认可的开源项目显然比没有要好。此外,这些小企业的团队领导人大多是从工程师起来的,所以对于开源社区、开源贡献是有认同感的,他们会思考,我的项目能够活下来,是得益于开源社区的贡献,因此,我需要也为社区做一些贡献。
而大陆的开源项目则更多是以企业主导,背负着特定的 KPI,大家做开源的动力难免不足。一方面,工作的压力使得不少人在工作之余,根本没有时间去做开源项目。另一方面,企业主导的开源项目因为也会背负一些从开源到业务引流的 KPI,也使得整个过程失去了快乐与活力。同时,大陆的企业领导者大多不是工程师,而是产品、商务等岗位,这会使得他们对于开源社区、开源软件没有认同感,他们也不会觉得,自己使用了开源软件,就需要为开源社区做出贡献。此外,大陆的开源教育也做的并不好,我们太过于看重成败,使得原本一些不错的项目,可能因为惧怕失败而放弃开源,如果我们不去看重成败,而是将更多的心思放在开源本身的价值,或许我们可以做的更好。
就像前面的长荣航空的广告中所言,”在学会赢之前,先学会享受了玩的乐趣”,也因此,才有了“乐在其中,才会无限精彩”。对于大陆的我们,或许需要找回自己最初的初心,享受生活、享受工作,让自己的工作不再是抑制成长的压力,而是推动我们前进的动力。
当然, Just For Fun 并非全然没有问题的,就如 Skywalking 的创始人吴晟老师所言,开源不能仅仅是 Just For Fun ,如果没有一个好的商业目标,一个好的开源项目可能随时因为创始人的离去而失去维护者。相比之下,一个好的商业目标虽然看起来与起初的目标相冲突,但是终归确保了开源项目的长期运转,也不失是一种贡献。
庄表伟老师补充:
国内也是有一些比较happy的技术和开源大会的,少一些就是了
这个月最大的事情莫过于去台湾了,去台湾的 10 天,让我有了全新的体验。
在台湾,我见到了不一样的人生、世界、开源观,当然,也认识了不少的台湾好朋友,希望以后可以再有机会去一趟台湾。
辞职了,开源新一轮求职面试
不过,最后因为自己下半年的会议事情太多,最后还是放弃了固定工作,暂时考虑以 Freelancer 的形态来过活。
说起来,工作年限太短也是个问题,年轻对于我来说,是最大的优势,但,也正是因为年龄,导致我无法获得腾讯的 Offer, 因为太年轻,无法定级,即使按照你的能力,足以定级到 2-3 ,但是因为工作年轻太短,招聘方会被 HR 挑战,为了不给朋友们添麻烦,还是放弃了。
这个月因为去了台湾,大吃大喝了一顿,不过不知道为啥,没有胖,实际上,还瘦了几斤。接下来有空了,要好好开始减肥。
我在考虑将自己的笔记本从 macOS 转为 Windows,所以就开始研究 Windows 下我常用的软件的替代品,于是,便试了试 Windows Subsystem For Linux ,这一试,发现 WSL 的确不错,很好用,便下载了 Windows Terminal ,作为自己的新的开发环境。
在使用 Windows Terminal 的时候,我遇见了一个问题,我希望在 Windows Terminal 中添加一个新的配置文件,从而让我的 Windows Terminal 在启动的时候就自动进入 Linux 子系统,因此,在互联网上搜索了一些教程后,我将我自己的配置改成了这个样子的。
{
"globals" :
{
"alwaysShowTabs" : true,
"copyOnSelect" : false,
"defaultProfile" : "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}",
"initialCols" : 120,
"initialRows" : 30,
"keybindings" :
[
{
"command" : "closePane",
"keys" :
[
"ctrl+shift+w"
]
}
],
"requestedTheme" : "system",
"showTabsInTitlebar" : true,
"showTerminalTitleInTitlebar" : true,
"wordDelimiters" : " ./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}~?\u2502"
},
"profiles" :
[
{
"acrylicOpacity" : 0.5,
"background" : "#012456",
"closeOnExit" : true,
"colorScheme" : "Campbell",
"commandline" : "powershell.exe",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Consolas",
"fontSize" : 12,
"guid" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"historySize" : 9001,
"icon" : "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png",
"name" : "Windows PowerShell",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%",
"useAcrylic" : false
},
{
"acrylicOpacity" : 0.75,
"closeOnExit" : true,
"colorScheme" : "One Half Dark",
"commandline" : "debian",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Consolas",
"fontSize" : 11,
"guid" : "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}",
"historySize" : 9001,
"icon" : "ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png",
"name" : "Debian Path",
"padding" : "0, 0, 0, 0",
"startingDirectory" : "/home/bestony",
"snapOnInput" : true,
"useAcrylic" : true
}
],
"schemes" :
[
{
"background" : "#282C34",
"black" : "#282C34",
"blue" : "#61AFEF",
"brightBlack" : "#5A6374",
"brightBlue" : "#61AFEF",
"brightCyan" : "#56B6C2",
"brightGreen" : "#98C379",
"brightPurple" : "#C678DD",
"brightRed" : "#E06C75",
"brightWhite" : "#DCDFE4",
"brightYellow" : "#E5C07B",
"cyan" : "#56B6C2",
"foreground" : "#DCDFE4",
"green" : "#98C379",
"name" : "One Half Dark",
"purple" : "#C678DD",
"red" : "#E06C75",
"white" : "#DCDFE4",
"yellow" : "#E5C07B"
}
]
}
这个配置项目中,需要注意的是 profiles.[1].commandline
你会发现,我设置的是 debian
这个和很多教程是不一样的,不少教程使用的是 wsl -d debian
这样的,但是实际上,如果你使用的是 wls -d debian
,你会发现,你配置的 startingDirectory
就会失效,但是如果你的启动命令是 debian, 不会影响你的 startingDirectory
的配置,非常舒服。
被选中还真是幸运
在 2018 年的时候,COSCUP(Conference For OpenSource Coders, Users & Promoters) 我虽然知道,但因为自己的缘故,没有办法参会,于是在 COSCUP 2019 的消息出来之后,我便主动提交了自己的议题,希望可以去台湾参加一次 COSCUP ,感受一下台湾最大的 FLOSS 社群会议活动。
幸运的是,我提交的两个议题「从 GRANK 到 GITRANK ,我们是这样针对开源项目建模的」和「一个 P0rnHub 周边项目的诞生和成长」都通过了筛选,成功被组委会选中,也便有了此次的台湾之行,有了这篇 COSCUP 后记。
在台湾之前,我在西藏出差了三个月,因为时间的关系,当时只来得及办理台湾自由行个人签注。在西藏出差期间,因为没有时间回深圳,导致我一直没有办理入台证,后续,8 月 1 日,国台办停办了所有的个人自由行签注,更是让我陷入了十分紧张的状态,担心自己能否前往台湾,参加本届的 COSCUP。
幸运的是,在我 13 号回到深圳后, 提交资料,加急办理后,还是成功的在前往台湾前,成功办理了入台证,获取了前往台湾的许可。
在确定了议题被选中后,我就订了从香港飞往台湾的机票(毕竟从香港飞比从大陆飞能便宜 1000 左右),但是,后续因为环境原因,我不得不选择退掉我从香港起飞的机票,改为从大陆直飞台湾。
一开始订的票是从广州直飞台北,结果,到了出发的早上,因为前一天晚上休息的时间太晚了,导致我醒来以后,无法赶上从深圳到广州的列车,不得已,我将飞机改签,转而从深圳飞上海转机飞台湾。
经过这么一番折腾,最终,我在 8 月 16 日的下午,成功抵达台北。
COSCUP 在会议的前一天晚上,安排了会前派对,参加派对的大家可以在 Party 现场见面、聊天,讨论关于开源等一切事务。
我在 Airbnb 完成入驻后,就尽快赶到了 Party 的会场,参与现场的交流。会场选在了台北 101 大厦的附近,我们在 Party 的现场只需要抬头,就可以看到台北 101 大厦,非常的漂亮。
整个 Party 的氛围可惜因为我还是太过于腼腆,并没有和太多在场的台湾同胞交流,倒是和大陆一同前往台湾演讲的各位讲师聊的很开心。
大家得知附近刚好有个诚品书店,便一致决定,去看看这个“网红”书店,我还在诚品书店买到了几本不错的书,都带回了大陆看。
今年的 COSCUP 是在台北的台湾科技大学举办,租借了台科大的一栋大楼来做会议。相比于大陆的会议主要是一个主会场,所有人都去听,COSCUP 的主办方的看法有所不同,在他们看来,他们需要的是更多的会场,让更多的开发者可以勇敢的 Show 出自己。
参会的话,首先需要下载一个 OPass App,安装了这个 App ,就可以在现场使用 App 进行签到,十分的方便,值得大家学习。
现场的各项基础设施,也做的非常的棒,有大的议程台,可以帮助参会者了解议程。
大陆来的讲师的议程基本在第一天,所以我第一天的事情主要是去听一听大陆这边的讲师的议程,听一听大家都讲的是什么,并选一些我感兴趣的其他议程听一下
Ted Liu 讲的是自己在 Apache 基金会看到的一些东西,以及他作为 Apache Member ,看到的不同的内容、开源项目能够从中学习到什么。
吴晟老师则分享了他的项目 Skywalking 如何从一个个人项目进入 Apache 基金会的项目孵化器、成为 Apache 顶级项目的历程。
马全一老师分享了他在阿里巴巴、腾讯、华为等多家企业从业看到的大陆的企业的开源的现状,因为他说他的议程不能拍照不能录像,所以这里没有图片。
李辉老师则以自己的个人经历,为大家介绍了一个普通程序员如果变成一个全栈工程师、如何成为一个项目的 Core Maintainer 等等的一些信息。
水歌则分享了其在 Web Components 中的实践,帮助大家了解了 Web Components 的前世今生,并介绍了他自己基于 Web Components 实现的框架, WebCell。
其他几位老师的议程,因为时间的缘故,没有能去参加。
除了听议程以外,第一天我还去参加了 LPI 在 COSCUP 举办的考试,毕竟作为 Linux 中国的一员我还真没有正经的参加过 Linux 相关的考试,刚好这次有机会,就参加一下考试。
总体来说,LPI 的考试还是不错的,会考到一些比较基础的,平时可能根本想不到的知识点。
第一天的议程结束后,开源社成员 Richard 和 Kevin (他们是台湾人)作东,邀请了来台湾参会的讲师么,一同聚餐。
台湾菜,很好吃!
第二天,因为我自己有两场演讲,所以也仅仅参加了两个议程和一场 BoF(有相同喜好的人大家坐在一起聊聊天的活动)。
王伟老师在议程中,分享了他自己在大陆做的开源相关的教育的事情,并分享了自己的一些成果。
水歌的分享则介绍了他如何借助 Hexo 去建立一个开放透明的开源组织,介绍了他自己的实践,还进行了一个 WorkShop,帮助大家上手。
在 BoF 上,大家则讨论了关于开源、教育等一些实践、大家的思考。
关于我自己的议程,因为我在演讲,所以只能等后续组委会放出的视频和照片了?。
这次来台湾参会,我给自己留了10天时间,除去来回的2天,我还有8天时间,以及 2 天的会议时间,我仍然有 6 天的自由时间,除了在台湾游玩,我还能为两岸的开源、IT 界做些什么呢?
那就来做采访吧!
得益于 COSCUP 的关系,很多人对于我有一个初始的印象,也借此,我可以成功的在台湾访谈一些很好的朋友,包括 Anti996 License 的主导者 Suji Yan、Hexo 的开发者 Tommy、台湾的 Ruby 社群的高见龙、Ubuntu TW 的负责人 BlueT、台北 iOS 开发社群的早期负责人豆花、COSCUP 的总办 Bobchao、台湾 Laravel Dojo 的创办人范圣佑等人, 如果你对他们的访谈感兴趣,就持续关注我吧,我会在后续将这些采访都发出来。
当然,如果你对于其他的开发者有兴趣,也可以告诉我,我后续会一一进行访谈。
在参加 COSCUP 中,我也发现一些值得我们去学习的细节,这里也分享给大陆的同行,帮助大家更好的去举办大陆自己的会议。
在 COSCUP 中,每一个人可以在自己的卡片上贴上一个标签,这个标签分为 He、 She、Ze,其中 He 和 She 就不多说, Ze 则是针对一些跨性别者,或性别认知与其天然性别不同的人。对于跨性别者,或者性别认知不同的人来说,直接称呼其 He、 She 都略不尊敬,而 Ze 则很好的避开了这个问题,而且参会者可以根据自己的需要,选择标签,他人在称呼自己的时候,可以根据你的选择了填写。
共笔系统也是我在 COSCUP 中认为的一个值得我们学习的点。共笔系统,是指 COSCUP 为每一场活动都提供了一个可以在线协作的文档,每一个参会者都可以打开这个文档,然后为文档共享内容,大家共创会议笔记,这种方式,可以让大家更好的去参与这个会议,每个人对于会议的理解不同,能够结合自己的经历,写出一些不同的东西,帮助更多人去理解。
最后,做一个小的总结,这一次的 COSCUP ,其实让我感受到非常多大陆和台湾的不同,大陆这边我们会关于效率,项目,成长。台湾则会更关注娱乐,就像我在标题中写的那样 「乐在其中,才会无限精彩」,因为乐在其中,所以我们可以更加持久的做下去,至于精彩,就听天由命了。
对于大陆的开源人来说,我想,我们需要做一些改变,不应仅仅是为了工作目标而开源,为了快乐去做一些事情,不也很棒么?
在线版本:https://docs.google.com/presentation/d/1xImDt7Tybs9KUS9xzj-VX-6tbtNW9wYOGtks8lSjssk/edit?usp=sharing
视频托管在 Youtube,需要你懂的通道才能查看。