XFree86 is a client-server windowing/graphics display system. Its confusing as hell, but basically the “client” spits out the windows, and your “server” puts them on screen. Therefore, I can run a program in, say, France (or Freedom, if you wish), and it can display on my laptop in Portland, Maine. Its not incredibly efficient, mind you — it has to actually send all of the “widgets,” i.e. arrows, buttons, etc. over the net, but it is useful because you can run things remotely.
But most people don’t.
I was just saying to, I think, Jeremy, that X really needs some work — a new approach that is more efficient. If its running on the local computer, drop the client-server model. If its not, offload most of the work to the server and have the client just spit out commands like “draw a button here” instead of “draw this button defined by this graphic here.”
Apparently, this debate is happening in the X development community itself! Not along my lines in terms of a better client-server model, but more of a, “get direct rendering to work well, then worry about remote display” model. Developers are choosing sides, and heavyweight player Alan Cox has recently stated that, “X has to evolve, X has to do cool stuff, X has to let people break stuff, X has to delegate trust to driver maintainers far more. To me it doesn’t matter if Keith and friends spin off an ‘Xperimental’ or XFree itself changes, but that change is vital to the future of X11.”