如果教师可以像软件开发者 Fork 代码一样 Fork 教育材料会怎么样?想象一下,如果广大教育工作者可以超越其学校、地区或大学,在课程方面进行协作。想象一下通过开源模式彻底变革的教育系统。嗯,未来已来。
Coursefork 的联合创始人兼首席技术官 Eric Martindale 正在使用一款面向教育工作者的新开发工具来取代封闭的教育系统。它不是 MOOC,不是 Moodle,也不是 edX。它是一个用于课程创建的 GitHub。它旨在构建一个社区。
Coursefork 诞生于 2013 年 3 月举办的 Triangle Startup Weekend 活动,目前进展顺利。在本次对 Eric 的采访中了解更多信息。
请介绍一下 Coursefork。它是什么,有什么作用?
Coursefork 是一个用于开源和协作开发教育材料的平台。我们构建了一种上传课程材料的方式,允许其他人创建副本,根据自己的用途进行修改,并将他们的改进“向上游”和更广泛的社区分享。
我们显然从开源软件开发模式中吸取了很多经验。我们认识到,开源软件维护者采用的流程类似于在教育领域实现协作所必需的流程,因此我们将许多经验应用到我们正在构建的平台中,同时在对教育社区有意义的方面进行扩展:模块化组件、内置注释和资源库。
我们正在为课程创建“拉取请求”,而实现这一目标的过程意味着创建必要的工具来支持教育开放新未来的社区。
您将 Coursefork 描述为“课程创建的 GitHub”。宏伟愿景是什么?这仅仅是关于教育吗?
Coursefork 的近期目标是在教育领域用开放系统取代封闭系统。
对我们来说,很明显,开源模式继续改变着软件构建的方式,并且开始渗透到其他领域,我们认为这些领域令人兴奋,但更重要的是,正在极大地提高产品和服务的质量。您可以在硬件设计(Circuits.io,OpenDesk)、建筑,甚至政府开放数据倡议(在城市、州和联邦层面!)等领域看到“开放”理念的实践。我们相信,就像在软件领域一样,未来几年将充满围绕新的开放经济构建的无数工具和服务,而我们的长期愿景是成为这场全球革命的核心。
教育是一个巨大的领域,当您考虑到它是现代生活的基本组成部分,远远超出行业,进入专业培训和个人成就等领域时,它就更加庞大了。虽然教育领域亟待颠覆,但周期很长,并且很难在我们希望的规模上实现变革,因此我们正在为长途跋涉做好准备。与此同时,我们在教育领域解决的问题与所有其他领域存在的问题完全相同,正如它们存在于公认的更深奥的软件世界中一样。我们在 Coursefork 构建的东西可以移植到所有这些其他领域。
请介绍一下后端。Coursefork 是用什么语言编写的,您对哪些其他技术细节感到自豪?
我们使用了相当多的不同技术,每种技术都应用在有意义的地方,并且都按照 Unix 哲学 的指导原则进行设计,以便我们堆栈的每个组件的改进和迭代尽可能无缝,对系统的其余部分影响最小。我们的重点是在保持系统原子性的同时,保持小公司的灵活性,即使在我们扩展规模时也是如此。因此,我们在这最初的几个月中专注于迭代速度,我们完全理解,没有哪种单一技术可以成为性能的灵丹妙药,并且每个系统将来都可能会被替换。
我们当前的内核堆栈构建在 Node.js、MongoDB 和基于 redis 构建的分布式系统之上。我们正在试验使用 Go 作为我们的反向代理/负载均衡器,但在我们对 Go 在生产环境中的表现感到满意之前,Nginx 目前正在为我们处理大部分请求。我们正在使用(并大量扩展)Mongoose(由 Aaron Heckmann 在 LearnBoost 开发的 MongoDB ORM),并且我们正在利用 Express 框架作为我们的 Web 层,以实现快速开发。
我们构建的最有趣的东西之一是可扩展的分布式版本控制系统,我们希望它将成为全球协作的新骨干。我们的第一个实现是构建在文档数据库之上,该数据库跟踪对文档(在本例中为课程材料)所做的更改(包括主要更改和次要更改),然后允许对时间线可能发散和收敛的环境中产生的“更改树”进行可视化比较。
Coursefork 是 Startup Weekend 的获胜者,那次经历怎么样?
我们赢得了 2013 年 3 月以教育为重点的 Triangle Startup Weekend,而 Startup Weekend 的经历对我们的形成起到了至关重要的作用。当我第一次报名时,我只是想从离开上一家创业公司后承担的咨询工作中放松一下,但当我到达那里时,我完全被如此多的人才和精力汇聚在一起所震撼。我们在过程中获得的以教育为目标的指导和辅导非常宝贵,并且在本质上是真正的塑造性的——立即让我相信现在是全身心投入以教育为重点的事业的正确时机。
我们继续与在周末帮助过我们的导师保持联系,如果没有他们持续的帮助和支持,我们不会取得今天的成就。Startup Weekend 为我们的成立提供了一个绝佳的平台,并在我们前进的过程中继续提供动力,因此我鼓励其他人也利用同样的机会。
个人如何参与到这个项目中?
参与的最简单方法是加入网站并开始分享您的知识!我们一直在构建一个很棒的编程和工程相关材料库,并且很乐意在我们已有的内容上获得更多贡献和迭代。
您可能还想帮助我们正在使用的一些开源项目,例如 Mongoose、Express 和 Node.js。您可以在 Coursefork 的 GitHub 个人资料上查看我们内部使用的工具列表。我们将在内部迭代这些现有项目,并发布我们自己的工具供公众使用。
如果这个想法对您来说很有吸引力,请查看 Coursefork 招聘页面。我们正在聘请世界一流的人才来帮助我们引领将开源理念应用于教育的道路。
9 条评论