今天我想谈一谈,为什么我们很少去感谢开源项目维护者:

一、这样的项目我也可以做啊

“蛤?这项目对我来说也太简单了吧。”

“我一周之内就能做一个更好的版本出来。”

确实,很多人都可以在 Hackathon 或者其他小比赛,或者业余时间建一个小工具,但是维护一个项目比建立一个项目要困难得多。开源项目维护者需要做的不仅仅是写代码,更多时候还需要:

  • 写项目文档;
  • 检查 Pull Request;
  • 看看大家提的 Issue;
  • 为项目增加新功能;
  • 在 Stack Overflow 等平台回答关于项目的问题;
  • 在 QQ、微信等用户群里和用户讨论,回答问题。

一个开源项目维护者,必须一年到头无偿地做这么多复杂且繁琐的工作。

二、当我们便捷地使用开源项目时,太容易忘记项目维护者的辛苦付出了

我们一般怎么使用一个开源项目:

当我们遇到问题时,去 Google 或者百度相关的解决方案

在一些博客或者其他相关网站上进行搜索

嘿!找到了一个开源项目,点开链接,读项目的 README。安装并进行测试。哈哈哈!问题解决了

我们转而看向了遇到的下一个问题

开源项目就像水和空气一样,很多人只知道享受它带来的好处,而且习以为常!我们不会对空气或者对水说感谢,因为我们不知道那是谁造的。

但是我们知道这些非常棒的开源项目是谁创造的啊!但是我们知道这么棒的开源项目是谁在维护啊!

三、使用者认为开源项目维护者不在意别人的感谢

开源项目使用者可能会想:

“他们不需要这些,他们需要的是 pull request 和能够修复 bug 等实质性工作。”

“我想他们更喜欢收到捐款。”

但是他们真的很在意,有时候,开源项目维护者真的需要你对他说一声谢谢。当然,如果你能为项目捐款再好不过了,但是我知道的大多数开源项目维护者目的并不是赚钱。他们最终可能赚了钱,但与开发项目的动机相比,顶多算是一个副产品。

我注意到,开源项目常常比非开源项目要好。因为最出色的开发者是出于激情和利他主义来开发产品的。如果你没能力或者不想捐钱,你可以给他们写句感谢的话。

四、我们真的太“忙”了

“我们正在用双手改变世界。”

“我的项目必须在一周内启动。”

“我们每天都有数百封邮件需要回复。”

“我们只是没有时间。”

这些开源项目有更大的潜力去改变世界;或许其中的哪个项目已经改变了世界。

Instagram 使用 django 我们很多服务器都在运行着 Linux

可能没有这些开源项目,就没有我们现在的这些项目了。

希望当我们在便捷地使用开源项目的时候,能够对项目维护者表示感谢,并且尽可能地让项目维护者知道我们为什么感谢他们的付出,他们的项目怎么帮助了我们,我们这些发自内心的感谢也是维护者们继续付出的强大动力之一。

最重要的是,我们欢迎所有对维护项目感兴趣的人的加入,因为这确实是一件很棒的工作。一旦你成为了维护者,你也会在收到很多人对你付出的真诚的感谢。我建议在 GitHub 上加一个感谢的标签,不仅仅是感谢和激励维护者,更是邀请更多的人加入到其中。

五、最后的一点想法

开源项目维护者是我们交朋友的好选择,也是公司雇佣员工时的明智之选。他们有激情,愿意分享,能够坚持。他们是真正的 MVP,他们应该得到真诚的感谢

