开源的软件应用

2024-05-17

1. 开源的软件应用

OSI Certified标志被用于软件而不是许可证:人们需要知道的是组成软件的包和它们的许可证是开放的源代码。此外,单独的许可证可能不是货物,它由美国专利和商标局注册认证标志。但是软件的作者显然必须能够自我认证、在适当的时刻确认他们的软件是按照OSI Certified的开放源代码方式发布的。所以认证按照两步进行:* OSI提供一个满足开放软件源代码定义的开放源代码许可证表。这些许可证经过公众的详细审查并且被批准。与license-approval @opensource. org联系,它启动了获得许可证批准的程序。* 如果在软件上设置OSI Certified标志,可以从列表中选择一个获得批准的许可证并根据它发布软件,并且适当地为软件做标志。使用该标志你可以在这两种软件的发行上使用OSI Certified标志。该软件的发布包括并且达到了被批准的许可证列表中某个许可证的要求,或者该软件的源代码已经被明确地放到公众可以得到的位置。为了表明你的软件是按照OSI Certified发布的,你必须不加任何修改地把下面两者之一,按照下述方式加入你的软件。完整的声明是:This software is OSI Certified Open Source Software.OSI Certified is a certification mark of the Open Source Initiative.较简短的声明是:OSI Certified Open Source Software你的软件的每种发布形式都有自身的要求:* 如果软件以电子的形式发布(而不是实物(tangible)的形式),你必须把完整的声明放在README文件或者类似的、人类用户将首先阅读的文件中。* 如果软件以实物形式发布,你必须完成以下所有可行的任务。* 如果软件的发布包括印刷品,你必须把完整的声明加入该印刷品。* 如果软件发布在可擦写的媒体(例如软磁盘)、CD-ROM、磁带等媒体上,它们在物理上可以添加能够被人的裸眼所阅读的简短声明,而不影响它们的功能,你必须把完整的声明或简短的声明标注在该媒体上。* 如果软件的发布是一个包,从而使其中的声明不能被阅读,你必须在包的外面放置完整的声明。如果不能把以上任何条款用于发布,请与我们联系,我们将把你选择的位置加入本列表。

开源的软件应用

2. 开源软件有哪些

开放源码软件(open-source)是一个新名词,它被定义为描述其源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。开放源码软件通常是有copyright的,它的许可证可能包含这样一些限制:蓄意的保护它的开放源码状态,著者身份的公告,或者开发的控制。“开放源码”正在被公众利益软件组织注册为认证标记,这也是创立正式的开放源码定义的一种手段。

开放源码软件的主要特点
拥有源代码使顾客们可以控制那些他们的业务所赖以生存的工具。当一个open-source产品的开发者提高价格,增加了难以接收的限制,或者使用了一些使顾客不满意的方法,另一个不同的组织将使用该源代码开始开发新的产品以解决原来机构的问题。
顾客也能自己维护或找别人改进它以达到自己的要求。顾客控制软件,这在传统私有软件模式下是闻所未闻的事情。即使是一些财大气粗的顾客也可能缓解由于传统软件商自己内部的问题而导致严重的金融危机或公司被别的公司收购的风险。

3. 什么是开源软件

什么是开源软件? 1997春天,自由软件社团的一些领导者聚集到加利福尼亚州。这个社团包括EricRaymond,TimO’Rerlly,VA Research的总裁Larry Augustin等人,他们所关心的是一种寻找方式,来向以前躲避自由软件思想的人们推广这种思想。他们担心,自由软件基金会的反商业信条会让人们对自由软件敬而远之。 在Eric Raymond的坚持下,这群人同意他们所缺乏的是市场营销活动,这个活动的目的是赢得思想,而不仅仅是市场份额。最后讨论的结果产生了一个新的术语来描述他们所推进的软件:Open Source(开烦扰软件)。他们制定了一系列的指导原则,用来描述哪些软件可以有资格被称为开源软件。 Bruce Perens 为制定开源软件的定义做了很多基础性的工作。GNU工程的正式目标之一就是创造一个自由可用的操作系统,以作为平台来运行GNU软件。从软件引导(softwera boottstrapping)的传统观点来看,Linux已经成为那个平台,L inux是在GNU工具的帮助下创造出来的。Perens曾经是Debian工程的领导者,它所管理的Linux发行版本,只包括那些符合GNU精神的软件。Perens已经在“Debian社会契约”(Debian Social Contract)中明确地阐明了这一立场。开源软件的定义是“Debian社会契约”的直接产物,因此开源软件是与GNU的精神一脉相承的。 与GPL相比,开源软件的定义允许更大授权自由。特别是当软件中混合了专有软件和开源软件时,开源软件的定义允许在它们的基础上生成更大的混合。 结果是,开源软件许可证能令人信服地允许使用和再分开开源软件,而不必考虑补偿或者信用问题。举例来讲,你可以得到伟大的Netscape浏览器的源代码,并且把它作为连同另一个软件(可能是专有软件)一起发布出去,而用不着去通知网景(Netscape)公司。网景为什么会希望如此呢?原因很多,最引人注目的是,这样做可以为他们的客户端代码赢得更大的市场份额。这些代码与他们的商业软件一起工作得的非常好。从这个角度来说,奉送源代码是建立平台的一个很好的方式。这也是网景的人不使用GPL的原因之一。 这在社团中可不是小事一桩。1998年下半年,曾经有一场重要的争论对Linux威胁极大,几乎Linux社团破裂。裂痕是因出现了两个软件系统GNOME和KDE而引发的,它们两者都试图建立一个面向对象的桌面界面。一方面,KDE利用了Troll Technology公司的Qt库,其中的一部分属于专有代码,但是很稳定、很成熟。另一方面,GNOME决定使用GTK+库,尽管它不如Qt成熟,但是它是完全自由的库。 过去,Troll Technology不得不在使用GPL和维持他们的专有软件立场之间进行选择。GNOME和KDE的裂痕本来会持续下去。然而,在开源软件出现后,虽然Troll仍然控制他们想要的技术,但是Troll可以为希望Qt符合开源软件定义的人改变他们的许可证。Linux社团两个重要部分的裂痕看来要弥合了。]

