GitHub 的 App 会开源吗?

开源 移动开发
早在 2019 年的 GitHub Universe 大会上,GitHub 官方就宣布,他们即将推出移动端 App。而近日,GitHub APP 终于问世了。有热心的开发者留言建议,建议将 GitHub 的移动应用程序开源,大家一起来进行优化。对于此事,GitHub 的总监给出了回复。

早在 2019 年的 GitHub Universe 大会上,GitHub 官方就宣布,他们即将推出移动端 App。而近日,GitHub APP 终于问世了。

作为世界上最受欢迎的同性交友网站,在发布之后自然是喜大普奔,但在此之外,也有很多开发者提出功能不太全面,希望可以添加比如代码编辑之类的其他功能。

对此,有热心的开发者留言建议,建议将 GitHub 的移动应用程序开源,大家一起来进行优化。

对于此事,GitHub 的总监给出了回复。

GitHub 的移动应用程序会开源么?

[[320134]]

对于这个问题,GitHub 的工程总监 Ryan Nystrom 给出了两个回复:

"It's not right now。"

"Maybe."

开源是现在的一个大趋势,虽然有很多软件确实是不需要开源的,但作为全球最大的开源软件平台,自己的产品不应该开源么?

当今很多开源项目的开发都是在 GitHub 上或者通过 GitHub 进行的。对于这一开发者用来“吃饭”的工具,改善 GitHub App 的使用体验能有效的改善开发者的工作效率和方式,所以如果该项目真的开源,一定会吸引很多开发者参与其中。

但 Ryan Nystrom 之所以不急于开源或者不“期待”开源的原因,是他认为要想让开源项目蓬勃发展,既要有对其感兴趣的开发者群体,也需要该群体具备足够的能力来为项目作出贡献。

我们可以看一下 Linux。Linux 的开源之所以做的好,是因为每个开发者都需要这样的一个操作系统,并且有相当一部分人有能力对其作出贡献。

但根据业内分析师给出的分析,假如 GitHub 推出一个收费程序,那么开发者的兴趣就会大幅降低;如果 GitHub App 的开源项目只是通过加载项/扩展的方式进行开发,那么 GitHub 项目的开源就没有太大的意义。

所以 GitHub 总监说的“Maybe”,可能真的就是个“Maybe”了,毕竟没有人比他们更了解开源能带来多少价值。

开源的定义

开源的概念,在电脑诞生前就已经出现了。最早的开源可能是发生在「吃」的领域,为了生存下去、提升食物的品质,人类学会了分享食谱。而目前对于开源比较认可的定义,由 Debian 的创始人 Bruce Perens 提出:

自由再散布(Free Distribution):

  • 允许获得源代码的人可自由再将此源代码散布。

源代码(Source Code):

  • 程序的可执行档在散布时,必需以随附完整源代码或是可让人方便的事后获取源代码。

派生著作(Derived Works):

  • 让人可依此源代码修改后,在依照同一许可协议的情形下再散布。

原创作者程序源代码的完整性(Integrity of The Author’s Source Code):

  • 意即修改后的版本,需以不同的版本号码以与原始的代码做分别,保障原始的代码完整性。

不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups):

  • 开放源代码软件不得因性别、团体、国家、族群等设置限制,但若是因为法律规定的情形则为例外(如:美国政府限制高加密软件的出口)。

对程序在任何领域内的利用不得有差别待遇(No Discrimination Against Fields of Endeavor):

  • 意即不得限制商业使用。

散布许可协议(Distribution of License):

  • 若软件再散布,必需以同一条款散布之。

许可协议不得专属于特定产品(License Must Not Be Specific to a Product):

  • 若多个程序组合成一套软件,则当某一开放源代码的程序单独散布时,也必需要符合开放源代码的条件。

许可协议不得限制其他软件(License Must Not Restrict Other Software):

  • 当某一开放源代码软件与其他非开放源代码软件一起散布时(例如放在同一光盘),不得限制其他软件的许可条件也要遵照开放源代码的许可。

