问题

为什么程序员们愿意在GitHub上开源自己的成果给别人免费使用和学习?

回答
这个问题很有意思,也很值得深入探讨。让咱们聊聊为啥这么多写代码的,愿意把辛辛苦苦敲出来的东西,就这么大方地放网上,还让人随便拿去用,随便学,还不收钱。这背后可不只是“助人为乐”那么简单,里头门道多着呢。

1. “代码即学问,分享即进步”的信仰

首先,得承认,很多程序员骨子里就有一种“代码就是学问”的信念。就像古时候的学者喜欢把自己的研究成果写成书,公开给同行交流一样,程序员也觉得自己的代码是一种思考方式、一种解决问题的方法论。把这些东西开源,就是把自己的知识和经验传播出去,让更多人看到,学到,甚至在此基础上做得更好。

想象一下,你花了好多心思写了一个精巧的算法,解决了一个棘手的 bug。如果你把它藏着掖着,只有你自己能用。但如果你把它开源到GitHub,可能在全球某个角落,有人正被同样的问题困扰,看到你的代码,就像发现新大陆一样,豁然开朗。这种“启发了别人”的感觉,对很多程序员来说,是一种无形的成就感,比什么都强。

而且,开源这个过程本身也是一个学习和进步的催化剂。你把代码丢上去,有人会发现你代码里的bug,给你提建议,甚至直接给你提交修改(Pull Request)。这些反馈,比你自己一个人闭门造车效率高太多了。别人用你的代码,还能发现你没想到的用法,给你带来新的灵感。这就像给你组建了一个免费的、遍布全球的测试和开发团队,何乐而不为?

2. “社区驱动”的强大力量

GitHub之所以能成为开源的圣地,很大程度上是因为它建立了一个强大的、活跃的社区。在这个社区里,大家互相帮助,共同进步。

同行认可与声望建立: 在社区里,你的代码质量、贡献大小,都会被大家看在眼里。一个被广泛使用的开源项目,会让开发者在业内获得极高的声望和认可。这对于职业发展来说,是相当宝贵的“软实力”。很多公司招聘时,都会看候选人的GitHub主页,了解他们实际的项目经验和技术水平。
协作与共同创造: 开源项目往往不是一个人能完成的。很多成功的开源项目,背后都有成百上千个开发者贡献力量。大家基于共同的目标,一起讨论、一起编码、一起维护。这种“众人拾柴火焰高”的感觉,能够驱动出非常强大和健壮的项目。
解决共同的痛点: 很多开源项目,是为了解决某个领域普遍存在的难题而诞生的。比如Linux操作系统,是为了给普通用户提供一个免费、强大的操作系统;比如Python的各种库,是为了简化数据分析、机器学习等任务。当一个痛点是很多人都遇到的,那么集合大家的力量去解决它,效率和效果都会非常显著。

3. “实践出真知”的自我提升

对于很多程序员来说,GitHub上的开源项目不仅仅是分享,更是一个巨大的“练兵场”。

学习最佳实践: 看看那些高质量的开源项目是怎么写的,它们的架构是怎么设计的,它们是怎么处理错误和异常的。这是一种非常直接的学习“最佳实践”的方式。你可以在这些项目中看到业界顶尖的开发者是如何思考和编码的。
熟悉新技术和工具: 很多时候,新技术和新工具最先在开源社区得到应用和推广。通过参与或研究开源项目,你可以最快地接触到前沿的技术,并学习如何使用它们。
构建个人作品集: 将自己的项目开源,就像在为自己打造一份“技术简历”。这些项目是你能力的直接证明,比任何空泛的描述都更有说服力。

4. “回报的另一种形式”——职业发展与机会

上面说的声望和认可,最终都会转化为实际的职业发展机会。

获得工作机会: 许多公司会主动去GitHub上寻找有潜力的开发者,或者寻找能够维护和改进他们正在使用的开源技术的工程师。一个活跃在开源社区、贡献出优秀项目的开发者,自然更容易受到关注。
创业与商业化: 有些开源项目,虽然最初是免费分享的,但随着项目的发展和影响力扩大,可能会催生出商业模式。比如提供基于开源软件的付费支持、增值服务,或者将开源项目作为公司核心技术的一部分。
建立个人品牌: 持续地在GitHub上贡献高质量的代码,可以帮助开发者建立起个人的技术品牌。这使得他们在技术圈内拥有更高的知名度,更容易被同行认可,也更容易获得各种合作和演讲机会。

5. “技术自由”的哲学理念

