深入探讨易用自由软件的社会效益:对MicroBlocks团队的采访

作者:Vladimir Bejdo 2021年1月7日

来源:https://sfconservancy.org/blog/2021/jan/07/microblocks-interview/

MicroBlocks 是一种免费/自由的可视化编程语言,可用于制作可在许多流行的微控制器上自主运行的程序,允许所有技术能力的用户为各种目的和 "真实世界 "的应用对微控制器进行编程。MicroBlocks 团队还致力于将这种语言带给在计算机科学教育中忽视的青年,作为计算机的入门,希望能使这个领域多样化,让更多的人参与到使用和制作自由软件中来,并努力提高人们对教育和嵌入式软件中的不平等和利益代理问题的认识,而软件自由可以帮助解决这些问题。自2018年以来,MicroBlocks 一直是 Conservancy 的一个项目。

项目领导委员会成员 John Maloney、Bernat Romagosa 和 Kathy Giori 参加了由 Conservancy 实习生 Vladimir Bejdo 发起的远程采访,讨论了项目的起源、未来,以及他们对 MicroBlocks 和整个自由软件在为我们所有人创造一个更加公正、公平的未来方面的影响的看法。

Vladimir Bejdo:请告诉我你们是如何开始接触自由软件的--是否有一个特定的时刻或经历让你们决定自由软件在某种程度上是重要的,并参与其中?

Kathy Giori:在通过直接HTML进行网络开发的早期,"查看源代码 "以学习和改进他人的工作的能力对我来说是非常强大的。在20世纪90年代,我使用 Linux 来支持原型军事指挥和控制技术的开发,使用GPS、分组无线电和数字化地图(在 "可携带 "的笔记本电脑上运行)。但直到我领导一家创业公司(1999年开始),我才开始充分认识到利用自由和开源软件的重要性,以及整合建立在他人开发的流行和稳定的软件包和工具上的商业解决方案的优势。我们实施的三个 "产品 "是。1)编写 "抓屏 "软件,从网站上提取 HTML,并为当时新的无线 Palm VII 设备生成应用程序;2)为企业管理电子邮件、日历等提供微软 Exchange服务器的开源替代方案;3)提供个人云存储电子邮件和文件的 "网络桌面 "服务,并通过三种方式进行远程 "任何地方 "访问。HTML(浏览器),VNC 客户端,在一个完整的 Linux 桌面上提供你的内容(有有用的预装应用程序),以及一个 Palm VII 应用程序(非常早期的 "移动 "体验)。在高通 Atheros 公司工作时,我了解到许可性和非许可性软件许可证(如GPL)之间的重要性。我不得不努力争取许可,以领导上游 Linux无线驱动程序的产品开发,并领导将一个光秃秃的内部 Linux SDK 转换为基于OpenWrt无线路由器发行版的完整路由器栈,称为 "QSDK"。

John Maloney:我的双重爱好是编程语言研究和终端用户编程。我研究生毕业后的第一份工作是在Sun Microsystems 实验室从事Self编程语言的研究,我们把它作为开放源代码发布。首先是太阳实验室,然后是Sun Microsystems公司本身消失了,但由于Self是开放源代码,它继续存在,后来被移植到 Mac OS 和 Linux 上运行。我的下一份工作是在苹果电脑的Alan Kay研究小组,在那里我们创建了 Squeak Smalltalk 系统。Squeak 建立在苹果 APDA Smalltalk 的基础上(该系统是免费的,但却是专有的),但 Ted Kaehler 和 Alan 说服了苹果公司让我们将 Squeak 作为开放源代码发布。在发布后的两周内,Squeak 被从 Macintosh 移植到 Linux,几周后又被移植到Windows。这是我第一次体验到开放源代码社区的真正力量。Squeak 仍在继续发展,它还催生了 Pharo Smalltalk 项目。

我的下一个项目是 Scratch,在MIT。Scratch 最初是在一个自定义的开源许可证下发布的。开源社区的一些人不喜欢 Squeak 许可证,因为它不是标准的许可证之一,所以后来的Squeak版本以GPLv2 许可证发布。Squeak 现在有很多贡献者,并且利用了谷歌和其他公司的开源软件。

