GitHub 的 App 会开源吗?
早在 2019 年的 GitHub Universe 大会上,GitHub 官方就宣布,他们即将推出移动端 App。而近日,GitHub APP 终于问世了。
作为世界上最受欢迎的同性交友网站,在发布之后自然是喜大普奔,但在此之外,也有很多开发者提出功能不太全面,希望可以添加比如代码编辑之类的其他功能。
对此,有热心的开发者留言建议,建议将 GitHub 的移动应用程序开源,大家一起来进行优化。
对于此事,GitHub 的总监给出了回复。
GitHub 的移动应用程序会开源么?
对于这个问题,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 已经快被「别有用心的人」给玩坏了,但对于企业招聘来说仍然具有一定的参考价值。如果个人有个不错的开源项目,那么在面试的时候一定是个不错的加分项。
对于开源,你怎么看?
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
新基建下的大数据中心,“受益人”是谁?
2月23日新华时评发表文章《“新基建”重在抓好新机遇》,提出“经济下行压力持续加大,‘新基建’有助于稳投资、稳增长、促消费,是化解疫情不利影响,实现经济平稳有序发展的重要方法”。 在新基建的规划版图中,特意将大数据中心作为重要一部分提出,数据中心是存储和计算的基础设施,向上可以对接云计算、AI,向下直接对接到云计算、边缘计算、物联网等信息化模块,新基建带来的大数据中心建设热潮将对数据硬件赛道、云服务和中小企业产生巨大影响。 数据中心带动产业链上游,服务器硬件产业有直接利好 全球知名调研机构IDC发布的2019年第四季度及全年全球服务器市场调查数据显示,2019年全球服务器出货量和销售额分别为1174万台和873亿美元。与2018年相比,同比下降0.9%和1.7%。其中联想销量下降了10.4%。 此时新基建对于服务器硬件的需求是一场及时雨,2018年全球超大规模数据中心达到430个,其中美国约占40%,而中国仅占8%左右,从经济建设上看,大数据中心的建设有现实需求。 服务器是云计算的物理基础设施,随着新基建的全面展开,对于硬件的需求将会全面提振相关企业业绩水平。 数据中心成本构成,数据来...
- 下一篇
为什么说表面强大的微信生态已经开始枯萎?
感兴趣的朋友请您回想一下,最近一段时间以来,当你拿起手机的时候,你第一个先点开的软件是哪一个? 当微信没有未读消息的情况下,你还会主动点击微信亦或主动浏览朋友圈吗? 当你使用微信的时候,当与朋友收发完必要的来往消息之后,你会立即退出微信,然后浏览其他软件吗?比如淘宝、抖音、今日头条甚至是百度或UC? 当你使用微信软件的时候,你还会关注并留意推送过来的公众图文吗?你为什么不愿意在阅读自己订阅的内容? 你现在的朋友圈设置成了什么状态?是完全开放的?还是设置为仅限制三天的状态?亦或你早就已经关闭了朋友圈功能? 事实上,发展至今的微信其实并非一款单纯的社交软件,它是腾讯最重要的导流入口,所以它同时还具备支付、网购、健康,甚至借贷、保险、公益以及医疗等多重功能。但是腾讯为您准备了这么多功能,您日常使用的频次多吗? 答案是不多! 是的,你一天中使用微信的次数逐渐降低,而这也是腾讯最焦虑的问题节点。 其实,从用户开始关闭朋友圈功能开始,微信的整体生态就开始走向枯萎,而且腾讯至今自救乏力。 虽然微信用户不断增加,但是用户黏性不断降低,大家用微信除了收发必要的消息之外,就是在日常中支付购物费用。一旦完成...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度