燕之庐网站建设 - 优质网站设计公司

Archive for the ‘开源动态’ Category

开源动态

2010/03/04

Symbian提前完成有史以来最大开源移动工程

Tags:

Symbian协会近日完成了世界 上应用最为广泛的智能手机 平台–Symbian平台的源代码开源发布。Symbian平台迄今已发展了10余年,全世界设备投放数量达到3.3亿,该平台现在已经实现完全开放,平台源代码可供免费使用。从私有 代码到开源代码,这一市场领先平台实现了软 件历史上的最大转变。这一过程已经提前4个月完成,使得从事基于创新和开放的自由移动开发成为可能。www.phpchina.com

无论是为了移动设备还是为了其他完全不同的东西,现在任何个人或组织都可以获取、使用并修改代码以实现任何目的。这项战略性转变为Symbian生态系统提供了更大的开发潜 力,更快上市的能力和免费开发平台的机会。Symbian平台的开放承诺还包括未来计划的完全透明,如发布2011年前(包括2011年)的平台发展蓝图 和规划功能。现在任何人都可以 影响平台发展蓝图并贡献新力量。www.phpchina.com

Symbian协会执行理事Lee Williams指出:”开发社 区现在有能力塑造移动产业的未来,目标就是实现全球范围的快速创新。Symbian协会成立之际,我们制定的目标是在 2010年中之前完成平台的开源发布,但是,凭借我们员工和成员公司的不断努力和卓越奉献,我们提前完成了目标。”www.phpchina.com

IDC分析师John Delaney 说:”为开发者提供独一无二的东西对于智能手机平台来说日益重要,而世界上应用最为广泛的智能手机平台实现开源正好可以满足这一需求。见证行业中这一重大 事件的发生将令人无比激动。”www.phpchina.com

包含Symbian平台开源代码的所有108个模块现在都可以根据Eclipse公共许可协议和其他开源许可协议从Symbian开发者网站 (tiny.symbian.org/open)下载。此外,创建应用程序(Symbian开发者工 具)和移动设备(产品开发工具)完整的开发工具也可供下载。这些开发工具可与最新平台版本Symbian^3兼 容,Symbian^3平台现在已经实现完全开源,并将在今年第一季度成为具备”完善功能”的平台。

网站建设

开源动态

2010/03/03

BBC阻止开源软件访问iPlayer视频服务

Tags:

BBC在它的iPlayer视频服务上面加入了一个 SWF验证功能,这项内容保护机制 阻止用户通 过开源软件访问iPlayer视频服务。

Flash使用名叫Real-Time Messaging Protocol(RTMP)的协议保护视频内容,Adobe没有公开RTMP技术,因此不太可能创建一个完全兼容的RTMP开源客户端。SWF验证便属 于RTMP安全措施之一。一个启用SWF验证的RTMP流视频服务器将中断未能提供授权钥匙的客户端连接,这一限制的目的是 确保只能访问特定的SWF文件,阻止第三方软件下载。

虽然SWF验证主要目标是防止盗版,但它还连带阻止了用户通过开源浏览器合法 浏览。流行的开源软件XBMC媒体中心的用户已经发现无法播放iPlayer内容。

北京网站建设公司

开源动态

2009 LQ开源软件获奖名单

Tags:

LinuxQuestions.org的注册成员评出了2009年开 源系 统软 件方面的佼佼者。在这里我仅对各个奖项简单翻译了一下。

2009 LinuxQuestions.org Members Choice Award Winners

The polls are closed and the results are in. We had a record number of votes cast for the ninth straight year. Congratulations should go to each and every nominee. We once again had some extremely close races and a couple multi-year winners were unseated. The official results:

Desktop Distribution of the Year(桌面系统) – Ubuntu (30.13%)
Server Distribution of the Year(服务器) – Debian (24.24%)
Security/Forensic/Rescue Distribution of the Year(系统恢复盘) – BackTrack (43.48%)
Database of the Year – MySQL数据库) (60.81%)
Office Suite of the Year (办公套件)- OpenOffice.org (90.76%)
Browser of the Year(浏览器) – Firefox (65.21%)
Desktop Environment of the Year(桌面环境) – Gnome (41.96%)
Window Manager of the Year(窗口管理器) – Compiz (23.10%)
Messaging App of the Year(即时通讯) – Pidgin (48.74%)
Mail Client of the Year(邮件客户端) – Thunderbird (53.48%)
Virtualization Product of the Year(虚拟机产品) – VirtualBox (67.43%)
Audio Media Player Application of the Year(音频播放器) – Amarok (38.81%)
Audio Authoring Application of the Year(音频编辑器) – Audacity (77.26%)
Video Media Player Application of the Year(视频播放器) – VLC (46.05%)
Video Authoring Application of the Year(视频编辑器) – FFmpeg (21.94%)
Multimedia Utility of the Year (多媒体工具)- GStreamer (32.84%)
Graphics Application of the Year(图像软件) – GIMP (66.48%)
Network Security Application of the Year(网络安全) – Nmap Security Scanner (29.85%)
Host Security Application of the Year(主机安全) – SELinux (39.26%)
Network Monitoring Application of the Year(网络监视) – Nagios (51.11%)
IDE/Web Development Editor of the Year(IDE/网页开 发) – Eclipse (23.28%)
Text Editor of the Year(文本编辑器) – vim (35.29%)
File Manager of the Year(文 件管理器) – Nautilus (24.92%)
Open Source Game of the Year(开源游戏) – Battle for Wesnoth (15.45%)
Programming Language of the Year(编程语言) – Python (27.59%)
Backup Application of the Year(备份工具) – rsync (48.99%)
Open Source CMS/Blogging platform of the Year(开源内容管理系统/博客平台) – WordPress (45.20%)

If you have any questions or suggestions on how we can improve the MCA’s next year, do let me know. Visithttp://www.linuxquestions.org/questi…ice-awards-91/for the full poll results.

北京网站建设公司

开源动态

2010/02/06

Symbian OS周四起将完全开源和免费

Tags:

2月4日消息,据国外媒体今日报道,Symbian Foundation表示,从周四起,Symbian将开 源其绝大部分软 件用 户将可免费下载。

Symbian Foundation基金会创建于2008年,是最大的Symbian系列软件制造者,现已被手机制造商诺基亚收购。

虽然目前 Symbian软件全球有超过3.3亿的用户,但在技 术和市场份额上面临来自苹果iPhone和谷歌Android的强力竞争,因此诺基亚决定开源并免费提供 Symbian OS,此举明显是为提高其智能手机市场占有率、影响力和使用率。

这种通过免费来推广使用的做法在IT科技行业并不少见。谷歌的Android就 是免费的。

Symbian Foundation执行董事Lee Williams表示,目前Symbian操作系统仍占统治地位,而从现在开始,大部分开 发人员将因此可以做的更多。

北京网站建设公司

开源动态

2010/01/29

用telnet的方法导出、导入论坛mysql数据库

Tags:

1。这里介绍的方法主要用于VB等论坛。

用TELNET的方法可将现有的服务器上的数据库导出,然后再将此数据导入另一台服务器,用这个方法可以实现论坛在两个服务器的迁移; 或者将服务器上的现有论坛搬到本机,来进行增加功能及 HACK 的安装调试, 而不会影响服务器上的论坛的运作。

我已用这个方法将我的整个网站(有论坛、新闻发布、及其他个人的主页)的文件和数据库全部搬到本机,可以实现文件和数据库的备份,同时可以在本 机进行多种功能、多操作系统的的测试。

2。有多种方法可以实现 mysql数据库的导出、导入,但我用PHPmyadmin没有成功,也许是数据库大于5MB的原因吧。没有进行详细分析。

3。运行telnet 程序连接本地机与远程机:

如果你用的是windows 系统:开始(Start)–〉运行(Run),键入telnet,你将看到:

telnet>

这是telnet提示符。它表明程序已运行并等待你录入一个命令。若要连接一台远程机,录入open,并附上远程机的地址及端口即可。例如:

open XXXX.com 23

提供用户名和密码

login: XXXXXX

Password:XXXXXX

我朋友所使用的Web Host服务器是Unix系统,要用SSH(Secure Shell)来连接,另一台使用的是SecureCRT3.3.

4.连接到主机后,备份现有的数据库:

键入指令 mysqldump -uUSERNAME -pPASSWORD databasename > /你的路径/dump.sql

这个过程大约30秒钟,取决于你的数据库的大小。

之后,检查一下/dump.sql文件是否存在。