在Scratch 上工作了11年后,我有了创造另一种图形积木块语言的欲望,所以我离开了Scratch团队,加入了Alan Kay 建立的一个新的研究实验室。我把软件必须开放源代码作为加入的条件,而这被证明是一件好事。大约三年后,那个实验室关闭了,我可以带着这个项目,即GP 块,去一个新的研究实验室。在新的实验室里,我开始了MicroBlocks项目--也是开源的,所以当那个实验室也关闭的时候,GP Blocks和MicroBlocks都能继续生存下去。目前,我把所有的时间都放在MicroBlocks上,但我可能有一天会回到GP Blocks项目上,知道我可以这样做,真是太好了。

简而言之,我所做的每一个编程语言系统都是开源的。这很幸运,因为它们中的大多数已经超过了创建它们的组织。如果它们是专利软件,它们就不会存活下来。

Bernat Romagosa:在我上高中的时候,我的一个老朋友借给我一张 Red Hat 红帽光盘,他是从一本计算机杂志上得到的,我把它安装在我的PC上的一个分区里。从那时起,我就经常启动红帽或 Slackware 来玩,但我仍然使用一个专有的操作系统作为我的主要操作系统。当我开始上大学时,我的政治观点开始比我玩游戏的需要更重要,所以我从我的电脑上抹去了任何专有操作系统的痕迹,并安装了 Debian。我想说的是,在大学和工作的最初几年里,使用自由操作系统让我明白了自由软件的重要性。当有一个大学作业要求你使用专有软件时,你需要在放弃你的信仰或不服从并使用其他自由工具之间做出选择。

Vladimir Bejdo:请告诉我一些关于 MicroBlocks 的整体历史,具体而言,是什么刺激了它的诞生?你为什么在发布它时选择了自由软件许可?

Kathy Giori:我是在我们都为 Arduino 工作时认识Bernat的,因为他创造了一个仍然很有趣的工具,叫做 Snap4Arduino。他把我介绍给了约翰。我们都看到了MicroBlocks这个想法的价值,在它还没有实现之前。它提供了一个实时的、基于块的编程环境,对于学习和调试非常强大,但不需要将微控制器连接到笔记本电脑或其他处理器来运行代码。它的巨大潜力是我这些天花大部分时间在它上面的原因。

为什么要采用自由软件许可证?我们都有一个影响 > 利润的动机。在Mozilla的时候,我支持对 MicroBlocks的资助,这样他们就可以增加一个 "web thing "库,使微控制器设备与网络(特别是Mozilla的WebThings网关)的连接变得简单。我想正是在那个时候,John 和 Bernat决定为这个项目使用Mozilla公共许可证。它是宽松的--对商业和非商业的衍生品和创新自由/开放。对我来说,成功保持 "所有权 "的关键,以及使自由软件项目或产品货币化的能力(这是我在Arduino时目睹自私的商人之间可怕的法律斗争后所了解的),是保护商标。因此:https://microblocks.fun/logo.png。

John Maloney:在参加2017年 SIGCSE 会议时,我看到了一个关于 BBC micro:bit的演讲。主持人Sue Sentance给了我一个 BBC micro:bit,让我带回家,我立即开始了 MicroBlocks 的工作。第二年,我所工作的小型研究实验室失去了资金并解散了。我决定将 MicroBlocks 作为一个独立的开源项目继续工作,与 Jens Mönig(GPBlocks团队之一,也是Snap!图形化积木语言的创造者)和 Bernat 一起,我在2013年的 Scratch 会议上认识了他们。早在那时,Bernat 就已经种下了导致 MicroBlocks 的种子,当时他告诉我 Citilab Cornellà 正在开发一个教育用微控制器板,需要一个适合初学者的编程系统。

Vladimir Bejdo:既然你们都提到了这一点,那么你们都是如何设想自由软件哲学与社会公益相一致的方式呢?例如,在教育领域,这种交集是如何体现的?

Kathy Giori: 独立于软件开发,如果我们不能从他人的发现中学习和创新,人类的知识就不可能从一代增加到另一代。教育就是要向别人学习。获得高质量的教育是我们能提供给人类同胞的最大社会福利。因此,自由软件最大限度地提高了学生利用别人已经建立的编程工具和技术的能力,因此他们可以花更多的时间学习更多的东西,同时具有创造性和创新性。

John Maloney:免费软件是教育项目的最佳选择。我们最想接触的学生和学校往往资源有限。当人们不得不为教育软件付费时,那么只有富裕的学校和学生才能负担得起,这就造成了 "富者愈富 "的局面。

在Scratch 项目中,我强烈主张保持 Scratch的 免费性,即使有人建议我们为了扩大Scratch的规模,需要创造一个收入流。幸运的是,Scratch团队没有理会收费这个建议。我们保持了Scratch的免费和开源,而 Scratch 依然能够发展到超过5700万用户!