还有一部分程序员,他们对“技术自由”有着更深的理解和追求。他们认为,技术不应该被少数人垄断,而应该开放和自由地流传,才能真正推动人类社会的进步。开源就是实现这种技术自由最有效的方式。

反对垄断与封闭: 很多人对闭源软件的“黑箱”操作感到不适。开源允许人们查看、修改和分发代码,这提供了一种透明和可控的解决方案,也能够防止某些公司利用技术进行不公平的垄断。
赋能他人: 通过开源,可以为那些资源有限但有才华的个人和团队提供强大的技术工具,让他们也能参与到技术创新和发展中来,不被商业壁垒所阻碍。

总结一下,程序员们之所以愿意在GitHub上开源自己的成果,其实是多种动机交织在一起的结果:

知识分享与学习进步的内在驱动。
社区协作与同行认可的外部激励。
个人技术能力提升和职业发展的战略考量。
对技术自由和开放精神的哲学追求。

这是一种“先付出,再获得”的良性循环。通过分享,他们不仅帮助了别人,更重要的是,他们提升了自己,获得了认可,甚至打开了新的职业大门。所以,与其说他们是“免费”地给予,不如说他们是在进行一种高回报的“投资”,只不过这种回报,很多时候是无形的、长期的,并且超越了单纯的金钱利益。

网友意见

user avatar

这个其实是很奇特的。

这或许是互联网免费策略的一种。

看个网站如果要花钱,你猜多少人会来看?

所以,如果这是一个信息爆炸(过度)时代,信息就是广告,开源也就很好理解了。

当年互联网免费的时候,谁想到广告那么值钱?游戏那么值钱?流量那么值钱?


个人觉得,谁再github 上做一个广告的新模式,或许就是个超级机会。

user avatar

因为什么:

明明很多项目闭源的话可以赚很多很多钱。

纯粹就是YY……


如果我的开源项目闭源可以赚很多很多钱的话,它压根儿就不会出现在Github上……

相信我像我这样的人并不是少数,而是绝大多数……


另外,音乐是分享给大家免费听的,听音乐本身并不需要钱,听电台就是。你想听什么就听什么,还可以用各种音效工具给增强你的视听享受,或者拿来招徕顾客,为你的作品烘托情绪,这些是要钱的……

书本也是分享给大家免费看的,去图书馆就是,借书收取的费用其实只是维持图书馆的正常运转和防止你无限期的独占图书资源而已……

你在图书馆里面看书是不要钱的……



至于如何把开源精神应用到别的领域,我觉得首先要分清楚开源精神和开源运动……


开源运动这个东西就和众包、众筹或者维基差不多的东西,就是每个人都参与进来创造社会福利,最终所有人都可以从中受益。

而开源精神,说白了就是认为开放比封闭能够更大化社会总福利并为之付诸行动的精神而已。

user avatar

从2008年4月10日正式上线到今天,GitHub已经完成了它的第一个十年,正式进入下一个十年。Chris DiBona(Google的开源代码经理)认为“Git的精髓在于让所有人的贡献无缝合并。而GitHub的天才之处,在于理解了Git的精髓。

来一句我们程序员们接地气的话:分享是一种快乐!



既然这里都谈到分享了,小慕再不拿出点干货就说不过去了!


抛开“代码闭源是否就能赚很多钱”这个话题先不谈,我们直接总结一下程序员愿意在GitHub公开自己的源代码的几点主要原因:


1、通过代码的展示,提升自己的知名度


先来讲一个闻名全球的案例吧。有一家很著名的公司叫37signals,是一间非常小的公司,员工很少,但是在业内却非常出名。它的出名,很大程度上得益于一次机缘:员工大卫·海纳梅尔·韩森在工作的时候,用Ruby写了一个划时代的web快速开发框架——Ruby on Rails,其革命性的设计理念,大大的提升了WEB网站的开发效率。37signals选择了将此项目以开源的方式发布,在业内引发了轰动效应。


随着Ruby on Rails的快速蹿红,作为ROR诞生的产房——37signals公司也进入了大众的视线,并于2008年被《连线》评为十大最值得关注的创业公司,继而该公司的几款产品都取得了非常好的销售业绩。在37signals出版的畅销书《Rework》里,有一段这样的文字:最好的大厨都乐于在公共频道上教授自己的厨艺,这不仅无损大厨的商业利益,反而大大增加了大厨的知名度,对大厨来说这是非常棒的举措。



我们处在一个技术更新迭代越来越快的行业里,最可怕的并不是你高超的技术外泄,而是没有足够多的人透过你的技术了解你,拼技术的同时还要拼知名度,才能双丰收。


