“你的文章里为什么不放源码Github链接了?”,一个读者这么问我

我把这张图发给了他,这是我之前放文章中Demo源码的Github仓库

他一脸疑惑,问我怎么了

经常使用Github的小伙伴都知道,star的含义就像社交媒体中的点赞,表示对项目的鼓励,衡量一款开源项目是否受欢迎的一个重要指标就是star的数量,很多优秀开源作者在介绍自己的项目时也都会说我的项目获得了多少的star,而fork相当于复制一份源代码到自己的仓库中,其主要作用是给参与项目的开发使用,当你新增内容时可以提pull request把你的修改合并到原来的仓库中

fork数大于star数,说明很多的人只想白嫖,连个几乎不需要什么成本的star支持都不会给,或许有很多小伙伴不知道star和fork的含义吧,我这么安慰自己

同样的情况还有我们开源的一站式的运维平台CODO,曾经在群里有小伙伴跟我说你们的CODO很棒,我把里边的运维工具给扒下来放在了我开发的系统里,我就问这么棒的开源系统,也帮助了你,有没有给个star,结果是没有,开发组的小伙伴利用下班、周末你们休息的时间来开发新功能,修复各种Bug,同时也在用户群里帮忙解决各种各样的问题,然而一个star都不愿意给,付出得不到回报,他们心里是该有多难受啊

更惨的事情发生在我身上,刚学习Django的时候怀着对开源的无限向往,写了个项目放在Github上,偶然机会听某大厂的朋友分享他们的CMDB实践,其中特别讲的一个功能特性跟我开源的项目功能一样,连关键界面都相同,想找他确认时,发现我们彼此加过QQ,还有之前他问我关于功能实现相关的聊天记录,结果是他不承认哪怕是借鉴了我的开源项目,同时还被怼我的开源项目框架乱代码差,在这之后就停止了开源项目的更新和维护

个人想做开源太难,没有任何支持和回报很难坚持下去,很多时候开源软件作者所想要的仅仅是一个star而已,一批优秀的开源软件最终选择了闭源或删除,例如做的非常棒的SQL审核工具insecption,优秀的markdown编辑器editor.md等等,令人痛惜

为了公众号的持续发展,我希望有更多的粉丝关注,就像开源软件作者希望获得更多的star一样,之前为了兼顾粉丝增长与体验,我会把个别文章中的源码放在github上,用户后台发送关键字能够获取到源码链接,希望借此导流,能有更多的粉丝增长,但发现有第三方网站爬取了文章,把获取源码的片段给去掉,或者把源码地址贴在文章内,等于我辛苦的付出为别人做了漂亮的嫁衣

我想每个人无论是开源软件还是写文章,都想得到支持吧,一个star,一个转发,一个赞赏,都能让内容输出者获得鼓励,形成良性循环,从而输出更多优质的内容,难道是我这个想法过分了?

上边吐槽了太多,运维咖啡吧其实还是得到了很多读者的支持,在这里真诚的说一声感谢,有你们的支持,运维咖啡吧一定会走的更好,更远


相关文章推荐阅读:

你的文章里为什么不放源码Github链接了的更多相关文章

  1. 一步步实现windows版ijkplayer系列文章之三——Ijkplayer播放器源码分析之音视频输出——音频篇

    一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...

  2. 【转】如何在eclipse里关联查看android源码

    原文网址:http://fengbohaishang.blog.51cto.com/5106297/1339556 以前没怎么注意过这个问题,不怎么看源码,现在发现源码确实是很好的学习资源. 直入正题 ...

  3. [转]MyEclipse 里查看jar文件源码

    在开发过程中,有时候需要查看jar文件的源码,这里讲解如何设置.  选中某一个jar文件,如我这里选中的是struts2-core-2.1.6.jar,然后右键-->Properties--&g ...

  4. CRL2.3(ORM开发框架)源码github发布

    简介 CRL是一个面向对象的轻便型ORM业务框架 此框架追求的是使用简单,方便,因此设计为: 不需要代码生成器生成对象类,按标准方式写即可 依托lambda,实现语法解析转换为等效的SQL查询,完全以 ...

  5. VS2015 多项目源码共享链接

    Eclipse有这个功能,在一个项目中加入另一个项目文件夹的引用,源码包含过来,这样不必copy一份代码,只需要维护一份源代码.一直想在VS中找到这个功能,目前项目需要,终于google到了. htt ...

  6. spring framework项目源码github托管地址

    方法一:直接下载,github托管地址:http://repo.spring.io/simple/libs-release-local/org/springframework/spring/ 方法二: ...

  7. Thinking in java源码下载链接

    Thinking in java书上显示的下载源码到www.mindview.net站点,但是这个站点打不开了,后来找到真正的下载地址,贴于此. http://www.mindviewinc.com/ ...

  8. 如何实现微信小程序动画?添加到我的小程序动画实现详细讲解,轻松学会动画开发!附壁纸小程序源码下载链接

    为了让用户能尽可能多地使用小程序,也算是沉淀用户,现在很多小程序中,都有引导用户"添加到我的小程序"的操作提示,而且大多都是有动画效果.在高清壁纸推荐小程序首页,用户每次进入,都会 ...

  9. yii2.0里自己写的源码上传图片

    在做项目过程中,用了源码表单上传, <form action="?r=pre/create" method="post" enctype="mu ...

随机推荐

  1. java学习1-初始java程序

    # 第一个简单示例 public class Hello { public static void main(String[] args) { System.out.println("Hel ...

  2. ES和zookeeper选取帮主之江湖秘闻

    ES帮会 某日,ES帮会中决定选取老大统领帮会走向辉煌.大家七嘴八舌,讨论方案,场面一顿混乱.傻牛站起来大喊一声:谁比俺力气大,谁就当老大.(ES集群在启动时,选取集群master,按照nodeId进 ...

  3. Leetcode Tags(13)Bit Manipulation

    一.477.汉明距离总和 输入: , , 输出: 解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010.(这样表示是为了体现后四位之间关系) HammingDistance( ...

  4. unity www下载导致内存占用增加问题

    服务端或者数据库更改导致客户端更改,最合理的处理方法是客户端时刻检测版本号(可以通过实时检测版本号),如果实时刷新数据库的数据开销比较大,尤其是有图片元素时. 采用unity www类下载时,虽然结束 ...

  5. python的GIL锁

    进程:系统运行的一个程序,是系统分配资源的基本单位. 线程:是进程中执行运算的最小单位,是处理机调度的基本单位. 处理机:是计算机中存储程序和数据,并按照程序规定的步骤执行指令的部件.包括中央处理器. ...

  6. django-MVT设计模式

    MVT:Models.Views.Templates Model:封装数据库,对数据库进行访问,对数据进行增删查改等. View:业务逻辑的一些操作. Templates:展示. 而MVC主要的流程如 ...

  7. SpringBoot2.X整合Actuator

    一 说明 Actuator 的定义 actuator 是一个制造术语,指的是用于移动或控制某物的机械装置.执行器可以通过一个小的变化产生大量的运动. 要将 actuator 添加到基于 Maven 的 ...

  8. API gateway 之 kong 基本操作 (三)

    一.演示环境准备 1.nginx配置 [root@nginx conf.d]# pwd /etc/nginx/conf.d [root@nginx conf.d]# ls conf_bak kong_ ...

  9. Java实现多态的机制是什么?

    靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型 ...

  10. EffectiveJava-1

    最近在看EffectiveJava,记录一下,分享一下自己的心得. 一.将局部变量的作用于最小化 在第一次使用的地方进行声明,过早的声明局部变量,会延长局部变量的生命周期,若在代码块外声明变量,当程序 ...