Go Comparison between KDE/QT and GNOME/GTK
Http://www.cnblogs.com/itech/archive/2009/08/18/1548964.html
While there is a commercial rivalry, the developer relationship between GNOME and KDE is not getting any worse, but they are aware of the importance of supporting each other--if KDE and GNOME are unable to share the application, it is not only a huge waste of resources, but will lead to a fundamental division of Linux. Since 2003, after more than two years of effort, both KDE and GNOME have been highly interoperable, and the programs of both platforms are fully shared, such as you can run the Konqueror browser, KOffice suite in Gnome, You can also run evolution and OpenOffice.org in KDE, except that the speed and visual effects of performing local programs are better. In the next year or two, KDE and GNOME will have a higher level of convergence.
KDE and Gnome are currently the most popular graphical operating environments for Linux/unix systems. Since the middle of the 90 's, KDE and GNOME have experienced nearly 10 years of experience, both from rough design and rudimentary functionality to relatively perfect phases, with usability approaching the Windows system. The maturation of the graphics environment is also critical to the Linux generalization, although Linux is known for its kernel robustness, resource saving and high quality code, but the lack of an excellent graphics environment has made it difficult to make a difference in the desktop world, resulting in a low-ebb Linux desktop application. If you still have an impression, you will remember 1999-2001 years of Linux development in full swing, at that time the emergence of a large number of Linux distribution vendors, but when users find the Linux distance practical 108,000 miles, the Linux boom quickly cooled. The industry has also been frustrated, some of the manufacturers because of the inability to quickly disappear, the other part of the company will focus on the server market-in stark contrast to the desktop market, Linux with a stable and reliable and low-cost advantages in the server area has been a great success.
While some Linux vendors are abandoning their desktop efforts, the international open source community is growing, and the idea of freedom attracts more and more top-notch programmers. Unlike business models, free software programmers start out by using their spare time to develop what they are interested in and to make it freely available, which is a no-compromise contribution. Despite the slow pace of development, more and more developers identify with the idea of free software, and a growing number of open source projects are growing.
In the meantime, a major event that has been overlooked is that business giants are also actively involved, with IBM, RedHat, SuSE, Ximian, Novell, SUN, HP and other commercial companies directly involved in all open source projects, These companies either provide their own results free to the open source community, or directly dispatch programmers to participate in the actual development of the project, such as SuSE (now for Novell acquisition) has done a lot of work on the KDE project, RedHat, Ximian (now a Novell acquisition) is involved in the GNOME project, IBM provides a lot of basic code for Linux, is to promote Linux into the server field of the main contributor, Sun Company will staroffice to the open source community, and funded the establishment of the famous OpenOffice.org project. In this way, a large number of free software programmers can get paid from the foundations of each project. At this stage, the open source project was freed from the programmer's model of amateur development, and led by a high level of full-time programmers, which also became the standard collaboration model for various free software projects. Unlike commercial software companies, participants in free software projects are first to work for personal interests, and their common goal is to come up with the best quality software, and after the collaboration model is stabilized, each software enters the fast lane of development. After entering the 2005, these projects are largely fruitful, the most prominent of which is the success of the Firefox browser, and as two graphical environments, KDE and GNOME developed to 3.5 and 2.12 respectively, the availability of both can be compared to Windows. More importantly, the growth of the open source community has laid a solid foundation for the future development of these projects: the KDE project will surpass windows as its own goal, and the more powerful GNOME project is targeting the development goals beyond Mac OS X's Aqua Graphics environment Firefox is planning to use GPU hardware resources to render images to achieve a significant increase in speed, and OpenOffice.org has laid open document format standards while striving to improve quality. In addition to the major projects mentioned above, we also see other open source projects such as MPlayer player, xine player, Thunderbird mail client, SCIM input platform are growing rapidly, and new projects are being created almost every day. Interestingly, in addition to software development, there is also a visual interface for the Linux design of open collaboration projects, the world has a common goal of the artists through the Internet to organize together for the Linux system to design a first-class visual interface, System icons, And all the free software programmers have a common goal, that is to develop a first-class software for the public to use. This is based on the pickSelf-fighting, strong spirit of the software development model to become a business software other than a pole. Now, Microsoft faces not only programmers who tinker with the code in their spare time, but a large, world-class developer who is effectively organized to form an orderly collaboration team, backed by a large number of powerful business companies. While today's Linux system is not yet widely accepted in the desktop world, it only takes two or three years for the high-speed evolutionary Linux platform to reach the full scale of the desktop and the opportunity to see it, Novell, Redhat and other heavyweight Linux companies are constantly investing in technology and marketing, and Linux desktops are at your fingertips.
After introducing the necessary background, we will enter the technical topics on KDE and GNOME. If you're new to Linux, you'll be puzzled by KDE and gnome-why are there two of different graphical environments that are functionally repetitive and operate differently? This is not only a hassle but also a developer effort. With this article, you will get a clear answer. And more importantly, we will introduce to you in this article the actual level of KDE and GNOME, their strengths and future trends. If you are interested in Linux desktop applications, the future of Kde/gnome will surely surprise you.
X window to create a desktop environment
before we introduce KDE and GNOME, it is necessary to introduce the concept of the Unix/linux graphical environment first. For a user who is accustomed to windows, it can be difficult to understand Unix/linux's graphical environment correctly because it doesn't have much in common with purely graphical windows. Linux, in fact, is a UNIX-based template that inherits the simplicity and robustness of the Unix kernel, which is no different than Unix in terms of system structure or operation. Simply put, you can think of Linux as a special version of Unix-like systems. We know that Microsoft Windows in the early days is just a DOS-based application, the user must first enter DOS and then start the Windows process, and starting from Windows 95, Microsoft has the graphical interface as the default, the command line interface only when needed to open, Later Windows 98/me actually belonged to the system as well. But after Windows 2000, DOS was completely erased and Windows became a fully graphical operating system. But unlike Unix/linux, the powerful command-line interface is always their foundation, and in the 80 's, the graphics interface swept through the operating system industry, and MIT also partnered with the then Dec in 1984, Dedicated to developing a decentralized Windows environment on UNIX systems, this is the famous "X Window system" project. However, X window (note that not X Windows) is not a direct graphical operating environment, but as an intermediate bridge between the graphical environment and the UNIX system kernel, any vendor can develop different GUI graphics environments on the basis of X Window. The purpose of MIT and Dec is to design a simple graphics framework for UNIX systems so that more commands can be displayed on the UNIX workstation's screen, and that the GUI is not as elegant or easy to use as it is, after all, it is a good practice for UNIX to be proficient in the command line. Doesn't care if the GUI exists or not. In 1986, MIT officially released X window, and since then it has become a standard Windows environment for UNIX. Next, the X-window, which is fully responsible for the development of the project, entered a new phase. In sync with this, many UNIX vendors have also developed their own UNIX GUI Windows environment on the X Window prototype, which is more famous for the "Open Look", which was developed by Sun and T, and the IBM-led OSF (Open software Foundations, the Open Software Foundation) developed the "Motif". And some enthusiasts have created a non-profit XFREE86 organization, dedicated to the development of X Window on the X86 system, this free and full-featured X window quickly entered the commercial UNIX system and was ported to a variety of hardware platforms, and later Linux benefited directly from the project. Of course, these early X window environments are designed to be simple, many GUI elements are modeled on Microsoft Windows, but X window has a small innovation: When the mouse pointer moves to a window, the window is automatically activated, the user can directly input without clicking, simplifying the user action- This feature has also been fully inherited in later KDE and GNOME.
Because the UNIX system must be used as a basis, X window is destined to become an application on UNIX, and it is not possible to be highly integrated with the operating system kernel, which makes the X-window-based graphics environment can not be very efficient, but it has the advantage of a strong design flexibility and portability. The X window is logically divided into three layers: the lowest x server (x servers) primarily processes input/output information and maintains the relevant resources, which accepts actions from the keyboard, mouse, and gives feedback to x client (x clients), and X The output information from the client is also responsible for the output; the outermost x client provides a complete GUI interface that is responsible for direct interaction with the user (KDE, GNOME is an X client), and the X server and x client are "x Protocol (x Communication Protocol), its task is to act as a conduit for communication between the two. Although the UNIX vendors use the same x Window, the terminal's X client is not the same, which results in a very different GUI interface to match the UNIX product.
Figure 1 X Window System architecture launch of KDE project
MIT's X Window became the standard for the Unix graphical interface, but it was divided into two main genres in commercial applications: The Open look camp led by Sun, the IBM/HP-led OSF (Open software Foundation) Motif, the two sides after many years of competition, motif finally won the lead position. However, motif is just a graphical interface library (widget-library) with a window manager (Window-manager), rather than a real GUI interface. After consultation, IBM/HP and Sun decided to integrate motif with Open look, and on this basis developed a GUI named "CDE (Common Desktop Environment)" As a standard graphical interface for UNIX. Unfortunately, the prices of MOTIF/CDE and UNIX systems were very expensive, and at a time when Microsoft's Windows was developing at an alarming rate and was the first to dominate the desktop market, CDE remained in the UNIX domain for root system administrators until today.
Figure 2 KDE 1.0, despite its rough design, lays the groundwork for the entire KDE project.
In the middle of the 90 's, Linux, which was propelled by open source, had a broad impact on developers. Although X window is already very mature, there are many X Window-based graphical interface programs, but they are not without complete graphics operation function is expensive (such as CDE), simply cannot be used in Linux system. If Linux is to achieve a real breakthrough, a completely free, fully functional GUI is necessary. In October 1996, the developer of the graphical typesetting tool LyX, a German named Matthias Ettrich, launched the KDE (Kool Desktop Environment) project, unlike the previous various X window-based graphics programs, KDE is not intended for system administrators, and its user base is locked down as a normal end user, Matthias Ettrich wants KDE to contain all the application components that users need for their daily applications, such as Web browsers, e-mail clients, office suites, graphic image processing software, and so on, to Unix/linux completely to the desktop. Of course, KDE complies with the GPL and runs in a free and open source manner.
The launch of the KDE project quickly attracted a large number of high-level free software developers who wanted KDE to connect the power of the Linux system with a comfortable and intuitive graphical interface to create the best desktop operating system. After painstaking efforts, KDE 1.0 was finally launched on July 12 in 1998. At that level, KDE 1.0 is technically commendable, it has achieved the desired goal, the functions are preliminary, and the developers have been able to use it very well. Of course, for users, KDE 1.0 is far less approachable than Windows 98来 in the same period, and a lot of bugs in KDE 1.0 are a headache. But for developers, the launch of KDE 1.0 is inspiring, demonstrating that the development of open source collaboration for KDE projects is entirely feasible and that developers are confident about the future. It is important to mention that during the development of KDE version 1.0, Linux business companies such as SuSE and Caldera supported the project, and in 1999, IBM, Corel, RedHat, Fujitsu-Siemens and other companies also provided funding and technical support for the KDE project. , since the KDE project has embarked on a rapid development phase and has maintained a leading position for a long time. But after more than 2004 years, GNOME has not only begun to technically surpass the former, but has also gained widespread support from more commercial companies, and KDE has lost its dominance because KDE chose to develop on the basis of the QT platform, and QT's limitations on copyright have deterred many commercial companies.
QT is a cross-platform C + + graphical user interface library, which is a product of the Norwegian Trolltech Company (acquired by Nokia at the end of 2008). Basically, QT and X Window on the Motif, Open look, GTK and other graphical interface library and the Windows platform MFC, OWL, VCL, ATL is the same type of thing, but QT has excellent cross-platform features (support Windows, Linux, A variety of Unix, OS390, and QNX), object-oriented mechanisms, and rich APIs, as well as support for 2d/3d rendering and OpenGL APIs. QT was the most powerful of its kind in the class of the same GUI library products, and Matthias Ettrich chose Qt as the basis for development when launching the KDE project, and it was thanks to the perfection of QT that the development of KDE was progressing smoothly, for example Netscape5.0 It took only 5 days to transplant the motif to the QT platform. In this way, when KDE 1.0 was officially released, the outside world saw a basic GUI operating environment for each function, and in the later development, QT/KDE had always been a leading edge. It is necessary to mention that the Trolltech company is substantively involved in the KDE project, as mentioned earlier that the porting of Netscape 5.0 was done by Trolltech programmers, while the initiator of the KDE project, the Matthias Ettrich, who also left academia in 1998 to join Trolltech, has been the head of software development for the company, so Trolltech has a very strong influence on the KDE project (which, of course, cannot be said to be absolutely mastered, After all, KDE development work is still done in collaboration with freelance programmers. As we mentioned earlier, KDE is distributed under the GPL, but the underlying QT is a business software that does not follow the GPL, which gives KDE an invisible yoke and poses possible legal risks. A large number of free programmers were deeply dissatisfied with the KDE project's decision that the use of non-free software development violated the GPL's spirit, so the GNU fanatics were divided into two ways: some of them were making harmonny, trying to rewrite a QT-compatible alternative, a project that was technically relatively simple, Instead of getting support from the KDE project, the other team decided to re-develop a graphical environment called the "GNOME (GNU Network Object Environment)" Instead of KDE, starting with a GUI battle caused by divergent thinking.
Figure 3 Qt is the basis of the entire KDE, which uses dual authorization. GNOME and KDE alternate development
The GNOME project was launched in August 1997 and was founded by the 26-year-old Mexican programmer Miguel De Icaza. There is a very interesting story about Gnome's name: Miguel to Microsoft when applying for its activex/com model, the name of the GNOME (Network Object model) comes from here. Gnome chooses to fully follow the GPL's GTK GUI library, so we generally call the Gnome and KDE camps Gnome/gtk and KDE/QT. Unlike QT-based C + + language, GTK uses a more traditional C language, although the C language does not support object-oriented design, it looks backward, but at that time, familiar with C language developers far more than familiar with C + + developers. Combined with GNOME/GTK's full compliance with the GPL's copyright convention, it attracts more freelance programmers, but it has always been a leader because KDE is a step ahead and has a dominant foundation. In March 1999, Gnome 1.0 was introduced in a hurry, and the stability was so bad that many people laughed that Gnome 1.0 didn't have the KDE 1.0 Alpha stable, while KDE 1.1.2 in the same period was far better than gnome in terms of stability and functionality. The Gnome 1.0.55 version, which was launched in October, was a good solution to the stability issue and earned Gnome a reputation for regain. Due to divergent thinking, the developers of GNOME and KDE developers were so noisy on the internet that they almost hated each other. But anyway, Gnome stumbled on the first step, even though KDE was almost the default desktop environment for all Linux distributions at that time.
Figure 5 KDE2.0 has a rich application software that is significantly more powerful than gnome.
GNOME's turnaround comes from the support of commercial companies. At that time, the Linux industry's eldest brother Redhat did not like the copyright KDE/QT, after the GNOME project launched Redhat immediately support. To promote Gnome's maturation, Redhat even dedicated several full-time programmers to the development of GNOME, and in January 1998 joined hands with the GNOME project team to set up the Redhat Advanced Development Lab. In April 1999, Miguel, a core member of another GNOME project, established Helix Code Company to provide business support for GNOME, which later changed its name to Ximian, which in fact became the parent company of the GNOME project. The Evolution Mail Suite on the Gnome platform is the company's hand. After entering the 2000, a series of major events occurred, first of all, a group of engineers from Apple Company formed Eazel Company, designed for GNOME user interface and Nautilus (Nautilus) file Manager. In August, the GNOME Foundation was formally established under the joint efforts of Sun, RedHat, Eazel, Helix Code (Ximian), which is responsible for the development and management of the GNOME project, as well as funding, and Miguel himself as president of the Foundation. At this point, GNOME is supported by a number of heavyweight commercial companies, such as HP's use of GNOME as a user environment for HP-UX systems, and Sun's announcement to integrate the StarOffice suite with the GNOME environment Gnome will also choose OpenOffice.org as the Office suite, while IBM shares the SASHXB development environment for GNOME. At the same time, the GNOME Foundation has decided to use Mozilla as a Web browser. The KDE camp also has no weakness, with the October launch of the most watched KDE 2.0. KDE 2.0 is the largest free software of its time, with the exception of the KDE platform itself, including the KOffice Office suite, the KDevelop integrated development environment, and the Konqueror Web browser. Although the software is still rough, KDE 2.0 has achieved the goal of Matthias Ettrich to set up the KDE project. Also this month, Trolltech company decided to use the GPL to release the free version of QT, hoping to win the support of developers. In this way, QT actually has dual authorization: if the corresponding Linux distribution is distributed in a free and non-commercial way, then KDE is not required to pay the Trolltech for the license, but if the Linux distribution is a profitable commercial software, then KDE must be licensed. Since TrolLtech is a commercial company and always dominates the direction of KDE, and dual licensing is a good way to solve the conflict between open source and profitability. Trolltech claims that the dual licensing system completely solves KDE's problem with the GPL, but Redhat doesn't like it, and Redhat continues to support the GNOME project in the hope that it will mature as soon as possible. Linux vendors, except for Redhat, are temporarily on the KDE side, but they also bundle the GNOME desktop in the release version.
In 2001-2002, when the hot Linux campaign began to fall into the doldrums, almost all vendors found that the desktop Linux version could not be profitable, and the lack of ease of use also left the industry not optimistic about the future of Linux into the desktop. In the server market, however, Linux is gaining momentum and poses a direct threat to UNIX and Windows Server. However, developers adhering to the free software philosophy are not listening to the outside world, they have been the goal of the Linux desktop, both the GNOME project and the KDE project have been developed during this period. In April 2001, GNOME 1.4 was released, which fixed bugs in previous versions, but still had a better function, but there were gaps in all aspects of KDE, and KDE developed to version 2.2 in August. In April 2002, KDE jumped to version 3.0, which was based on Qt 3.0, has a complete range of functions, has excellent use value, and two months later, the Gnome camp also launched the 2.0 version, which is based on a more complete GTK 2.0 graphics library. After 2003 years, KDE and GNOME enter the real technology battle. In January, KDE 3.1 was launched, while Gnome 2.4 was launched in the following February, and both platforms worked to improve themselves. Also during the year, the Linux business community appeared in a series of major mergers and acquisitions: In January, Novell announced the acquisition of SuSE Linux in Germany, while SuSE Linux was the second-largest Linux commercial enterprise in the world after Redhat, and in August, Novell then ximian the parent company of GNOME. Both mergers and acquisitions have made Novell a powerful Linux company with Redhat, and Novell and Redhat have become the two companies that can influence the future of Linux. In a graphical environment, SUSE has always chosen KDE and put a lot of effort into KDE, and after being acquired by Novell, the desktop distribution of SuSE, despite its focus on KDE, has also been migrating to GNOME, which does not like the QT mandate.
Figure 4 The GTK Library is the foundation of the GNOME Project and is widely supported with full GPL authorization. GNOME receives support from a commercial company
After entering the 2004, KDE and GNOME continued to grow rapidly, with the KDE camp launching 3.2 and 3.3 versions in February and August, and gnome launching 2.6 and 2.8 in March and September, with the same version upgrade stride. The 3.3 version of KDE is already very mature, with a large stack of applications, including KOffice, Konqueror browser, KMail Suite, KDE instant messaging, and most of them meeting the available standards, all functionally as Windows 2000. While Gnome has developed at a high speed during this time, the Gnome 2.8 version is not as good as KDE 3.3, and the technical features of the two are stark: gnome is simple, efficient, faster than KDE, KDE has a gorgeous interface and rich features, and the use of Microsoft Windows is more similar. In terms of business support, Redhat is also a hardcore supporter of Gnome, with major companies such as IBM, SUN, Novell, and HP choosing GNOME, while KDE's main supporters are for the time being of SuSE, Mandrake, and the Chinese red flag to create open source. In 2005, the thick and thin hair of gnome began a full-fledged, March of 2.10, September 2.12 Let Gnome get almost reborn changes, coupled with OpenOffice.org 2.0, Firefox 1.5 and other heavy software introduced to make GNOME more powerful KDE was introduced in March and November respectively, 3.4 and 3.5, of which KDE 3.5 is also approaching the perfect situation, we think its level is not comparable with Gnome 2.12. But KDE is deteriorating in terms of business support, and Novell announced in November that all of its commercial distributions would use GNOME as the default desktop (which would still support KDE libraries), and SuSE Linux desktop would support KDE and gnome in a similar way. The community-supported openSUSE will still use the KDE system-but everyone knows that GNOME will become the center of gravity for Novell, and KDE is only active in free release releases.
Figure 7 KDE3.5 can be translucent and shadow effect, gorgeous interface, software-rich.
Here we find a dramatic outcome: KDE, which is committed to commercialization, has lost the support of heavyweight businesses, although some small and medium-sized Linux companies will continue to support KDE because of technical capabilities, but its business prospects are limited. GNOME, which follows the GPL and is completely non-commercial, has been a big success in this field. Many Linux enthusiasts do not understand why good KDE is so treated, in fact it is very simple-no one heavyweight companies like cowgirl, perhaps KDE QT does not need a lot of licensing fees, but who knows Trolltech company will not be wild speculations? Now that you have free gnome to choose from, why not? For this reason, RedHat, Novell's two largest Linux enterprises and Sun are using GNOME, and their support for GNOME gives the project enough technical assurance to lay a solid foundation for future high-speed development. One possible misconception needs to be rectified, although Novell acquires Ximian, but Redhat has not been significantly affected, and both sides have shared their contributions to gnome because GNOME is distributed under the GPL's free copyright Convention, and co-operation wins. As for the KDE project, although it loses the support of these business giants, small and medium-sized Linux vendors who are incapable of converting desktops will continue to follow KDE, and KDE still has a strong vitality in the non-commercial community Linux distributions.
Figure 6 GNOME 1.4 solves the stability problem, and the function is improved initially.
Although there is a commercial rivalry, the developer relationship between GNOME and KDE is not getting worse, but they are aware of the importance of supporting each other. If KDE and GNOME are unable to share the application, it is not only a huge waste of resources, but will lead to a fundamental division of Linux. In fact, both GNOME developers and KDE developers have a common goal: to develop the best graphics environment for Linux, which is divided into different camps because of the difference in ideas. The business rivalry between KDE and Gnome has no effect on developers (only Trolltech will be affected), and for common purposes, the KDE and GNOME camps gradually support each other's programs from about 2003 onwards-as long as you install the GTK library in the KDE environment, Can run Gnome's programs, and vice versa. After more than two years of effort, both KDE and GNOME have been highly interoperable, and the programs of both platforms are fully shared, such as you can run the Konqueror browser, KOffice suite in Gnome, You can also run evolution and OpenOffice.org in KDE, except that the speed and visual effects of performing local programs are better. In the next year or two, KDE and GNOME will have a higher level of convergence, but they probably will never fit into one-gnome or Gnome,kde or KDE. Maybe you think it's a waste of development resources and it's probably not a choice for users, but we tell you that this is Linux, which has a different culture than Windows and Mac OS x absolutely. What's more, there are more and more free software developers around the world (so there's no need to worry about wasting development resources), and Linux users may not always have the same preferences, so there's nothing wrong with maintaining two parallel-developed graphical environment projects. As for the developers of the GNOME project and the KDE project, who have been so noisy because of different ideas, they are now trying to make the difference, because everyone realizes that they need each other and that they are united to have a bigger say in front of the hardware manufacturers. This allows vendors to launch Windows drivers while also providing the appropriate Linux version, and each other can learn from each other good design, to ensure that Linux has one of the best graphical desktop environment.
Figure 8 Gnome 2.12 Keep it simple and efficient KDE and GNOME converge
In 2006, GNOME and KDE both stood at a new starting point, with Gnome's support for commercial companies and more free programmers, with a vision of Beyond the Mac OS x system. Perhaps you think that Windows Vista's translucent and three-dimensional interface will leave Linux far behind, then we tell you that this is an absolute misunderstanding, GNOME is now able to achieve similar results, Novell in the last few months to the outside world to give a detailed demonstration. Current KDE also supports pretty good translucent and shadow effects, technically not behind Gnome. Now that the GNOME project is moving towards a revolutionary 3.0 release, KDE is committed to developing 4.0 of the same major technological changes that could come into reality in 2007, when Linux systems will be more available. In other words, the full rollout of Linux desktop applications is just around the corner, and in addition to the efforts of developers and vendors, how to promote and provide training to businesses and individual users will be a major concern for manufacturers, and we stand on such a threshold today.
Finish!
Go Comparison between KDE/QT and GNOME/GTK