云乐坊工作室的成立与缘起与有关的话

本文最后更新于1 年前,文中所描述的信息可能已发生改变。

起因

18 年春天的某个午后,我突发奇想买下了 yunle.fun 这个域名。 并在站点编年史中如下记载:

又注册了个新域名:yunle.fun(云乐坊),以后要是能开工作室就用这个名字吧(笑)。

也就是说从很久以前,我的脑海中便充斥着一些不切实际的幻想,比如希望拥有一个属于自己的工作室。

而究其根本原因,无非是想要不用上班、财富自由之类的老生常谈。

亦与诸君共勉。

仔细想来,当初决定搭建博客,也无外乎此。 「超自然9人组」动画中的我闻优太,用奇怪的网名经营着一个超自然博客,并一心想着靠联盟行销致富。 于是,伴随动画播出的 16 年年底,「云游君的小站」诞生了。

只是时至今日,虽然博客逐渐有了一些访问量,但与最初的动机似乎仍然有着道难以逾越的鸿沟。

有关开源与商业化

我业余很热衷开源事业,自己写过一些开源项目也参与过一些知名的开源项目。 包括此前莫名其妙而火的「便携小空调」与「隔离食用手册」的代码本身,我也将其开源(公开)了出去。 博客的大半访问量想必也是托此的福。

我借此认识了很多来自开源社区的朋友,学到了很多代码设计实现思路与开发经验,甚至因此在毕业前便得到了一些不错的面试和工作机会。

但毫无疑问,开源的定义和社区文化使项目的创作者很难直接获取一些经济上的利益。 就连 Log4j2(被全世界各企业广泛使用的一个开源项目)的维护者都在吐槽自己无偿自愿地工作,还要不断被别人留言痛骂(此前爆出了一个漏洞)。 周下载量百万的 Faker.js 作者因为遭遇火灾难以为继,求助后无果,添加了恶意代码并清空了代码仓库。 且不论这种行为是否符合道德,但可见即便最知名的一些开源项目作者也很难从中实现财富自由。

与此同时,也有许多很酷的全职开源作者,他们可以纯粹依靠开源赞助来养活自己。 Linux 之父 Linus Torvalds 从 Linux 基金会获取薪酬,并收到了基于 Linux 的商业公司 RedHat 等赠送的股票。 相比商业公司支持下的 React,Vue 完全依靠社区运行,其作者尤雨溪几乎是 Patreon(赞助网站) 上收入最高的作者之一。 Sindre Sorhus 是 GitHub(开源社区)上 Star 数最多的个人开发者,他维护的 NPM 包下载量更是惊人。 antfu 在项目和插件上的强大生产力在 GitHub 上吸引了三百多位赞助者。

此外还有一些由开源组织起家的公司,譬如 Vercel、Nuxt Lab,他们在积极活跃地维护项目的同时,也在基于此探索部分项目的商业化。

当然,这种境遇往往只存在于最知名的一些创作者/组织当中,且以他们的能力,获取一份收入更高的全职工作也完全不是问题。 他们要么是一类框架/工具的开拓者,要么是项目众多而极具盛名的开发者。 至少在我看来,似乎有些遥不可及,而他们的成功也难以复制。

归根到底,他们的项目或多或少都与商业项目之间产生了联系。 而我想这也是他们得以收到众多赞助能够全职开源的缘由。

有关语雀

谈及商业化,最近东家的「语雀」(一个文档协同工具)进行了商业转型。 发布了「语雀个人版新定价的细则和思考」 一文,将普通用户的文档总数限制为 100 篇(包括小记),并禁止了免费用户的公开分享能力。

语雀本是我国内觉得还不错的文档分享工具,采用知识库的形式组织文档,负责人玉伯在访谈中也提到借鉴自 GitHub 的仓库概念。 我也经常向身边人进行推荐。商业化固然无可厚非,但难免有种受背刺之感。

