Github重定义开源软件 代码将成下一种语言?

简介:

10年前,虽然开源软件尚未对科技行业造成翻天覆地的影响,但开源的Linux系统已经运行在华尔街及其他行业大量的计算机上,免费代码开始显露出巨大的威力——创造巨大的价值以及经济利益。但彼时开源社区规模尚小,如果有人想要开始一个新的开源项目,他们通常只能在有限的工作条件下进行,有时不得不借助 一个称之为SourceForge的网站的帮助。


9bd700aea65f4f70233f780fcffa70ad16f6d34a

GITHUB:征服谷歌、微软及其他巨头的服务

克里斯·戴博纳(Chris DiBona)有着一头长发,是谷歌的开源大师,他对此感到忧心忡忡,认为开源软件在一个网站上过于集中可能会为整个行业带来不可预知的风险。

因此,如同其他公司的做法一样,谷歌创建了自己的开源软件托管网站Google Code。公司在Linux和其他开源软件的基础上构筑了自己的在线帝国,而现在,其推出的Google Code让开源社区有了更多的选择。谷歌试图让开源可以持续发展下去。

然而,事情有了意料之外的变化,GitHub横空出世,并以极快的速度传播和发展。

今 天,在Google Code推出10年之后,谷歌宣布将关闭该服务。这一决定并不让人感到意外,在过去3年左右的时间里,成千上万的项目从其上转移出去。造成Google Code黯然退场的主要原因是如今大多数开源项目都将代码托管在GitHub上,后者由一家旧金山初创公司开设。从Google Code转移的项目中的绝大多数栖身于GitHub。一些声音认为,谷歌出于自私的目的创建了Google Code,公司想要控制一切,或者说,想要让尽可能多的数据保存在自家的机器上。最终,人们发现,GitHub提供了更多的价值。GitHub以一种更加 彻底的方式让软件开发过程民主化,在这一方面,其远比SourceForge、Google Code或其他类似服务做得更好,而这是软件开发世界里人们最为看重的东西。

开发人员的乐园

推 出7年后,GitHub拥有近9百万注册用户,而每月另有大约2千万未注册用户造访该网站。依据网络流量监测网站Alexa的数据,GitHub目前位列 全球最受欢迎的100个网站之一。对于一个通常只有开发人员才使用的网站,这是惊人的数字。“如果你查看前100名的网站,”GitHub战略副总裁布莱 恩·道尔(Brian Doll)说道。“绝大多数都是社交媒体类。”

具有讽刺意味的是,伴随着GitHub的成功,开源世界反而回到了采 用中央资料库的集中模式。但这一次,戴博纳和大多数开发者都对此感到满意。他们觉得采用集中制可以让协作变得更加容易。得益于GitHub独特的运作方 式,集中制不会导致SourceForge面临的问题。

将所有代码保存于一处,反而让GitHub变得无处不在。上述悖论显示了开源软件之美,也体现了其对未来科技的重要性。

业界大佬的选择

如 何解释上述悖论?我们需要看看Git,这是GitHub的版本控制软件。旨在更好的构筑Linux ,其创建者林纳斯·托瓦兹(Linus Torvalds)于2005年创建了Git。借助Git,人们可以在相同的Linux代码上同时开展工作,无需担心影响到其他人。

简单来说,Git让每个人都可以下载一份Linux源代码到自己的机器上并自由修改,然后上载至中央Linux资料库。这样,每个人的改动都可以无缝整合。“这就是Git厉害的地方,”戴博纳说道。“而GitHub的厉害之处是让每个人都可以理解这种运作机制。”

GitHub 让所有软件项目都能像Linux项目一样工作,普通的开发人员也极易上手。现在,包括谷歌、Facebook、Twitter甚至微软在内的业界巨头都将 自己的开源项目托管于GitHub之上。近来,微软陆续对旗下某些重要产品开源,他们选择了GitHub而非自家的开源站点CodePlex来托管上述代 码。

据微软内部一位资深人士称,虽然存在诸多选择,但对于像Microsoft .NET这样的项目来说,GitHub是唯一适合的地方。

公私分明

得益于戴博纳口中“Git的厉害之处”,开发者社区可以与GitHub保持距离。开发者不但可以下载代码至本地,而且可以任意决定代码的公开范围。Git和GitHub同样可以用作专有软件开发的目的。开发者随时可以决定代码公开与否。

Go作为谷歌新时代编程语言,在GitHub上就处于完全公开的状态。而一个称之为Kartes的项目则处于非公开状态,但其会支持对应的公开项目Kubernetes的发展。Chrome浏览器则完全处于谷歌非公开Git服务的托管下。

在微软也是同样情形。公司内部通过Visual Studio和Team Foundation Server来使用Git,同时通过GitHub分享代码。在微软的影响下,大约20%的公司客户都在某种程度上使用Git。

时至今日,软件开发者社区的规模已不可同日而语。从GitHub在全球网站的排名也可以看出,代码正在变得与文字同等重要。

而随着项目涉及的开发者数目越来越多,GitHub也正在考虑部署新的管理工具。例如,托管在GitHub上的开源项目Angular有数万人参与其中。

目前有不计其数的免费代码正托管于GitHub上,它们最终将以更快的速度改变我们的世界。
文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
7月前
github克隆代码加速
github克隆代码加速
134 2
|
8月前
|
机器学习/深度学习 算法 程序员
GitHub:代码世界的来世今生
GitHub:代码世界的来世今生
64 1
|
8月前
|
人工智能 运维 Linux
一文了解IntelliJ IDEA如何使用git上传代码到GitHub(附常见问题解决方案)
一文了解IntelliJ IDEA如何使用git上传代码到GitHub(附常见问题解决方案)
433 0
|
4天前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
3月前
|
开发工具 git Python
代码管理记录(二):Github代码上传实操
本文是关于如何使用Git将本地代码上传到GitHub的实操指南。介绍了Git的基本概念、安装方法,并通过详细的步骤指导用户从GitHub创建仓库到使用Git命令初始化、添加、提交代码,最终将代码推送到远程仓库。同时,还汇总了一些常见的错误及其解决方法。
67 2
代码管理记录(二):Github代码上传实操
|
5月前
|
存储 安全 API
GitHub主要仓库泄露访问令牌,代码与云环境面临风险
GitHub主要仓库泄露访问令牌,代码与云环境面临风险
GitHub主要仓库泄露访问令牌,代码与云环境面临风险
|
5月前
|
安全 网络协议 Shell
Github代码仓库SSH配置流程
这篇文章是关于如何配置SSH以安全地连接到GitHub代码仓库的详细指南,包括使用一键脚本简化配置过程、生成SSH密钥对、添加密钥到SSH代理、将公钥添加到GitHub账户以及测试SSH连接的步骤。
110 0
Github代码仓库SSH配置流程
怎样在GitHub上建立仓库、以及怎样实现分支代码的合并。保姆级别的教程
这篇文章是一份详细的GitHub使用教程,介绍了如何在GitHub上创建仓库、创建分支、编辑和发布更改内容、发起拉取请求以及合并分支的操作步骤。
怎样在GitHub上建立仓库、以及怎样实现分支代码的合并。保姆级别的教程
|
5月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之从GitHub下载代码失败是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
7月前
|
Shell 测试技术 网络安全
【GIT】如何在GitHub上向一个开源项目贡献代码?
【GIT】如何在GitHub上向一个开源项目贡献代码?
82 5