Vladimir Bejdo:为什么你觉得把自由软件带给 "休闲程序员 "很重要,就像你在 MicroBlocks 上做的那样?

Kathy Giori:我们希望看到逻辑思维和物理计算的力量能够为研究和解决任何领域或专业领域问题的人所接受。今天,为了收集和分析数据,大多数人依靠与其他拥有计算机科学学位的人合作。我认为,从公民科学家到顶级大学的科学家和工程师都会从使用 MicroBlocks 中受益,因为它可以很容易地 "测量你周围的世界",并根据你的发现采取程序化行动。今天,大多数人都没有对微控制器进行过编程。但是,有了 MicroBlocks,任何懂电脑的人都可以测量世界,并努力使它成为我们所有人的一个更好的地方。

John Maloney:有几十种计算机编程语言供专家和专业程序员使用,但只有少数语言,如Scratch,欢迎初学者。这种情况往往会使初学者望而却步。那些不认为自己精通技术的年轻人,包括女孩、有色人种和来自工薪阶层家庭的人,如果面对复杂的编程语言作为他们的第一次经验,很可能会感到气馁。像Scratch和MicroBlocks这样的语言降低了入门门槛,使每个人都有可能快速完成有趣的事情,无论其背景如何。早期的成功建立了信心,并鼓励学习者承担更复杂的项目,从而形成了一个积极的学习螺旋。

你可能会惊讶地发现,哈佛大学的CS50(计算机科学专业的第一门编程课)的第一个作业是用Scratch。当大卫-马兰教授在2007年接手这门课时,他特意选择用 Scratch 来完成第一项作业,作为欢迎初学者和 "公平竞争 "的一种方式。在 Scratch 作业中,有两年AP计算机科学课程的学生进入CS50,与没有这种背景的学生相比没有任何优势。在一年内,完成该课的女性和少数民族学生的比例急剧上升。在第一项作业之后,CS50转到了C++,并迅速变得具有挑战性,但第一项作业建立了信心和动力,帮助学生在余下的学期里坚持学习该课程。

Vladimir Bejdo:看到这个项目在某种意义上与开放教育资源(OER)相融合,你对自由软件在教育中的使用有什么想法?你觉得OER与你的项目有关吗?

Kathy Giori:是的,开放教育资源是超级重要的。我的目标是尽可能多地创造MicroBlocks的例子和教育材料,以帮助其他人学习物理计算。为了改善所有人的教育,我们必须确保访问的公平性。这就是为什么软件是免费和开放源码许可的,而教育材料是免费和开放的,可以访问、改进、翻译等等。

John Maloney:如前所述,我们希望让每个人都能免费获得教育软件和学习资源。所有MicroBlocks的学习资源都是在知识共享BY-SA许可下共享的。我们鼓励人们翻译、重新混合和创建新的MicroBlocks活动卡和其他材料,并将它们分享给社区。

我也同意Bernat的观点:学生应该能够 "观察 "他们正在使用的软件系统的内部。这是一种强大的学习方式,即使大多数学生从未对系统进行过深入的研究,但只要知道他们能够**,就会有力量。

Bernat Romagosa:在教育编程语言的情况下,我认为甚至不应该有一个问题。如果你甚至不让别人看驱动它的代码,你怎么能说你的语言是为了教编程呢?

Vladimir Bejdo:MicroBlocks似乎在教育技术领域做着非常重要的工作,但它只是一个更大的自由软件生态系统的一部分;既然如此,你觉得自由软件项目目前最需要关注的领域是什么?

Kathy Giori: 一个成功的项目,就像其他东西一样,必须解决一个问题。只要有新兴的专有软件解决方案成功地 "解决问题",就必须看到自由软件的替代品。例如,与Windows和Mac OS相比,Linux是一种神奇的操作系统资源,因为你可以根据你的确切需要来修改它。

总的来说,我觉得在创新的新技术领域缺乏自由软件将继续传播社会公平的不平衡,因为 "谁有机会 "往往在社会和文化上有偏见。

John Maloney:整个Linux生态系统是绝对必要的。在大公司创造的专利软件之外,还有自由和开放源码的替代品,这是至关重要的,这样我们就不会完全受他们的摆布。此外,如果没有一个坚如磐石的免费开源操作系统,像 "每个孩子一台笔记本电脑 "和 "树莓派 "这样的教育项目是不可能的,而Linux工具和基础设施是许多(如果不是大多数)开源项目的关键。

