在我为克拉克森大学工作的短暂时间里,我意识到这所小型大学对开源世界产生了多么巨大的影响。我们这所拥有 4300 名学生的、专注于科学和技术的机构位于纽约州波茨坦,加拿大边境以南,这里是 克拉克森开源研究所 (COSI) 的所在地,该研究所致力于推广开源软件,并为学生项目提供设备和支持。
虽然许多大学都为学生提供参与开源项目的机会,但很少有专门的机构致力于推广开源开发。COSI 是克拉克森大学计算机科学系应用计算机科学实验室的一部分。它与互联网教学实验室和虚拟现实实验室一起,由学生(在教师顾问的支持下)运营,使他们能够在本科期间获得设施和项目管理经验。
COSI 秉承开源的协作性质,向任何有兴趣参与的人开放,因此没有正式的会员名单或要求。作为参与开源项目的学生的开发环境和会议场所,COSI 提供了许多机会来领导项目和参加每周会议、研讨会和教程。它也用于计算机科学教学,并在大部分工作周向公众开放。
COSI 的开源项目
自 2001 年成立以来,参与 COSI 的数百名克拉克森大学学生创建了许多大型和小型开源项目,并赢得了多项重大竞赛,包括 IBM Linux 挑战赛、VMware Appliance 挑战赛和 Unisys Tuxmaster 竞赛。
COSI 学生开发的一些更有趣的项目包括 Robigalia,这是一个使用 SeL4 微内核的基于 Rust 的操作系统。我们的学生还开发了一个系统,使用脑电图耳机来控制机器人(如果你愿意,可以称为脑控机器人)。另一个很棒的项目是 ITL Chorus,它可以接收音频文件,分解所有乐器,并将音轨发送到不同的计算机。这样,你就可以在一整个实验室的计算机上播放音乐,每台计算机播放不同的乐器。

opensource.com
COSI 正在开发的其他项目包括
- Scheduler:一个简单的 Web 应用程序,可以从课程 CSV 文件中读取数据,并确定学期课程表
- DataRange:一个在虚幻引擎中创建的 VR 游戏,用于 Hack Potsdam;一个简单的射击游戏
- Stark:一个用 Python 和 Leap Motion 编写的机器人操作系统遥操作程序
- Librfat:一个 Rust FAT 文件系统库
- Language:一个为 COSI 学生设计的函数式编程语言的解释器
- COSI RPG:一个用 Haskell 编写的非暴力角色扮演游戏
- Sol:一种脚本语言,旨在汲取 Lua 和 Python 的优点,并看起来有点像 JavaScript
COSI 的许多项目都托管在学生的个人 GitHub 页面上,但你可以在实验室的 GitHub 和 GitLab 页面上找到一些项目以及有关 COSI 运营的其他信息。
COSI 的镜像
COSI 最大的项目之一是其 公共镜像,世界各地的人们都在使用它来下载开源软件。2018 年 1 月 5 日,我们跨越了一个激动人心的里程碑:从我们的镜像下载的数据超过 1PB。最近,我们已成为 LibreOffice 和 Blender 等项目的官方镜像——事实上,我们是西半球唯一的 Blender 官方镜像。成为某些软件的官方镜像可能很困难,我们镜像的所有内容都有不同的要求。
我们的镜像与我们的所有服务一样,由学生志愿者维护。通常的周期是从一无所知的人,到正在学习的人,再到将技能传授给下一个人的人。
学习总是会遇到挑战,几年前我们不得不克服的一个大挑战是,我们的镜像决定一次性更新我们托管的所有软件。由于没有带宽上限,服务器占用了该地区的所有带宽——实际上导致波茨坦镇的网络瘫痪了几个小时。我们通过对同步所有软件的速度设置上限来解决了这个问题。
社区外展
COSI 的学生还有机会参与克拉克森大学以外的当地组织,开展活动以推广计算机科学,例如在图书馆进行“编程一小时”演示,以及在学校举办 Python 研讨会。我们连续第二年与纽约州立大学波茨坦分校计算机协会 (ACM) 共同主办年度 Hack Potsdam 黑客马拉松。
我们的计算机科学外展计划教会了许多高中生关于编程、Web 开发、网络等方面的知识。我们与 Google 的 IgniteCS 计划合作,为当地学校举办研讨会和入门计算系列课程。有时我们会邀请高中生到我们的实验室参加这些活动,但我们也会使用我们创建的移动计算套件到学校去教他们,这些套件包括 Raspberry Pi、小型屏幕、键盘、鼠标、各种网络硬件以及面包板、电线、灯和开关的集合。
建立强大的组织
COSI 社区是其最强大的资产。我们经常有 COSI 校友来访,看看实验室最近在做什么。校友所在的公司直接来实验室寻找新员工,我们也经常有高年级学生向雇主推荐低年级学生。雇主和校友回到实验室进行演讲,带来硬件或软件供我们试用,或给我们带来零食。他们还经常提供建议,我们对此表示感谢,甚至帮助我们完成项目。
良好的社区是脆弱的,始终确保我们的组织朝着积极的方向发展非常重要。积累资源和专业知识需要很长时间,而且社区很容易崩溃。
COSI 的指导原则有助于确保我们对我们的目标以及我们试图实现的目标有一个清晰的愿景和理解。其中一项原则是:“每个人都应该学习和教学。当一项任务对你来说变得例行公事时,寻找一个人教他,并将角色过渡给他。然后为自己寻找新的学徒机会。”
倾听所有参与者的意见也很重要。如果你的组织成员觉得他们的观点可以产生影响,那么人们就会对社区的关怀产生个人的自豪感、正直感和责任感。
感谢以下学生为本文做出的贡献
Abigail Matthews,纽约州马塞纳人,计算机科学专业/数学辅修专业大三学生
Hunter Bashaw,纽约州科文顿堡人,计算机科学专业/数学辅修专业大二学生
评论已关闭。