开放源码软件通常是有版权 (copyright ) 的,它的许可证可能包含这样一些限制:着意地保护它的开放源码状态,著者身份的公告,或者开发的控制。实际上,开源软件同时涉及源码本身和开发过程,涵盖了三个方面的意义:免费分发的源代码、模块化的体系和集市式的开发--在这种开发方式中,任何地方的任何人都可以参与最终产品的制造,三个方面互相之间有密切的联系,集市式的开发过程给开源软件以强大的改错能力,因为它将程序中的错误公开给了数量巨大的观众,他们都是潜在的改错者。另一方面,任何人都可以复用和发行开源软件的代码这一事实又支持了公众利益,因为创新的观念被整个集市所共享。另外,"open source"这一术语还被延伸到其他智力团体中,指那些可通过公开手段获得的智力资源,比如报纸、教学课件等。
开源即开放源代码指一种软件散布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或著作权所有者等拥有程式的源代码。有些软件的作者会将源码公开,此称之为“源码公开”,但这并不一定符合“开放源代码”的定义及条件,因为作者可能会设定公开源代码的条件限制,例如限制可阅读源代码的对象、限制衍生品等。
github是一个面向开源及私有软件项目的托管平台。
github的基本功能:
作为开源代码库以及版本控制系统,github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,github已经成为了管理软件开发以及发现已有代码的首选方法。如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。
github可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,github的独特卖点在于从另外一个项目进行分支的简易性。
为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将github称为代码玩家的MySpace。
在github进行分支就像在Myspace(或Facebook…)进行交友一样,在社会关系图的节点中不断的连线。
github项目本身自然而然的也在github上进行托管,只不过在一个私有的,公共视图不可见的库中。开源项目可以免费托管,但私有库则并不如此。Chris Wanstrath,github的开发者之一,肯定了通过付费的私有库来在财务上支持免费库的托管这一计划。
是的,我们正是这么计划的。通过与客户的接洽,开发FamSpam,甚至是开发github本身,github的私有库已经被证明了物有所值。任何希望节省时间并希望和团队其它成员一样远离页面频繁转换之苦的人士都会从github中获得他们真正想要的价值。
在github,用户可以十分轻易地找到海量的开源代码。
github的配置管理:
github上已自动配置的Mac笔记本电脑,一个工具,可以转换设置Linux或Windows机器。
BOXEN是github的自动化工具,设置和配置的Mac笔记本电脑软件开发或其他类型的工作,正在使用他们的开发人员,律师,设计师,付货人等。我们的想法是准备系统以自动方式和作为无差错尽可能用最少的干预工作。根据github上,与一个新的开发机器上,他的Mac系统成立,并准备在30分钟内提交代码。
BOXEN的基础上收集了大量的几十个木偶模块,使设置的各种软件,如卡桑德拉,MongoDB中,Java软件中,Python和Ruby开发中,节点,JS,nginx的,Skype公司,甚至MINECRAFT。虽然机器上配备了一个预配置,每个用户都可以调整它的配置应有的作用。
这个是特例,因为动态网站大多是脚本的,不经过编译,所以当然如果提供网站下载的话,那自然这些源代码就都可以看见没有问题。但是后来网站也考虑到了隐藏逻辑的问题,所以就出现现在商业的开发可以把前台显示和后台逻辑分离开,并且对后台逻辑进行编译,这样即使提供下载,就提供编译后的版本,别人只能用你已经写好的网站,但是改不了已经编译后的功能。
好了,所谓开源,就是指网站的逻辑源代码(实现功能这一部分)对所有人可见,不隐藏,不编译,可以供别人修改和改进,一般旁边都一行小字“仅供学习和参考”
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)