Flarum 的故事:我为何开发 Flarum

原文:Read The Flarum Story: Why I'm Building Flarum html

(昨天晚上含泪翻译完)以前知乎有个问题,假如开源项目创始人去世了,项目怎么办? 当时我回答了 esoTalk 和 Flarum 的故事。而这篇文章,是做者亲自写的。java


我叫 Toby Zerner,是一个 22 岁的澳大利亚人。去年我完成了第三年的医学院本科学业。git

今年,我有了学业之外的休息时间,来从事个人一个爱好:构建简洁的论坛软件github

这个故事是关于我为何要作这些,以及 Flarum 的将来。web

论坛软件烂透了

在个人成长过程当中,个人哥哥 Simon 教会了我编程(从某种意义上来讲)。编程

Simon 很是聪明开朗。即便不谈技术层面,虽然当时咱们都知道 PHP4 面条式代码,然而 Simon 却能领悟到别人领悟不到的事:简洁 Simplicityvim

论坛软件在当时很是的不简洁。即使是使用“设计”这个词形容这些论坛,都是奢侈的。他们真的算是很粗心的迭代的产物:为了知足一些需求,就要添加一个功能,但却带来了额外的复杂性。然而这个过程会重复上百次,软件就会复杂上百倍。你没法作一个简洁的论坛用户——你必须是一个超能用户,花费你宝贵的时间去适应——这简直就是场战斗——和这些凌乱的功能战斗,和这些不违和的界面战斗。服务器

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 发布。

让 Flarum 更稳定

没有任何庆功会,由于还有不少工做要作!

我从 esoTalk 学到了一件事:若是一个软件没有创建良好的基于扩展的生态系统,那么这个软件必将失败。我不打算 Flarum 犯一样的错误。个人计划是扩展市场,任何人均可以购买和出售扩展——配有简单的安装和更新。然而,只有 Flarum 发布了稳定版,这一切才会有可能。

与此同时,我真的不知道本身该作什么了,而 Flarum 无疑是这一事实的化身。我作了大量的开发,从 Franz Liedke 得到了一些帮助。getting it done的精神,致使我迄今为止都忽视了编写测试)和审计性能。 没有团队的反馈,我创造了一些低质量的代码和 API,而这些都须要修订。

现在个人重点变成了:Flarum 须要大家的帮助!

beta 版的目标是让开发人员能够从代码库中获得完整代码。如今,已经激发了不少潜在的贡献者,咱们写了许多 GitHub issues 的详细描述。它们包含一些忠告,须要作什么和在哪里查看。看看有哪些是你想要作的!

特别是,咱们想要一个关于扩展 API 的深刻讨论。你能够阅读第一版文档来学习扩展是如何工做的。这里有一个在 GitHub 的问题反馈

若是你不是一名开发人员,能够考虑捐赠。全部捐款将用于支付服务器费用和支付专用的开发时间。(若是你有兴趣为开源项目作一些有偿工做:告诉咱们你能作什么贡献!)

在接下来的几个月里,让咱们慢慢地工做,以便 Flarum 顺利走向稳定版

鸣谢

在这次叙述中我谈到了不少关于本身的事。可是到目前为止咱们取得的全部成就,不可能没有别人的帮助。

Franz LiedkeFluxBB 的开发者,在今年早些时候加入了个人团队。他分享个人激情,超过个人才华,并一直工做至今。谢谢你!

感谢那些热情地跟随我一块儿开发的人,特别是 BerloDominionStephen。大家让我有动力,经过大家的测试和反馈,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.

相关文章
相关标签/搜索