导读:你喜欢编写个人项目吗?你是否曾经参与过开源项目?你觉得自己开发自己的编程项目,还是对现有的开源工作做出贡献会更有益处?你将如何比较为开源软件组织和专有软件的组织编码获得的声望?

▲图片来自:opensource.com

年轻程序员的技术悟性和创造力是充满活力的。

这一点可以从我参加今年的(美国)国内最大的黑客马拉松 PennApps[1] 时所目睹的他们勤奋的工作中可以看出。在 48 小时内,我的高中和大学年龄段的同龄人们创建了从可以通过眨眼来让不能说话或行动不便的人来交流的设备[2] 到带有物联网功能的煎饼机[3] 的项目。在整个过程中,开源的精神是切实可见的,不同群体之间建立了共同的愿望,思想和技术诀窍的自由流通,无畏的实验和快速的原型设计,以及热衷于参与的渴望。

那么我想知道,为什么在我的这些技术极客伙伴中,开源并不是一个热门话题?

为了更多地了解大学生在听到“开源”时的想法,我调查了几个大学生,他们都是我所属的专业计算机科学团体的成员。这个社团的所有成员都必须在高中或大学期间申请,并根据他们的计算机科学成就和领导能力进行选择——即是否领导过一个学校的机器人团队,建立过将编码带入资金不足的课堂的非营利组织,或其他一些值得努力的地方。鉴于这些个人在计算机科学方面的成就,我认为他们的观点将有助于理解年轻程序员对开源项目的吸引力(或不吸引人)。

我编写和发布的在线调查包括以下问题:

  • 你喜欢编写个人项目吗?你是否曾经参与过开源项目?

  • 你觉得自己开发自己的编程项目,还是对现有的开源工作做出贡献会更有益处?

  • 你将如何比较为开源软件组织和专有软件的组织编码获得的声望?

尽管绝大多数人表示,他们至少偶尔会喜欢在业余时间编写个人项目,但大多数人从未参与过开源项目。当我进一步探索这一趋势时,一些关于开源项目和组织的常见的偏见逐渐浮出水面。为了说服我的伙伴们,开源项目值得他们花时间,并且为教育工作者和开源组织提供他们对学生的见解,我将谈谈三个首要的偏见。

偏见 01:从零开始创建个人项目比为现有的开源项目做贡献更好

在我所调查的大学年龄程序员中,26 人中有 24 人声称,开发自己的个人项目比开源项目更有益。

作为一名计算机科学专业的大一新生,我也相信这一点。我经常听到年长的同学说,个人项目会让我成为更有吸引力的实习生。没有人提到过为开源项目做出贡献的可能性——所以在我看来,这是无关紧要的。

我现在意识到开源项目为现实世界提供了强大的准备工作。对开源项目的贡献培养了一种意识,即工具和语言如何拼合在一起[4],而单个项目却不能。而且,开源是一个协调与协作的练习,可以培养学生的沟通,团队合作和解决问题的专业技能[5]

偏见 02:我的编码技能是不够的

一些受访者表示,他们被开源项目吓倒了,不知道该从哪里开始贡献,或者担心项目进展缓慢。不幸的是,自卑感往往也会对女性程序员产生影响,而这种感觉并不止于开源社区。事实上,“冒名顶替综合症”甚至可能会被放大,因为开源的倡导者通常会拒绝官僚主义[6] —— 而且和官僚主义一样难以在内部流动,它有助于新加入的人了解他们在一个组织中的位置。

我还记得第一次在 GitHub 上查看开源项目时,我对阅读贡献指南感到害怕。然而,这些指南并非旨在吓跑别人,而是提供指导[7]。为此,我认为贡献指南是建立期望而不依赖于等级结构的一种方式。

有几个开源项目积极为新的项目贡献者创造了一个地方。TEAMMATES[8] 是一种教育反馈管理工具,是为初学者们解决了这个问题一个开源项目。在评论中,各种技能水平的程序员都详细阐述了实现的细节,这表明开源项目是属于热切的新程序员和经验丰富的软件老手的地方。对于那些还在犹豫的年轻程序员来说,一些开源项目[9]已经考虑周全,采用了冒名顶替综合症的免责声明[10]

偏见 3:专有软件公司比开源软件组织做得更好

在接受调查的 26 位受访者中,只有 5 位认为开源组织和专有软件组织在声望上是平等的。这可能是由于“开源”意味着“无利可图”,因此质量低下的误解(查看“开源”不只是意味着是免费[11])。