Bernat Romagosa:即使在自由软件的用户和倡导者中,也有一种出于方便而使用专有网络应用程序的倾向。自我托管的替代品确实存在,但不是每个人都有技术水平或时间来部署和维护流行的专利电子邮件、视频会议、文件共享、日历或办公工具的免费替代品。我不知道谁有这样的资源,但我经常希望有一个预先部署的在线套件包括所有这些工具。

Vladimir Bejdo:你对你的项目的未来有何看法?

Kathy Giori:我认为 MicroBlocks 最终会成为用于物理计算的事实上的教育软件工具。在硬件方面,大约15年前,第一块Arduino板使物理计算成为可能,而且价格低廉,并以教育为目标。最新的成功案例是BBC micro:bit,一个成本更低、功能更强的板子,集成了多个传感器和执行器。学生们已经带着计算器做数学题了,为什么不加上一个集成了传感器和执行器的可编程微控制器来创造一个组合的 "物理计算计算器 "呢?我想象这样一个设备总是准备好做一般的数学和物理计算,通过把它连接到MicroBlocks IDE,人们可以很容易地对它进行编程,以完成更具体或复杂的任务。休闲用户和创客可能会受益于并使用与学童相同类型的硬件,而顶级科学家和行业专家可能会使用更先进的和/或敏感的平台。专家们仍然可以使用MicroBlocks软件,因为他们可以自由地更新它以适应他们的需要。

John Maloney:我的梦想是,MicroBlocks将帮助年轻人发现使用代码和电子技术建造自己设计的东西的乐趣。我希望能接触到那些可能没有想象过自己会成为科学家或工程师的孩子,我希望他们能看到他们可以使用技术来实现他们的想法,也许还能意识到他们可以使用他们新发现的能力来带来积极的变化。

Vladimir Bejdo:现在,另一个更一般的问题--你是如何构想自由软件的整体未来的?你觉得你的项目在自由软件的近期或长期的未来中扮演什么角色?

Kathy Giori:从自由软件中受益的人,如果他们进入任何产生基础代码的领域或商业领域,往往会产生自由软件。MicroBlocks是那些优秀的自由软件工具之一,它将激励下一代人生产更多的自由软件。

Bernat Romagosa:MicroBlocks旨在帮助人们开始学习编程。希望其中一些人最终能对自由软件项目做出贡献或创造他们自己的项目。

John Maloney:我希望许多通过自由软件进入技术领域的学生能够理解自由软件的价值并支持它。有些人甚至会决定通过为自由软件项目捐献时间或金钱来 "回馈"。

Vladimir Bejdo: 人们如何帮助支持你的项目或参与其中?非技术人士如何为你的项目做出贡献?

Kathy Giori: 首先,我们需要传播这个消息。我们需要有人能够告诉和/或培训教育工作者关于MicroBlocks 的好处。其次,我们需要帮助将物理计算项目和例子整合到主流课程中。基于项目的学习可以提高数学、科学、艺术、音乐、物理教育等方面的成果。我们希望所有领域的专家都能用MicroBlocks解决他们领域的物理计算问题,并分享他们的解决方案,作为其他人借鉴的例子。

当然,我们也欢迎大家点击网站上的 "捐赠 "按钮,为项目提供资金支持(这是一种免税的捐赠)。

John Maloney:MicroBlocks仅仅是一个工具。为了使它发挥作用,教育工作者和组织必须用它来激励年轻人。我们最需要的是那些能够帮助我们把 MicroBlocks 带给更多的人的人,通过在他们自己的教学中使用它,向其他人传播这个消息,或者创造和分享教育材料。

Bernat Romagosa:个人和组织可以通过软件自由保护协会在经济上支持我们。我们也鼓励大家试用MicroBlocks并提交错误报告,可以到我们的Git仓库

或通过电子邮件发送至 [email protected]。我们随时欢迎翻译方面的帮助。还有一篇博文,介绍了如何翻译MicroBlocks的信息。

软件自由保护协会正在进行其年度筹款活动。请成为我们的支持者,帮助我们继续工作。现在捐款,你的捐款将由一群深切关心软件自由的慷慨人士匹配。

以上内容翻译自:https://sfconservancy.org/blog/2021/jan/07/microblocks-interview/

你可能感兴趣的:(深入探讨易用自由软件的社会效益:对MicroBlocks团队的采访)