我们需要什么样的开源教育?

2021-04-29 14:30:21 浏览数 (1)

| 作者:庄表伟

| 编辑:沈于蓝

| 设计:宋传琪

文章缘起

写这篇文章的原因,是和几个朋友的闲聊。再之前,是因为看到了几篇文章

  • 2020-12-18 《欢迎加入!开放原子大学首批开源讲师认证计划》
  • 2021-03-03 《开放原子大学认证中心公布核心专家名单》
  • 2021-03-12 《开放原子大学认证讲师2021年春季培训课程发布》
  • 2021-03-24 《开放原子大学将于3月27日开展“首批认证讲师”考试》
  • 2021-04-06 《开放原子大学“认证讲师计划”首考顺利完成》

不,我不打算为这些文章,一一给出链接。我只是在想:这一口槽,该从何吐起?最终,我觉得,仅仅吐槽这些讲师招募、快速培训与认证考试计划,是不够的。我得认真的谈一谈,我对于开源教育,到底是一个什么看法?

1 招式与心法

我很喜欢用武侠小说里的“招式”与“心法”的对比,来讨论知识与经验传递中的很多问题。之前,我曾经用这个比喻,来讨论敏捷软件开发在企业内部的应用问题。招式好学、心法不易,盲学瞎练,伤人伤己。

在开源领域,其实一样可以使用这一比喻。我们这些开源领域的“业内人士”,可以从国内外的开源社区实践中,发现很多招式。比如:源代码开放要有配套的License,世界范围内,开源的 License 有哪些。我们的代码仓库应该有一份质量较好的 README 文件。我们应该考虑开源社区的治理、运营以及激励机制。世界范围内,其他开源社区与开源基金会是如何运作的?企业在开源领域,有哪些好的实践等等。

这些全是招式!

至于开源背后的心法,还有待总结。相比其他的学科,开源领域远远不到成熟的程度,更谈不上总结出心法了。

在没有深入总结的基础上,通过速成的方式,培养“讲师”,再让他们去培训其他“想要学习开源的人”。我觉得就是:以其昏昏,培养昏昏,再使人昏昏。

2 开源教育的形式

要讨论开源教育,应该采用何种形式,首先应该确认:开源这门学科,究竟处于何种发展阶段?

咱们可以胡乱的类比一下:数学这门学科,已经非常成熟,几千年的历史,大师辈出,群星璀璨,甚至连理论范式被颠覆这种事情,都已经经历过好几轮了。物理、化学也差不多,可能化学还稍微年轻一些。不过也有几百年的历史了。

再晚一些的学科:各种现代工程学、社会学、心理学、管理学,也有了一~二百年的历史了。这些学科,可以算是处在蓬勃发展期。

但是:计算机出现至今不到 70 年;软件工程出现至今,大概是50多年;自由软件的定义是 1989 年诞生的,开源的定义是 1998 年诞生的。假设,开源已经是一门学科,我们甚至可以说:开源这门学科的幼年期,才刚刚开始。

这个时期的学科教育,我认为主要应该依赖三种形式:

案例分析

首先是分析已知的开源案例,包括开源项目的案例,开源社区的案例,开源企业的案例,开源基金会的案例。这方面,《大教堂与集市》做出了极好的榜样。但是,随着时间的不断向前,案例分析需要一轮一轮的进行。分析变化与趋势,分析内涵与外延,分析区别与联系。

深入实践

其次是投入具体的实践,咱们这个学科,还远远不到坐在书斋里,阅读一大堆“田野报告”,就能够分析总结出理论框架的程度。我们还需要大量的来自社区的,鲜活的经验总结。需要大量的,来自一线参与者的体验与反思。如果我们现在开展理想中的开源教育,首先就需要把学生们,都赶到社区里去,摸爬滚打,体验生活。

研讨总结

在开源教育的课堂上,研讨会应该是一种必不可少的形式。因为,没有哪个老师,有资格侃侃而谈,而下面的学生,只需要记笔记就好。有太多的问题,大家都没有确切的答案,只能教学相长,互相启发,共同探索。老师与学生,组成一个教/学共同体,只有这样,才能不断取得一些成果。