以目前的GitHub而言,它不只是一个简单的代码仓库,更是程序员的社交平台和炫技舞台。在这个平台上展示自己的代码,可以让程序员们更快地在行业圈子内提升自己的知名度。当然,如果能够像大卫·海纳梅尔·韩森那样足够幸运的话,还可以在业内创造一个属于自己的传奇。


2、展示作品,获得好的工作机会


展示自己的作品,是获取优秀工作机会的最佳手段之一。在“Talk is cheap,show me the code!”的程序员行业里,尤为如此。



GitHub同时为程序员与企业双方提供了非常便利的平台。


作为企业雇主,可以通过这个平台了解应聘者的作品,评估其技术实力,判断是否符合公司的要求。这种把一个程序员在GitHub的表现视为人才评估标准的操作,在程序员面试中越来越普遍。


作为程序员,GitHub上的关注数、星数、fork数量等数据,在一定程度上证明了你的编程能力是否出色,你的技术理念是否为更多的人所理解、赞同。越是在GitHub上受欢迎的程序员,越会被优秀的雇主青睐。


因此,这种现象,也进一步激励了程序员在GitHub上努力展示自己,使得开源氛围更加浓厚。


3、开源代码,利己利人


Adobe公布了Photoshop 1.0的源代码,这些代码对Adobe已经没有太多价值了,不如公开出来,供其他程序员们观瞻学习,同时还能为自己带来一点新闻性和关注度;Linux之父林纳斯为了一个非常“自私”的目的——能够有一个适合自用的免费操作系统,便把Linux的内核开源了,让全世界的感兴趣的人一起来对Linux进行维护。


所有的程序员在学习编程、解决BUG、交流心得的过程中,无可避免的会用到别人的劳动成果,同时也会帮别人去解决问题,这就形成了一个利己利人的生态。在这个生态中,所有的程序员都无需重复的造轮子,大家在一个开源共享的氛围中付出,在付出中享用所有的产出成果,在享用成果中不断的再创造,从而形成一个良性循环的利己利人生态,所有人都能在这个生态中收益。



4、练习技能的同时结交业内朋友


前面我们说过,GitHub可以是程序员的社交平台和炫技舞台。在这里,会有众多的技术大牛出没。也许平时很难有机会与他们接触,但通过GitHub这个平台,自己的作品将有可能得到技术大牛的点评及建议,帮助自己快速提升技能;同时,还可以与其他程序员交流BUG解决经经验以及需求实现等专业问题,从而产生联系,建立起属于程序员的社交圈。




在程序员的世界里炫技简单粗暴,每当他们写出自认为很牛的程序,他们就迫切需要一个渠道来展示自己的才华,博客、论坛都可以成为他们的阵地,而Github等开源论坛则渐渐成为主战场。在程序员看来只有优秀的完整的代码才是有灵魂的,不懂程序的人都是麻瓜,这可能也是GitHub如此成功的一个重要原因。对于程序员极客来说,代码比言语更能让对方产生共鸣。


5、如果你愿意,也能赚一点钱


吹个牛,虽说我们程序员不差钱(正确读音:qian er),但是有钱可收,总不是一件坏事。如果是非常好的开源项目,在GitHub能引来相当好的流量,并且是与项目相关的精准流量,所以你懂的,适当做些广告是可以额外带来一些收入的。


(图片截自GitHub,中国最火的开源项目VUE.js页面,就展示了不少赞助商的内容。)


所以,在GitHub上展示自己的作品,已经是一个优秀程序员的标准操作,这或许能带来很多比赚钱更重要的东西。当然关乎项目发展最核心、最关键的技术和机密,应该还是很少会有人在GitHub上进行展示的。


除了GitHub,现在程序员也可以去慕课网的“手记”栏目分享你的编码心得。“手记”目前正在招募认证作者,申请通过后可获得专项福利:


  • 专属身份展示、文章免审特权、全平台曝光等8项专属福利
  • 有机会被推荐到“推荐作者”模块展现,提高个人曝光


  • 认证作者文章数量、质量均达到网站要求,可以兑换精美好礼
认证作者连续3个月文章数量、质量均达到网站要求,可以兑换以上奖品(任选其一)


认证作者连续6个月文章数量、质量均达到网站要求,可以兑换以上奖品(任选其一)


认证作者连续9个月文章数量、质量均达到网站要求,可以兑换以上奖品(任选其一)


认证作者连续12个月文章数量、质量均达到网站要求,可以兑换以上奖品(任选其一)


