信息化 频道

开源软件提升自我价值

 

Apache创始人 Brian Behlendorf

  大家好!我是APache的创始人。我记得我们刚起步的时候,实际上我最的理念应该说就是能够如何能够重新的创造开源的标准和软件,我们能够建立一个新的开源社区,同时我们能够增强效率,以及带来更大的价值,让所有的开源软件能够不断提升自己的价值。
 
    我们到底创造的什么样的惊奇?我们的网站上,大家可以看到这样的图片,蓝色的线代表了我们公司的发展速度,我们可以用其他的方法与客户进行联系。从1995年以来我们公司就已经非常成功的在运作,而且通过网站进行一些调查,问每一个单独的网站,你们使用什么样的服务器,我们会搜集到这样的结果,这张幻灯片下面一个红色的线代表微软,我们可以看到在服务器方面微软比我们相比而言,没有我们的使用率那么高了,而且应该说实际上我们占了市场2/3份额,当然这是一个方法,也就是说让我们用户来使用网站这样一种方法。
那么实际上我们有35种不同的具体的产品能够帮助我们的客户使用网站,在1995年的时候,我们就已经在从事互联网服务方面,那时候实际上互联网技术像都有一些标准,而且通过一个机构,叫做国际互联网工程师,可以帮助他们不断的交流,集思广益,有新的想法迸发出来,包括美国的一些政府,一些研究机构,一些大学,他们都参与进来,他们都尽力一些途径,建立这样的标准,同时找到如何协同合作的方法。
 
这之后我们还有一些工作的,那就是开源的一些产品,同时我们还在不断的修改,当然这对于我们互联网的份额增长是重要的,不是对于某一个公司所有,这个平台是大家共享的,1995有一些人士他们说我们要创造一个网页的服务器,当然是不断的改善,当时存在的情况,还有一个大学的学习,他们当时工作得非常好,而且不断改善这个情况,我们实际上应该说都能看出来其中的情况,包括一些特点和不足,我们还采取了他们改进的一些先进的技术,包括一些其他的软件开发商,他们都开始使用Email不断的协调,改善现在的情况,当我们从大学这方面听到足够的声音,方法,我们不断的申请执照,我们意味着在这些人当中合作的话,我们可以利用一些补丁,创造以大学研究机构为主的格局。
 
我们可以通过打包和其他方面进行改善,在很长一段时间这个服务器是可行的,在这样的模式之下我们进行了合作,我们应该说知道一些机构,我们也知道了我们目前的一些工作,目标是什么,比如说要能够浏览这个网页,包括个人都在不断的创新,能够带来新的技术,这样的模式,应该是每个个人都是有不同的组织工作的,这种模式,我们可以看到是Apache开始的时候,以利于发展的,之所以成立的情况。
 
应该说这是一个普遍的模式,比如说有一些人他们在个体的工作,他们在不断的组织工作,为不同公司工作,还有一些人员,他们可以邀请来,我们共同合作,那么最后是什么呢,他们对我们的现状是至关重要的,我们希望跟其他人交谈,找到一些不断的开发的原则,进行开源软件和产品的开发
 
但是我们看到这不仅仅是某一些,在网上发表,或者是公开这些产品的工作,实际上我们可以看到,每一个个人,他们能够将他们的努力,集中在一起,带来更大收益的方法,作为网站浏览或者是服务器的项目,我们应该建立HTTP这样的标准,这样我们才能够在平台基础上,建立一个开放的,可以获得的互联网,这样其他的互联网的技术可以共同使用的,所以我们可以看到这样的社区特点是什么呢,实际上就是可视性。
 
当然在很多方面都有所体现,首先就是开放过程的可视性,通过我们有一些讨论,看有一些什么样正确的方式,找到缺陷,故障等等,首先我们通过Email之间进行交流,不光是两个人之间,包括每一个对这个问题感兴趣的人都可以获得,这是第一方面,能够保证不仅是两个人进行这种交流,我认为这是关键的一点,还包括在首要问题方面,有可视性,当我们决定发现一些特色的话,首先我们要找到首先要做的工作,这样我们通过一些文件,同时可以通过每天都可以不断的在很多人进行交流,每个人都可以看到这个事实是什么,情况是怎么样,怎么样解决的,包括我们的问题是什么,我们人们如何解决这些问题的,这些软件可以帮助很多人同时获得这些答案。
 
这就是一些技术方面的人员可以通过这个方法进行交流,这可视性实际上就是要实施不同平台之间的交流,还包括我们有很多的讨论进行,找到正确的方法设计我们的产品,包括我们有不同的方法,当然每个人有不同的想法,这就需要我们在不断的专家之间进行很好的交流。让他们理解这些技术中间的共性是什么,同时还要在认可方面进行交流,找到为什么要做出这样的决定,朝着正确的方向发展,有什么方法。
 
同时大家都知道,我们要进行项目的话,不仅只是说一些网站的浏览者,使用者,他们关注的问题,同时还包括你是一个在开源项目中的其他人士,他们可能也要了解这样的问题,也许他们想知道,我可以使用这样的服务器做一些什么样的工作呢,有些人会问这样的问题,那就是问使用者你如何进行维护,你如何不断的改善你现在使用环境的,实际上我们用户可以互相帮助,他们对一个问题有共同的理解,在技术层面上能够达到互相的帮助。
 
