老码农的开源故事

admin 2025年6月7日13:26:00评论0 views字数 1302阅读4分20秒阅读模式
按: laoduan二十多年前曾是水木清华BBS程序设计版的版主。他在朋友圈向来用繁体写作,有次我转录他的大作,系统审核了20分钟后,未通过。这次我先繁转简,少惹奇葩是非为是。
2018年,因为要用到openstreetmap的数据做地图应用,而osm的数据非常肮脏且格式不是业界标准geojson,所以在考察了半天三方实现觉得不甚满意后,我决定用Javascript自己造一个轮子,将osm的xml和json格式转为geojson,这就是osm2geojson-lite的由来。
跟最流行的三方实现相比,这项目是我从最底层能力开始搭架子,不用任何依赖、所以代码尺寸较小,而且设计实现之初就考虑到性能,所以处理速度碾压对方数倍。
只可惜因为场景小众加上籍籍无名,到今天npm上的下载量也只有每周400多,还比不上我一个几百行级别的开源密码学工具。
但这里也有故事,先是在上线早期有几个贡献者发现并帮我修正了几个bug,让人倍感振奋。但随着时间的推移,个人工作方向的改变,加上项目功能已经相对成熟且处理多边形这种典型使用场景驾轻就熟,我从19年之后基本就没有再进行维护,甚至连进行中的Typescript迁移都没有继续。
上周日突然接连收到三个github转发的issue邮件,都来自同一个以色列的哥们。原来他在一个骑行应用中需要做类似转换,考察半天后决定用我的轻便实现,但发现这工具处理路线等非多边形时出现问题,导致路线不全,让我帮着排错修正一下,还希望成为这个的项目合作者。
这这几个issues如当头棒喝一下子唤醒了我,我连夜搞定他的问题,还索性把Typescript迁移完成,顺带把前期我知道但觉得不碍大妨的构建尺寸问题,测试代码等都做了升级。
他的问题解决后,这哥们多次进行了感谢。我虽然睡眠不足,但心底成就感满满。
其实这就是开源的乐趣,东西顺手开源出去就能惠及他人,自己收获的是成就感,大抵介乎于马斯洛需求层次模型的尊重和认可需求及自我实现需求之间。
当年在阿里负责集团开源办公室时,也经常跟人聊及贡献人的激励问题。物质激励基本不可追求,但价值肯定也常常拿不到:很多公司喜欢克隆别人项目自用,有优化不遵守开源协议去回馈小区,直接用连提都不提一嘴,为此不少项目都搞了hall of shame,去晒这些不堪的司与事,譬如说国内很多视频平台都曾被ffmpeg晒过。
唠叨这么多,分享一些开源心得:
1、个人搞开源项目不能有赚钱和成名等非分之想,解决问题越小越不要指望,这时候更适合从助人行善等角度找下个人幸福感;
2、用了别人的开源组件,尤其是需要别人解决问题时,一定要多给人情绪价值,那可能是支撑作者坚持下去的唯一动力;
3、fork优化开源项目,尤其是用于商业目的时,一定要按照协议要求,该回馈小区的回馈小区,该具名认可就要具名认可;
4、不要做开源水蛭,就是抱知名项目大腿,用加空格空行、改注释等无价值输出,塑造自己的开源贡献人形象,欺骗雇主。
最后再加一点,大模型真心超牛,copilot的自动代码补全和代码生成能力在我的开源升级中贡献颇多,推荐码农朋友们多多使用。

原文始发于微信公众号(青衣十三楼飞花堂):老码农的开源故事

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月7日13:26:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   老码农的开源故事http://cn-sec.com/archives/3791969.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息