3 开放性理论的范围

我想要描述的开源这门学科,需要研究的不只是“开源软件(Open Source Software)”,而应该是一个更加广泛的领域。我愿意将其描述为:“开放性理论(Openness Theory)”。

开放性人格

经验开放性(Openness to experience)是大五人格理论中的五种人格特征之一。它表明了一个人的开放程度。在性格测试中,一个具有高度经验开放性的人喜欢尝试新事物。他们想象力丰富,好奇心强,思想开放。经验开放度低的人宁可不尝试新事物。他们思想封闭、文字性强,喜欢按部就班。

在开源社区,我们会发现大量的社区成员,具有鲜明的开放性人格特征。那么,我们应该如何找到这些人,激励他们,帮助他们,与他们一起协作?

另外,我们是否有可能更多、更好的培养这种人格特质?这些都是需要研究的领域。

开放式教/学

开源教育,当然需要“开放式的教与学”,但是在开源之外的领域,这种教学形式,是否可以、应该、值得被推广?一个奉行做中学的共同体(Learning by doing Community)应该如何被建立起来,并运作良好?

我们需要与教育领域的专家一起合作,来探索这些方面。

开放式协作

开源软件的协作模式,当然是一种“开放式”的协作模式。我们看一个社区,人们自由来去,自由表达,自由贡献。在某种集市的状态下,完成了正规化大团队,无法完成的工作。

这样的一种协作模式,是否能够推而广之,应用到其他的领域?不仅仅用来开发软件,更可以用来创造更多其他的智慧成果?

如果在这方面能够有所探索,那将是开源对于其他领域非常大的贡献。

开放式工程

从传统软件工程到现在的大量依赖开源的软件工程,最大的区别在于:可控性下降,未知的风险在不断累积。令人感到两难的是:我们却又无法退回到所有的源代码,都在自己的公司里,完全依靠自己写出来的时代。因此:探索开放性的软件工程,成为一个迫切的需要。

当然,这样的一种工程难题,不仅仅出现在软件领域。在全球协作式的供应链生态下,我们所面临的众多工程难题,都是由开放的不确定性带来的。因此:开放性工程,也许是一个值得多门工程学科,互通有无,互相帮助,共同探索的领域。

开放式组织

一个开源社区,是一个典型的开放式组织。不过还有很多其他类型的“社区/Community”,以及开放式企业。

如何定义一个开放式组织,如何创建与运营一个开放式组织,如何保持组织的活力与创造力,如何衡量一个开放式组织的优、劣、成、败?

以及,如何将我们所在的组织,变成一个更加开放的组织?

这些都是有趣却又困难的问题。

开放式度量

所有以上这些,我们希望能够展开的研究,除了定性的分析,当然还需要定量的比较与研究。如何定义合理的概念模型、数学模型?如何判断与获取数据,如何测量、如何计算?

我们能够得到哪些数据?又应该如何理解这些数据?如何运用这些数据?

总之:这些问题都很难,很需要更多朋友,一起来研究。

4 展望

以上的这些内容,还仅仅是一个草草思考的半成品。还有很多领域,我没有提到。例如:开源与公益、开源与商业、开源与法律等等。另一方面,要将这个学科创立起来,我们还需要和很多其他学科的专家一起合作,不仅仅是:计算机科学家、教育学家、法学家。还应该包括:社会学、人类学、经济学、管理学,甚至历史学、哲学和伦理学家。

总之,我们这些人有一个巨大的妄念,希望能够逐步探索,将这门学科创立起来。

写这篇文章,也是希望有更多的有缘人能够看到,能够和我们一起来做这样的探索!

Welcome to the Open Source World!

开源社简介

开源社成立于2014年,是由志愿贡献于开源事业的个人成员,依“贡献、共识、共治”原则,所组成的厂商中立、公益非营利的开源联盟,是最早以“开源治理、国际接轨、社区发展、开源项目”为使命的开源组织。开源社积极与支持开源的社区、企业以及政府相关单位紧密合作,旨在共创健康可持续发展的开源生态,并推动中国开源社区成为全球开源体系的积极参与及贡献者

0 人点赞