维护一个开源软件的历程和喜悦
第一节
已经研究了很长一段时间的浏览器开发技术了
那个时候我还只是打算为博客园写个文章发布工具而已,
觉得技术上可行,
也能为常年写博客的人乃至博客平台提供一些帮助
于是就动手做了
做了之后,发布出来,一直自己用,
也没管别人的想法,
那个时候,工作和生活上的事情非常多,也实在抽不出精力来仔细维护这个软件
在各个平台下,各种不同的博客设置下,BUG很多;
很多人找我问这个软件的事情
我也是能推脱的就推掉了。
后来断断续续更新过几个版本。
直到今年1月份,我开始把大部分精力投注到这个东西身上来,
第一个版本发布后,大部分人都觉得挺好的,但还是有负面的声音:
这位网友批评虽然用语激烈一些,但基本上还是中肯的;
这哪里是烂尾一年的轮子呀,这是烂尾四年的轮子了;
我之所以没有另启版本号,就是为了时时警示自己,不忘初心,方得始终!
当然,也有支持者:
我想,做一个东西,其中有一个乐趣必定是有人在讨论你这个东西吧!
有好的声音,有不好的声音,都是你持续做下去的动力。
第二节
我以前管一个团队,
是整个公司的研发中心,
不是做项目和产品的,是专门做research的
人多的时候有四十多号人,
团队搞得东西也足够复杂
那个时候我整天忙于繁杂的事务中,
是一个出卖自己时间和灵魂的陀螺,
造物主的鞭时刻悬在头上;
条件成熟后,我出来了,
现在想想,如果不是要照顾的人太多,真的应该早出来几年,
有活儿的时候接个活儿,没活儿的时候做做开源软件;
接活儿我也挑,不喜欢的活儿不愿意做,喜欢的活儿,钱不多也接;
我想能真正“自由的开发”,必定是每个程序员都向往的好日子吧
什么是真正自由的开发?
你可以自己控制时间,可以自己控制优先级,可以自己控制版本....
但自由也是相对的,
你不能不做,有一群用户眼巴巴的等着,有人在骂,有人在欢呼!
这也是为什么东欧、北美创新氛围浓厚的原因吧
他们那里福利条件优厚,我们这个行业的从业者,不用为了生计奔波,
公司工作不理想,在家干活儿也不至于饿死!
linux的作者,如果投胎不好,生在瓷器国,估计也搞不出这么伟大的作品。
第三节
我时常在想,
我来到这世间,到底要做到怎样才算不虚此行;
以前我觉得我喜欢旅行
这使我走了很多地方
我开车到过内蒙、又开车到过两广、
我去过17个省,64个城市,
现在想想,我有什么特别想去的地方而还没去的吗?
没了!
有什么特别想吃的,而还没吃到的吗?
没了!
那我还需要啥?
没了?
向外求得不到答案,我觉得我应该向内求。
我觉得我现在应该追求的是频繁、长久的“心流”体验
“心流”在心理学中是一种某者在专注进行某行为时所表现的心理状态。
是一种将个人精神力完全投注在某种活动上的感觉;心流产生时同时会有高度的兴奋及充实感。
某者在此状态时,通常不愿被打扰,即抗拒中断。
我庆幸自己是个程序员
因为写代码是最容易进入“心流”状态的一项工作了
你时时刻刻在解决问题,在创造,像造物主。
而且还不像艺术创作那样很难得到回馈。
想想看,不是吗?还有什么工作能比这个更好?
(虽然我也没干过其他的)
中国人,好多都是为了别人而活着
早点脱离这个状态,早点看清楚自己和世界的关系
“要照顾的人太多,我不似你这般随心所欲”
那我也没办法了。
第四节
我目前在做的开源项目,叫“想学吗”,是一个个人知识管理工具,
桌面软件,有win和mac两大平台下的版本,
可以自由的把文章发布到:博客园、简书、知乎、微信公众号和订阅号、开源中国等目标平台;
名字是有点土,
很多人都跟我说过,
有个咱们这个行业的大佬,建议我趁现在关注的人还不多,赶紧改个名字;
我想想还是算了。
只要东西做的好,叫狗蛋应该都没问题。
咦,我怎么没起名叫狗蛋儿呢,这个名字也挺好的,哈哈。
不过还是由衷的感谢提意见的各位!真的!
你们的意见,是一个开源软件维护者前进的动力!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
系列文章|OKR与敏捷(二):实现全栈敏捷
OKR与敏捷开发的原理有着相似之处,但已经使用敏捷的团队再用OKR感觉会显得多余。这种误解的根源就在于对这两种模式不够了解,运用得当的情况下,OKR和敏捷可以形成强强联合的效果,他们可以创造出以价值为驱动的团队,改变团队的工作方式。 本文第二部分介绍了如何实现全栈敏捷。 回顾第一部分请点这里:系列文章|OKR与敏捷(一):瀑布式目标与敏捷的冲突 全栈敏捷 想要实现业务的敏捷性,公司需要确保各层级的敏捷性。以此来替换公司传统组织架构的各个层级: 在全栈敏捷中,组织各个层级的架构转变为: 文化以激发团队的自我驱动力为基础。不再控制各团队详细的计划,而是以公司使命为总纲统领全局。领导们只需“明确最终结果和目的,尽可能减少对团队的约束。” 战略以数据为驱动,动态迭代并侧重验证假设。 目标将遵循敏捷模式,使用OKR。 策略运行‘故障检测’实验,形成较短反馈周期。 运营则使用敏捷开发模式。 图为Worktile敏捷开发示意图 重构组织债务 技术债是大多数软件工程师都熟知的问题。 技术债的来源主要是团队想走捷径,而技术债将导致代码难以更改且无法扩展。 技术债是要偿还的,并且还有利息。 为了解决技术债...
- 下一篇
大规模Go项目几乎必踏的几个大坑 - 实例分享
2个月前开源了Dragonboat这个Go实现的高性能多组Raft共识库,它的一大卖点是其高吞吐性能,在使用内存内的状态机的场景下,能在三组单插服务器上达到千万每秒的吞吐性能。作为个人用Go写的第一个较大的应用库,Dragonboat的开发过程可谓踏坑无数,逐步才具备了目前的性能和可靠性。本文选取几个在各类Go项目中踏坑概率较高的具有普遍性的问题,以Dragonboat踏坑详细过程为背景,具体分享。 Channel的实现没有黑科技 虽然是最核心与基础的内建类型,chan的实现却真的没有黑科技,它的性能很普通。 在Dragonboat的旧版中,有大致入下的这样一段核心代码。它在有待处理的读写请求的时候,用以通知执行引擎。名为workReadyCh的channel系统中有很多个,执行引擎的每个worker一个,client用它来提供待处理请求的信息v。而考虑到该channel可能已满且等待的时候系统可能被关闭,一个全局唯一的用于表示系统已被要求关闭的channel会一起被select,用以接收系统关闭的通知。 select { case <-closeCh: return ca...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- Mario游戏-低调大师作品
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16