5。传送dump.sql文件到新的服务器或本机:

可以用FTP的方式传送。不用详细讲了吧。

6。在新的服务器上复制VB论坛:

运行telnet 程序连接服务器(远程机)

键入指令 mysql -uUSERNAME -pPASSWORD newdbname < /你的路径/dump.sql

之后,可以用PHPmyadmin检查数据库导入的情况。

重新配置好 admin/config.php 文件,上传到服务器.

运行admin/index.php 进入管理员控制面板,–〉论坛选项 ,进行论坛设置:论坛URL,主页的URL等信息,然后“保存修改”。

OK!全搞定!

网站建设

产业新闻, 开源动态

2010/01/05

开源转换软件:StaxRip 1.1.3.0 Final发布

Tags:

StaxRip 可以转换你的DVD,DVB 或者DV 乃至几乎所有的视频文件,而且它是一个开源并且完全免费的软件.
它不但支持MP3、MP4等常见文件,还支持AC3, AAC, Ogg Vorbis等音频文件以及AVI, MKV,DIVX等格式的转换.

下载:StaxRip 1.1.3.0 Final

Added new GUI for audio with AC3 support using eac3to. The new GUI will serve as foundation for better Blueray and AVCHD support in future versions
Added possibility to use shift key to crop 8 pixel instead of 2 pixel while cropping using mousewheel. Added menu item in crop dialog to remove all cropping. Added DAR display in crop dialog status display
Added display for target DAR, PAR and SAR in main dialog (SAR = Storage Aspect Ratio). Added display for Source DAR in main dialog. Mod values are only displays when differ from 16/16
Added DGMPGDEC 1.5.7 and changed it to run hidden reporting progress to StaxRip
Improved user interface to match Vista/Win 7 look and feel.
Improved handling of various input formats
Updated mkvtoolnix to version 3.0.0
Updated x264 to r1376
Moved preparers from project options to settings
Fixed application dialog slow loading, high memory usage and crashes on faulty systems
Fixed not taking notice of script changes resulting in different image size, framerate, length etc.
Fixed bug force film detection being broke
Various other minor fixes, improvements and updates

北京网站建设公司

产业新闻, 开源动态

2009/12/31

Oracle性能调整与优化(三)

Tags: ,

正如在第1和第2部分中提到那样,有几个相对容易的改善性能的步骤你可以采取,这些步骤其中一个涉及到使用自动化工具“指导”你编写SQL语句,有许多生产性能分析或性能调整工具的厂家,在接下来的文章中,我们将对它们中的一个进行考察。

Quest Software

许 多DBA和开发者使用一个名叫Toad的工具,它出自Quest Software公司,按照Quest Software网站上说法,Toad用户社区大约有500,000数量的用户,Toad的一个特色就是它有能力优化SQL查询,换句话说,Oralce 公司还没有占领调整顾问类型工具的市场。

关于顾问工具你有多种选择,理解它们是做什么的,如果你没有工作在生产或开发环境中你使用它们做什么?可能仅仅是喜欢,即使你处于一个开发环境,但你可能也没有使用到非常大的数据,本文的焦点集中在如何产生大量的数据,我们将介绍Quest Software的另一个产品:DataFactory for Oracle

DataFactory

DataFactory的用途是为多种数据库平台快速创建有意义的测试数据,包括Oracle、DB2、Sybase以及ODBC兼容的数据库,正常情况下,每服务器零售价为595美元,在Quest Software的网站有一个可免费使用30天的版本可下载。

要获得这个软件(目前是5.5.0版本),你必须用真实的电子邮件地址注册,hotmail和gmail会被拒绝的,一旦你注册成功了,你将收到一封包含密钥的邮件,这个密钥用于解锁应用程序,开始30天的试用。

安装过程是相当简单的,如果你运行了微软的AntiSpyware,你可能会收到一个或多个错误,禁用掉实时保护后重新安装。

创建辅助对象

了解应用程序较好的方法是使用它的辅助对象,一般的过程有:

1、创建一个项目

2、在方案中创建表

3、运行脚本载入数据

不幸的是,在禁用了系统名参考的约束上获取刷新最好的方法是使用内置的辅助对象,使用一个反复的处理方法,可以禁用掉所有约束直到载入脚本运行不出现错误为止,然而,当Quest运行时修复了这个bug时,我可以标识和禁用这个约束。

