XFree86 Fork Gets a Name, Website
Piethein Strengholt writes "Today the Xfree86 fork is a fact. A new project has started and is located at: xouvert.org. Xouvert has been started due to the corporate structure and the slow development of XFree86. They hope to reduce the risk to XFree86 of incorporating new drivers and features."
...how the hell do you pronounce it?
If they're trying to include useful third party contributions, they could do worse than include NX, a revolutionary new compression and proxying technology that makes it possible to run an X session over a 9600 modem at a useable speed. But I didn't completely understand their policy on licences (the NX infrastructure is GPLed, whereas X is under the MIT licence).
perl -e 'fork||print for split//,"hahahaha"'
"ouvert" means "open" in French.
Drop the network transparency, make it run framebuffer and XFree is obsolete on desktop.
Why do people not realize, that X-Windows is NOT sucking because of network transparancy! Any possible design of a clean API for a windowing system will more or less be automatically network transparent. The only this which is not network transparent are stupid ugly hacks. That said, we all know how X sucks, but it is has definitively nothing to do with network transparancy.
Cheers
KdenLive/PIAVE - non-linear video editing
... From a marketing standpoint. That's it. It's hard to immediately discern how it's pronounced, it's got seven uneven letters, it's relatively long and it has no obvious immediate meaning or collection of related possible meanings based on the roots of the word.
...
So what if 'ouvert' is 'open' in French. I didn't know that. Lot's of people don't know that. Learning that doesn't make you go "ooooo, that's so cool". It just makes you go, "oh".
Open source projects, especially projects of any magnitude should try, from time to time, for some true open source marketing. Unfortunately, engineers, no matter how smart they may be at one thing, are frequently not as smart as they think they are at many things, and so they drop the ball in some areas. This is a decent example.
Of course, 'Vim' and 'Emacs' aren't exactly stellar examples of naming, either, but on the other hand they haven't had much success outside certain circles, and they're both pretty amazing editors. Someone might say that has more to do with their vertical learning curves compared to, for example, 'Word' but their names certainly didn't help
Chr0m0Dr0m!C
See my previous comment on NX compression. I'm typing this on Galeon running at work, displaying on my home computer over a 56K modem, because it's faster web browsing like this than running the browser locally. NX has to be seen to be believed.
The interesting thing is, this level of compression is only possible because of the high-level nature of X's network transparency - Citrix / RDP / VNC doesn't run anywhere near as fast.
perl -e 'fork||print for split//,"hahahaha"'
Frankly, it may be worth jettisoning a lot of the XFree86 baggage and starting anew.
Y, an X Windows replacement, looks extremely well designed and this guy wrote a pretty complete implementation for his thesis.
Why not port the useful bits of X - like the hardware drivers - over to this already-established well-designed base instead of trying to hack XFree86 into something of similar quality?
(Well, the obvious answer, ``to keep the applications`` is fair enough. But a compatibility module wouldn't be too hard, and worth the benefit in the long run.)
My biggest worry about this fork was that the developers were going to announce a "practical" approach to drivers, one that would include non-free drivers etc.
From the website:
"All code that enters the project is under the standard X11 license, or compatible free license as specified by the Free Software Foundation"
Public mailing lists should have been the method of communication for the xfree developers right from the start. This is great news. The use of Arch as the version control system is iceing on the cake.
Ciaran O'Riordan
Expert in software patents or patent law? Contribute to the ESP wiki!
I've often said that open source software projects need to do better or at least some marketing. Seemingly little details mean a lot.
For example, most commercially marketed software packages have web sites whose opening page clearly dewscribes the function of the software and then goes on to elaborate on what the software can do for you. Conversly, most open source project homepages start with a change log. Compounded by the fact that most have rediculous names that are not at all intuitive, many do not describe what the software does in a sensible fashion. Then worst of all they go on to compare their incomplete feature set with Windows, gleefully noting "Soon" or "In Progress" next to the missing feature.
You've got to put a marketing spin on your project if you want people to use it. Always highlight and stress its features and strengths. Never advertise its weaknesses. Don't compare the project to better or more feature rich works. If you must offer comparisons, compare the project with known products that are indeed inferior in quality or feature sets and use products that are generally well known ion the comparisons. Finally, and this is perhaps most important, bury the zealotry. DO NOT so much as imply that people should use your project because this other one sucks. If you must post this type of zealotry, save it for the developers page, somewhere that regular users should have NO reason to ever go.
It doesn't affect it. The people that believe that the X protocol is hampered by network transparency are wholly ignorant of how windowing systems work. Much of the perceived "slowness" of X programs are solely within the domain of the toolkits, themes, and applications that use them. All windowing systems use IPC for communication with the windowing system. Unix domain sockets are not exactly a burden with this regard. However, if one of the ignorant supporters of the removal of network transparency could be bothered to simply implement IPC over a different mechanism (quite possible), they would notice this.
Yes, it's starting as an experimental branch from XFree. Other experimentals include:
- GCC/EGCS
- Emacs/XEmacs
- Minix/Linux
- BSD4.4/OpenBSD/NetBSD/FreeBSD
See a pattern yet? They are doing their own source tree, their own code control, etc. This is not a branch of the official XFree86 project. This is a fork, which will be maintained independently of XFree86. It seems that one of two things will happen here.While I'm not against going out on a limb and doing something innovative, I just wonder if it would have been better to try and accomplish this within the project that currently exists?
Overrated / Underrated : Moderation
If you've ever managed a reasonably large open source project then you know that making everything public from the beginning won't necessarily be a good thing!
You can't just dump some stuff somewhere on the net and then expect people to contribute. You have to prepare a lot of things, so that people can easily contribute without getting lost in the mess!
And I don't know who moderated you up but those moderators certainly didn't read the website. I quote:
"Sat Aug 16 00:59:49 PDT 2003 - You can't download anything yet. We have this website, XWIN is providing Wiki space, and Savannah is providing mailing list and bug tracking services. We are importing the Xfree86 source code into an arch repository right now; the current job is making a script to tag the source files every time a CVS checkout is done. The IRC logging bot still needs to be set up, and code written to archive the logs daily."
The website has only been up since yesterday! Accusing them for "keeping it secret" and shoot down their image is just stupid, when they've just started recently.
But when done right, they can release often but still have stable released. See the GNOME project. They have a very strict policy in not breaking compatibility between minor versions and not changing big things during freezes. As a result, the GNOME 2.x series are more stable than any previous GNOME releases. Compare the stability of GNOME 1.0 with 2.0: huge difference!
I applaud this initiative. Might be what X needs to get back to life. A bit of competition always sounds like a good thing.
But if they are really serious at encouraging developpers to join this project, the first sensible thing to do would probably be to forget about the IMake crazyness that has been used for years by XFree86 and switch to something else for building the whole project.
Replacing it by the autoconf/automake mix would make the source tree much more appealing to potential developpers. And just to back up my claim, someone else also made the same comment on the xfree-xpert mailing list a few months ago:
(...)
[ I also hope that somebody with more drive than I have will some day decide that the X Makefiles are such a mess that they'd be willing to get rid of all that horribly broken imake crap and just fix them. What a broken build system! ]
Linus
(...)
Just my 0x02 cents...
I think his point is that X *is* the protocol. XFree86 is an implementation of that. Without the X11 protocol, you might as well call it pork chops.
Give me Classic Slashdot or give me death!
It doesn't matter whether the name "sucks" or not. Does it matter to users? No: they don't actually care! Heck, they shouldn't even have to care. All they should know is that it works.
Does it matter to distributors? No: if Xouvert is good, Linux distributions will include it, no matter whether the name "sucks" or not.
Does it matter to developers? I don't think they, they care more about the code and the openness of the projects.
So, where is the problem?
"Of course, 'Vim' and 'Emacs' aren't exactly stellar examples of naming"
Vi and Emacs are not popular outside the Unix commandline community because they're console apps, not because of their names! You can rename Emacs to "PowerEdit 2000" but it's marketshare won't change!
The name is certainly not the most important thing. Many people say that Ogg Vorbis will fail just because of it's name. And what do we see? More and more MP3 player manufactures are adopting Ogg Vorbis. And again: users don't care. If they can use the technology easily, they will, no matter the name.
"Bascially an X server that has been stripped of all the features that the "average" person doesn't use, such as running remote desktops over networks and things."
Urgh, not this again...
The slowness is not caused by network transparency!
Locally, XFree86 uses a Unix Domain Socket for communicating with it's clients. On Linux, that's just as fast as shared memory. That's as close as you can get to not having network transparency.
Writing directly to the videocard's framebuffer is not "the modern way", it's "the 60s" way. Modern apps don't access hardware directly anymore: they do that via abstraction layers like the kernel. These abstractions don't necessarily degrade performance. But the most important of all, these abstractions provide portability and make sure that multiple applications don't conflict with each other (like, 2 apps trying to write the same hardware at the same time).
And dropping network transparency will piss off a lot of people, including corporations, and including Slashdot!
Look at GNOME: at version 2 they took a new path and are now walking towards simplicity. They're now aiming the average users instead of geeks. And what do you see? Slashdot geeks are massively upset about this because GNOME is not targeting them anymore!
In other words, even if you drop network transparency, Slashdotters won't stop complaining. I suspect that more and more people will by then start crying about putting back network transparency. And when Microsoft or Apple puts support for network transparency natively in their windowing systems, Slashdotters will suddenly complain that we need network transparency in order to succeed on the desktop!
You have not understood how open source developement works. There is not a fixed amount of development power that can be distributed among the number of existing projects. A fork can ultimatively tab new sources of creativity and also the pure stimulus of competition can mean a boost for both projects.
I strongly believe that this is e.g. true for gcc/egcs but also for KDE/GNOME. None of the projects would be where they are without the competition of the couterpart.
Cheers
KdenLive/PIAVE - non-linear video editing
> ...I just wonder if it would have been better to try and accomplish this within the project that currently exists?
Maby they did not succed.
As far as I've been led to believe, there are *no* developers for the current Xfree, that being the need for a fork in the first place. Whereas now people may show an interest in working on Xfree, they have little hope of ever making an actual contribution (due to politics and the general lethargy surrounding the head honchos). So in that way, there really aren't any developers to lose.
I personally applaud this fork, anything that encourages support, and let's be honest, momentum, to a application as critical as X, can't be anything but a good thing. One thing is for certain, these guys have made an effort to changes things; and that's far more than those in Xfree, or the aborted mess of a website, xwin, have done!
Anything that wants to have a snowball's chance in hell to replace X is going to have to be network transparent, too.
All of the major UNIX vendors at one time or another have looked at implementing a shared memory transport for X messages on the theory that it would reduce overehead. In benchmarking, however, it was routinely found that Unix domain sockets imposed very little or in some cases less measurable overhead than shared memory. Net effect: no speedups to justify implementation. And in case you weren't aware, we do now have DRI and XV for 3D and video, which do dump network transparency in favor of speed in these extreme high-bandwidth cases. In fact, Linux+X outperforms Windows in terms of raw frame rate in many games on the same hardware (i.e. Quake+Nvidia).
But that kind of raw data pumpking is not very useful for normal applications, which don't need heavy bandwidth at all! You seem to think that your AGP bus is a fat-pipe framebuffer and that given a simple enough toolkit, it would somehow be a speedup to blast 32-bit screen dumps onto it at full speed. But even if this were the case, the content of those dumps would have to come from somewhere. In the API of every modern windowing system (including MS Windows) you'll find heavy reliance on some sort of message passing interface to make the nuts and bolts of the user interface; in short, every windowing system is "network transparent", it's just that most of them are only flexible enough to use one transport method, unlike X, which lets you choose the transport method. And I challenge you to find me any non-motion-video non-3D desktop application that is bandwidth or latency limited even on 100Mb ethernet, much less gigabit ethernet or local transport (get netperf on your own PC and check out the unix domain bandwidth!) Most any kind of local transport is going to have negiligible overhead compared to the overhead imposed by data inefficiencies in toolkits themselves (message redundancy, uneeded refreshes, etc.), and neither of these runs up against any kind of bandwidth or latency ceiling on a modern PC either. Both KDE and GNOME have major architectural inefficiencies outside of the widget rendering path. Search google.
And as far as burden of proof goes, you're the one proposing to throw away one of the most important features of the Unix desktop. I often hear complainers say that "90% of Unix users never need network transparency!"
I don't buy that number. You're getting the Windows market confused with the Unix market mate, I'd guess that 70-80% of regular Unix users do make use of network transparency becaue the vast bulk of regular Unix/X users are doing so in an administrative capacity. I'd love to see a Slashdot poll on this point.
STOP . AMERICA . NOW
I'm with you, while X isn't the simplest thing one could think of, it really does perform amazingly well. The frame buffer as a 'performance solution' is a total dead-end as writing a stream of pixels to a buffer is a LOT slower than using X to draw complete objects.
I do think X is a bit creaky though, maybe it is time to start a new one, one where major (and even compatability-breaking) changes can happen. Some things on my wishlist:
*A single, standard, simple font system.
*Integration of a more modern toolkit and WM, even if it has to borrow heavily from GTK+ or another project. This would be inclusive, it wouldn't prevent you from using other toolkits and WMs (think WindowMaker instead of TWM in the base set).
*Ability to run like Quartz Extreme (as an OpenGL-based system). Also, not as a requirement, just as an option.
*There's no excuse for not vectorizing this from the bottom-up, and we'll be thankful when the commercial OSs get this done and we've already got it. Think about running your monitor at 1600X1200 and telling the system it's 200 DPI so it zooms everything accordingly. Apple has this up their sleeve now, and Longhorn might unleash it on Windows.
*Transparency, which personally doesn't get me hot and bothered, but I guess people think it's cool.
*Ability to act as the 'console' layer for the OS, no more framebuffer-for-console, X for graphical. Have the thing run a full-screen native terminal, and have the OS work with it.
*extensive database of video cards and monitors for easier configuration, this should be integral to the graphics system. It took me a LONG time to find the specs on some of my monitors and I'd rather not do it ever again.
*Generally simpler/more elegant design. I'm pretty sure that a lot of what's in XFree86 today is there just to prop itself up, while a newer system might have a better chance of coming out with a clean design.
"Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
I don't know about the djb tools, having never used them, but as far as the GNU tools go, I couldn't agree more.
I think my favorite part of the autoconf documentation is the part where it touts using the m4 macro system, claiming it is quick, and easy to learn. Maybe it is. I don't happen to agree, but that's not really even the point. When you're writing GNU build files, that it's m4 is only incidental; you're really writing into the autoconf/automake macro API and it's one of the most byzantine, insensible tools I've stumbled across.
Not to mention how much I love having to wonder if I need to look in Makefile.am or Makefile.in for something. Or maybe aclocal? Or hey, where did that autogen.sh file come from? Wait, no, maybe it's config.h? Now, was it automake before autoconf? Did acmkdir work right, or am I just confused? Why doesn't it know what LF_CPP_PORTABILITY means when it's right in the documentation? Oh shit, I must need to run reconf. And didn't I read a paper titled "Recursive Make Considered Harmful" somewhere? Then why is it so hard to not use these directories? And why will it completely fail if I don't have internationalization support, when my customer isn't paying me to internationalize it? Hey! Where did acconfig go?!?
*pant* *pant* *wheeze* Eh, you get the idea.
Mahnamahna!