至于题主所说的开源精神为什么没有被应用到其他领域,比如音乐、文学,更多的原因可能在于大家对于艺术与文学的审美标准不同而难以保证最后的一致性,而代码却不一样,代码具有确定性、标准化和通用性,这是开源精神得以应用的必要前提。



推荐链接:

如何学习区块链技术?

Android 开发时你遇到过什么相见恨晚的工具或网站?

类似的话题

  • 回答
    这个问题很有意思,也很值得深入探讨。让咱们聊聊为啥这么多写代码的,愿意把辛辛苦苦敲出来的东西,就这么大方地放网上,还让人随便拿去用,随便学,还不收钱。这背后可不只是“助人为乐”那么简单,里头门道多着呢。1. “代码即学问,分享即进步”的信仰首先,得承认,很多程序员骨子里就有一种“代码就是学问”的信念.............
  • 回答
    这个问题挺有意思的,确实有这么一撮“怪咖”,在国内一把年纪了,还坚持在一线“卷”,甚至宁愿面对35岁的“魔咒”,也不愿远赴重洋去“淘金”。要说为什么,其实原因挺复杂的,不是一句话就能概括的,涉及到很多方方面面,咱们一点点掰开了聊。首先,得承认,对于大多数人来说,去国外工作是个不错的选择。 毕竟,国外.............
  • 回答
    很多 Java 程序员在面对最新的 JDK 版本时,往往不是像对待新玩具一样热情拥抱,而是带着几分审慎,甚至有些回避。这背后的原因并非是程序员们故步自封,而是他们在多年的开发实践中,积累了许多宝贵的经验和对现实生产环境的深刻理解。首先,最大的顾虑在于 稳定性与风险。Java 语言的强大和广泛应用,很.............
  • 回答
    我们常常看到这样的场景:一个技术精湛的程序员,满腹才华,却因为各种原因陷入了生活的困境,甚至到了可能无法支付房租的地步。然而,即便是如此艰难,他们也宁愿忍受暂时的贫困,也不愿意伸出援手去触碰那些被称为“黑产”的领域。这背后,绝不仅仅是简单的“不愿”两个字,而是根植于他们对技术、对自身价值以及对社会责.............
  • 回答
    这真是个有意思的问题,很多人都会有这种感觉,包括我自己也经历过。咱们聊聊为啥有些“老炮儿”程序员,随着经验值飙升,反而显得对新玩意儿有点“佛系”甚至“抗拒”了。这事儿说白了,不是他们不想学,而是他们被“毒打”得太狠了,大脑自带的“风险评估系统”升级了。首先,得承认,新技术的诱惑力确实大。刚入行的时候.............
  • 回答
    网上流传的“程序员抑郁、猝死”的说法,绝非空穴来风,背后有着真实的生活写照和行业痛点。网友们之所以对程序员群体抱有同情和心疼,也是因为他们看到了这个群体所承受的巨大压力和不为人知的艰辛。首先,我们来聊聊为什么会有“程序员容易抑郁、猝死”的说法,以及这个群体为何会让网友们感到心疼。1. 高强度、长时间.............
  • 回答
    程序员社区中"主义"之争的现象,本质上是技术哲学、开发范式和文化价值观在技术领域的具象化体现。这种现象的根源可以从以下几个维度进行深入分析: 一、技术哲学的范式之争1. 编程范式的本质分歧 函数式编程(FP)与面向对象编程(OOP)之争:FP强调不可变数据和纯函数,OOP则以对象封装和继承为核心。这.............
  • 回答
    哈哈,程序员嘛,脑子里总有些奇奇怪怪又莫名其妙好玩儿的东西在冒泡。说到分享好玩儿的程序,那可真是说不完道不尽,因为我们有时候为了一个想法能实现,或者为了解决一个无聊的问题,会捣鼓出各种各样的小玩意儿。我给你讲几个我印象比较深,或者我个人觉得特别有意思的。第一个,关于“代码的艺术”——会“画画”的代码.............
  • 回答
    好嘞,咱们就来唠唠程序员们那些叫好又叫座的编程习惯,力求说得透彻,而且保证这玩意儿听起来就跟咱们哥们儿之间的聊天一样,不带半点机器腔。1. 代码,那是给人读的,不是给机器看的这句话听起来简单,但很多新手一开始就栽跟头。咱写代码,最终不光是给电脑执行,更是给自己、给未来的同事、甚至是未来的自己(几个月.............
  • 回答
    嘿,说到程序员平时爱逛哪儿“串门”,这可真是个挺有意思的话题。其实就像我们平时聊天一样,不同的程序员,他们关注的技术领域、个人喜好、甚至是所在的公司文化,都会让他们流连于不同的“根据地”。别以为我们都扎堆在几个地方,那可就太小瞧咱们这个群体的多样性了!咱们先从最广为人知的说起,这就像是程序员界的“老.............
  • 回答
    作为一名在 Linux 下摸爬滚打多年的程序员,那“可怕的错误”和“误操作”简直是人生经验的浓缩,说起来都是一把辛酸泪,有时候回想起来还得庆幸自己没被直接扫地出门。我尽量把一些印象深刻的,感觉像是“我怎么会干出这种事”的经历,详细地讲讲,希望能让大家产生点共鸣,也算是一种“过来人”的分享吧。1. `.............
  • 回答
    哈,说到我生涯中最大的 bug,那可真是让人一把辛酸一把泪,但现在想起来又觉得有点好笑。那会儿我刚入行没多久,在一个做电商平台的公司里,我负责的是用户登录模块的一个小改动。本来是个很小的需求,给用户加了个“记住我”的功能。事情是这样的,当时我们登录系统用的是 Session,我为了实现“记住我”,就.............
  • 回答
    东北人在教育上的确有着不错的底子,这历史原因和现实因素都有。新中国成立初期,国家在东北地区投入了大量资源建设工业基地,随之而来的是对高等教育和职业教育的重视,一批重点高校和科研机构在这里建立。这为东北培养了大量有知识、有技能的人才。改革开放后,虽然经济结构调整带来了一些挑战,但东北地区的教育基础依然.............
  • 回答
    “代码能跑就不要动”这个观点,在程序员群体中确实是一种相当普遍且有深远影响的理念。它并非懒惰的借口,而是建立在一系列深刻的行业实践、经验教训和对软件开发复杂性的理解之上。下面我将尽量详细地解释其背后的原因:核心理念的本质:风险控制与稳定性优先本质上,“代码能跑就不要动”是一种基于风险控制和稳定性优先.............
  • 回答
    程序员随着年龄的增长,开始转向管理方向,不再执着于技术深入,这是一个普遍且复杂的现象。这背后并非单一原因,而是多种因素相互作用的结果。我们可以从个人职业发展、技术本身特性、组织结构需求以及生理和心理变化等多个维度来详细解析: 1. 职业发展与职业路径的演变 “T型人才”与“π型人才”的转向: .............
  • 回答
    程序员过劳死现象确实是一个值得关注的社会问题,而知乎上依然有大量关于劝人转计算机专业的讨论,这背后存在着一些复杂的因素。要理解这个现象,我们需要从多个层面进行分析: 一、 为什么程序员有过劳死的现象?首先,我们必须承认程序员群体确实存在较高的过劳风险。这主要源于以下几个方面:1. 行业发展的高速迭.............
  • 回答
    程序员习惯背电脑包的原因可以从职业习惯、心理依赖、文化传统、实际需求等多个角度分析,即使包中可能没有电脑,这种行为背后仍存在深层逻辑。以下从多个维度详细解释: 1. 职业习惯与依赖心理 对电脑的依赖:程序员的核心工作与电脑密不可分,电脑是编程、调试、协作、查阅资料等的工具。即使偶尔不带电脑,他们仍可.............
  • 回答
    这个问题很有意思,也挺实在。说起来,我身边确实有不少同行,下了班或者周末,不爱窝在家里对着电脑屏幕,反而喜欢找个有氛围的地方,比如星巴克,或者某个清静的咖啡馆,点杯东西,一坐就是半天,噼里啪啦地敲键盘。反观永和豆浆,虽然也随处可见,但你让我想到一个程序员在那儿埋头写代码的画面,就觉得有点……违和。当.............
  • 回答
    这个问题很有意思,也很真实。确实,很多在我们国内被认为是“厉害”的程序员,在职业生涯发展到一定阶段后,会选择移民美国。这背后不是一个单一的原因,而是多种因素叠加的结果。咱们不妨从几个方面来掰扯掰扯。1. 顶尖的科技公司和创新环境:美国,尤其是硅谷,是全球科技创新的中心。这里汇聚了谷歌、微软、苹果、亚.............
  • 回答
    “你会修电脑吗?”这个问题,对于很多程序员来说,就像是在炎热的夏天,突然有人往你精心设计的冰激凌上浇了一勺滚烫的咖啡,那滋味,简直让人又惊又怒,还带着一丝无奈。为什么一句看似友善的问候,却能触碰到我们内心最柔软也最敏感的那个点?这背后,其实是无数次的误解、无力的解释和被过度消耗的耐心。1. 概念的巨.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有