Keith Packard's Xfree86 Fork Officially Started
Reivec writes "I was having a discussion with Keith Packard on IRC about the current developments in the XFree86 Saga and
politics already discussed here earlier, and I learned many interesting things. The project has a new website, xwin, and things are getting underway. 'We're in the process of building community, from that we can construct a government. It's a hard process to construct a representative system from what we have now, so it will take a bit of time. Weeks, not months. --Keith'" Read on for some more details. Update: 04/13 03:30 GMT by T : Reader Khalid points to this informative interview with Packard at Linux Weekly News, too.
"
The site is has only been up a day or so and there isn't a lot on it right now, but he would like to see a lot of community involvement on the site and many user submitted stories to get conversation rolling. A french site has already taken
notice and posted some information on xwin as well. Since such a fork could make a large impact on many *NIX users, I felt the need to ask, 'assuming you had an active fork under development, how interchangable would you expect it to be with Xfree (assuming release builds). Do you think distros would be quick to change if it offered improvements? Or could they
provide both and have the user choose upon installation?' Keith replied, 'Given that distros will have input into how it gets built, I expect they'd be interested in a version closer to what they need. And, given that RH and Debian maintainers are both actively encouraging changes, it's hard to see how they wouldn't want to follow. (or lead).' So if you have had any interest at all in the XFree86 development, this is definitely a community site you should
take advantage of."
Wow, It's been a long time since something comparable happened. I guess the glibc/libc split is probably the closest. That settled out reasonably quickly, (though it left some freakish version numbers that still cause trouble). I suppose one can hope for something similar here.
/. interview?
X development has been somewhat slow, but it seems like the really big issue has always been drivers -- is there any way that new leadership can help get specs from manufacturers?
Editors: can we get Keith for a
Oh, and, FSP? (first substantive post)
Sig:Why copyright isn't a fundamental human right
It seems to me that if they are going to fork they might as well do something right from the ground up. They could build something like Quartz Extreme and then add the old version of X11 on top of it like Apple has done with OS X. Lots of possibilities!
Actually, it's strangely democratic. Seriously, the vast majority of successful Open Source projects have a single maintainer. X hasn't, and some might speculate that that's part of it's problem. I guess this has to be done to attract a large number of old X developers, but I really wonder if a benevolent dictator could make things work better (and if not, just use XFree86).
Sig:Why copyright isn't a fundamental human right
If I were to guess, several months ago, what fundamental OSS project would fork next, I would've picked XFree86. The signs were all there. Slow pace of development. Closed inner development core. Bugs left unfixed.
I'm about to upgrade my machines. The new release comes with XFree86 4.3.0. I'm already aware of some stuff that works in 4.2 but is broken in 4.3. There was no response to a couple of bug reports that I sent in last year, so it's not a surprise to me.
I'm waiting the obvious forthcomming trolling, from the peanut gallery, about the fork, and how its going to be fodder for the OSS lobby. I do not find it a problem. I see it as a natural evolution of things. It's just like 4-5 years ago, when RMS was dragging his feet on gcc development, egcs got forked, and eventually became the new gcc. Right now, gcc 3.2 is a damn good compiler, and I doubt that we'd have it, without that fork.
I went to xwin.org but could not find any type of list of what they hope to achieve. Not a good start for a project. Perhaps they haven't quite got around to posting the list.
Here's what I'd like to see done:
1. Performance. There needs to be some serious performance boosting. Rip out a whole lot of fluff. Honestly, how often do you need remote xwindows? Yes, there is a use for it, but that should be a seperate build altogether.
2. Standardization. Flexibility is nice, but having every damn program do things differently is annoying. It's also a very bad thing if you are trying to break into the mainstream.
3. Easier configuration. It can be a real bitch to get xwindows running properly. Considering the huge amount of differing hardware in the wild, I'm not so sure it would be possible to simplify it too much. Oh, well.
My 2 cents.
-- Will program for bandwidth
There is no "fluff" there. X11 runs as a separate user-mode process from applications. That means that commands to it need to go from the user process to the display process. X11 uses an asynchronous protocol and a mixture of shared memory and UNIX-domain sockets. And for games and other applications, there is DRI.
It happens to be the case that the X11 protocol and semantics are well-enough defined that the same protocol works over fast networks, but you don't pay anything for that.
Macintosh (as far a I can tell) works the same way: a display server, user mode applicatins, and some IPC mechanism connecting them. The only reason remote display for the Mac doesn't work like X11 is because it lacks some high-level primitives.
Windows used to start out as a frame buffer library, but it, too, works pretty much like X11 these days: asynchronous communications between user-mode processes and a display server running in a separate address space. The only thing NT/XP do differently is that the display server runs i the kernel. You could put an X11 server in the kernel, but it probably wouldn't make a big difference in performance (and it would be a headache).
When a particular X11 implementatin is slow, it's usually because of bad drivers or bad configuration. With comparable drivers, X11 performance is top-notch--usually better than Macintosh and comparable to Windows. And many X11 applications are slow or inefficient because their developers assumed they were programming a frame buffer--an assumption that is wrong on all major GUI platforms these days.
In short, this "X is slow because of network transparency" is wrong in multiple ways. First, X11 is not slow compared to other popular windowing systems. Second, nobody has ever been able to describe a way in which X11 could be made faster by choosing a different IPC mechanism. People who criticize X11 for using IPC usually assume incorrectly that other systems don't use IPC, but they do.
2. Standardization. Flexibility is nice, but having every damn program do things differently is annoying. It's also a very bad thing if you are trying to break into the mainstream.
X11 is standardized. What is not standardized is GUI environments and toolkits. But there is a reason for that: people are still figuring it out. It's software evolution in action. And it's not like Windows or Macintosh have figured that one out either: on Windows, people use dozens of different toolkits, several of which come from Microsoft Similarly for Macintosh. Gnome and KDE are making an effort to interoperate, and that's all you can ask for.
Also, there are plenty of programs that need to "o things differently". X11 is not just a desktop window system, it's used for scientific and engineering applications, customer terminals, ATMs, banking workstations, embedded systems, and lots of other applications. Those environments should not look like a regular desktop.
3. Easier configuration. It can be a real bitch to get xwindows running properly. Considering the huge amount of differing hardware in the wild, I'm not so sure it would be possible to simplify it too much. Oh, well.
I think people are doing as well as they can, given limited information from manufacturers.
But because X11 is standardized, you can always buy a commercially supported X11 server. Those usually run very well on the latest hardware. If you are using XFree86, you are using something that's both free and experimental.
As far as I can tell, "the split" is over none of these issues. Both branches will remain network transparent window systems, they will remain compatible, and they will continue not to force toolkits or desktop software on users. If they tried to, they would cease being X11 implementations. What Keith probably will do is accelerate bug fixing and bringing extensions into the X11 server. And that's what really matters.
The only thing I'm worried about is Microsoft leveraging this
to knock up the FUD factor another notch (bam). I've got visions
in my head of 'can't trust those free software people, they've
got personal agendas, major breakup, project may die, Microsoft
has always been a wonderful unified blah blah blah'.
I sure hope there's a prepared statement from XFree86 and Mr. Packard
to counter this, should this become an issue.
I personally think that remote X is one of the most amazing thing about X Windows. Especially in the office environment.
I personally would like to see the remote X windows feature kept by both forks, but as an installable option instead of bloating X out for those who have no need of it. Both need to be an option.
Perhaps a separate xserver-xfree86-remote option instead of choosing xserver-xfree86?
Regarding the forks/split of X projects, the last thing I'd like to see is a lack of standardization in the GNU/Linux arena for X. One of the most option used complaint about GNU/Linux is the lack of standardization (even with the LSB).
From the GCC FAQ
In April 1999 the Free Software Foundation officially halted development on the gcc2 compiler and appointed the EGCS project as the official GCC maintainers. The net result was a single project which carries forward GCC development under the ultimate control of the GCC Steering Committee
what exactly does X lack? please. i have been using it for several years, and it has improved immensely, yes, but i have never had any problems with it. as forthe network thing, i use it in my classroom every day. i have a p3 serving up X to several boxes in my classroom, and not only has it never crashed, but it runs very fast over a 10/100 lan. why all the bitching? i don't get it.
My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
So how much effect is this split going to have on the KDE - vs - Gnome toolkits and the various window managers out there?
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
This is another American lie. Keith Packard, American official, is NOT free, he was easily subjugated by our dauntless troops. And he possessed not a fork, but a knife of mass destruction.
Note: I rewrote this message because some infidelic moderator modded it as offtopic. But I have no fear. Will trench my post and resist to the negative mods.
The remote ability of X does force design decisions in the protocol and interface, but you cannot remove these, because you would make "remote" impossible. Then you would have two display interfaces, one for local and one for remote.
You could make an argument that these design decisions are hurting X and that "remote" should be completely eradicated. That would be a logical argument (though I personally disagree).
But saying "remote should be an option" as though that is a physically possible solution is just wrong.
....what happens first.
Forks often rejoin the root tree once they've accomplished their goals, either intentionally or otherwise.
I have a gut feeling that unless the xwin project really refactors (i hate that word) a LOT of stuff, it's not going to be something that people are dying to install, except for the bleeding edge/at-work beta tester (these guys really piss me off, they spend more time recovering from crashes than actually working) types.
Wait it out - software development (especially in larger projects) is a meritocracy -- no one pays attention to you unless you accomplish something that makes a difference. Given what I've read about the reputation of this guy, he's probably going to bring a lot of good, but lets just wait for it to happen instead of getting all reactionary, eh? You're just wasting your time. Parade or throw tomatoes when something *really* big happens.
Pfft, how many times do I need to say "I've got no problem with people using closed source binary drivers" before it sinks in. Why is it that idiots like you insist on confusing idealism with fundamentalism?
I use it every day too. I had a decision to make. I wanted to play games that came out and run misc Windows programs reliably. I also wanted to have a stable platform where I could store my email, have xchat up, have various persistant processes running (for 120+ days of uptime now).
So what was I to do? Get Linux and install wine? If I enjoyed pain, sure. Or: Get Windows and run a webserver, mail-fetching programs, Python for windows, xchat for windows, blahblahblah for windows? No, I need a Linux environment, not just some of the applications that happen to be compilable under win32.
I made two computers. Linux box is headless, Windows box is not (of course). Installed windows, installed cygwin, installed XFree86 on the windows machine (easy, cygwin package), got remote login to work. Presto, Windows and Linux co-existing the easy way. The only improvement would have to be a seperate monitor and keyboard, but that takes up physical space.
how often do you need remote xwindows
More like, how often do I need local xwindows? My answer is "never." Don't treat remote windows like it's a party trick. I'd say it's the most important feature, period!
Carsten Haitzler (The Rasterman) from Enlightenment project started to work on XCB ! ...
XCB seems to be the super fast replacement of Xlib keeping X protocol
More infos
One major thing that seems to be needed is a detailed, up-to-date guide on how to develop fast graphical apps for xfree86. So many comments here saying "X is slow" are followed by comments blaming the toolkit/app developers.
A set of guidelines for modern xfree86 on how to get the best performance would help a huge fraction of the open-source world and improve the appearance of Unices on the desktop.
...what I would like to see is BOTH a local DRI (perhaps using SHM) AND continued network transparency.
Aside from that first time running Linux Doom over the network back in 1994 just to see how slow it would be, I have never had the desire to run a bandwidth-intensive X application over the network.
Yet, I still use X applications remotely, day after day---XEmacs, xmms, xterm, you name it---and I'm not about to stop.
Come to think of it, we already HAVE the two things I've listed above, so in fact, I'm already happy. Half-life under Wine plays frickin' fast, as does the native version of Wolfenstein 3D, and I can still run my other apps remotely.
I'd still be interested in seeing what Keith comes up with.
Finally, it sounds to me (from the older article that was linked to above) like David can go fuck off: if he doesn't use X anymore, then he should give up his spot on the XFree86 steering committee to someone with a stake in XFree's future. At a minimum, this should be someone who uses the damn thing!
Go, Keith! Some of the best applications in existence (XEmacs, gcc-3.x, and XFree86 itself) were adversarial forks.
Cheers,
Kyle
[ home ]
Actually, there is a great reason not to open source drivers: the fact that you can't write a graphics driver today without infringing on a top of phony US patents.
Both Nvidia and Ati can't open source their drivers because they would open themselves up to countless frivolous lawsuits. Heck, even trivial stuff like drawing a b&w mouse cursor by XORing is patented! Do you have any idea how much of the rest of obvious ideas relevant to graphics programming are patented?
As long as the preposterous US patent system is not abolished, I see no way for them to open source their drivers.
Simplicity for users. Xfree86 has been perhaps the single biggest factor limiting Linux's wide spread adoption (I can not count the number of times I have almost put my fist thru the moniter simply because some setting out of hundreds is wrong in some random text file)...
New technology is cool. Better configuration is manditory. I am looking forward to see how this plays out.
Once you get an incompatible fork it will loose that and fall into total disarray
...ad infimum).
This is not going to be the case at all. The "fork" will adhere to all the current standards. It will just be possible to develop different parts of the systems at a faster pace. It's also supposed to get us new goodies, that are build on the standard protocols, faster, and that's a good thing for the OSS cycle (hack, release, feedback, hack, release,
Have a little faith, xwin is in good hands. The xwin people are mostly responsible for the cool new stuff we're using right now anyway.
-adnans
"In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people." --Linus Torvalds