2

论开源 · GitHub

 1 year ago
source link: https://gist.github.com/xjzh123/b9b1247d576d33cf93b8a0b40d42fb16
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

论开源 · GitHub

啊!本来,我这样的无名小卒,是轮不到我来论开源的。但是,我感觉Zhang的心态不是很好,所以让我斗胆来谈论一下开源。或许,这篇文章更像是论GitHub,还是从一个无名小卒的视角。

GitHub是一个好地方,它为人们的代码提供了开放的存储平台。GitHub有多少个repo?我不知道,但是肯定十分庞大。(当然,理论上来说,如果GitHub用户都遵守规范,只放代码,那GitHub消耗的存储空间或许比不上推特、脸书,毕竟那上面有许多的图片和视频。绝对比不上Youtbe。)

这本身难道不是很Amazing吗?你可以备份你的代码,存储不同的版本,还可以展示给别人看。GitHub还提供Pages、Actions等等服务,让我们的开发更加轻松。不知道有多少用户,来到GitHub只是为了使用Pages。

你只是需要一个展示/存储代码的地方,甚至只是一个存放网页源代码的地方,同时,你的代码可以被别人看到,这不是很好吗?随手写几个小脚本,写个简短的readme,就可以丢上GitHub了。尽管我开源的几个项目实际上没有获得任何star,看着一个个repo,我还是很有成就感,因为它们代表了我技术的进步和完成的小项目。它们中的每一个,都有足够的完成度,可以发布。我的技术或许和专业人士相比微不足道,但是和几年前小白的我相比,无疑高了太多。

在GitHub,无人问津的项目不知凡几。有的具有很高的完成度(对于我这种菜鸟而言)。在我看来,这样的开源,是一种分享,将自己的技术,半天或一天的工作成果,从尘封的硬盘里拿出去,放到GitHub这个慷慨而繁荣的平台上,也许某一天,某个有缘人就会看到你的代码。

作为一名HC用户,我相信通过HC,看到我的代码的人会相对多一点。当有人问:我应该怎么做HC Bot?的时候,我可以给他们看我的dotbot的源码,让我学习Python的成果为他人指点迷津。当然,dotbot的诞生离不开await分享FoolishBird的代码,这难道不是一种传承吗?代码就在那里,分享它并不需要多少力气,也没有多少损失,而可以为他人带来帮助。或许有人会为此记住你——我相信,也有人为此记住Zhang,但是不需要很多人。

尤其值得一提的是,因为HC是一个互联网角落的小地方,关于HC Bot的资料和源码并不多,小白会面临一种无从下手的状态,因此这些代码对他人的意义更大——即使如此,我也从未期望人们因为dotbot而记住我。Zhang做的ZhangBlog则不属于此类。博客的框架和程序太多了。

这也让我想到另外几个涉及到“开源”的平台:replit和GreasyFork。replit免费提供了运行程序的算力,与此同时,它也要求用户开放源代码。在让自己的程序或网站运行在云上的同时,你可以便捷地展示这背后的代码。在GreasyFork,你发布的脚本无疑可以帮助到别人。既是脚本的功能,也是关于实现脚本的启发。当然,开源还有助于确保脚本的安全无恶意。

说起replit,诚然,replit的社交属性不弱,如果人们觉得你的项目好玩有趣,他们就会留下评论,关注你,制作Fork。但是即使没有如此,让你的项目运行在replit上也足够开心。

每个人都是从无名小卒开始,而每一步都需要运气和实力。要让自己的项目被人们知道,需要很多的坚持——真正的坚持。GitHub用户很多,贡献了代码的或许有一半,但有项目具有活跃的社区的,可能只有百分之一。某种意义上GitHub很小——我们以为只有最强大和最有价值的项目,例如我们耳熟能详的Vue.js、React.js、Solid.js、Svelte.js、Linux内核、CPython、Rust、CGo能入选GitHub南极代码库的时候,AndrewBelt的hack-chat也入选了。(可惜的是,那是旧版的HC,服务端甚至只有一个文件。但是我相信,这两个版本之间的鸿沟,在人们的努力下只是时间问题。)

如果你希望你的项目能够获得很多Star,为你打下名声——这固然是可能的,但是也不要忘了有多少选择了开源的人默默无闻、用爱发电。这其中就有core.js的作者。你需要顺应时势,符合人们的需要,做出人们喜欢的东西,抑或是人们觉得有趣的东西。

例如,当腾讯推出了QQNT,夺得先机的QQNTLiteLoader将会成为QQ用户的潮流。在网页上模拟的空调和奥利奥生成器,因为其有趣而风靡一时。好看的博客主题总是有人爱,因为每个都有独特的风格。ChatGPT和AI绘画火了,为其制作的前端也一样。

你还需要坚持不懈。如果你做的只是一个库,一个框架,那么你需要恰当的宣传。在B站、掘金、思否讲述你的项目——讲述你编写的过程,讲述你采用的技术,讲述你的思路,讲述它的优点。这是最好的宣传。

如果你希望你的代码被社区采用,它需要比别的实现更好。你的项目是否更强大?更优雅?更简单?以全新的角度解决了问题?简化了复杂性?又或者,它仅仅是具有不错的完成度,和鲜明的特色——就像hack.chat。

Zhang还说,他看GitHub点star,看B站三连。我想说,star是献给高超的技术、优雅的项目、有用的工具、用心的作品,面对技术比自己好的人,应该给予他们赞赏和鼓励。这就是人们如何在GitHub这个和谐的社区里共建美好的环境。有的人在创造未来,有的人在投入热爱,有的人只是解决了一个互联网角落的小问题,但他们都应该为自己新写的100行代码感到骄傲。

总之,开源,开心最重要。哪有人能够那么容易得到足够多的star——哪怕是几十个star,也需要上述的这些受欢迎的特质。开源,本身就很酷。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK