原文:Read The Flarum Story: Why I'm Building Flarum html
(昨天晚上含淚翻譯完)以前知乎有個問題,假如開源項目創始人去世了,項目怎麼辦? 當時我回答了 esoTalk 和 Flarum 的故事。而這篇文章,是做者親自寫的。java
我叫 Toby Zerner,是一個 22 歲的澳大利亞人。去年我完成了第三年的醫學院本科學業。git
今年,我有了學業之外的休息時間,來從事個人一個愛好:構建簡潔的論壇軟件。github
這個故事是關於我爲何要作這些,以及 Flarum 的將來。web
在個人成長過程當中,個人哥哥 Simon 教會了我編程(從某種意義上來講)。編程
Simon 很是聰明開朗。即便不談技術層面,雖然當時咱們都知道 PHP4 麪條式代碼,然而 Simon 卻能領悟到別人領悟不到的事:簡潔 Simplicity。vim
論壇軟件在當時很是的不簡潔。即使是使用「設計」這個詞形容這些論壇,都是奢侈的。他們真的算是很粗心的迭代的產物:爲了知足一些需求,就要添加一個功能,但卻帶來了額外的複雜性。然而這個過程會重複上百次,軟件就會複雜上百倍。你沒法作一個簡潔的論壇用戶——你必須是一個超能用戶,花費你寶貴的時間去適應——這簡直就是場戰鬥——和這些凌亂的功能戰鬥,和這些不違和的界面戰鬥。服務器
Simon 想退一步,以使論壇保持簡潔。迴歸到最基本的對話。爲何咱們就不能在網上與人簡簡單單的交談嗎? 因此咱們就構建了 esoTalk。架構
咱們研究了全部論壇中關於討論列表的層次結構,並交換了各自的意見。咱們擺脫了識別標誌,而是實現了一個強大的 gambit 搜索系統(一個簡化版的 GitHub's search tokens)。咱們使用短輪詢,所以在論壇中因此人能夠幾乎實時對話。esoTalk 是有別於其餘論壇的,人們對此很感興趣。框架
esoTalk 視頻:esoTalk: a simple fast free web-forum
不幸的是,Simon 在 2009 年去世。世界失去了一位傑出的人。
這是一個悲傷的時刻,帶着對他的回憶,我竭力地繼續爲完善 esoTalk 而工做。然而,我畢竟是一個年輕的開發人員,編寫的代碼不知不覺地從新發明了輪子。當我開始關注生活中的其餘領域時,發現 esoTalk 已經逐漸變得陳舊。
但我沒有中止思考。
儘管 esoTalk 已經停滯,可人們仍然喜歡使用它。甚至有些人願意贊助它,但願它進一步發展。經過全部的錯誤、教訓、迭代、和反饋……我開始堅信:人們期待好的論壇軟件,也許我有能力設計出來。
爲了鍛鍊個人想象力,我開始嘲笑「esoTalk 2.0」。一些審美的想法最終隨着 esoTalk 的新版本發佈了。但這些設計也僅僅是頭腦風暴的一部分——而這些想法,最終致使了 Flarum 的概念版。
2013 年,在朋友 Stephen 的幫助下,我帶着 Flarum 的想法參加了咱們學校的創業者競賽。首先咱們開始構建一個原型,並設想一個商業模式。其次,一些現金,還有不少鼓勵性的問題:咱們能夠作這個嗎?
也許不是。原來,在現實世界中新的論壇軟件是很難的。咱們在 Kickstarter 的競選活動 generated interest, but not traction。投資或孵化也許已經成爲了一種選擇,可是我既不想放棄學醫,也不想放棄這個社區型項目的想法。
看來最好的辦法是啓動它。我還有一年的時間才能離開學校,並把它的構建過程開放。而後我能夠市場化,構建一個小型的基於服務的業務。 開源第一,賺錢第二。
事實證實,你須要達到必定階段後開源協做才變得可行。這比我但願的時間要長一點。但 8 個月後咱們作到了: Flarum beta 發佈了。我相信它實現了一個很強的願景,而這個願景,是從 Simon 和我一塊兒發佈 esoTalk 初版時就一直夢想的,現在它實現了。Flarum 的目標是:
快速、簡單 沒有混亂,沒有膨脹,沒有複雜的依賴關係。Flarum 使用 PHP 構建,所以它很容易部署。界面使用 Mithril,它是一個高性能 JavaScript 框架。
漂亮、響應式 Flarum 由咱們的設計師精心設計,它是跨平臺的、開箱即用的。界面佈局使用了 LESS,因此主題風格只是小事一樁。
強大、可擴展 爲了知足您的社區需求,您能夠定製、擴展和集成 Flarum。Flarum 的架構很是靈活,它擁有很是全面的 API 和文檔。
自由、開放 Flarum 基於 MIT license 發佈。
沒有任何慶功會,由於還有不少工做要作!
我從 esoTalk 學到了一件事:若是一個軟件沒有創建良好的基於擴展的生態系統,那麼這個軟件必將失敗。我不打算 Flarum 犯一樣的錯誤。個人計劃是擴展市場,任何人均可以購買和出售擴展——配有簡單的安裝和更新。然而,只有 Flarum 發佈了穩定版,這一切纔會有可能。
與此同時,我真的不知道本身該作什麼了,而 Flarum 無疑是這一事實的化身。我作了大量的開發,從 Franz Liedke 得到了一些幫助。getting it done的精神,致使我迄今爲止都忽視了編寫測試)和審計性能。 沒有團隊的反饋,我創造了一些低質量的代碼和 API,而這些都須要修訂。
現在個人重點變成了:Flarum 須要大家的幫助!
beta 版的目標是讓開發人員能夠從代碼庫中獲得完整代碼。如今,已經激發了不少潛在的貢獻者,咱們寫了許多 GitHub issues 的詳細描述。它們包含一些忠告,須要作什麼和在哪裏查看。看看有哪些是你想要作的!
特別是,咱們想要一個關於擴展 API 的深刻討論。你能夠閱讀第一版文檔來學習擴展是如何工做的。這裏有一個在 GitHub 的問題反饋。
若是你不是一名開發人員,能夠考慮捐贈。全部捐款將用於支付服務器費用和支付專用的開發時間。(若是你有興趣爲開源項目作一些有償工做:告訴咱們你能作什麼貢獻!)
在接下來的幾個月裏,讓咱們慢慢地工做,以便 Flarum 順利走向穩定版。
在這次敘述中我談到了不少關於本身的事。可是到目前爲止咱們取得的全部成就,不可能沒有別人的幫助。
Franz Liedke 是 FluxBB 的開發者,在今年早些時候加入了個人團隊。他分享個人激情,超過個人才華,並一直工做至今。謝謝你!
感謝那些熱情地跟隨我一塊兒開發的人,特別是 Berlo、Dominion 和 Stephen。大家讓我有動力,經過大家的測試和反饋,Flarum 有了明顯的改善。
Matthew McKinlay 是我在創業競賽的導師,也已經成爲了個人好朋友。他讓我有了寶貴的建議並驗證這些想法(Just Do It™)。 謝謝 Matt。
個人父母和兄弟姐妹 支持我追求個人夢想。爲此我很是感激。我有一個至關 cool 的家庭。
最後,個人哥哥,Simon,他把種子種了下去,直到他生命的最後一天。Flarum 是獻給你的,我但願我已經讓你感到驕傲。
最後一段,我保留一下原文:
Finally, my brother, Simon, who planted the seed and watered it right up until his last day. Flarum is dedicated to you; I hope I have made you proud.