后续因收到了大量反馈,语雀将普通用户文档限制调整为了 100篇/月。 但我认为这不过是避重就轻。 其自身吸引到许多资源推荐它的人,具有分享精神的人,更看重的不正是分享功能吗? 语雀在许多访谈中也提到其更愿用「分享」描述自己的商业化之路,用知识沉淀的社区描述自身,提到有许多用户用其记录和分享自己的生活。 这一改变几乎将更喜欢分享但相对低频使用的普通用户拒之门外。 同时大幅度变更用户权益的产品策略,也让我产生了不信任之感。

而我始终相信「人民群众才是历史的主体」。

冲动之时,我在朋友圈发了这样一篇评论。

我的朋友圈|语雀

我的语雀会员几乎到 2025 年才会过期,且由于惯性、公司等原因我可能仍需使用其一段时间,但我已决定开始相关的迁移工作。 尽管这可能帮助这一产品在短期快速获取盈利点,也许它有着很多我考虑不到的决策点,但在我个人看来,这是一个失败的伤害大部分用户的商业化路径。

至少,我不希望我的工作室-云乐坊也走上这种道路。

有关云乐坊

说了半天,工作室要做些什么呢?怎么活下去呢? 从注册域名的四年前,我大概便一直在思考,但终究没有明确的想法和行动力将其付诸实践。 但我对它有一个模糊的印象,以及不希望它变成什么样。

云乐坊的名字,第一个字取自于网名「云游君」的开头,亦有在云端和主营 Web 相关之意。 而乐我则将其读为 Le,寓意能够带来快乐。 Fun 则是根域名,代表「有趣」,同时谐音「坊」,我并没有使其成为成熟公司的魄力和把握,短期内也并没有这样的想法。 所以我将其定位一个小作坊,一个希望能带来快乐和有趣之物的小小工作坊。

我给它的标语是:让世界更加有趣多彩。

正如我自己常用的签名一般,我希望它能创作出成为他人回忆的事物,有趣亦或有用的事物。 我设想工作室以后做的每一个产品,都有一个简易 LOGO 与代表色,并随着不断成长,让自己也让世界缤纷多彩起来。

似乎仍旧有些空泛,18 年初我注册了这个域名,那时我打算做一个关于纸飞机在宇宙中冒险的小游戏,作为它的主营业务,最终因为学业不顺逐渐将其搁浅。 但这似乎并不完全是徒劳无功,在开发它的过程中,我写了一个虚拟摇杆并抽取为示例将其开源了出去,命名为 cocos-creator-joystick。 我在 Cocos Creator 论坛中分享了它,意外地收到了很多收藏和鼓励,并成为了我第一个破两位数 Star 的项目。

cocos-creator-joystick

后来我还更新过至 3.0 版本,上过 Cocos 商店首页,当然,是免费的。 其他便是后话,但毋庸置疑,它是我第一个受到鼓舞的开源项目,大概也算我开源事业的起点。

18 年的后半年,我给 Element(一个广为流行的 UI 组件库,Vue 2.x)提了人生的第一个 PR 被合并,当时应该是仓库的负责人 Leopoldthecoder 还帮我修正了下格式。 21 年,我有幸加入了 Element Plus(Vue 3.x)团队,成为了维护者之一。

一切仿佛因果循环,千丝万缕地将各类事物联系在了一起。 因此从我的经历,我终归希望它是积极拥抱社区的。

用别人分享的事物,进一步去做一些值得别人的别人继续分享的事物。

诸君,我讨厌轮子。 我讨厌在存在一些更好的工具和选择时,因为某种不可明说的抗力而继续走一些谁都知道是弯路的弯路。

在工作前,我以为进入一个所谓互联网大厂,我会学到更多在开源社区学不到的东西,同时在公司完善的基建下,让开发变得更加高效。 但并非如此,公司里一部分人造着他们以为的好工具,一部分人不得不用着另一部分人造出的工具。 而我的工作是更接近用户的一侧(且有可能是公司里访问人数最多的几个应用之一),显然属于不得不用的后者。 决定工具走向的人却不是使用最多的人,而使用工具最多的人,每天疲于应付面向用户的业务开发,还要经常被上游工具的 BUG 绊倒,一踩便是一天。

