Y Window System Project Started
cuppm writes "Y, Mark Thomas's final year project for his masters degree, is back in active development (outlined here). Here is the email I received: '...Y development is about to start up again. If you are interested in participating, the website is at: http://www.y-windows.org/. There are links to mailing lists there, and you can download the latest development snapshot, which should compile this time :o). I apologise if I did not respond to your email personally. I was on holiday in Japan when the story broke, and by the time I got back I had over 80 emails about the subject, many of them in depth. If you had specific points that you'd like to raise, I suggest re-raising them on the y-devel mailing list.' So for all those who think it's time for a X replacement, here's your shot. And for those X lovers, use Y's extensibility to make it X compatible." See our previous story for more background.
Um... Women don't have a Y chromosome.
I think the renewed interest in Y-Windows may be doe to the licensing concerns about X's new license not being GPL compatible.
I was reading an old book on X Windows the other day and the naming came something like this:
Stanford had an operating system called V where they developed a windowing environment called W. MIT needed such a windowing environment for the Athena project and borrowed the W system from Stanford. They made so many improvements over time that it no longer resembled the W system so they named it the X Windows system. Over time 11 versions were developed as more and more Unix companies got interested. But by then MIT had its needs met so an X Consortium was formed that developed the X11 system from revision 1 to 6 reaching the X11R6 release that we have now.
Try reading for once, GPL version 3 is supposed to take into account the incompatiblities with the new Apache License, and xfree86 4.4 new license. Then again it isn't out yet either.
i thought once I was found, but it was only a dream.
Taken from their site:
About Y
I've got tired with the state of desktop GNU/Linux. Most of the problems that I see with it can be traced back to the underlying window system, X. So I decided to write its successor...
Y was my final year project for my masters degree at the Department of Computing, Imperial College, London. I set out to design and begin the implementation of a modern windowing system. The Y design has the following features:
Network Transparency
Contrary to popular belief, supporting network transparency does not reduce the speed of the window system on local hosts. Further, with Y's in-server knowledge of widgets, applications run over a slow network can appear almost as responsive as local applications (especially when compared to an X application).
Modularity (plug-in style: dynamically unloadable and reloadable)
Unload an old video driver, load a new version. On the fly. No restart in sight.
In-server implementation of widgets
Y specifies a core set of widget classes. Objects of these classes are stored in the server, where they are closer to the user and thus more responsive from the user's point of view.
Consistency and Themeability
Y widgets use the currently loaded theme to render themselves. Since all server widgets are using the same theme, all widgets appear consistent throughout the desktop. Client applications can also use the theme's drawing operations, allowing specialised widgets to make themselves fit in with the look-and-feel.
Support for hardware acceleration
The Y design can make use of hardware acceleration to speed up rendering operations. This can even include the use of 3D-accelerators' textures to draw windows with (someone has already implemented a prototype of this which is very smooth).
Better internationalisation, localisation, and accessiblity
In-server widgets means there can be exactly one current language, one complex input method system for languages that require them, and one set of accessibility features.
Some more information can be found in my individual project report. If you have any more questions, ask them on the appropriate mailing list.
The current implementation is, however, very basic. It needs a lot more work before it will be usable on a day-to-day basis.
This is all taken from the PDF file.
I for one, am all for standardizing a window system. That's not saying that we can't have competiting Window managers, but there is standard of the communication to the windows system. This is (IMO) what is holding back Linux from the desktop.
Every Super Villan uses Linux.
hit #y-windows on irc.freenode.net if you want to chat about Y.
CB
free ipod and free gmail!
Hence XRender and the introduction of a new visual type with an alpha channel done by FreeDesktop.org, both done in a non-crufty way, yet within the confines of the existing X protocol.
DNA just wants to be free...
The new X license has a clause that says that you must attribute the XFree86 team (with some specific language). Essentially, the incompatibility is that the GPL doesn't require that, so you can't take code from XFree and throw it into your GPL'd program. (Similarly, they've never been able to take GPL'd code and put it into XFree86.)
I don't see the big deal, myself -- if you want to use their code, you use their license -- but if people want to get apopletic about it, they're welcome to do so.
How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
From the COPYING file:
The Y communication library and the YC++ library, being the contents of the
libY and libYc++ directories in this archive, are licensed according to the
terms of the GNU Lesser General Public License, contained in the file
COPYING.LGPL.
The yiterm program, being the contents of the clients/yiterm directory in this
archive, are licensed according to the terms of the Common Public License,
contained in the file COPYING.CPL.
The remainder of the files in this archive are, unless otherwise stated in the
file, licensed according to the terms of the GNU General Public License,
contained in the file COPYING.GPL.
(C) 2003 Mark Thomas
Scratched Emulsion
Funny that I should read your post right after opening the Y Windows project report. The very title of the report is "Y: A Successor to the X Windows System"
NO WE BLOODY WELL DON'T!! why dont people RTFM and find out that XFree86 have been writing their own accelerated (yes, 3D as well) drivers for ATI cards since time began... as they release the specs. sure, ati also make their own, but XFree86 also make them. and they also work on FreeBSD. also, incase you didn't notice, the linux kernel even ships with the radeon and ati Direct Rendering Modules.
if i have to point this out ONE MORE TIME on slashdot, i swear to god i'm gonna explode...
i wouldnt think for a minute that binary only drivers would work with Y... but i'd like to hear how different at the level of the source code, the drivers are from teh XFree86 ones... i.e., how hard will it be to port over XFree86 drivers? (assuming no license issues, which there will be since Y windows is GPL)
this is one of the most exciting projects i have ever seen... and it has appeared at JUST the right time with the XFree86 team being assholes, and the FreeDesktop.org guys without a useable server... they are almost on a par.
if someone could make an X11R6 compatibility layer on top of this thing... everyone oculd start using it (once drivers are made) and that is all the encouragement anybody needs to start porting their programs (or toolkits). but porting a toolkit kinda defeats the purpose, as this new implementation is trying to get rid of the need for multiple toolkit.
but to be quite honest, the thing i am most excited about is the license... fully GPL (probably someone will advice them to go LGPL)... which means no more jokes about GNU/Linux needing to be called GNU/XFree86/Linux :-)
X is a single-threaded client/server application which provides windowing services and network transparency.
Since the terms 'client' and 'server' tend to be redefined every year or two by the Xfree team, nobody else really knows which is which any more. X interfaces directly with video drivers and also with the window managers.
The problems are fairly numerous and unfortunately difficult to fix:
Single-threaded X is forced to share its timeslice with every client (?) program, which leads even people like Linus to complain about GUI latencies on 4-way systems with top of the line hardware. Not so cool. Kernel 2.6 contains some hacks to kludge around this problem, but the underlying issue still hasn't (yet) been addressed. Considering Xfree's Design by Committee creed, it never will be fixed. You might say that X is rotten by design. You might more accurately state that X is 1980 technology, and wasn't meant to do the things that modern users expect as a matter of course (eg. 3D low latency, non-stuttering graphics). There isn't an elegant solution aside from ditching X entirely.
From the other end, the Xfree API is a big mess of kludges. Extensions have proven an excellent tactic to obfuscate and uglify code.
just like the humble blood clot... turboporsche@telus.net
If you run 'startY' within X, Y will appear as a Window on X. This is because Y dosent use its own graphics routines, it uses SDL. Hence it will run on any hardware SDL supports. I couldn't get any applications on it to work though :(.
For the umpteenth time, the 'big deal' is that a *ton* of stuff already uses their code, at least in the form of linking to their libraries. A lot of that stuff is GPL, and so can no longer be linked with said libraries and distributed without violating either the GPL or the new XFree license. As a result, we either dump all this GPL code, or we dump XFree 4.4. XFree 4.3 still works well, and is covered by the old license, hence no dumping of GPL code. Which would you choose?
You may ask "what GPL code is so all-fire important?". Well, QT for one (and by extension all of KDE). I'm sure several key components of Gnome as well, though I dunno for sure if the new XFree and the LGPL clash. And once you've eliminated all the window managers (most are GPL), then why do you need XFree86 at all?
You hear a lot of people bitch, but mostly because they do not understand it. People tend to do that. Hell, I did that myself, before people beat some sense into me and made me actually understand the system I was bashing.
X does have some problems. The set of actual problems with X, and the set of perceived problems with X are more or less disjoint.
X is not slow. X is not a memory hog. X's feature set is not outdated. It does, however, have a very weird way of handling color, has some protocol peculiarities, and the default interface library (xlib) makes it hard to write fast apps. Most of these things can be fixed without ditching X. For example, there is an extension called XFixes which fixes certain problems with the protocol. There is a new interface library called XCB which is more "low-level" and makes it easier for toolkit authors to identify potential performance issues. Freedesktop.org's new X server will incorporate compositing and OpenGL-acceleration, to make X competitive with Longhorn, all within the existing X framework!
A deep unwavering belief is a sure sign you're missing something...