启动DataFactory后,你可以选择启动自学教材,关于如何载入自学教材对象的指令(也就是所有的帮助)都在HTML文件中。

帮助系统中的指令规定了使用哪些表,但那是不准确的,下一步我会提到要用到哪些表(总共15个,都是以DF_前缀开头的)。

要创建辅助对象,安装下列步骤做:

1、选择工具(Tools)创建辅助对象(Create Tutorial Objects),显示辅助对象创建向导。

2、从选择连接方法的下拉列表中选择合适的数据库类型。

3、点击下一步(Next)。

4、输入连接参数。

5、点击下一步(Next),显示完成页面。

6、点击完成(Finish),DataFactory辅助表就创建好了。

在创建表之前,你应该在数据库中先创建一个单独的方案对象,使用Oracle 10g,我创建了一个quest用户对象/方案(授予它connect和resource权限即可)。

点击Tools Create Tutorial Objects

辅助设置向导显示它自己的版本和oracle的logo

在完成页显示一列表名

DataFactory告诉你创建成功了

在左边框架中显示了项目文件夹

在 主菜单上点击运行按钮(Run),立即报出ORA-02291错误,这是违反了完整性约束的错误提示(某些表上还不止一次),因为在一个外键关联的列上载 入的数据没有同时往主表插入对应的数据,几乎所有的约束命名都采取SYS_Cxxxxxx命名结构,意味着它们不是明确的名字。

为了解决完整性约束问题,你可以禁用掉约束(只要你知道要修改哪个表),下面的查询和ALTER TABLE命令显示识别并禁用有问题的约束:

SQL> select owner, constraint_name, table_name, column_name
2  from all_cons_columns
3  where constraint_name like '%9814%';
OWNER CONSTRAINT_NAME                TABLE_NAME           COLUMN_NAME
----- ------------------------------ -------------------- ------------
QUEST SYS_C009814                    DF_ORDERS            CUSTID
SQL> alter table df_orders
2  disable constraint sys_c009814;
Table altered.

结果(Results)窗口显示你的脚本完全成功执行了,意味着你可以看看究竟创建了些什么。

不是一次分析一个表,使用内置的DBMS_STATS(它是Oracle推荐的分析工具包),如果你使用的是Oracle 10g,你应该添加一个WHERE dropped=’NO’条件阻止在显示查询结果时显示被删掉的表。

SQL> execute dbms_stats.gather_schema_stats('QUEST');
PL/SQL procedure successfully completed.
SQL> select table_name, num_rows
2  from user_tables
3  where dropped='NO';
TABLE_NAME             NUM_ROWS
-------------------- ----------
DF_TITLES                   100
DF_MOVIE_CUSTOMER          1100
DF_MOVIE_EMPLOYEE           900
DF_DUMMY                   1100
DF_AUTHORS_TITLES          1100
DF_MOVIE_RENTAL             700
DF_PRODUCTS                 100
DF_MOVIE_TAPE               400
DF_CUSTOMERS               1100
DF_AUTHORS                 1100
DF_MOVIE_DISTRICT          1100
DF_ORDERS                   101
DF_MOVIE_MOVIE              900
DF_ORDERDETAILS             200
DF_MOVIE_STORE              500
15 rows selected.

返回项目或列表,在列表中选择一个表,将会显示它的列和列的数据类型,你可能需要在结果(Results)和子段(Children)之间使用固定按钮功能。

使用DF_MOVIE_CUSTOMER作为一个例子,如何查看它的数据?随机字符串选项刚好准确地用于这里。

辅助表上更多的内容

在外键列上有索引吗?

