`
494078416
  • 浏览: 80510 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

一篇老文:著名的自由软件圣战- “KDE/QT .VS. Gnome/Gtk”

阅读更多


Qt 是一个跨平台的 C++ 图形用户界面库,由挪威 TrollTech 公司出品,目前包括Qt
, 基于 Framebuffer 的 Qt Embedded,快速开发工具 Qt Designer,国际化工具 Qt
Linguist 等部分 Qt 支持所有 Unix 系统,当然也包括 Linux,还支持 WinNT/Win2k,
Win95/98 平台。
Trolltech 公司在 1994 年成立,但是在 1992 年,成立 Trolltech 公司的那批程序员
就已经开始设计 Qt 了,Qt 的第一个商业版本于 1995 年推出然后 Qt 的发展就很快
了,下面是 Qt 发展史上的一 些里程碑:
1996 Oct KDE 组织成立
1998 Apr 05 Trolltech 的程序员在 5 天之内将 Netscape5.0 从 Motif 移植到 Qt 上

1998 Apr 08 KDE Free Qt 基金会成立
1998 Jul 09 Qt 1.40 发布
1998 Jul 12 KDE 1.0 发布
1999 Mar 04 QPL 1.0 发布
1999 Mar 12 Qt 1.44 发布
1999 Jun 25 Qt 2.0 发布
1999 Sep 13 KDE 1.1.2 发布
2000 Mar 20 嵌入式 Qt 发布
2000 Sep 06 Qt 2.2 发布
2000 Oct 05 Qt 2.2.1 发布
2000 Oct 30 Qt/Embedded 开始使用 GPL 宣言
2000 Sep 04 Qt free edition 开始使用 GPL
基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台
上的 MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 具有下列优点:
优良的跨平台特性:
Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux,
Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, B
SD/OS, SCO, AIX, OS390,QNX 等等。
面向对象
Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是
非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使
得各个元件 之间的协同工作变得十分简单。
丰富的 API
Qt 包括多达 250 个以上的 C++ 类,还替供基于模板的 collections, serializatio
n, file, I/O device, directory management, date/time 类。甚至还包括正则表
达式的处理 功能。
支持 2D/3D 图形渲染,支持 OpenGL
大量的开发文档
XML 支持
但是真正使得 Qt 在自由软件界的众多 Widgets (如 Lesstif,Gtk,EZWGL,Xforms,
fltk 等等)中脱颖而出的还是基于 Qt 的重量级软件 KDE 。 有趣的是,KDE 也是使得
Trolltech 公司承受巨大压力的一个原因。下面我们将来看看这场 著名的自由软件圣
战 -- "KDE/QT .VS. Gnome/Gtk" 是怎么发生的。
在 Unix 的图形界面一向是以 MIT 的 X Window 系统为标准, 可是在商业应用上有两
大流派,一派是以 Sun 公司领导的 Openlook 阵营,一派是 IBM/HP 领导的OSF (Open
Software Foundation) 的 Motif, 双方经过多年竞争之后, Motif 最终胜出,成为
最普遍使用的界面库, 后来双方又妥协出一个 CDE(Common Desktop Enviroment) 作为
一个标准的图形界面。 但是 Motif/CDER 的价格非常昂贵,在这同时微软的 Windows
图 形界面发展速度非常快,而 Unix 界的后起之秀 Linux 也急需一个可靠并且免费的
图形界面。
1996 年 10 月,由开发图形排版工具Lyx的德国人 Matthias Ettrich 发起了 KDE 计划
。 KDE 的全称为 K Desktop Environment,可以看出是针对 CDE。 KDE 本身 是采用
GPL 宣言的,但是 KDE 却是使用 Qt 来作为其底层库,因为当时 Qt 已经将其 Unix 版
本自由发布了,但是 Qt 并不遵循 GPL, 因此 KDE 被很多自由软件的作者攻击,认为
利用非自 由软件开发违背了 GPL 的精神,于是 GNU 的狂热信徒兵分两路,一路是去制
作 Harmonny,试图重写一套兼容于 Qt 的替代品,另一路是由一个 26 岁的墨西哥程序
员 Miguel De Icaza 领导 下重新开发一套叫 GNOME(GNU Network Object Enviroment
)来替代 KDE。
由于 Linux 界的老大 RedHat 不喜欢 KDE/Qt 的版权,因此 RedHat 甚至专门派出了几
个全职程序员来加入 GNOME 进行开发工作,于是一场同 Motif VS Openlook 相似的圣
战就这么打起来了。 Trolltech 为了 KDE 曾数次修改 Qt 的版权,从成立 KDE Free
Qt 基 金会到采用 QPL,可谓是费尽心机,但是 GNOME 采用的 GTK 一开始就是完全的
GPL,因此在这个方 面 GNOME 有一定的优势,加上 Qt/KDE 采用 C++ 开发,入门的门
槛比较高,而 GTK/Gnome 采用 C, 因此 GNOME 吸引了更多的自由软件开发者,但是
KDE 毕竟先走了一步, 推出的 KDE1.1.2 十分稳定, 而当时急忙中推出的 GNOME1.0
的系统稳定性奇差,有人甚至笑称 GNOME1.0 还没有 KDE 1.0 Alpha 稳定。但是 GNOM
E 后来发展比较快,大有迎头赶上的势头。当时双方的开发者在网络 上炒得天翻地覆,
连 Linux 之父 Linus 只是说了一句喜欢用 KDE 都倍受指责。
战争到了第三个年头,也就是2000年,可谓是风云突变,一个接一个重大的事件先后发
生: 首先是一批从 Apple 公司出来的工程师成立了一个叫 Eazel 的公司替 GNOME 设计
界面,然后是一批 GNOME 程序员成立了一个 Helix Code 公司替 GNOME 提供商业支持
,而大家期待以久的 KDE 2.0 也终于发布了,这恐怕是目前最为庞大的自由 软件了之
一, 除了 KDE 本身,还包括 Koffice 套件,和集成开发环境 Kdevelop 等等大批软件
,其主力软件 Kounqueror 也是第一个可以同微软的 Internet Exploer 相抗衡的浏览
器。 而 Sun 公司,Red Hat 公司, Eazel 公司,Helix Code 等一批公司成立了一个
GNOME 基金会, Sun 还宣布将把重量级办公软件 Star office 同 GNOME 集成, Trol
ltech 公司自然不能坐以 待毙,于今年 10 月 4 日将 Qt 的 free edition 变为 GPL
宣言, 又推出了嵌入式 Qt ,但是值得注意的是,虽然 Qt 的 Free Edition 采用了 GPL 宣言,但是如果你开发Windows 上的 Qt 软件或者是 Unix 上的商业软件,还是需要向 Trolltech 公司支付版权费用的。

分享到:
评论

相关推荐

    CentOS-Userland-7-armv7hl-generic-KDE-2009-sda.raw.part1.rar

    CentOS 7.9版本(CentOS-Userland-7-armv7hl-generic-KDE-2009-sda.raw)适用于ARM32 (armhfp),必须集齐2个文件才能一起解压缩使用,2个文件下载地址: CentOS-Userland-7-armv7hl-generic-KDE-2009-sda.raw.part2...

    收藏的博客 -- Qt有关的GitHub-Gitee开源项目.docx

    【Qt开源框架与资源】 Qt 是一个跨平台的C++应用程序开发框架,广泛应用于桌面、移动设备和嵌入式系统的用户界面设计。它提供了一整套的库,包括图形渲染、网络通信、数据库访问等功能,使得开发者能够创建功能丰富...

    CentOS-Userland-7-armv7hl-generic-KDE-2009-sda.raw.part2.rar

    CentOS 7.9版本(CentOS-Userland-7-armv7hl-generic-KDE-2009-sda.raw)适用于ARM32 (armhfp),必须集齐2个文件才能一起解压缩使用,2个文件下载地址: CentOS-Userland-7-armv7hl-generic-KDE-2009-sda.raw.part2...

    CentOS7安装MySQL 错误:软件包:akonadi-mysql-1.9.2-4.el7.x86-64

    在CentOS7上安装MySQL时,遇到的错误信息...在本例中,akonadi-mysql是KDE桌面环境的一个组件,它依赖于特定的数据库服务器,如mariadb-server,但MySQL社区版可能提供了一个不兼容的版本,因此需要手动调整和解决。

    BT5R2-KDE-32.torrent

    BT5R2-KDE-32.torrent

    LibreOffice-7.5.7-Linux-x86-64-deb.tar

    LibreOffice是一款开源的办公软件套件,与微软Office类似,但完全免费并支持多种操作系统,包括Windows、MacOS和Linux。"LibreOffice-7.5.7-Linux-x86-64-deb.tar"是专为Linux平台设计的版本,特别针对64位(x86-64...

    kde-l10n-Chinese-4.10.5-2.el7.noarch.rpm

    离线安装包,亲测可用

    kde-filesystem-4-47.el7.x86_64.rpm

    离线安装包,亲测可用

    CentOS-Userland-7-armv7hl-RaspberryPI-KDE-2009-sda.raw.xz

    CentOS 7.9版本(CentOS-Userland-7-armv7hl-RaspberryPI-KDE-2009-sda.raw.)适用于ARM32 (armhfp) CentOS是免费的、开源的、可以重新分发的开源操作系统,CentOS(Community Enterprise Operating System,中文...

    kde-l10n-Sinhala-4.10.5-2.el7.noarch.rpm

    离线安装包,亲测可用

    Linux网址精选 Linux学习必备.doc

    本文旨在提供一个 Linux 相关网址精选,包含了 Linux 官方文档、社区支持、软件仓库、学习资源和常用工具等方面的网址。 Linux 官方文档 * http://www.redhat.com/docs/ - Red Hat 官方文档,redhat 用户必看 * ...

    unixODBC-kde-2.2.11-1.0.1.RHEL4.1

    标题“unixODBC-kde-2.2.11-1.0.1.RHEL4.1”指的是一款专为Linux系统设计的RPM(Red Hat Package Manager)软件包,名为“unixODBC-kde”。这个软件包是用于在KDE桌面环境下集成和管理ODBC(Open Database ...

    indicator-kdeconnect-0.9.4.tar.gz

    indicator-kdeconnect是一款开源软件,它使得Ubuntu桌面环境能够与移动设备进行互动,包括文件传输、信息发送、通知同步等功能。通过这个工具,用户可以在不借助任何第三方应用的情况下,轻松地在电脑和手机之间传递...

    ubuntu18.04 优化桌面(Cupertino-KDE.tar.xz、Sierra-light.tar.xz)

    ubuntu18.04 优化桌面有Cupertino-KDE.tar.xz、Sierra-light.tar.xz两个安装包

    kaidan-release-v0.4.2.zip

    kaidan 基于Qt Qxmpp Linux平台 IM 源代码 C++ # Kaidan - A user-friendly XMPP client for every device! [![Kaidan MUC](https://search.jabbercat.org/api/1.0/badge?address=kaidan@muc.kaidan.im)]...

    psqlodbc安装

    1. **下载所需的RPM包**:根据给定的部分内容,我们需要下载三个RPM包:`unixODBC-2.2.11-7.1.i386.rpm`、`unixODBC-devel-2.2.11-7.1.i386.rpm` 和 `unixODBC-kde-2.2.11-7.1.i386.rpm`。此外还需要下载 `psqlodbc-...

    Wifislax-4.12-dev-KDE-zh_CN.iso(启动盘镜像).rar

    软件介绍: Wifislax是最新版破-解无线WIFI破J软件,它集成了其他国家先进的无线路由密码解密技术。下载后可以刻录到DVD光盘中,或者烧录到U盘中或使用虚拟机来运行,系统的操作界面为中文。内置多种启动选项。

    BT5R2-KDE-64.torrent

    BT5R2-KDE-64.torrent

    安装gentoo详解

    - `USE="-gtk gnome qt3 qt4 kde dvd alsa cdr"` #### 五、安装内核及相关组件 1. **安装内核源码**:使用 `emerge gentoo-sources` 安装 Gentoo 内核源码。 2. **安装 genkernel**:使用 `emerge genkernel` 安装...

    homebrew-kde:用于在macOS上构建KDE软件的自制程序公式

    caveats.sh "移民当前,此分流器正在将大多数框架迁移到自制软件/核心,因此,最佳实践是运行"$(brew --repo kde-mac/kde)/tools/do-caveats.sh" ,以防万一。链接问题。对造成的不便表示歉意。安装现在,乐趣开始了...

Global site tag (gtag.js) - Google Analytics