我不讨厌使用工具,也不讨厌向上游反馈问题。 倒不如说在参与开源社区项目和写自己项目时,正是如此。 但做同样的工作,我使用社区的工具流相比用公司的工具流可能快上数倍,同时遇到的问题也更少,即便遇到也可以很快搜索到解决方案。 社区的优秀项目一旦出现问题,很快就会有人发现并反馈,同时它们也是全世界最优秀的一批人在维护。 而公司的项目却是封闭的,我没办法在 Google/StackOverflow 上搜索,我没办法通用自己的经验, 甚至维护内部项目的人接连离职后,项目本身都逐渐分崩离析,却因为某些历史原因不得不维护。

入职几个月,便在公司充分体会到了工作的重担。 周末干完活和补完觉的闲暇,我躺在搬来不久的出租屋中思考起人生。 也许是我能力差、效率低,也许是我好吃懒做。

那么我真的需要这份工作吗?我真的需要这份还算优渥的薪水吗? 有了这份薪水后我真的快乐吗?我做的工作真的有意义吗? 我真的从中得到成长,学到不可或缺的东西了吗? 我所期望的人生是什么样呢?

我还是会在各类比价网站上再三对比,并为买了后降价的物品懊悔不已。 我仍旧不可能在寸金如土的北京买下属于自己的空间。 作为死宅的我,也并没有什么特别想买的奢侈品或人生必去的地方。

我突然发现此前写代码时的开心,与写完项目的成就感在工作时已经荡然无存了。 无非是从一个需求到另一个需求,自己就像是流水线上的工具,被使用直至磨损废弃。

八小时工作-八小时休息-还有八小时留给我们自己

我只是想要更开心地做一些有趣的事,比如写想写的代码、看想看的番剧,午后继续悠闲地躺在床上,傍晚去路边揪狗尾巴草,偶尔也会想写写小说画画插图。 而我突然意识到,实现这一期盼的成本其实并不算很高,也并非不可行。

与父亲的深夜对话与父亲的深夜对话

趁着国庆期间我回了趟家,父亲骑着电动车带我在镇上兜了会儿风。 勉强还算夏日,吹着凉风,望着一排排的电线塔与广阔的风景,我联想到的是动画滤镜下的风景,和在这样一个海边小镇的舞台,会发生哪些有趣的故事呢?

平淡温馨催人泪下的 Air 还是驾驶高大机器人挫败征服世界阴谋的 Robotics;Notes? 突然出现的企鹅踏上公路?奇怪的影子?坏掉的空调遥控器?被病毒侵入要坠落的卫星?

夏日小镇的故事实在是太多了,一瞬间诞生出了就这样继续下去,不回去上班的想法。

与父亲在镇上兜风

最后回到现实,父亲向我介绍了下小镇上新盖的一栋栋联排别墅,上下两户,5k多一平,两层带车库一百万。 不要三四千,也不要一两千,只要一百万,北京厕所价位别墅带回家。

因此,我想云乐坊的目标与运作方式变得更加清晰了。

业务范围应当是可以远程就可完成工作的内容,而不受地域限制。 基于社区优秀的解决方案,集成或实现拥有一套自己开发舒服的工具流平台。 如果它足够优秀通用,我也想将其继续开放分享出去。

原本我以为我离某些想法还有相当遥远的一段距离,但在有幸走过两次运后,我发现并非遥不可及。

「四叠半」中,小津对主角说,没用的,你总会白白浪费机会。 于是主角一次又一次轮回,悔恨没有过上玫瑰色的生活而与小津相遇。 但实际上只是主角一直没有勇气迈出送还姜饼熊的那一步。

“假如当时选择别条路的话,我会过着不同的大学生活吗?”