SQL> select index_name, table_name, column_name, column_position
2  from user_ind_columns;
INDEX_NAME   TABLE_NAME           COLUMN_NAME          COLUMN_POSITION
------------ -------------------- -------------------- ---------------
SYS_C009823  DF_MOVIE_DISTRICT    DISTRICTID                         1
SYS_C009827  DF_MOVIE_STORE       STOREID                            1
SYS_C009830  DF_MOVIE_EMPLOYEE    EMPID                              1
SYS_C009837  DF_MOVIE_CUSTOMER    CUSTID                             1
SYS_C009841  DF_MOVIE_MOVIE       MOVIEID                            1
SYS_C009845  DF_MOVIE_TAPE        TAPEID                             1
SYS_C009850  DF_MOVIE_RENTAL      TAPEID                             1
SYS_C009850  DF_MOVIE_RENTAL      CUSTID                             2
SYS_C009850  DF_MOVIE_RENTAL      RENTDATE                           3
SYS_C009810  DF_CUSTOMERS         CUSTID                             1
SYS_C009813  DF_ORDERS            ORDERID                            1
SYS_C009816  DF_PRODUCTS          PRODUCTID                          1
SYS_C009819  DF_ORDERDETAILS      ORDERID                            1
SYS_C009819  DF_ORDERDETAILS      PRODUCTID                          2
14 rows selected.

输 出内容意味着什么?你可以立即判断出这样一个事实,不是所有表上都有主键,有15个表,但这里只返回了14行(或如果使用distinct的话,只返回 11行),为什么我们会知道这个结果?因为创建主键时会自动创建一个索引,如果你在载入脚本中禁用了所有的引用完整性约束,你还会怀疑什么呢?

Oracle推荐将索引列作为经常访问的关联列,常见的规则是索引列用于where子句,缺少索引,你应该怀疑“create  table”部分没有创建外键索引列。

下面的查询显示了带外键的表名/列名:

SQL> select a.constraint_name, b.constraint_type,
2  a.table_name, a.column_name
3  from user_cons_columns a, all_constraints b
4  where a.constraint_name=b.constraint_name
5  and constraint_type = 'R';
CONSTRAINT_NAME  C TABLE_NAME           COLUMN_NAME
---------------- - -------------------- -------------
SYS_C009831      R DF_MOVIE_EMPLOYEE    SUPERVISORID
SYS_C009828      R DF_MOVIE_STORE       DISTRICTID
SYS_C009821      R DF_ORDERDETAILS      PRODUCTID
SYS_C009820      R DF_ORDERDETAILS      ORDERID
DFMOVIESTOREFK2  R DF_MOVIE_STORE       MANAGERID
SYS_C009852      R DF_MOVIE_RENTAL      TAPEID
SYS_C009851      R DF_MOVIE_RENTAL      CUSTID
SYS_C009838      R DF_MOVIE_CUSTOMER    STOREID
SYS_C009814      R DF_ORDERS            CUSTID
SYS_C009846      R DF_MOVIE_TAPE        MOVIEID
DFMOVIEEMPFK2    R DF_MOVIE_EMPLOYEE    STOREID
11 rows selected.

这是最终结果吗?怀疑被证实了,外键没有被索引。

从管理和维护角度来看,为什么只有两个约束是明确命名的而剩下的都是系统命名的?实际上是这个方案总共有51个约束,这里只是发生了两个命名的约束。

小结

从 这次探索来看,工具如DataFactory或你自己编写的脚本最关键的地方是能够产生百万计的测试样本数据,如果不能保证引用完整性,或在数据建模方面 的最佳实践,它有什么好处?如果你打算在应用程序上调试查询,测试数据需要反应应用程序如何使用它。如果你依赖于数据完整性,你的测试数据需要支持并遵从 父表/子表关联关系。

从设计的立场来看,有两个最佳实践容易被违背,其一是外键列无索引,其二是3个主要项目(主键、外键和索引)没有明确 的名字。第三个可能是在表上无主键,难道在每个表上都需要主键吗?不是!但大多数情况下,每个表都需要主键,即使没有主键,你也要知道为什么没有设置主 键,换句话说,不规范的表应该是有意识的决定,而不是失败。

【51CTO译稿】

网站建设

产业新闻, 开源动态, 未分类

新版SQL Developer提高Oracle数据库开发员效率

Tags: ,

北京,2009年12月28日——

l 为了进一步提高开发人员效率,简化Oracle数据开发,甲骨文公司日前宣布Oracle SQL Developer 2.1版上市,这是广受欢迎的数据库开发和迁移工具Oracle SQL Developer的最新版本。

l Oracle SQL Developer 2.1版是一个免费且全面的工具,该新版软件的很多功能都得到了增强,此外还引入了两种关键的新功能――PL/SQL单元测试(Unit Testing)和数据建模器浏览器(Data Modeler Viewer)。Oracle SQL Developer 2.1版的两项关键新功能和所有增强功能都是应Oracle SQL Developer社区的要求和建议而开发的。

