`
xyz20003
  • 浏览: 292822 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论

使用ext-2.1,将js文件压缩是否违反GPL协议。

阅读更多
给js加上GPL协议似乎没有必要,用户浏览网页的时候,所有js源码都会下载到客户机解释执行。不过为了减少网络开销,咱们一般要在系统发布时对所有js进行压缩,去掉注释,去掉无用的空白,甚至对局部变量名进行混淆。这种压缩方式从某种意义上起到了源代码加密的功能,使js代码的可读性变差了,尤其是对局部变量名混淆这一步,让人们很难通过变量名去猜测该变量的功能。

其实还有一种方法,把js文件转换成eval的形式,但听说有性能问题。这种加密方式在网上随便就可以找到解密的脚本,将代码转换到“混淆局部变量”的阶段,所以咱们把这种当作“混淆局部变量”来讨论应该也没什么问题。

现在的问题是,如果使用了ext-2.1就需要将html和js依据GPL协议开源。如果只提供压缩后的js源代码,是否符合GPL协议。压缩后的js源代码也算是源代码的一种形式吧?

如果别人来索取源代码,我能不能声称:“有注释,未压缩的js是我们内部使用版本,不是发布版本,所以不使用GPL开源。”


问题重点在于,我是否可以只提供“压缩后的js代码”,我是否可以拒绝其他人索取“有注释,未压缩的js代码”的要求。
分享到:
评论
3 楼 chinata 2008-05-08  
xyz20003 写道
给js加上GPL协议似乎没有必要,用户浏览网页的时候,所有js源码都会下载到客户机解释执行。不过为了减少网络开销,咱们一般要在系统发布时对所有js进行压缩,去掉注释,去掉无用的空白,甚至对局部变量名进行混淆。这种压缩方式从某种意义上起到了源代码加密的功能,使js代码的可读性变差了,尤其是对局部变量名混淆这一步,让人们很难通过变量名去猜测该变量的功能。

其实还有一种方法,把js文件转换成eval的形式,但听说有性能问题。这种加密方式在网上随便就可以找到解密的脚本,将代码转换到“混淆局部变量”的阶段,所以咱们把这种当作“混淆局部变量”来讨论应该也没什么问题。

现在的问题是,如果使用了ext-2.1就需要将html和js依据GPL协议开源。如果只提供压缩后的js源代码,是否符合GPL协议。压缩后的js源代码也算是源代码的一种形式吧?

如果别人来索取源代码,我能不能声称:“有注释,未压缩的js是我们内部使用版本,不是发布版本,所以不使用GPL开源。”


问题重点在于,我是否可以只提供“压缩后的js代码”,我是否可以拒绝其他人索取“有注释,未压缩的js代码”的要求。


应该是可以,虽然这个如果人家要告你的话,处于灰色地带。
重要的是你必须证明这个代码是可以运行的,因此你必须提供编译或者使用说明(否则你怎么证明代码和源码一致呢?)
如果你在乎维护2套源码又愿意用这种无聊的东西来浪费时间,也随便你
2 楼 csf178 2008-05-08  
出现了一个准备钻空子的 哈哈
这样是不行滴
1 楼 hax 2008-05-07  
这两个问题是没有直接关系的。

相关推荐

    RXTX-2.1-7

    在"rxtx-2.1-7-bins-r2"压缩包中,除了上述的文件外,通常还会包含其他平台的库文件,例如Linux下的.so文件或者Mac OS X下的.dmg文件,以确保RXTX能在多种操作系统上运行。这些库文件的目的是为了与各自平台的硬件...

    qttelnet-2.1_1

    4. **许可证文件**:开源项目通常会有一个包含许可协议的文件,如GPL、MIT或Apache License等,它规定了他人可以如何使用、修改和分发这个软件。 5. **文档**:可能包括README文件,介绍如何安装、配置和使用qt...

    js ext-4.0.7-gpl

    `js ext-4.0.7-gpl` 标题暗示了这是一个关于ExtJS的开源版本,版本号为4.0.7,遵循GPL协议。这个版本的发布对于开发者来说,意味着他们可以利用此框架构建企业级的Web应用,并且可以深入研究源码,对其进行定制以...

    ext-7.0.0-gpl.zip

    标题中的"ext-7.0.0-gpl.zip"是一个软件扩展或库的压缩包,遵循GPL(GNU General Public License)开源协议。这通常意味着它是一个免费的、可修改的软件,用户可以查看源代码并根据需要进行定制,但必须保留原始许可...

    jaxws-api-2.1-1

    7. **许可证文件**:"jaxws-2.1-license.txt"通常包含了软件的许可协议信息,详细规定了该软件的使用、复制、分发等权利和限制。对于JAX-WS,这可能是 CDDL (Common Development and Distribution License) 或者 GPL...

    ext-4.2.1-gpl.7z

    标题中的"ext-4.2.1-gpl.7z"指的是一个开源的软件扩展库,采用GNU General Public License(GPL)版本4.2.1发布,并被压缩为7z格式的文件。7z是一种高压缩率的文件存档格式,由7-Zip软件创建,能有效地存储大量数据...

    activemq-transport-jxta-2.1.jar.zip

    用户可以通过解压`activemq-transport-jxta-2.1.jar.zip`文件,并将`activemq-transport-jxta-2.1.jar`添加到项目类路径中,来启用ActiveMQ的JXTA支持。 `license.txt`文件通常包含了软件的许可协议,对于开源项目...

    ext-4.0.7-gpl

    标题“ext-4.0.7-gpl”指的是Ext JS框架的一个特定版本,这是一个流行的JavaScript库,用于构建富客户端Web应用程序。这个版本是4.0.7,而且它带有GPL(GNU General Public License)许可,这意味着该软件是开源的,...

    EXT-4.0.2a-gpl.zip

    EXT-4.0.2a-gpl.zip是一个包含EXT文件系统的源代码压缩包,它代表了EXT文件系统的一个特定版本,即4.0.2a。EXT,全称为Extended File System,是Linux操作系统中广泛使用的日志式文件系统之一。EXT-4.0.2a-gpl.zip的...

    ext-4.0.0-gpl.zip EXT4.0第二卷

    这个名为“ext-4.0.0-gpl.zip”的压缩包,显然是EXT4.0源代码的开源版本,遵循GPL(GNU General Public License)许可协议,允许用户自由使用、修改和分发。 EXT4文件系统的主要特点包括: 1. **大文件支持**:EXT...

    Extjs 6.2 最新sdk ext-6.2.0-gpl.zip

    全面的核心框架,具有最新的Javascript标准支持 新的漂亮组件和主题,以创建漂亮的企业应用程序 现代工具链,用于构建优化,高性能,通用的应用程序 用于可视化构建应用程序的生产力工具,可视化地显示应用程序和IDE...

    ext-4.0.0-gpl.zip EXT4.0第一卷

    ext-4.0.0-gpl.zip EXT4.0共二卷 ext-4.0.0-gpl.zip EXT4.0第一卷

    ext-4.0.0.0-gpl.zip

    含有ext-4.0.0.jsb2文件,这个插件可以装在ext-4.0.0.0-gpl.zip的根目录下面,实现对ext代码的实现

    ext-4.2.1-gpl.rar

    ext-4.2.1-gpl.rar

    ext-5.1.0-gpl-开源版本

    在压缩包"ext-5.1.0-gpl.zip"中,"ext-5.1.0"目录包含了EXTJS 5.1.0的所有源码和资源文件,包括JavaScript库、CSS样式、图像资源以及示例代码等。开发者可以通过解压并引入这些文件,结合自身的项目需求进行集成和...

    ext-4.2.1-gpl.zip

    ExtJs4环境,不包括例子,太大了没法上传

    ext-6.0.1-gpl(part1)

    ext-6.0.1-gpl附带sencha cmd安装程序和教程

    ext-4.0.7-gpl_extjs_

    ext-4.0.7-gpl官方发布包,开发源代码 各种例子

    ext-6.0.1-gpl(part4)

    ext-6.0.1-gpl附带sencha cmd安装程序和教程,一共四部分

Global site tag (gtag.js) - Google Analytics