第一百四十五章 免费的秋天
林知行醒来的时候,手机屏幕亮着。
GitHub的通知图标上挂着一个红色数字——47。他划开锁屏,star数跳到了4100。
昨天晚上发开源公告的时候是2400。一夜涨了1700。
他盯着这个数字看了几秒,有一种不真实的感觉。以前涨一百个star要两周,现在一夜顶过去三个月。
方小满还没醒。他的手机扣在枕头下面,震动模式,屏幕朝下。林知行把自己手机调成静音,轻手轻脚下了床,走到折叠桌前坐下。
邮箱里有新邮件。
不是一封。
十二封。
他从第一封开始看。
发件人是一家深圳的SaaS公司,标题写的是"技术合作意向"。邮件内容很客气,先夸了开源算法的架构设计,然后问:贵公司是否提供商业授权版本?我们希望在我们的供应链管理产品中集成贵方的算法,年营收五百万以下的客户群体使用。
林知行看了两遍才看明白——这是一家渡渡科技的竞品,想把他的开源算法集成到自己的产品里,然后卖给渡渡免费策略覆盖的那一圈客户。
他的代码,别人的产品,别人的客户。
他点开第二封。武汉一家公司,措辞几乎一模一样——先夸,再问商业授权。
第三封。成都。
第四封。杭州。
第五封、第六封、第七封、第八封。
八封邮件,八个不同城市,同一个套路:先夸开源算法好,再问能不能商业授权接入。
他查了发件人的公司背景——四家是渡渡科技的直接竞品,两家做供应链SaaS,两家查不到太多信息。
九点零三分,方小满醒了。
他揉着眼睛坐起来,摸到手机,看了一眼屏幕,然后整个人清醒了。
"4100?"他说。
"嗯。"
"一夜涨了1700?"
"嗯。"
方小满光着脚走到折叠桌旁边,把椅子拉过来坐下。他的头发支棱着,脸上还有枕头的褶皱印子,但眼睛已经亮了。
"给我看看。"
林知行把手机递给他。方小满翻了翻GitHub的star历史曲线——前天870,昨天2400,今天4100。曲线的斜率几乎是垂直的。
"出圈了,"方小满说,"肯定有人转到了大群或者论坛上。"
他掏出自己的手机,刷了五分钟技术社区。
"找到了,"他说,"有一个叫'AI前沿观察'的公众号发了一篇文章,标题是——'大专生团队开源核心算法,技术社区热议'。阅读量两万三。"
林知行接过手机看了一眼。文章配图是他们GitHub仓库的README截图,标题下方用红色标注了一行字:
"一个创业公司的核心算法,说开源就开源了。"
评论区有三百多条。他往下翻了几条。
"想法不错,但商业模式在哪?"
"大专生做的东西,开源了也没人敢商用吧。"
"这个算法思路我在另一家公司见过类似的——渡渡科技。他们有三千万,这个小团队有什么?"
"已star,已fork,等待商业化版本。"
最后那条让林知行的手指停了一秒。
已fork。
他退出评论区,回到GitHub仓库页面,看了一个数字:fork数。
1247。
昨天是389。一夜新增了858个fork。
fork意味着什么?意味着1247个人把他的代码完整复制到了自己的仓库里。他们可以改、可以抄、可以包装成自己的产品,只要遵守开源协议。
理论上是这样。
但"遵守开源协议"这五个字,在商业世界里的重量,林知行很清楚——轻如鸿毛。
"小满,"他说,"你看看邮箱。"
方小满打开邮箱,脸色从亮变暗,用了不到三十秒。
"十二封,"他说,"我先分类。"
他拿着手机,一条一条点开,偶尔停下来查一下发件人的公司背景。林知行在旁边看着他的手指在屏幕上滑动,速度越来越慢。
五分钟后,方小满把手机放在桌上。
"分类出来了,"他说,"第一类:想接入我们算法做商业产品的,八家。其中至少四家是渡渡的竞品。第二类:高校和研究机构想拿我们的代码做学术研究的,三封——中科院自动化所、浙大计算机学院、上海交大。第三类——"
他停了一下。
"第三类是什么?"
"一封,"方小满说,"一个商户发的。"
他把那封邮件翻出来,念了一遍:
"你好,我是长沙做水果批发的,朋友推荐了你们的系统。我有十二个档口,每天进货出货记账都是手写的,想问问你们这个开源的东西怎么用。我不会写代码,有没有教程?谢谢。"
念完后方小满沉默了几秒。
"十二封邮件,"他说,"八封是想拿我们代码赚钱的,三封是想拿我们代码发论文的,只有一封是真的想用。"
他把手机放下,靠在椅背上。
"开源第一天,"他说,"关注是4100颗星,收入是零。"
林知行没接话。
方小满站起来,走到房间角落,从柜子里翻出一张A3白纸和一支记号笔。他把白纸摊在桌上,用笔在中间画了一条竖线。
左边写了三个字:关注度。
右边写了三个字:收入。
然后他在左边列了数字——star数4100,fork数1247,技术社区文章阅读量23000,邮件12封。
右边什么都没写。
"零,"方小满说,"右边是零。"
他把笔放下,看着那张纸。
"知行,"他说,"我不是在质疑开源。昨晚我想了一夜,我觉得你说得对——信任壁垒比技术壁垒更持久。但今天早上看到这些数字,我在想一个问题。"
"什么问题?"
"开源的关注,怎么变成收入?"
林知行看着那张纸。
"我在想。"
"想多久?"
"不知道。"
方小满盯着他看了几秒,没有追问。他把那张纸折起来,塞进桌角的一摞文件下面。
"行,"他说,"你想你的。我先去回复那个水果批发的商户——不会写代码也要用我们的系统,这种客户才是我们该服务的。"
他拿起手机,开始打字。
林知行打开笔记本电脑,登录GitHub后台。star曲线还在涨——4100、4127、4153。每隔几分钟就跳一次。
他把页面关掉,打开邮箱,给那八封商业合作邮件回了统一模板——"核心算法已完全开源,任何人可在遵守开源协议的前提下使用。具体需求欢迎在GitHub上提issue。"三封高校邮件也回了,措辞更短。
方小满已经给那个水果批发商户打完了字,一段一段教对方怎么下载、怎么部署,末尾还加了一句"不会写代码没关系,我发你视频教程"。
林知行看了一眼,没说什么。
方小满好像知道他在想什么。
"我知道这个客户可能不付费,"他说,"但他是十二封邮件里唯一一个真正想用我们产品的人。这种人,一个顶一百个star。"
林知行点了点头。
中午十二点,方小满出去买了两份盒饭。回来的时候脸色有点怪。
"商户群里有人转了一篇文章,"方小满把手机递过来,"标题叫'开源一时爽,商业化火葬场——大专生创业团队的开源豪赌'。八万粉的号发的,阅读量过万了。"
林知行看了一眼。文章列举了十几个开源项目的商业化案例,结论是:开源能换来关注度,但换不来商业模式。最后一段写——"免费的东西,谁都会用。但免费的东西,没有人愿意为它付钱。这个大专生团队的开源豪赌,结局如何,拭目以待。"
"什么感觉?"方小满问。
"他说的不全对,但也不全错。"林知行说,"免费的东西确实谁都会用。但不是没有人愿意付钱——是没有人愿意为一个'免费'的东西付钱。你需要给他们一个付费的理由。"
"什么理由?"
"还没想到。"
方小满翻了个白眼,扒了两口饭。
下午两点,手机震了一下。
不是GitHub通知,是微信。
陆可盈。
消息只有两行字:
"你们的开源决定我没有参与。但联合签字权是写在协议里的。这件事我需要一个正式说明。"
林知行盯着这条消息,手指悬在屏幕上方。
方小满凑过来看了一眼。
"她要正式说明,"他说,"什么意思?"
"意思是,她觉得我们违反了投资协议。"
"违反了吗?"
林知行想了几秒。
"联合签字权条款写的是'重大战略调整需双方协商同意'。开源核心算法,算不算重大战略调整?"
"算吧。"
"那就算违反了。"
方小满放下筷子。
"那怎么办?"
"回她。"林知行说。
他打了一行字:
"可盈,开源是我们在深思熟虑后做出的决定。我会尽快给你一份正式说明,解释我们的逻辑和后续计划。方便这周见面吗?"
发送。
陆可盈的回复来得很快:
"周三下午。北京。你来。"
没有表情符号,没有多余的话。
方小满看着手机屏幕,叹了口气。
"她生气了。"
"她不是生气,"林知行说,"她是在行使投资人的权利。"
"有区别吗?"
"有。生气的人会骂你,行使权利的人会用条款压你。后者更难对付。"
方小满把盒饭推到一边,没胃口了。
"知行,"他说,"你觉得她会退出吗?"
"不知道。"
"如果她退出呢?"
"那就退。"林知行说,"一百万的百分之十,回购价十万。我们账上三十一万,付得起。"
"付得起,但会伤筋动骨。"
"会。"
方小满沉默了一会儿。
"那我们先不想这个,"他说,"周三你去跟她谈,把我们的逻辑讲清楚。她是个聪明人,应该能听懂。"
林知行点了点头。
下午五点到晚上八点,林知行在GitHub上回复社区issue——文档勘误、部署配置、功能建议。都是正常的互动。
晚上八点零三分,他刷到一个新fork,fork者的名字让他停住了。
ShenDuTech-Algorithm-Team。
渡渡科技算法团队的官方账号。
不是程浩的个人账号,是团队账号。用的是公司名。
林知行点进去看了一下——渡渡科技的算法团队fork了他的仓库,fork时间是今天下午三点四十七分。fork之后,他们立刻创建了一个分支,分支名叫"dodo-eval-v1"。
dodo-eval。渡渡评估版。
方小满从洗手间出来,看到林知行的表情,走过来。
"怎么了?"
林知行没说话,把手机递给他。
方小满接过手机,看了三秒。
"渡渡fork了我们的仓库,"他说,声音有点干,"他们建了一个评估分支。"
"嗯。"
"这意味着什么?"
"意味着他们的算法团队已经在评估我们的代码了,"林知行说,"评估完之后,他们会决定是直接用,还是改一改再用。"
方小满把手机放在桌上。
"你说过,开源意味着渡渡可以抄我们的代码,"他说,"你说你不怕。"
"我说过。"
"那你现在怕吗?"
林知行看着手机屏幕上那个"dodo-eval-v1"的分支名。
"不怕,"他说,"但不舒服。"
方小满没接话。
晚上十一点,林知行准备关电脑睡觉。
邮箱弹出一封新邮件。
发件人:程浩。
标题:关于开源仓库的善意说明。
他点开。
邮件不长,措辞客气,每一句都挑不出毛病:
"知行,恭喜开源。GitHub上看到你们的仓库,star涨得很快,社区反响不错。
渡渡科技的算法团队已经fork了你们的仓库,正在评估技术方案。我们对你们的可解释AI架构很感兴趣,特别是决策日志和半结构化输入的设计。
商业使用会严格遵守开源协议,这一点请放心。
后续如有技术交流的需要,可以通过这个邮箱联系。
程浩"
林知行把邮件读了三遍。
第一遍看内容——客气、得体。第二遍看潜台词——"正在评估"意味着已经在做了,"商业使用会遵守开源协议"意味着确实打算商用。第三遍看人——程浩,灵犀科技的前同事,现在是渡渡科技的CTO。他们最后一次打交道,是程浩说的那句话——"你做的那些东西,我会继续做下去的。"
现在他真的在继续了。用的是林知行自己开源的代码。
方小满走过来,站在他身后,看到了屏幕上的邮件内容。
他没说话。
林知行也没说话。
两个人盯着那封邮件看了很久。
方小满先开口了,声音比刚才轻了一点。
"他在告诉我们,"他说,"你的代码现在是他的武器了。"
林知行关掉了邮箱页面。
屏幕暗下来,只剩折叠桌上那盏台灯的光。方小满的影子投在墙上,肩膀微微塌着。
"知行,"方小满说,"你后悔吗?"
林知行看着黑掉的屏幕。
"不后悔,"他说,"但我在想一件事。"
"什么?"
"开源的代码,谁都能用。但开源的代码,不是谁都能用好。"
方小满看着他。
"你什么意思?"
"程浩可以用我们的代码做评估,但他们做出的产品,和我们做出的产品,不会一样。"林知行说,"因为他们有三千万,他们的做法是——买服务器、雇团队、做标准化产品、大规模推广。他们追求的是效率和规模。"
"那我们呢?"
"我们只有一万三和两双手。我们的做法是——蹲在商户的店里,看他们怎么进货、怎么记账、怎么跟顾客说话,然后把这些东西写进算法里。"
方小满盯着他看了几秒。
"你是说,他们用我们的代码,但用不出我们的味道。"
"对,"林知行说,"代码是开源的,但经验不是。信任不是。蹲点不是。"
方小满沉默了一会儿。
"那周三见陆可盈,"他说,"你打算怎么说?"
"实话实说。"
"实话是什么?"
林知行想了想。
"实话是——我做了一个可能错的决定。但我相信它是对的。证明它需要时间。"
方小满点了点头。
"那行,"他说,"你去证明,我来守家。那个长沙水果批发的商户回消息了——他说下周想试用我们的系统。我明天给他写个使用指南。"
林知行看着他。
"你连使用指南都会写了?"
方小满翻了个白眼。
"我不会写代码,还不会写字吗?"
林知行笑了。
方小满走到床边,躺下来,把被子拉到胸口。
"知行,"他说,声音已经有点含糊了。
"嗯?"
"程浩那封邮件,你打算回吗?"
林知行看着黑掉的电脑屏幕。
"不回。"
"为什么?"
"没什么好说的,"林知行说,"他用我们的代码,遵守开源协议,我无话可说。但我也不会跟他'技术交流'。"
方小满翻了个身,没再说话。
林知行关掉台灯,躺到自己的地铺上。
黑暗里,他盯着天花板,脑子里在跑一个东西——不是算法,是一幅画面。
画面里是程浩坐在渡渡科技的办公桌前,屏幕左边是他们的credit-score-lite仓库,右边是渡渡的商业产品框架。程浩正在把左边的代码,一块一块填进右边的框架里。
速度很快。因为他有团队、有服务器、有预算。
而林知行这边,只有他自己、方小满、周然,以及那个下周要试用的长沙水果批发商户。
四千一百颗星。
十二封邮件。
一个客户。
零收入。
这就是开源第一周的全部。
(本章完)