Is Google’s open source windowing project destined for Chrome OS?
Jul 16, 2009 — by Eric Brown — from the LinuxDevices Archive — 3 viewsGoogle has released a proof-of-concept server windowing system based on FreeNX and NoMachine's original NX remote-access software. Like NX, Google's open source NeatX server is designed to address X Windows' shortcomings when running over networks — and one analyst sees it as a cloud-ready, display-server complement to Google's Chrome OS.
Google's NeatX is based on NoMachine's NX remote access technology, which has been adopted by a number of thin client vendors. Designed for thin client networks and other remotely-hosted, low-bandwidth applications, NoMachine's open source, Linux-compatible NX technology compresses X requests and aims to reduce round-trip communications.
NX positions a caching proxy server on either side of the X Window System's client-server architecture, thereby reducing network traffic to differential transfers of whatever is not already cached. For example, it transmits only cursor movements and menu changes instead of resending the entire screen. Italy-based NoMachine claims that NX can reduce network traffic by up to 50 times, providing Citrix-like scalability.
A simplified FreeNX, with a hint of Ganeti
As explained in a blog by members of Google's Systems Administration Team, which appeared on July 7, prior to the recent Chrome OS announcement, most of NX, including the client, is available as open source code. However, NoMachine keeps its NX server code, which connects NX clients with open source libraries, proprietary.
To fill this gap, Fabian Franz released an open source alternative to NX Server called FreeNX in 2004. Yet the software is "written in a mix of several thousand lines of BASH, Expect and C, making FreeNX difficult to maintain," says the Google blog.
While mimicking much of what NX server and FreeNX does, NeatX was "designed from scratch with flexibility and maintainability in mind," says Google. NeatX minimizes processes, separates code into several libraries, and is written entirely in Python, except for a "very few wrapper scripts in BASH and one program written in C for performance reasons," the company claims.
NeatX is said to build upon FreeNX with drop-downs menus for session control in rootless sessions. However it also omits other FreeNX features, says Google.
The software also recycles some code from another Google open source project, Ganeti. This cluster virtual server management tool is said to run atop Xen or KVM.
NeatX is said to be currently available under GPL v2 for free download at this early stage, and is still a buggy, "proof-of-concept implementation."
Cloud control
All this may seem like just another example of the sort of modest code-enhancement project announced all the time at Google Code, as well as hundreds of other open source projects around the world. Yet, according to ZDNet's Dana Blankenhorn, NeatX could fill the missing link as a display server for Chrome OS, enabling Google's master plan to dominate the "cloud."
The fact that it was announced shortly before the Google Chrome OS announcement is no coincidence, he noted. NeatX could help Chrome OS circumvent the classic client/server approach to computing applied by Microsoft and the rest of the IT world, writes Blankenhorn.
Together with the Linux-based Chrome OS, as well as Android-based mobile clients, NeatX could someday enable a client-cloud paradigm that would largely bypass the need for complexity on local servers, he writes. Advantages might include low cost and flexibility, but at the possible cost of security, adds Blankenhorn.
Availability
Google's blog announcement for NeatX may be found here. NeatX early-stage code downloads and more information may be found here.
Dana Blankenhorn's analysis on ZDNet may be found here.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.