当然这也是我们在开源项目中需要关注的一方面了,在此之外呢,如果有些人发现,我们发现一个故障以及如何解决这个故障可能就会有一些他们非常积极的,比如说进行一些补丁,或者进行合作,找到一些很好的解决方案,这样一些贡献应该说对这个社区的贡献,另外一点就是有些人他们会说,我使用这个很多次了,有些人是最开始的开源的一些代码,想有所改进,他们就可以进行一些开发方面的讨论,有些人他们有一些补丁的话可以贡献出来,他们实际上面临一些悲惨的局面,他们也拿出来进行讨论和改进。
 
实际上我们认为这就是开发商要关注的问题,他们关注这些具体的项目情况,还有一些志愿者他们也是有激情的,向我们展示他们如何利用软件,还有一些人并不是说,可能对一个公司来说,并不能很好的发现其中的问题,但是他能够对软件开发员来说做更多的贡献。
 
我认为非常重要的一点就是透明性的问题,也就是说任何人可能都能够利用,不管什么目的,都能够进行共同的努力,进行共同的合作,克服一些情况,还有一些问题,就是开发员拥有的就是一些开源软件的执照等等,都允许,我们有很多不段开展延伸的可能性,却是也就是说如果我给你一个软件,你可能对他进行修改,把这个修改版再给另外的人,每一个开放员的执照都需要,不同的版本都需要执照了。
 
这就是最开始的一个补丁的开发商,他们需要的,也就是说他们不断的能够使这个产业,向前发展,不段的升级,这就需要非常有动力,或者非常强大的力量支持,支撑我们开放员的发展,当然我们想到这种协同合作的成本问题,很多人他们知道,可能要花两个月的时间进行合作,但是有些人他们说不能够这么长时间一起合作,那么我们就必须进行投资,有时候只有这种投资才能维持他们长时间的合作,包括这种动力的领导力,实际上是非常不同的,有些人他们说,是一个开放员项目的领导者,但是他不能强迫其他人加入我们的项目。
 
所谓的领导力在开放员项目当中,是一个人他说服社区朝他认为正确的方向发展,作为一个例子,我想说的是Linux作为一个社区,很多人理解这样一个产品,或者是软件,如果说他进行Linux和内核的产品,很多人是朝不同的方向进行开发和发展,我们就不会有最终获得Linux的产品了。
 
所以这也是关注领导力,关于动力的这样一个方面的问题。现在我们必须要创造这样一种社区这样一个合作的问题,那就是我们如果有不同,比如说50种不同的版本,我们可能就不知道朝那个方向发展了,因为我们可能要考虑到不同各种公司的利益,比如说IBM,惠普,包括其他的公司,包括一些个人的开发商,他们都有个人的想法,这样我们就要做简化我们的流程,实际上听起来看起来很困难的,更不要说做,所以我们要有一个很好的方法进行实施。
 
这里我还想强调一下,可视性带来的影响,很多人使用这些技术,但是他们并不能进行的融入到开发的过程当中,还有很多公司需要与其他的产品或者机器零部件进行合作,Linux和其他产品,应用产品方面的一些界限,实际上很多时候我们都看到我们在不断的有一些团队,他们在其他的零部件基础之上建立更多产品,这实际上我想指的是在一个团队,在另外一个团队基础之上进行开发,如果我是一个开发商的话,我非常理解,我们一个基础软件,它的就能,我们必须要源代码,我有自由利用这个软件,改进,知道他是如何工作的,了解它的可用性,当然我还要了解开发商之间,他们能够进行交流,我也可以理解为什么会做出一些决定来发展我们的软件,那么我当然也可以改变我的想法做其他的事情。
 
如果我有这种可视性参与到这个开发过程当中。那么我们就能够在工程师之间不断的进行讨论,交流,这样可以避免出现一些有错误的,或者是不太可行的软件出现。
 
    作为一个公司,解决问题,要与其他人不同,但是大多数情况下不这样,大多数情况下你解决一个问题的方法,可能会发现很多人可能跟你有一些相似的途径,这就是一个核心点了,在这里我想说的就是你们都知道,我们在不断的涉及到Linux的应用问题,大部分的人可能并没有使用OpenOFFICE,很多公司认为这是微软项目的成本要高很多倍,实际上我个人是用OpenOffice,很多人不愿意使用这个软件,所以我们要有国际性的特点,不管是中国的特色是什么,比如说他们使用亚洲语言,实际上我们必须要有共同的工作为这个社区做出贡献,同时我们找到一些方法。
 
    最后我们看到这种可视性建立标准,建立开源软件,同时在这个软件基础之上建立共同的产品,当然这已经超过Linux,超过Apache的一个话题了,我认为在微软的领域,这是一个非常重要的话题,我们知道,实际上软件的发展,已经有好几十年的历史了,他是关于一个技术的问题,不仅仅是C语言的问题,同时我们发现我们现在解决的也是一个社会问题,如果你有一个代码,我想使用这个代码,那么我是否相信你的版本还是我的版本,实际上我们还要考虑到这个保密性的问题,实际上我们这个代码,我们知道我们开源社区也是一个非常关键的概念,让我们使用其他的代码,所以我们有时候能够建立一个可操作性的一个系统,但是有时候我们却不能,因为我们必须,比如说我们建立一个Apache的服务器,我们必须要了解他确实解决问题的能力是什么,微软是否有兼容性,是否能够让别人使用等等。
 
    从我个人观点来看,确实我们有一些开源的设施和产品,但是我们必须要使整个过程,使所有人获得能够使其他人也能够在他们社区使用我们产品;同时,我认为在中国也一样,我们能使每一个开源能够普遍的使用,当然不仅是在开发过程当中,还包括每一个个人,如果他不管你是大学,个人,或者是其他的开发商,是否能让这个人使用我们的代码。 
0
相关文章