正如主角一般,我不止一次地询问过自己,并幻想不同的境遇。 而不尝试迈出那一步,便永远不可能获得自己想要的结果。

四年前注册域名的我,或许还没有实力和魄力,而现在也许是该踏出这一步的时候了。

基于经验和存活下来的前提,云乐坊应该会承接一些关于前端开发的工作。 没错,也就是外包。 但是我不希望它是纯粹的外包,我希望它是一个有意义的能够合作共赢的项目。

本着对一个项目的责任心和强迫症,我口头承诺我会尽我所能去优化想到的一些交互细节。 我希望能够参与对其本身的一些设计想法中,去实现一个真正让人愿意分享的作品。

比如像「隔离食用手册」那样的一个工具站点。 当然,考虑到其本身的公益性质,加之「我们不生产数据,我们只是数据的搬运工」,我绝不会将其做商业化付费的行为。

不过与之类似,我也想探索一种新的开源模式,对于小众开发者也能与商业化相结合持续运行下去的模式。 譬如类似应用的开源模版,可以接受替换数据和功能上的商业化定制工作。 利用开源和周边的影响力、以及项目本身的社会价值,让更多人愿意分享,通过分享的流量曝光来维持商业化运转。 或是像 B 站 UP 主(比如手工耿)的一些推广视频,有趣的同时也可以进行宣传。

因此,欢迎有类似想法的甲方大大们联系我。 当然,本着原则,有碍观瞻和用户体验的广告方式自然是严词拒绝的。

借双十一的时机,我与几位小伙伴进行了尝试,并做了一个新的项目。

双十一攻略手册

它的攻略数据来自「什么值得买」、「豆瓣」、「小红书」、「淘宝」、「天猫」、「京东」各处,并进行了一些交互上的简化。 你可以快速查找到不同种类商品的一些全网最低价的购买攻略。 「我们不生产数据,我们只是数据的搬运工」。

它和此前的菜谱工具有些类似,但数据变为了商品。 我不敢确定它是否真的有用好用,并帮助到你,但我觉得它会是商业化的一种形式,也是云乐坊的一次探索。

毫不夸张,基于我自己的开发工具流,初版我仍旧大概只花了六个小时,且开发它的整个过程是是十分丝滑的。 随后我再花一些不需要很完整的时间来不断完善它的细节。 而如若使用公司的工具流程实现,我可能不得不花费三倍以上的时间,并且没有笑容。

同时,我想这也会是云乐坊的小作坊式与正常商业项目差异化竞争的体现。 你真的喜欢满屏弹窗和无用动效的批量营销页面吗?

在不久之后,我会将其开源。 这意味着用户也可以自定义一些自己的数据来使用。 此外,它或许可以对领域细分,定制不同类型的数据。 并且在双十二等其他促销活动中依然可以定制复用。

这是云乐坊的第一个探索项目,我也不希望它是最后一个。

有关「伟大一族」

某日上班拥挤的地铁上,旁边的人竟潇洒地手捧着一本实体书阅读。 让站在一旁的我顿时心生愧疚,随即翻开手机寻找到本缓存在手机中的电子书-王小波的「我的精神家园」。

开篇的文章即名为「有关伟大一族」,书中如是定义:

现在的青年里有「追星族」「上班族」,但想要开创伟大事业的人却没有明目,就叫他们「伟大一族」好了。 …… 气得我吼了起来,谁给他打软件包?但是他说,人家给钱就得了,管它干什么。 我一想也对,谁要是给我一年三四万美元让我「打」软件包,我也给他「打」去了。 …… 他们相信,任何美好的梦想都有可能成真——换言之,不能成真的梦想本身就是不美好的。 …… 不管结局是怎样,这条路总是存在的——必须准备梦想,准备为梦想工作。

无关

最后,愿诸君财富自由,买东西再也不用看双十一的那天早日到来!

家·烟花·红包封面
聊聊四元数与万向锁及其实际意义