什么是开源软件

4. 开源软件是什么

开源软件即开放源代码软件。            
开放源码软件《open-source》是一个新名词,它被定义为描述其源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。开放源码软件通常是有copyright的,它的许可证可能包含这样一些限制: 著意的保护它的开放源码状态,著者身份的公告,或者开发的控制。“开放源码”正在被公众利益软件组织注册为认证标记,这也是创立正式的开放源码定义的一种手段。
了解更多开源相关,去LUPA社区看看吧。

5. 开源硬件的开源硬件

指与自由及开放原始码软件相同方式设计的计算机和电子硬件。开源硬件开始考虑对软件以外的领域开源,是开源文化的一部分。这个词主要是用来反映自由释放详细信息的硬件设计,如电路图、材料清单和电路板布局数据,通常使用开源软件来驱动硬件。共享逻辑设计连同可程式逻辑器件之重构,也是一种形式的开源硬件。硬件描述语言代码的共享代替共享电路图。硬件描述语言通常用於系统晶片系统,也用於元件可程式逻辑闸阵列或直接在专用集成电路中设计。当分配时叫做硬件描述语言模块或 IP cores 。通过一个概念可以更容易理解开源硬件,那就是“开源软件”,它产生在开源硬件之前,安卓就是开源软件之一。开源硬件和开源软件类似,就是在之前硬件的基础之上进行二次创意。在复制成本上,开源软件的成本也许是零,但是开源硬件不一样,其复制成本较高。开源硬件延伸着开源软件代码的定义,包括软件、电路原理图、材料清单,设计图等都使用开源许可协议,自由使用分享,完全以开源的方式去授权方式。以往的DIY在分享的时候没有清楚的授权,开源硬件把软件惯用的GPL,CC等协议规范带到硬件分享领域。

开源硬件的开源硬件

6. java开源的工具

Eclipse 【Java开源 开发工具】Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数 —4千万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。CubicTest 【Java开源 Web测试工具】CubicTest这个开源的Eclipse插件能够让Web应用程序的测试变得更加易于设计,理解和运行,即使是对于非技术人员。 CubicTest采用一个图形用户界面来让用户对测试进行建模而不是编写测试脚本。 这个工具主要是针对基于测试驱动的Web应用程序开发,但也能够用于测试现有Web应用程序。Execute Query 【Java开源 数据库管理工具】Execute Query一个开源的数据库管理工具,具有:查询编辑器,数据库浏览器,生成ERD,比较数据类型,创建表格,创建索引,生成SQL脚本,导入/导出数据,导入/导出XML数据,连接管理等功能。MockCentral 【Java开源 测试工具】MockCentral提供一种利用mock对象进行测试的新方式。它把mock对象定义在测试代码之外的XML文件中并允许开发人员创建,访问这些mock对象,这能够让测试案例变得简洁并有利于组织和复用mock对象。Janissary 【Java开源 Web测试工具】Janissary在是一个简单的Web站点负载与性能测试工具。根据配置,Janissary可以创建并发或非并发的HTTP Request然后报告这些Request的状态与响应时间。JUnit 【Java开源 测试工具】JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。BlueJ 【Java开源 开发工具】BlueJ是一个专门为入门级教学设计的JavaTM 开发环境。它是由澳大利亚墨尔本Monash大学BlueJ小组设计并开发的。log4javascript 【Java开源 日记工具】log4javascript是一个基于log4j的JavaScript日记框架。STclass 【Java开源 测试工具】STclass是一个基于Contract(由于B. Meyer在Design by Contract:合约设计方式中定义)的单元测试框架,它是JUnit的一个克隆,但是可与JUnit相匹敌。该框架能够把测试结果生成XML的报表格式,然后加工处理成漂亮的HTML报表。STclass集成JIP剖析器,可以在测试期间进行statisitic与 profiling分析,并把结果加到HTML报表中。

最新文章
热门文章
推荐阅读