我是 Beetl 和 BeetlSQL 开源的作者, 这俩类技术实现难度较大, 前者是属于语言实现类开源, 后者则是全功能 ORM 实现但是这俩个开源使用门槛又低, 能遇到各种各样的小白用户我帮助小白解决了非常多技术问题, 但也遭遇过小白给予的困扰我总结了一下 9 种小白对开源作者造成的有意无意的伤害, 并且按照严重程度分为 3 个级别
一级伤害, 普通伤害
聊天式提问
这种行为的小白从来没有察觉到提问是一门学科, 没有研究如何提问, 也没有观摩过别人的提问为何能得到专家的仔细回答他总觉得, 专家就在身边, 专家有足够的时间帮助自己他通常提问方式是
小白>你好, 在吗? 小白>(10 分钟后)大神, 有空吗? 我有一个问题想问问
这类小白并不知道, 开源作者都很忙, 如果他空闲了恰好看到你的提问, 但你没有科学提问, 他几乎不会跟你去互动接下来你希望的事情这种无意义的叨扰开源作者, 挺让人心烦的
从不阅读官方文档
这种行为小白是最为常见的小白, 遇到问题都是以 Baidu 为工具来解决小白需要清楚几点关于搜索引擎不能做到的地方
对新技术, 小微技术的查询滞后
对流行技术, 有会让人陷入信息汪洋大海中
靠搜索引擎来解决问题的人, 都会技术积累不牢固, 较好的办法是以官网手册为中心, 结合官网论坛, 或者 oschina 这样专门的技术社区, 结合源代码和搜索引擎来找到解决办法对于小白来说, 大部分问题都能从官网文档中找到答案但小白却没有时间去研究官官网文档以我经验, 越是厉害的人越对官网文档重视, 越要花时间去通读官网手册, 官网的其他技术资料 越是小白呢, 因为忙就不详细了解官网文档, 结果知识不牢固, 会导致后面越来越忙(因为会一直解决跟本不是问题的问题), 陷入恶心循环
我在我的 SpringBoot-Plus 开源中, 安装说明有 14 行, 有 5 行且标准了重点, 都提到要用 JDK8 和打开 Parameter 参数, 并详细说明了如果系统启动时报报错, 应该就是 paramter 参数没有打开(我同时也链接了如何打开 JDK8 paramter 参数的文章), 结果还是有 10 几位小白告诉我系统起不来, 并附上了我在安装说明里提到过的相同错误
这类小白老是问一下显而易见的问题, 对开源作者和其他初级用户造成了困惑
要这要那, 不经过思考和探索
这类小白对开源作者造成了常规性的伤害最多有时候我都怀疑他们并不是不会, 而是懒, 以为开源作者就是他身边的老师, 或者身边的同事 , 比如他们经常提一些明显能自己解决的问题, 比如
小白 > BeetlSQL 如何翻页 (实际上官网文档有专门一章讲翻页) 小白 > Beetl 的 Maven 坐标是什么 (同样官网文档肯定有哇) 小白 > SpringBoot-Plus 数据库安装脚本有吗(如果没有, 还能叫开源吗, 就在 doc 目录下)
这类小白的问题, 如果你真有空回答, 还并不好回答, 这类小白的问题通常都需要大篇幅的解答其疑问, 因为问的实在太基础了
二级伤害, 常规伤害
情绪宣泄类型小白
这类小白有一定技术能力, 但靠自己没有解决问题, 因此在和开源作者交流过程中过于注重自己的情感体验了, 比如
小白>这个问题我花了周末俩天都没解决, 难道 Beetl 真的很不好用吗?(作为开源作者的我, 真想一棍子敲打上去, 你是不是来解决问题的?)
还比如经常有小白辛苦工作到晚上 11 点, 然后 qq 群提问
小白>大家好, 问个问题, 很着急解决...... 小白>(半小时后), 这个群太冷漠了, 都没人愿意帮助我
其实大家不愿帮助, 可能是因为都睡觉了, 或者没有精力再深夜去帮你解决问题, 但你宣泄了个人情感, 估计第二天也不会得到社区任何帮助
选择性的展示问题线索
这类小白是最让人开源作者头疼的, 因为他们在寻求帮助的时候, 不知道自己需要向开源作者提供什么样的信息甚至有时候故意只将自己写正确的部分展示出来, 来取得开源作者的认同但这无法解决问题
最常见的是只贴出自己的代码, 但并没有贴出错误提示其实错误提示更能帮助开源作者解决问题, 甚至不需要贴出你的代码都行 有些人贴出了错误提示, 比如异常栈, 但并没有完整的贴出异常栈, 有些人贴出了代码, 但并没有把 IDE 的代码行也跟图粘贴出来, 这导致无法交流
比如这个贴图, 很难给开源作者提供详细的线索, 真正的线索应该在下面未贴出的异常栈里
这个贴图则没有包含代码行数, 会出现交流困难
较好的方式是这个图
这类小白会非常浪费开源作者的时间, 所以我认为是二级伤害
我经常说一句话, 你若仔细提问, 我便详细回答通常, 对于社区提问附带多张图片的小白, 非常受我欢迎
向开源作者提出错误的问题
有些小白经过思考和探索后, 提出了错误的问题比如
小白>为什么 XXX 开源不兼容 Java7(实际上根本不是版本的事情)小白>为什么 BeetlSQL 不支持 SQLServer(实际上是数据库配置不正确)
这类提问能错误引导问题解答者正确的姿势应该是完整的说出自己的期望和自己的过程以及最后的现象然后可以提出自己认为的解答方向来辅助开源作者帮你解决问题
隐藏自己的背景信息
开源作者回答的思路很多, 背景信息对开源作者回答问题有很大帮助比如, 你是个新手, 那么 SpringBoot-Plus 没有启动, 可能是你没有安装 Maven 或者 JDK, 如果你是个 SpringBoot 有经验者, 曾经用 SpringBoot 在好几个项目里, 那么启动失败可能真的意味这有环境不兼容, 甚至是开源 Bug
小白提问的时候花几句介绍一下自己是非常有必要的, 比如
大有前途的小白>我是 SpringBoot-Plus 使用新手, 我有 3 年 java 经验, 也使用过 Spring, 自己也实现过 AOP, 现在有一个 SpringBoot 的自定义 AOP 如何实现的问题....
这样的提问, 比小白一上来就问如何实现 AOP 好很多, 前者能帮助开源作者知道解答的范围从而精确解答, 节省了开源作者的时间, 也节省了小白时间
三级伤害, 伤透了心
对于开源作者招待不周行为进行攻击, 造谣
开源作者都是出于兴趣在业余时间完成开源, 也是抽空帮助解答问题, 因此如果开源作者不回答问题, 或者简洁回答, 这都是开源作者的常态行为但有些小白却认为受到了冒犯从而转为攻击开源作者
我就遭受过俩个人类似的攻击, 他们嫌我怠慢他们, 或者是言语上让他们难堪, 就转而在社区攻击我, 比如, 用小号再次潜入群里, 故意激怒我踢走他, 然后他在 oschina 上发帖子说 beetl 作者闲大赋为什么如此自负和目中无人, 并截图为证这个帖子在 oschina 首页因为热门而存在了一个月时间
还有人因为我的怠慢而在社区收集我的各种黑证据, 比如有一次看到并发里的内存模型, 我就在社区提问(其实当时我已经了解了), 意图是想让大家讨论一下技术, 结果又有人马上把这个截图发到社区, 然后说闲大赋连并发都不懂
三级 ++ 伤害
攻击网站, 黑掉开源作者的开源社区
这个也许是特列, 但我碰上了, 这位小白是某大互联网公司的技术人员, 在社区里不可一世, 甚至开始教育其他人的品德作为一个年轻人, 非常猖狂我后来驱逐他出社区后, 没想到的是, 网站立刻不能访问, 一直遭受暴力破解, 而且他还通过小号在社区直播破坏过程第二天, ibeetl.com 真的不能访问, 整个社区被黑, 数据被清空, 积累了 3 年的技术问答全不不复存在
后来在社区其他人员帮助写, 用 SpringBoot+Beetl+BeetlSQL 重写了一个 java 论坛, 甚至开源了这个项目, 因祸得福吧远离了恶人, 结交了真朋友
总结
作为开源作者, 提供了自己的想法和实践出来的作品, 难得可贵, 如果有好的小白, 那么开源产品会更加完美如果遭遇到上面我列举出来的各种小白, 那就是开源作者的不幸, 我觉得这个一直是常态, 遇上几个特别优秀的小白, 又会碰上几个对开源作者造成各种级别伤害的小白希望小白们看了这个博客, 能减少自己对开源作者造成的困扰和伤害, 同时提高自己的技术水平
来源: http://blog.jobbole.com/113728/