Android开发:为什么我们从来不去感谢开源项目维护者?的更多相关文章

  1. 学Android开发的人可以去的几个网站

    学Android开发的人可以去的几个网站 1.<IT蓝豹>Android开源项目分享平台国内非常好的一个Android开发者分享站,分享android所有特效,每天都有最新的Android ...

  2. Java Android 注解(Annotation) 及几个常用开源项目注解原理简析

    不少开源库(ButterKnife.Retrofit.ActiveAndroid等等)都用到了注解的方式来简化代码提高开发效率. 本文简单介绍下 Annotation 示例.概念及作用.分类.自定义. ...

  3. Android 常用炫酷控件(开源项目)git地址汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  4. SNF快速开发平台MVC-集成了百度开源项目echars

    百度开源项目echars图表样式非常丰富,而且开源免费.非常好.所以在我们框架当中也进行了集成echars完成图表任务. 我们进行了两次封装,利于我们开发使用.我也看到过有些架构师 按echars里的 ...

  5. Android开发——网易云音乐使用的开源组件集合

    前言 网易云音乐Android版从第一版使用到现在,全新的 Material Design 界面,更加清新.简洁.同样也是音乐播放器开发者,我们确实需要思考,相同的功能,会如何选择.感谢开源,让我们有 ...

  6. Android 开源项目维护者宣布退出

    Android开源项目(Android Open Source Project,AOSP)的长期维护者Jean-Baptiste Quéru在Google+上宣布退出,他退出AOSP项目的原因被认为与 ...

  7. 2014年国人开发的最热门的.NET开源项目 TOP 25

    原文地址:http://www.cnphp6.com/archives/72213 1 奎宇工作室 / DotNetCodes C# 一些常用的功能性代码,可以减少许多开发时间,而且类与类之间没有什么 ...

  8. [APP] Android 开发笔记 002-命令行创建默认项目结构说明

    接上节:[APP] Android 开发笔记 001 4. 默认项目结构说明: 这里我使用Sublime Text 进行加载.

  9. Android开发 无法导入ViewPagerIndicator或其他开源框架无法导入

    这个问题又花费了好长时间,其实就是很简单的问题,因为各种开源框架的库名称都叫liberary,如果上次导入其他开源框架没有更改名称的话,你再导入其他第三库的时候,系统发现重名,就提示无法导入现象. 解 ...

随机推荐

  1. 状压DP概念 及例题(洛谷 P1896 互不侵犯)

    状压DP 就是状态压缩DP.所谓状态压缩,就是将一些复杂的状态压缩起来,一般来说是压缩为一个二进制数,用01来表示某一元素的状态. 比如一排灯泡(5个) 我们可以用一串二进制01串来表示他们的状态 1 ...

  2. 【KakaJSON手册】03_JSON转Model_03_key处理

    有时候,服务器返回的JSON数据的key跟客户端模型的属性名可能不一致,比如客户端遵守驼峰规范叫做nickName,而服务器端返回的JSON可能叫做nick_name.这时候为了保证数据转换成功,就需 ...

  3. Xcodebuild命令使用

    Xcodebuild简介 Xcodebuild是命令行工具包的其中一项. 命令行工具包(Command Line Tools)是一个轻量的.可以与XCode分开的.在Mac上单独下载的命令行工具包. ...

  4. 深入理解Nginx及使用Nginx实现负载均衡

    前言: 最近在部署项目时要求实现负载均衡,有趣的是发现网上一搜全部都是以下类似的配置文件 upstream localhost{ server 127.0.0.1:8080 weight=1; ser ...

  5. [HNOI2009]双递增序列(动态规划,序列dp)

    感觉这个题还蛮难想的. 首先状态特别难想.设\(dp[i][j]\)表示前i个数,2序列的长度为j的情况下,2序列的最后一个数的最小值. 其中1序列为上一个数所在的序列,2序列为另外一个序列. 这样设 ...

  6. 人脸识别开发套件RJ45、继电器、OTG、RS232接口说明

          人脸识别开发套件RJ45.继电器.OTG.RS232接口说明 接口说明 D801A 人脸抓拍识别一体机是一款高性能.高可靠性的人脸识别类产品.依托深度学习算法扩展人脸库数量,准确率更高,支 ...

  7. Code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 11.0.1'

    Code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 11.0.1' 进入 projects and lis ...

  8. MySQL里的COUNT

    count(*).count(1).count(主键).count(字段)的执行效率 在没有where条件的情况下 MyISAM引擎返回结果会比InnoDB快上很多,主要是因为MyISAM会单独记录了 ...

  9. Freemarker提供了3种加载模板目录的方法

    Freemarker提供了3种加载模板目录的方法 原创 2016年08月24日 14:50:13 标签: freemarker / Configuration 8197 Freemarker提供了3种 ...

  10. JDBC之LOB数据类型

    JDBC之LOB数据类型 一.Oracle LOB LOB,即Large Objects(大对象),是用来存储大量的二进制和文本数据的一种数据类型(一个LOB字段可存储可多达4GB的数据). LOB ...