许可协议必须技术中立(License Must Be Technology-Neutral):

  • 意即许可协议不得限制为电子格式才有效,若是纸本的许可协议也应视为有效。

在软件产业中,免费软件、开源软件与自由软件的概念常常被不同程度地混淆起来,一般人并没有理顺其中的逻辑关系,造成了一定的误解,也引发了不少的错误决策。

但其实简单来说,免费软件不一定必然开源,开源软件不一定必然免费。这点大家都很好理解。

严格地来说,开放源代码软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件(开源软件)。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都是“自由”的。

虽说自由的态度就是要激励打破牢笼穿越围墙迎接思想的开放,努力分享展示自己的技术、原理,而不为了蝇头小利而对自己所谓的“技术”沾沾自喜而固步自封,但自由软件是否一定免费呢?

也不能一概而论。

每一位自由软件的贡献者当然是此软件的开发者和免费使用者,但对于普通用户而言,就不那么确定了。普通用户一般需要的不是软件而是服务,软件也许是免费,但是服务就从来都不是免费的了。

开源的价值

对于很多人来说,提到开源想到的就是「免费」和「非专业软件」。但实际上,随着开源的发展,现在的「开源」已经成为技术发展最好的生长模式之一。

可以这么说,如果没有开源,很多的科技企业都不能达到今天的行业高度,比如谷歌、Facebook 和我们前面提到的 Linux。

为了让更多人能够使用优秀的产品、让技术或者项目能够群策群力、快速的发展升级,都离不开开源带来的价值。

美国的科技企业之所以热衷于开源,和文化有很大的关系。如果一家企业没有开源项目,会被质疑这家公司只会一味的索取,而不为行业和生态做出应有的贡献。

所以从企业层面来说,开源一方面可以树立品牌形象,另外还可以通过开源项目吸引人才,招揽员工。往大了说开源对于企业甚至具有一定的战略意义。

比如 Android,最初就是通过开源和病毒式的传播一下就赶上了 iOS。

从个人层面来说,尝试开源也有着两个比较突出的意义。

第一是有助于提升自己的代码水平。既然是开源项目,那么在写代码的时候一定会尽量的展现自身最好的水平,这会逼着自己让代码更简洁、易懂。其次,你的代码开源后,别人也能针对性的给你提出一些建议,帮助你进行代码的优化。

其次可以通过开源项目展示个人的能力。虽然现在 GitHub 已经快被「别有用心的人」给玩坏了,但对于企业招聘来说仍然具有一定的参考价值。如果个人有个不错的开源项目,那么在面试的时候一定是个不错的加分项。

对于开源,你怎么看?

 

责任编辑:未丽燕 来源: segmentfault.com
相关推荐

2019-01-22 15:37:01

GitHub代码开发者

2022-12-08 08:16:59

ChatGPT开源商业化

2021-09-26 09:09:20

开源APP程序员

2019-05-29 13:59:03

GitHub开源搜索功能

2015-07-14 09:57:44

微软开源Windows

2023-02-13 07:23:03

APP窃取隐私

2013-08-09 10:41:58

2013-11-19 09:48:07

2022-01-10 16:25:18

GitHub语言开源

2018-10-31 09:30:23

人工智能物联网智能手机

2021-07-06 09:28:35

GitHub开发者开源

2019-04-01 11:17:47

AWS开源云服务

2019-09-26 14:56:18

GitHub 技术开源

2023-05-16 08:47:39

2012-05-09 10:22:24

iOS 5.1Web App存储方式

2014-07-14 16:05:04

开源中国GitHub

2019-05-07 15:49:27

AI人工智能艺术

2016-08-04 11:15:24

GitHubMySQLSchema

2019-08-13 09:45:45

GitHubJavaScript开发者

2014-11-13 14:32:53

点赞
收藏

51CTO技术栈公众号