我是Beetl和BeetlSQL開源的作者,這倆類技術實現難度較大,前者是屬於語言實現類開源,後者則是全功能ORM實現。但是這倆個開源使用門檻又低,能遇到各種各樣的小白使用者。我幫助小白解決了非常多技術問題,但也遭遇過小白給予的困擾。我總結了一下9種小白對開源作者造成的有意無意的傷害,並且按照嚴重程度分為3個級別
一級傷害,普通傷害
聊天式提問
這種行為的小白從來沒有察覺到提問是一門學科,沒有研究如何提問,也沒有觀摩過別人的提問為何能得到專家的仔細回答。他總覺得,專家就在身邊,專家有足夠的時間幫助自己。他通常提問方式是
1 2 3 |
小白>你好,在嗎? 小白>(10分鐘後)大神,有空嗎?我有一個問題想問問 |
這類小白並不知道,開源作者都很忙,如果他空閒了恰好看到你的提問,但你沒有科學提問,他幾乎不會跟你去互動接下來你希望的事情。這種無意義的叨擾開源作者,挺讓人心煩的。
從不閱讀官方文件
這種行為小白是最為常見的小白,遇到問題都是以Baidu為工具來解決。小白需要清楚幾點關於搜尋引擎不能做到的地方
- 對新技術,小微技術的查詢滯後
- 對流行技術,有會讓人陷入資訊汪洋大海中
靠搜尋引擎來解決問題的人,都會技術積累不牢固,較好的辦法是以官網手冊為中心,結合官網論壇,或者oschina這樣專門的技術社群,結合原始碼和搜尋引擎來找到解決辦法。對於小白來說,大部分問題都能從官網文件中找到答案。但小白卻沒有時間去研究官官網文件。以我經驗,越是厲害的人越對官網文件重視,越要花時間去通讀官網手冊,官網的其他技術資料。 越是小白呢,因為忙就不詳細瞭解官網文件,結果知識不牢固,會導致後面越來越忙(因為會一直解決跟本不是問題的問題),陷入噁心迴圈
我在我的SpringBoot-Plus開源中,安裝說明有14行,有5行且標準了重點,都提到要用JDK8和開啟Parameter引數,並詳細說明了如果系統啟動時報報錯,應該就是paramter引數沒有開啟(我同時也連結瞭如何開啟JDK8 paramter引數的文章),結果還是有10幾位小白告訴我係統起不來,並附上了我在安裝說明裡提到過的相同錯誤。
這類小白老是問一下顯而易見的問題,對開源作者和其他初級使用者造成了困惑
要這要那,不經過思考和探索
這類小白對開源作者造成了常規性的傷害最多。有時候我都懷疑他們並不是不會,而是懶,以為開源作者就是他身邊的老師,或者身邊的同事 ,比如他們經常提一些明顯能自己解決的問題,比如
1 2 3 4 |
小白>BeetlSQL如何翻頁(實際上官網文件有專門一章講翻頁) 小白>Beetl的Maven座標是什麼(同樣官網文件肯定有哇) 小白>SpringBoot-Plus 資料庫安裝指令碼有嗎(如果沒有,還能叫開源嗎,就在doc目錄下) |
這類小白的問題,如果你真有空回答,還並不好回答,這類小白的問題通常都需要大篇幅的解答其疑問,因為問的實在太基礎了
二級傷害,常規傷害
情緒宣洩型別小白
這類小白有一定技術能力,但靠自己沒有解決問題,因此在和開源作者交流過程中過於注重自己的情感體驗了,比如
1 2 |
小白>這個問題我花了週末倆天都沒解決,難道Beetl真的很不好用嗎?(作為開源作者的我,真想一棍子敲打上去,你是不是來解決問題的?) |
還比如經常有小白辛苦工作到晚上11點,然後qq群提問
1 2 3 4 |
小白>大家好,問個問題,很著急解決...... 小白>(半小時後),這個群太冷漠了,都沒人願意幫助我 |
其實大家不願幫助,可能是因為都睡覺了,或者沒有精力再深夜去幫你解決問題,但你宣洩了個人情感,估計第二天也不會得到社群任何幫助
選擇性的展示問題線索
這類小白是最讓人開源作者頭疼的,因為他們在尋求幫助的時候,不知道自己需要向開源作者提供什麼樣的資訊。甚至有時候故意只將自己寫正確的部分展示出來,來取得開源作者的認同。但這無法解決問題
最常見的是隻貼出自己的程式碼,但並沒有貼出錯誤提示。其實錯誤提示更能幫助開源作者解決問題,甚至不需要貼出你的程式碼都行。 有些人貼出了錯誤提示,比如異常棧,但並沒有完整的貼出異常棧,有些人貼出了程式碼,但並沒有把IDE的程式碼行也跟圖貼上出來,這導致無法交流
比如這個貼圖,很難給開源作者提供詳細的線索,真正的線索應該在下面未貼出的異常棧裡
這個貼圖則沒有包含程式碼行數,會出現交流困難
較好的方式是這個圖
這類小白會非常浪費開源作者的時間,所以我認為是二級傷害。
我經常說一句話,你若仔細提問,我便詳細回答。通常,對於社群提問附帶多張圖片的小白,非常受我歡迎
向開源作者提出錯誤的問題
有些小白經過思考和探索後,提出了錯誤的問題。比如
1 2 3 |
小白>為什麼XXX開源不相容Java7(實際上根本不是版本的事情) 小白>為什麼BeetlSQL不支援SQLServer(實際上是資料庫配置不正確) |
。這類提問能錯誤引導問題解答者。正確的姿勢應該是完整的說出自己的期望和自己的過程以及最後的現象。然後可以提出自己認為的解答方向來輔助開源作者幫你解決問題
隱藏自己的背景資訊
開源作者回答的思路很多,背景資訊對開源作者回答問題有很大幫助。比如,你是個新手,那麼SpringBoot-Plus沒有啟動,可能是你沒有安裝Maven或者JDK,如果你是個SpringBoot有經驗者,曾經用SpringBoot在好幾個專案裡,那麼啟動失敗可能真的意味這有環境不相容,甚至是開源Bug
小白提問的時候花幾句介紹一下自己是非常有必要的,比如
1 2 |
大有前途的小白>我是SpringBoot-Plus使用新手,我有3年java經驗,也使用過Spring,自己也實現過AOP,現在有一個SpringBoot的自定義AOP如何實現的問題.... |
這樣的提問,比小白一上來就問如何實現AOP好很多,前者能幫助開源作者知道解答的範圍從而精確解答,節省了開源作者的時間,也節省了小白時間
三級傷害,傷透了心
對於開源作者招待不週行為進行攻擊,造謠
開源作者都是出於興趣在業餘時間完成開源,也是抽空幫助解答問題,因此如果開源作者不回答問題,或者簡潔回答,這都是開源作者的常態行為。但有些小白卻認為受到了冒犯從而轉為攻擊開源作者。
我就遭受過倆個人類似的攻擊,他們嫌我怠慢他們,或者是言語上讓他們難堪,就轉而在社群攻擊我,比如,用小號再次潛入群裡,故意激怒我踢走他,然後他在oschina上發帖子說《beetl作者閒大賦為什麼如此自負和目中無人》,並截圖為證。這個帖子在oschina首頁因為熱門而存在了一個月時間
還有人因為我的怠慢而在社群收集我的各種黑證據,比如有一次看到併發裡的記憶體模型,我就在社群提問(其實當時我已經瞭解了),意圖是想讓大家討論一下技術,結果又有人馬上把這個截圖發到社群,然後說《閒大賦連併發都不懂》
三級++傷害
攻擊網站,黑掉開源作者的開源社群
這個也許是特列,但我碰上了,這位小白是某大網際網路公司的技術人員,在社群裡不可一世,甚至開始教育其他人的品德。作為一個年輕人,非常猖狂。我後來驅逐他出社群後,沒想到的是,網站立刻不能訪問,一直遭受暴力破解,而且他還通過小號在社群直播破壞過程。第二天,ibeetl.com 真的不能訪問,整個社群被黑,資料被清空,積累了3年的技術問答全不不復存在。
後來在社群其他人員幫助寫,用SpringBoot+Beetl+BeetlSQL重寫了一個java論壇,甚至開源了這個專案,因禍得福吧。遠離了惡人,結交了真朋友
總結
作為開源作者,提供了自己的想法和實踐出來的作品,難得可貴,如果有好的小白,那麼開源產品會更加完美。如果遭遇到上面我列舉出來的各種小白,那就是開源作者的不幸,我覺得這個一直是常態,遇上幾個特別優秀的小白,又會碰上幾個對開源作者造成各種級別傷害的小白。希望小白們看了這個部落格,能減少自己對開源作者造成的困擾和傷害,同時提高自己的技術水平