然而,开源软件和盈利软件并不相互排斥。事实上,小型和大型企业通常都为免费的开源软件的技术支持服务而付款。正如红帽公司首席执行官 Jim Whitehurst[12] 所解释的那样:“我们拥有一批工程团队,负责跟踪 Linux 的每一项变更--错误修复、安全性增强等等,确保我们客户的关键任务系统保持最新状态和稳定“。

另外,开源的本质是通过使更多的人能够检查源代码来提升而不是阻碍质量的提高。Mobify 首席执行官 Igor Faletski[13] 写道,Mobify 的 “25 位软件开发人员和专业的质量保证人员团队无法满足世界上所有可能使用 [Mobify 的开源]平台的软件开发者,而他们每个人都是该项目的潜在测试者或贡献者。”

另一个问题可能是年轻的程序员不知道他们每天使用的开源软件。 我使用了许多工具——包括 MySQL、Eclipse、Atom、Audacity 和 WordPress——几个月甚至几年,却没有意识到它们是开源的。 经常急于下载教学大纲指定软件以完成课堂作业的大学生可能不知道哪个软件是开源的。 这使得开源看起来比现在更加陌生。

所以学生们,在尝试之前不要敲开源码。 看看这个初学者友好的项目[14]列表和这六个起点[15],开始你的开源之旅。

教育工作者们,提醒您的学生开源社区的成功创新的历史,并引导他们走向课堂之外的开源项目。你将帮助培养更敏锐、更有准备、更自信的学生。

作者:Susie Choi

译者:amwps290

来源:Linux中国(ID:linux-cn)

原文:https://opensource.com/article/17/12/students-and-open-source-3-common-preconceptions

相关参考:

[1]http://pennapps.com/

[2]https://devpost.com/software/blink-9o2iln

[3]https://devpost.com/software/daburrito

[4]https://hackernoon.com/benefits-of-contributing-to-open-source-2c97b6f529e9

[5]https://opensource.com/education/16/8/5-reasons-student-involvement-open-source

[6]https://opensource.com/open-organization/17/7/open-thinking-curb-bureaucracy

[7]https://opensource.com/life/16/3/contributor-guidelines-template-and-tips

[8]https://github.com/TEAMMATES/teammates/issues?q=is%3Aissue+is%3Aopen+label%3Ad.FirstTimers

[9]https://github.com/adriennefriend/imposter-syndrome-disclaimer/blob/master/examples.md

[10]https://github.com/adriennefriend/imposter-syndrome-disclaimer

[11]https://opensource.com/resources/what-open-source

[12]https://hbr.org/2013/01/yes-you-can-make-money-with-op

[13]https://hbr.org/2012/10/open-sourcing-may-be-worth

[14]https://github.com/MunGell/awesome-for-beginners

[15]https://opensource.com/life/16/1/6-beginner-open-source

推荐阅读

全球100款大数据工具汇总(前50款)

大数据时代的10个重大变革

日本老爷爷坚持17年用Excel作画,我可能用了假的Excel···

为什么要学数学?因为这是一场战略性的投资

Q: 你参与过开源项目吗?

欢迎留言与大家分享

觉得不错,请把这篇文章分享给你的朋友

转载 / 投稿请联系:baiyu@hzbook.com

更多精彩文章,请在公众号后台点击“历史文章”查看

