- 浏览: 786276 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (573)
- Java基础 (76)
- C++基础 (5)
- hibernate (5)
- struts (4)
- spring (1)
- webservice (7)
- AjaX基础 (0)
- JS脚本 (53)
- 正则表达式 (5)
- html脚本 (30)
- 数据库基础 (54)
- 工作相关 (49)
- 其他 (30)
- Linux (9)
- web服务器 (17)
- JSP (13)
- eclipse (6)
- 面试题相关 (20)
- XML (3)
- Apache common (2)
- 生活 (35)
- VMware (1)
- log4j (9)
- BeanUtils (2)
- 设计模式 (3)
- UML (1)
- UNIX (1)
- ibats (5)
- GT-Grid (17)
- ABAP学习 (17)
- ABAP (35)
- ABAP--ALV (11)
- ABAP--WEBDIMPRO (0)
- abap-sample (1)
- BEMS (2)
- flex (33)
- GIS技术 (3)
最新评论
1.GNU 和 Linux 的关系
GNU项目(GNU Project)开始于1984年,是由自由软件基金(Free Software Foundation,FSF)资助的一个项目,目标是开发一个自由的、UNIX类型的操作系统,称为GNU系统。GNU是“GNUs Not UNIX”的首字母缩写,目前使用Linux内核的各种GNU操作系统应用非常广泛。
GNU项目已经开发了许多高质量的编程工具,包括emacs编辑器、GNU C 和C++编译器(GCC和G++),这些编译器可以在任何计算机系统上运行。所有的GNU软件和派生工作均遵循GNU通用公共许可证(GPL)的规定。Linux的开发使用了许多GNU工具。Linux系统上用于实现POSIX.2标准的工具几乎都是GNU项目开发的,Linux系统的许多内容也是GNU项目开发的,其中包括:
符合POSIX标准的操作系统shell和外围工具。
C语言编译器和其他软件开发工具及函数库。
X Window窗口系统。
各种应用软件,包括字处理软件、图像处理软件等。
各种Internet软件,包括FTP服务器、WWW服务器等。
关系数据库管理系统等。
2. GPL
GPL(General Public License,通用公共许可证)是一种软件许可证,其主要目标是保证软件对所有的用户来说是自由的,和软件是否免费无关。GPL通过如下途径实现这一目标:
它要求软件以源代码的形式发布,并规定任何用户能够以源代码的形式将软件复制或发布给别的用户。
它提醒每个用户,对于该软件不提供任何形式的担保。
如果用户的软件使用了受GPL保护的任何软件的一部分,那么该软件就继承了GPL软件,并因此而成为GPL软件,也就是说必须随应用程序一起发布源代码。
GPL不排斥对自由软件进行商业性质的包装和发行,也不限制在自由软件的基础上打包发行其他非自由软件。
遵照GPL的软件并不是可以任意传播的,这些软件通常都有正式的版权。GPL在发布软件或者复制软件时声明限制条件。但是,从用户的角度考虑,这些根本不能算是限制条件,相反用户只会从中受益,因为用户可以确保获得源代码。
尽管Linux内核也属于GPL范畴,但GPL并不适用于通过系统调用而使用内核服务的应用程序,通常把这种应用程序看做是内核的正常使用。
如果准备以二进制的形式发布应用软件(像大多数商业软件那样),则必须确保自己的程序未使用GPL保护的任何软件。当然,如果软件通过函数调用使用了别的软件,则不受这一限制。目前,很多程序库受另一种GNU公共许可证(即LGPL)的保护,LGPL将在下面介绍。
Linux系统中关于GPL的声明保存在各目录下的名为COPYING的文件里,打开文件可查看GPL的内容。
3. LGPL
GNU LGPL(Library General Public License,程序库公共许可证)是一种关于函数库使用的许可证。LGPL允许用户在自己的应用程序中使用其他程序库,即使不公开自己程序的源代码也可以,但必须确保能够获得所使用的程序库的源代码,而且,LGPL还允许用户对这些程序库进行修改。
在Linux系统中,LGPL的内容保存在名为COPYING.LIB的文件中。如果安装了Linux内核的源程序,则在任意一个源程序目录下都可以找到COPYING.LIB文件的一个拷贝。
大多数Linux程序库,包括C语言的程序库(libc.a),都属于LGPL范畴。因此,如果在Linux环境下,使用GCC编译器建立自己的应用程序,程序所链接的多数程序库都是受LGPL保护的。如果想以二进制的形式发布应用软件,则必须要遵循LGPL的有关规定。
遵循LGPL的一种方法是,随应用程序一起发布目标代码以及可以将这些目标代码和受LGPL保护的程序库链接起来的makefile文件。在使用这类应用程序时,用户必须通过其他途径获得所需的程序库,然后根据makefile文件生成最终的可执行程序。
遵循LGPL的比较好的另一种方法是使用动态链接。使用动态链接时,应用程序在运行时调用函数库中的函数。应用程序本身和函数库是不同的实体,因而应用程序只需遵循动态链接库的使用方式,就可以像使用自己的函数一样使用函数库中的函数,而且,当函数库更新后,还可以直接使用更新后的函数库。在使用这类应用程序时,用户必须首先获得所需的程序库的动态链接库(如libc.a),然后直接运行应用程序即可。
必须注意,某些库和应用程序属于GPL而不是LGPL的范畴。例如,常用的GNU dbm(即 gdbm)数据库类的程序库就是非常著名的GPL库;GNU bison 分析器生成程序是另一个实用的GPL工具,因此,如果使用bison生成代码,所得的代码也适用于GPL。
在GPL范畴之外,也有gdbm 和 GNU bison 的相应替代物。例如,对于数据库类的程序库,可以使用Berkeley数据库db来替代gdbm;对于分析器生成器,可以使用yacc来替代bison。
GNU项目(GNU Project)开始于1984年,是由自由软件基金(Free Software Foundation,FSF)资助的一个项目,目标是开发一个自由的、UNIX类型的操作系统,称为GNU系统。GNU是“GNUs Not UNIX”的首字母缩写,目前使用Linux内核的各种GNU操作系统应用非常广泛。
GNU项目已经开发了许多高质量的编程工具,包括emacs编辑器、GNU C 和C++编译器(GCC和G++),这些编译器可以在任何计算机系统上运行。所有的GNU软件和派生工作均遵循GNU通用公共许可证(GPL)的规定。Linux的开发使用了许多GNU工具。Linux系统上用于实现POSIX.2标准的工具几乎都是GNU项目开发的,Linux系统的许多内容也是GNU项目开发的,其中包括:
符合POSIX标准的操作系统shell和外围工具。
C语言编译器和其他软件开发工具及函数库。
X Window窗口系统。
各种应用软件,包括字处理软件、图像处理软件等。
各种Internet软件,包括FTP服务器、WWW服务器等。
关系数据库管理系统等。
2. GPL
GPL(General Public License,通用公共许可证)是一种软件许可证,其主要目标是保证软件对所有的用户来说是自由的,和软件是否免费无关。GPL通过如下途径实现这一目标:
它要求软件以源代码的形式发布,并规定任何用户能够以源代码的形式将软件复制或发布给别的用户。
它提醒每个用户,对于该软件不提供任何形式的担保。
如果用户的软件使用了受GPL保护的任何软件的一部分,那么该软件就继承了GPL软件,并因此而成为GPL软件,也就是说必须随应用程序一起发布源代码。
GPL不排斥对自由软件进行商业性质的包装和发行,也不限制在自由软件的基础上打包发行其他非自由软件。
遵照GPL的软件并不是可以任意传播的,这些软件通常都有正式的版权。GPL在发布软件或者复制软件时声明限制条件。但是,从用户的角度考虑,这些根本不能算是限制条件,相反用户只会从中受益,因为用户可以确保获得源代码。
尽管Linux内核也属于GPL范畴,但GPL并不适用于通过系统调用而使用内核服务的应用程序,通常把这种应用程序看做是内核的正常使用。
如果准备以二进制的形式发布应用软件(像大多数商业软件那样),则必须确保自己的程序未使用GPL保护的任何软件。当然,如果软件通过函数调用使用了别的软件,则不受这一限制。目前,很多程序库受另一种GNU公共许可证(即LGPL)的保护,LGPL将在下面介绍。
Linux系统中关于GPL的声明保存在各目录下的名为COPYING的文件里,打开文件可查看GPL的内容。
3. LGPL
GNU LGPL(Library General Public License,程序库公共许可证)是一种关于函数库使用的许可证。LGPL允许用户在自己的应用程序中使用其他程序库,即使不公开自己程序的源代码也可以,但必须确保能够获得所使用的程序库的源代码,而且,LGPL还允许用户对这些程序库进行修改。
在Linux系统中,LGPL的内容保存在名为COPYING.LIB的文件中。如果安装了Linux内核的源程序,则在任意一个源程序目录下都可以找到COPYING.LIB文件的一个拷贝。
大多数Linux程序库,包括C语言的程序库(libc.a),都属于LGPL范畴。因此,如果在Linux环境下,使用GCC编译器建立自己的应用程序,程序所链接的多数程序库都是受LGPL保护的。如果想以二进制的形式发布应用软件,则必须要遵循LGPL的有关规定。
遵循LGPL的一种方法是,随应用程序一起发布目标代码以及可以将这些目标代码和受LGPL保护的程序库链接起来的makefile文件。在使用这类应用程序时,用户必须通过其他途径获得所需的程序库,然后根据makefile文件生成最终的可执行程序。
遵循LGPL的比较好的另一种方法是使用动态链接。使用动态链接时,应用程序在运行时调用函数库中的函数。应用程序本身和函数库是不同的实体,因而应用程序只需遵循动态链接库的使用方式,就可以像使用自己的函数一样使用函数库中的函数,而且,当函数库更新后,还可以直接使用更新后的函数库。在使用这类应用程序时,用户必须首先获得所需的程序库的动态链接库(如libc.a),然后直接运行应用程序即可。
必须注意,某些库和应用程序属于GPL而不是LGPL的范畴。例如,常用的GNU dbm(即 gdbm)数据库类的程序库就是非常著名的GPL库;GNU bison 分析器生成程序是另一个实用的GPL工具,因此,如果使用bison生成代码,所得的代码也适用于GPL。
在GPL范畴之外,也有gdbm 和 GNU bison 的相应替代物。例如,对于数据库类的程序库,可以使用Berkeley数据库db来替代gdbm;对于分析器生成器,可以使用yacc来替代bison。
发表评论
-
便携电脑使用详情
2011-04-03 18:30 865便携机 IBM T410I 配置:I3-380M /2G/3 ... -
Geoserver如何访问shapefile或PostGIS数据库
2010-08-20 13:11 2613数据库, Geoserver, PostGIS, shapef ... -
flex checkbox tree
2010-08-10 16:40 1991网上遇到很多需要在Tree控件添加CheckBox等控件的问题 ... -
flex读取post方式的request参数
2010-08-09 21:52 1486目标: 使用flex在不发送请求的情况下,从request中 ... -
flex向struts2(action)传输数据
2010-08-09 21:50 1580目标: 实现从flex页面向后台的服务框架(struts ... -
flex登录
2010-08-05 16:19 943<?xml version="1.0" ... -
计算机世界里的法律:软件使用许可的一些知识
2010-07-30 16:43 971在Internet上的软件一般 ... -
企业用户合法使用 GPL/LGPL 自由软件的指导(zz)
2010-07-30 16:39 1368本文给出了一些指导性 ... -
地图服务器的选择
2010-07-30 13:17 1528地图服务器的比较与选 ... -
MapServer学习笔记
2010-07-30 09:49 21691、MapServer简介 M ... -
Mapserver起步
2010-07-29 19:13 1879Mapserver起步 Mapserver是比较著名的 ... -
MapXtreme Java 版 --- 100% 纯Java 地图应用服务器
2010-07-28 13:42 1992企业可以通过地图实现 ... -
开源的地图服务器
2010-07-28 13:24 2039完全商业化的地 ... -
flexbuilder打包swc
2010-07-12 11:12 2734flexbuilder打包swc地址: http://blo ... -
flex 加载图片时的相关问题
2010-07-06 16:31 1184桌面背景布局 居中 平鋪 拉伸 DesktopBack ... -
OpenLayers项目分析
2010-07-02 14:39 1967摘要:OpenLayers 是由 Meta ... -
GIS 标准体系
2010-07-02 12:25 1445GIS 标准体系 我可没想 ... -
三种地理参考信息模型:WMS,WFS,WCS
2010-07-02 12:08 1148关键字: gis wms wfs wcs OGC ... -
Flex的几个值得借鉴的项目
2010-07-01 10:19 1770Flex的几个值得借鉴的项目 1、Merapi 经过近 ... -
台式电脑使用详情
2010-06-29 13:07 848台式电脑使用详情 联想启天 M5650 配置:AMD RS76 ...
相关推荐
### 开源协议比较:BSD, Apache...而GPL和LGPL许可证则强调软件的自由性和开放性,适用于那些希望维护社区共享精神的项目。理解这些许可证的区别,可以帮助开发者和企业做出更明智的选择,促进开源生态系统的健康发展。
LGPL(GNU Lesser General Public License)是GPL的一个变种,适用于库和框架。LGPL允许动态链接到它的软件保持非GPL状态,这使得商业软件开发者可以在不公开源码的情况下使用LGPL库。然而,如果修改LGPL库本身,...
本文将深入探讨五种主要的开源协议:GPL、LGPL、BSD、MIT和Apache。 首先,GPL(GNU General Public License)是最具影响力的开源协议之一,它确保了软件的“copyleft”属性,即如果软件的任何部分被用于其他项目,...
在众多开源协议中,有五种特别重要且被广泛使用的协议:BSD、Apache、GPL、LGPL和MIT。这五种协议各有其特点和适用范围,下面我将对它们逐一进行详细介绍。 首先,BSD协议(Berkeley Software Distribution License...
GPL 2.0协议带格式文本,估计做计算机的是绕不开该协议了,可以下载下来研究研究。
MediaInfo 用来分析视频和音频文件的编码和内容信息,是一款是自由软件 (许可协议:GNU GPL/LGPL)。
MediaInfo 用来分析视频和音频文件的编码和内容信息,是一款是自由软件 (免费使用、免费获得源代码,许可协议:GNU GPL/LGPL)。 支持格式:视频:MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1, MPEG-2, MPEG-4...
MediaInfo是一款非常实用的视频参数检测工具,除了可以对...MediaInfo 用来分析视频和音频文件的编码和内容信息,是一款是自由软件 (免费使用、免费获得源代码,许可协议:GNU GPL/LGPL)。MediaInfo_DLL为它的开发库。
- **定义与特点**:LGPL,又称为较宽松的GPL或次要GPL,它是GPL的一个变种,主要用于库文件和其他支持性软件。LGPL允许将库与专有软件一起链接使用,而不需要整个程序都遵循GPL的要求。 - **版本与更新**:LGPL最早...
总的来说,"jackson-core-1gpl、jackson-mapper-lgpl-1.9.13.jar包"为Java开发提供了强大的JSON处理能力,遵循LGPL协议,允许自由使用和修改。这两个jar包的结合使用,可以满足大部分JSON序列化和反序列化的需求,...
本文将分析几种常见的开源协议,包括GPL、BSD、MIT、Mozilla(MPL)、Apache 2.0和LGPL,帮助开发者理解它们的特点和适用场景。 首先,BSD开源协议赋予了使用者极高的自由度。它允许使用者自由地使用、修改源代码,...
除了GPL之外,GNU还推出了GNU宽通用公共许可证(GNU Lesser General Public License, LGPL),适用于库和开发工具,允许它们与其他非GPL软件链接,而不强制整个应用程序遵循GPL。此外,还有GNU自由文档许可证(GNU ...
Linux系统是一种开源、免费的类UNIX操作系统,由全球众多程序员共同设计和开发,适用于各种硬件平台,包括Intel x86系列...而GNU项目和GPL/LGPL的出现,推动了自由软件的发展,保障了用户对软件的自由使用和修改权利。
* Darkplaces:一个Quake2引擎的修改版本,使用GNU GPL2.1协议。 * ioquake3:Quake3引擎的免费版本,使用GNU GPL2.1协议。 * Orx:一个便携、轻量级、插件化、数据驱动的2D游戏引擎,使用zlib协议。 * Quake2:...
它是一套以GPL及LGPL许可证所发布的自由软件,也是GNU计划的关键部分,亦是自由的类Unix及苹果电脑Mac OS X 操作系统的标准编译器。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。原名为GNU ...
以下是对五个主要开源协议——LGPL、GPL、MIT、Apache 2.0和BSD的详细解读。 1. LGPL (GNU Lesser General Public License) LGPL,全称GNU较宽松公共许可证,主要用于库和框架。与GPL相比,LGPL允许非开源项目链接...
标题 "C/C++ Libraries (under GNU Lesser GPL)" 指的是一个开源的C和C++库集合,这些库遵循GNU Lesser General Public License(LGPL)。LGPL是一种自由软件许可证,它允许开发人员在非自由软件中使用这些库,只要...
它是一套以 GPL 及 LGPL 许可证所发行的自由软件,也是 GNU计划 的关键部分,亦是自由的 类Unix 及苹果计算机 Mac OS X 操作系统的标准编译器。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。...
PBL基于GNU LGPL 2.1 及更高版本(库),GNU GPL 2.1 及更高版本(测试代码),免费使用。 qlibc – 简单且强大的 C 库 qlibc是一个简单且强大的 C 库,当我们想要小且轻的库时,可作为 Glib 的替代品。qlibc基于...
这个压缩包"ffmpeg-n5.1-latest-win64-gpl-shared-5.1" 提供的是FFmpeg库的最新版本5.1,针对64位Windows操作系统,并且是基于GPL(GNU General Public License)许可的共享版本。下面我们将深入探讨FFmpeg库的关键...