l 新版软件引入了迁移工作台(Migration Workbench),以支持Teradata和面向Linux、UNIX和Windows操作系统的IBM DB2 UDB。

l Oracle SQL Developer 2.1版可从Oracle技术网(OTN)下载。

最新版软件简化数据库测试和迁移

l Oracle SQL Developer 2.1版引入了一种单元测试框架,开发人员可利用该框架建立并共享单元测试和测试套件,这些单元测试和测试套件可以批处理方式运行,并根据不同数据库的命令行运行。PL/SQL单元测试为数据库开发人员提供了强大的预置功能,用这些功能可以开发并运行数据库代码回归测试,从而实现质量更高的数据库开发,同时减少为单元测试编写脚本程序的需求。

l 最新版Oracle SQL Developer新增一个数据建模器浏览器,可以使用只读方式访问最近推出的Oracle SQL Developer数据建模器(Data Modeler)。这使得开发人员、数据建模人员、IT架构师以及其他相关人员能够利用该工具打开和浏览用独立的Oracle SQL Developer数据建模器建立的数据模型,并通过将表格拖到模型图上,以图形方式浏览架构对象

l Oracle SQL Developer中新增加的数据建模器浏览器的关键好处是,用户可以用这个单一工具浏览第三方数据库表格,并在一张图上浏览关键的外部关系,然后利用这个工具将数据和对象迁移到Oracle数据库中,从而降低成本、工作量以及与向Oracle数据库迁移第三方数据库的风险。

l Oracle SQL Developer 2.1版现在增加了迁移工作台,该工作台除了支持以前宣布的Sybase ASE 第12和15版、Microsoft SQL Server 2000和2005以及Microsoft Access,现在还支持Teradata(第12版)以及面向Linux、UNIX和Windows操作系统的IBM DB2 UDB(第7、8和9版)。

l 这个最新版软件还具有:

· 新的后台任务功能,使用户能够在后台运行耗时的SQL任务的同时,执行其他任务;

· 增强的数据网格功能,为用户提供更强的控制能力,如动态搜索、过滤和高亮显示;

· 版本控制,现在的支持范围包括Perforce和Serena Dimensions。

l Oracle SQL Developer可用于Oracle数据库11g的所有版本,并可在Windows、Linux和Mac OS X操作系统上运行。该工具还可用于Oracle数据库10g以及Oracle 9i数据库第二版。

甲骨文高管及客户引言

l 甲骨文公司软件开发副总裁Mike Hichwa表示:“增加PL/SQL单元测试使Oracle SQL Developer领先于其他很多数据库开发工具。我们知道,几乎每一个Oracle数据库客户都使用PL/SQL,而拥有一个可靠的单元测试框架将使我 们的客户降低成本并提高软件质量。”

OPITZ CONSULTING公司高级架构师Gerd Volberg表示:“专业软件开发需要强大的工具。这就是我们公司每一位开发人员都有专属的、安装了完整Oracle SQL Developer记忆棒的原因。我们的业务环境常常不允许在客户的计算机上安装软件。因此对于我们来说,有一个能从记忆棒上即时启动工作的工具非常重 要。Oracle SQL Developer 2.1版是一个极好的成套工具,其中包括强大的、新的PL/SQL单元测试,正适用于我们的咨询服务。”

开源动态

2009/12/30

Google Code删除采用改版授权协议的开源代码项目

Tags:

不作恶是谷歌公司的座右铭,其大意是谷歌的目标不是把一切都变成罪恶的赚钱工具,而是要通过自己的努力来改变这个世界.不过具有讽刺意味的是,最近Google Code网站却删除了一款在软件授权协议中明确要求代码使用者不作恶的开源软件项目。Google Code是一个开源社区,提供了多种代码管理方式,开发人员可以把自己项目的开源代码上传到Google Code上,网站可以帮助开发人员管理这些开源项目,Google Code不支持私有项目,所有上传到这个网站上的项目均全部开源,任何人都可以获得你项目的所有代码。

尽管Google Code网站看上去开放性相当高,但实际上这个网站只允许那些使用部分通用开源授权协议的开源项目在Google Code网站上立项,MIT授权协议便是其中的一种。