为什么开源在计算机专业的学生中不那么流行?相关推荐

  1. 计算机专业学开源软件,计算机专业学生使用开源软件的问卷调查分析

    计算机专业学生使用开源软件的问卷调查分析 摘要:为了了解计算机专业学生认识和使用开源软件的情况,本文对北京工业大学计算机学院部分学生进行开源软件使用情况问卷调查,对调查结果进行分析,并针对目前培养学生 ...

  2. 你们计算机专业的学生应该看看这篇文章

    你们计算机专业的学生应该看看这篇文章 现在计算机专业学生怎么这样 - 谈计算机毕业生的浮夸 来源: 站长信息网 评论 11 条 字体:[大 中 小] 收藏 投稿 前几天和一位做人力资源的朋友在饭店里面 ...

  3. 为什么计算机专业的学生要学习Linux系统?

    用linux逼格够高,都是大牛才用的?很多人对他嗤之以鼻,但也有人对他爱恨交加.爱之深恨之切,先来说说恨吧,恨linux下没有QQ,没有Qvod.屌丝2宝缺一不可,可偏偏2个都缺.爱等你慢慢发现. 为 ...

  4. 计算机专业读mba,计算机专业的学生适合读MBA吗MBA考试_MBA-教育宝

    计算机专业的学生适合读MBA吗 MBA考试 读MBA一般与你所处的环境并没有太大的关系,有直接关系的是你所处的职位,职位的性质在一定程度上决定了MBA是否有帮助.如果你是技术序列的职务,并且打算一直在 ...

  5. 计算机专业课的教学准备,计算机专业课程教学中的分层教学模式

    <计算机专业课程教学中的分层教学模式>由会员分享,可在线阅读,更多相关<计算机专业课程教学中的分层教学模式(5页珍藏版)>请在人人文库网上搜索. 1.编号:XXXX时间:202 ...

  6. 计算机申报专业怎么写,给申请计算机专业的学生的建议

    随着计算机的普及以及在不同领域的广泛使用,高科技尖端人才会大受追捧.美国的计算机专业,可以让你学习到最先进的高科技技能.能够让你根据个人的喜好选择偏理论或应用的课程作为学习的重点.当然,美国的计算机专 ...

  7. 计算机应用技术专业课程视频,微视频技术在计算机专业课程教学中的应用研究...

    摘 要 在当今时代,微视频已经成为我国教育信息化资源建设的关键技术.通过微视频技术在计算机专业课程教学中的应用,真正制作出具备非常高的质量的微视频,能够科学有效地辅助计算机专业课程的教学.本文对于微视 ...

  8. 作为一个计算机专业的学生,除了教材,这些书籍你读过多少?

    随着越来越多的人开始接触编程.学习编程,各种各样的编程书籍也开始大卖,不少同学反映很多的书籍对学习的帮助不大,那么哪些书籍对于学习编程的人来说是比较好的呢? 国外知名网站stackoverflow上曾 ...

  9. 计算机专业技能学习表现总体评价,【计算机专业论文】中职学校计算机专业课堂教学评价(共2323字)...

    随着计算机在日常生活和工作中越来越普及,社会对于计算机人才的需求越来越多,由此也带动了计算机课程在中职学校中的开展.课堂评价是课程教学体系中重要的一环,如何在计算机专业课堂教学中进行有效的教学评价,进 ...

最新文章

  1. 『第27天』Sunos(二)
  2. 获取redis实例绑定cpu的情况
  3. 获取 Web 设计的免费资源
  4. 超简单的mysql多实例布置
  5. 【Android】完善Android学习(二:API 2.3.4)
  6. oracle11g 端口,navicate 连接 oracle11g精简版监听不到端口和用户密码错误问题
  7. HTML 遮罩显示工具栏
  8. 天秀!花费 200W 设计的新版 “小米”图标,看看用Python怎么绘制?
  9. 异步FIFO设计与实现及相关问题
  10. java 英文翻译工具类
  11. hypervisor详解
  12. 入门级经验:学三维建模从哪个软件开始学起
  13. vue使用高德地图的搜索地址和拖拽选址
  14. CentOS部署单机Presto
  15. python爬虫详解(三)——爬取世界常用密码并保存到字典内
  16. 如何写一个vscode插件
  17. SwiftUI中如何使用App Tracking Transparency Framework
  18. 【CSDN博客之星】您的支持就是我最大的动力!喜欢本博客的读者,请拿出您宝贵的几秒钟时间来支持一下吧,非常感谢~
  19. 计组 | 算数移位及其移位后的空位添补规则
  20. adonis.js mysql_Node.js:Adonis.js 框架 IoC container

热门文章

  1. java 多线程日志_多线程 打印的日志出现重复行
  2. java 数据结构_Java数据结构学习方法
  3. android 65536 gradle,如何防止在Android Gradle中使用Multi-dex
  4. python max((1、2、3)*2)_Python functional.max_pool2d方法代码示例
  5. python 定时器_按键精灵定时器介绍和使用,不会的小伙伴速速看看精辟
  6. python整数分节输出_pyfactor
  7. 操作系统之进程管理:11、用信号量机制实现进程同步、互斥、前驱关系
  8. 数据结构之图的存储结构:邻接表法
  9. (王道408考研操作系统)第三章内存管理-第一节6-3:非连续分配管理方式之基本分页存储管理之具有快表的地址变换机构
  10. Linux系统编程15:进程控制之如何创建进程和写时拷贝技术