此 前一位开源软件作者Douglas Crockford曾使用C语言编写了一套名为JSMin的程序,程序的作用是用于压缩JavaScript程序,以便加快浏览器下载的速度,他并选择了 MIT授权协议的修改版作为JSMin程序的保护协议。后来,另一位软件作者Ryan Grove使用PHP语言编写了JSMin软件的PHP版本JSMin-PHP,并将这个授权协议沿用到JSMin-PHP中去。

值得一提的是,Douglas Crockford修改了MIT授权协议,往这个协议里加入了一段话:不许使用这款软件作恶,请将其用于善途。(The software shall be used for good,not evil)。

Ryan Grove开发的JSMin-PHP软件今年12月初在Google Code上立项,不过这款软件后来引起了Chris DiBona的注意,此人是负责谷歌开源项目的头头,他注意到这款软件的作者将MIT授权协议做了上述的更改,并将这个项目从Google Code上移除。

就谷歌看来,我在MIT协议中自行增加的那段话定义很不明确,这样这款软件的授权协议在一定的条件下很可能会变质。 Chris向我解释说如果我能将这段话从软件的授权协议中去掉,那么JSMin-PHP项目便可以继续保留在Google Code网站上。Grove在自己的博客上写道,我当然不会听他的话修改软件的授权协议,因为这个授权协议的作者是Douglas Crockford而不是我本人…这样如果我私自修改协议,然后再继续软件的开发,那么我自然就侵犯了软件原作者的授权协议。

Grove后来把自己的JSMin-PHP项目转移到了另一家开源社区GitHub,他表示:如果你现在正在Google Code上使用jsmin.c编写开源代码,我劝你还是赶快挪窝离开这个规定死板的地方。

软件的原作者Crockford是雅虎网站的职员,他今年七月份曾表示,添加到MIT授权协议中的那段话完全是模仿乔治布什当局反作恶者的口吻创作的,而且在所有他编写的开源软件中,都加入了这种修改后的MIT授权协议。

他表示:2002年晚些时候,我们美国刚刚发动了反恐战争,为了为我国的反恐战争添一份力,因此我就在MIT授权协议里加上了这句话。

Crockford 还说:每年我都会从想使用我编写的开源代码的用户那 里收到一些古怪的信件,这些信件中有的写道:我有权利用这款软件干坏事!我会等你修改了这个协议之后再使用你的代码。有的写道:’我怎么分辨软件的用途是 不是被用来作恶呢?要知道每个人的观点是不一样的,在我眼里的善举可能在别人看来就是恶行也说不定,所以我不想用这些代码。’他由此认为添加的这句话起到 了应有的作用:看,我加的这句话已经阻止了某些作邪恶分子的行为。

后来,我甚至还收到了IBM的代表人给我发来的信件,信中说他们想在自己 的程序中使用我的代码。可笑的是他们居然一本正经地表示:尽管他们100%地确定他们不会用这些代码来干坏事,但他们称无法保证自己的客户会不会这样做, 因此他们请求我为这些代码小小地修改一下协议的部分。我后来就回复说:’我授权IBM公司,以及IBM公司的客户使用我写的JSLint软件干坏事。

眼 下的程序界中,律师的力量可以说是不容忽视的,尽管Crockford当初往MIT授权协议中加入这段话的目的不过是为了戏虐性的搞笑,但难免会有一些老 古板型的公司完全无法理解这句话的用意。而且尽管Crockford本人并无意故意用这句话作出什么特别的限制,难免会有一些使用Crockford的代 码编写出其它程序的软件作者会有其它的图谋。

希望开源软件的作者们在编写软件授权协议时尽量不要加入一些在外人看来很容易引起莫名误解的条款,否则大量本来编写得非常优秀的软件却因为类似这起事件一样的原因而就这样被人们废弃在路边,这在我看来实在是太可惜了。

网站建设

产业新闻, 开源动态

2009/12/17

PHP框架 Yii 1.0.11/1.1 RC 发布

Tags: , ,

Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具 yiic 可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发。

Yii 1.0.11 是一个维护版本,主要是修正了一些bug和一些小的改动。

而 Yii 1.1 RC 是 1.1 版本的候选发行版本,包含很多有用的组件,例如 CActiveDataProvider, CGridView, CListView, CDetailView 等,用以提升应用开发的便利性和开发速度。

北京网站建设公司