Slashdot Mirror


What's Missing from Free Software?

dan.hunt asks: "Klaus Knopper was interviewed here and the interviewer, technobeast, asked: 'If you were asking the questions, what would be the 1st one you would ask?' Klaus answered in part 'What are you missing in the available Free Software, and how would you like to change that?'"

33 of 141 comments (clear)

  1. Packaging and Installation by dmorin · · Score: 4, Insightful

    Easy. Source distribution should be optional. If I recommend a free piece of software to somebody in the windows world I want it to come in one downloadable file, with an installer with lots of dialogue boxes.

    1. Re:Packaging and Installation by isorox · · Score: 2, Informative

      Source distribution should be optional

      !@!@@!"$$!$!$!@!$@!$@!$@

      Source distribution is optional, as long as you distribute it for cost if requested. Theres tons of OSS which is one downloadable file. Mozilla, for example, or even rpm's and debs.

    2. Re:Packaging and Installation by AndyBusch · · Score: 4, Interesting

      I really don't think they meant optional in the sense that the GPL software should be binary only. I think he meant optional in that each program should be packaged. Sure, many (maybe even most) programs come packaged -- for some version of some distribution. You run into lots of chances for incompatibilites that I rarely see on Windows. In fact, it's this irregularity in packaging that made me switch from Red Hat to Slackware. Slack plays much nicer with a hybrid of packages and source compiles.

    3. Re:Packaging and Installation by vadim_t · · Score: 3, Interesting

      You rarely see incompatibilities on windows? Come on, you see them all the time!

      One of the biggest reasons why Windows tends to fail for misterious reasons is exactly due to consistent lack of packaging. Some programs throw DLLs in the system directory. Some will write them to their own. Some will forget to increment the usage counter, and some to decrement it. Some braindead installers will overwrite files without checking the version. Others will leave with a mix where the errors of the program appear in English while the rest appears in say, Spanish.

      All this results in a really horrible mess after a few months. 300MB of DLLs in the system directory that you don't know what they're for, DLLs being uninstalled because the usage counter was too low, or left lying around uselessly because it was too high. DLLs being replaced with newer but incompatible versions...

      As a programmer who makes Windows apps I can say that making an installer for a large Windows programs takes quite a lot of time and experience to get it right. Meanwhile, in Gentoo I learned to make to create simple packages in a day.

      All Linux package managers ensure all library versions are adequate and that no package overwrites another package's files. It might be a bit of a pain in the ass sometimes to make sure everything is of the right version, but would you really prefer to have the Windows mess instead?

    4. Re:Packaging and Installation by Cyclops · · Score: 2, Interesting

      Easy. Source distribution should be optional. If I recommend a free piece of software to somebody in the windows world I want it to come in one downloadable file, with an installer with lots of dialogue boxes.

      this was moderated as Insightful? Funny at the most if it was cynical humour :) Anyway, for those that don't even know what's Free Software and could be fooled by such a statement, here's a short piece of information:

      Check the link, but in short, any software which is licensed in such a way that you are free to: 0. run the program, for any purpose; 1. study how the program works, and adapt it to your needs (you need source code for this); 2. redistribute copies so you can help your neighbor; and finally 3. improve the program, and release your improvements to the public, so that the whole community benefits (you need source code for this) then that said software is Free Software.

      The GNU GPL, the most applied Free Software license allows you to do all that, but if you give copies, wether modified or not, the very same rights you have, you have to share.

      dmorin is obviously confusing the GNU GPL with Free Software in general, which is one common mistake. There's a lot of Free Software that is not GPL'ed. Click here for a detailed analysis of Free Software licenses, GPL compatible and incompatible, and of non-Free Software licenses..

      Many distributions distribute source code alongside the binaries because that's the easiest (and also the cheapest) way to comply with the terms of many Free Software licenses (namely that you need the code to be able to exercise your freedoms properly), but I'd say that most non technical users won't even touch a line of code (leaving the work for the geek friend or consultant).

      Installing software can be as hard as typing: apt-get install ThisProgram (under Debian GNU/Linux), which will automatize the process of finding any unsatisfied dependencies and installing all you'll need for running ThisProgram. In some cases, it even suggests other additional optional packages that will improve ThisProgram's capabilities.

      Now compare with: download; double click; pass through a lot of PITA dialogs (get some options wrong by the way); then maybe reboot.

      Not funny at all :)

      Don't take it wrong, it's a common mistake. But I hope I was clear enough.

  2. What are you missing... by Prince_Ali · · Score: 2, Interesting

    In Linux.. hardware compatibility is missing.
    In Mozilla.. not much is missing.
    In Open Office.. Microsoft Office is missing.

    1. Re:What are you missing... by BrokenHalo · · Score: 2, Insightful
      Agreed. But generally...

      Documentation is where Linux applications often fall down. Granted, it's not always that good on Windows either, but there is generally an expectation among Windows users that it should be there.

    2. Re:What are you missing... by The+Cydonian · · Score: 2, Insightful
      Actually, I've started using O.O recently, and trust me, for the most part, it liases with MS Office perfectly. Opens all my three years worth of presentations, documents etc without a hassle, and what's more, the UI feels so similar to MS Office, that after a while you'll forget you're not using MS Office (although, admittedly, the look is still not as sleek).

      And then, there's this new export to PDF/Shockwave feature that's a kickass thing to have, especially in academic environments (the corporate world, as I see it, is still steeped in .doc files)

  3. suggestion by Tirel · · Score: 2, Interesting

    he writes that the 700MB are not enough, and with every version he has to dump some programs for others. how about dumping KDE in favor of some other wm that takes less space? icewm and *boxes come to mind.

    1. Re:suggestion by croddy · · Score: 2, Interesting
      there are a lot of different desktops/window managers on the standard knoppix disc, not just KDE.

      look at KNOPPIX/knoppix-cheatcodes.txt (or hit F2 when it boots). fluxbox, icewm, twm, and windowmaker come to mind.

      besides he's asking about free software, not the knoppix distribution...

  4. niche applications by croddy · · Score: 3, Interesting
    a common complaint is that there is not enough support for specific hardware devices under (gnu/)linux or other GPL OS's.

    really I think this is just a function of another, larger phenomenon: with free software there is a great focus on the most common applications but not for niche applications. everyone uses a web browser, office programs, CD recording, audio extraction/encoding/playback, etc. the same is true for server systems: apache, perl, python et al, samba, SQL & friends all fill the voids in a free server system

    but until recently, applications that only a few people would find useful have not been available. it's only been recently that linux has become a viable platform for audio production/editing. I think device drivers will follow soon.

    it only takes one programmer to write the code and then it can be copied at a marginal cost approaching zero.

  5. Focus, not features or programs by gseidman · · Score: 5, Insightful

    What's missing from open source software has little to do with the software itself, but with the approach to it.

    Consider a sampling of successful and focused OSS projects: Perl, Python, Ruby, Linux, Apache, GCC, GNU file/text tools. What is it about themthat makes them successful? They focus on a single audience. Perl, Python, Ruby, and GCC focus on developers, and serve them well. Apache focuses on web serving (and, in its subprojects, web development), and does it well. The GNU utilities focus on the Unix user, and provides the expected interface well. Linux focuses on providing OS support for a wide variety of hardware (I am speaking solely of the kernel and its modules here), and does it well.

    Now consider some less focused, yet still popular, OSS projects: GNOME, KDE, Mozilla. They try to be all things to all people. This is, indeed, one of Microsoft's (many) failings: for example, Windows attempts to be a home, workstation, and server OS using the same interface, and Word attempts to provide word processing for Grandma as well as document creation for technical authors and collaborative document management for corporate teams and everything in between. They are mediocre for all of their supposed purposes.

    Mozilla is a bloated pig because it can be used for so many different things. (I happen to use much of the bloat, but that doesn't justify its lack of focus.) This is why it is being broken up into separate tools, and rightly so.

    Ultimately, compelling software is compelling not because of how many people can find a use for it, but how well it serves some particular audience. This is the inverse of the "right tool for the job" platitude: make your tool the right one for some job, not a tolerable one for several jobs.

    I will point out what I believe is (much of) the proximate cause of this tendency to lack focus. The mantra "release early, release often" encourages a lack of focus; once a community of users springs up (which is vital for a successful OSS project) they begin pushing and pulling the developers to support this feature or that. One hopes that some of the users will actually contribute code, which means that features that stray from the focus of the tool may be harder not to include than to include. If the developers do not keep a firm grasp of their focus, it will stray.

    This is not to say one should not "release early, release often," but that one must maintain focus in the midst of users and contributors who have their own goals. I applaud the mutt team for keeping it a MUA, and nothing more. Sure, I'd like to see NNTP support, but there are perfectly good newsreading tools out there and, instead, mutt development can focus on being the best MUA it can be. I applaud Linus for rejecting innumerable patches when they don't fit his focus for the kernel. Project leads must discipline themselves if they wish to produce compelling software.

    1. Re:Focus, not features or programs by spuke4000 · · Score: 3, Insightful

      While I agree with much of what you said, I'd like to point out one thing: you mention that Microsoft has 'failed' by having a lack of focus. I think it depends on what you mean by 'fail'. Word makes them tons of money and is used by tens of millions of people. While it is bloated and unfocused, the projects that you mentioned as focused tend to be hard to use, and only used by a small user group (outside of the slashdot crowd how many people use Ruby, or administrate Apache?). Personally, I like the smaller, focused projects, but maybe if you want OSS to become ubiquitous, or at least as ubiquitous as Microsoft software, it should try to be all things to all people. It will never get there, but unfortunately this *may* be the only way to really get OSS to the masses.

      --
      This post cannot be rebroadcast without the express written constent of Major League Baseball.
  6. Re:What is missing? Honest labelling by dillkvast · · Score: 2, Insightful


    What is missing much of the time is honest labelling. At download.com, much of what is called "free" or "freeware" is really crippleware.

    That is a valid point, but it is however not open source software you are refering to. The post was talking about the "Open source community" and if you search Freshmeat instead of Download.com you will find a quite different result. Let's not confuse OSS with the crippled spyware you find at Download.com.

    --
    Scitne aliquis remedium potimum crapulae?
  7. KDE is not a Window Manager by Anonymous Coward · · Score: 2, Informative

    KDE is not a window manager. It is a desktop environment comprising several libraries, utilities applets, office applications and the KWM window manager.

  8. It's obvious. by Tanaan · · Score: 4, Insightful

    Consistency.

    But the whole nature of free/open software is that everyone wants to do things their way (myself included), so it's something that's impossible to fix.

  9. A sense of Aesthetics. by bons · · Score: 4, Interesting

    No one is reaching out to the graphic design community. While they also have a tradition of copyleft, free fonts, and royalty free no cost photography, the two communities simply don't talk to each other.

    (Which really isn't all that surprising since both of them tend to look down on each other as worthless parasites.)

    I'm sorry, it looks good enough for programmers, but it doesn't look good. And there's a difference, especially if you want the masses to adopt it.

    1. Re:A sense of Aesthetics. by bons · · Score: 2, Interesting

      Question: What's Missing from Free Software
      Answer: X
      Reply: Then add it yourself, scumbag!

      Ah, sweet loveable Slashdot. What would I do without you?

  10. I have a few ideas of things missing in OSS... by xutopia · · Score: 3, Insightful
    1. Names that mean something (Internet Explorer vs Mozilla/Konqueror, KDE/GNOME vs Windows)
    2. A way to do everything graphically (yes I know that we have unmatched power on the command line but doing things graphically works for everyone)
    3. Internet Connection Sharing (yes it would be very helpful)
    4. NTFS write support (would help people out)
    5. Installation without a CD or a Floppy (using a Linux box you insert a HDD, format it, put all the installation files, put the HDD in the new computer and boot for installation).
    6. Simple folder naming convention like Program Files, Document and settings, (what the heck does var, etc, proc mean anyway?) etc...
    7. A single distribution that comes out every two years with only non-beta software (version x.xx.xx.xx of something doesn't meant a thing to me either, give me a version 1, 1.5, 2005 or something that Joe Blow can understand please)
    1. Re:I have a few ideas of things missing in OSS... by croddy · · Score: 2, Interesting
      * internet connection sharing. we used to call that a router.

      win98-style internet connection sharing is a simple matter under linux. I never could get it to work under windows.

      my roommates' windows 2000 boxes are configured to login to my box, and bring the connection up or down automatically. my ppp connection is routed out my network card with a standard iptables routing chain. the whole system is controlled by a pair of shell scripts. one keeps track of who wants the connection, and when none are left, it brings it down.

      right, I know, not everyone can write this kind of stuff right away, but all you have to to is seach on google.

      * a single distribution...?

      there isn't even a single distribution of windows. people will want different distributions for different things. there was windows 3.1, and then 95, 98, then ME, then back to 2000, back to the letters with XP, and now they're back to 2003. I don't think Joe Blow will have any trouble understanding the consistent versioning scheme used by houses like Red Hat ... 7, 7.3, 8, 9... nothing nearly so obfuscated as 9x/ME/2k/XP -- an abbreviation we see everywhere.

      * HD-swap installation

      and I suppose it will simply do device detection for the powered-off machine across the room... well, either with telekinesis or a whole lot of manual driver selection. I don't understand the point of this one. the people who need this are system administrators and they already know how to make this work.

    2. Re:I have a few ideas of things missing in OSS... by irc.goatse.cx+troll · · Score: 2, Insightful

      # Names that mean something (Internet Explorer vs Mozilla/Konqueror, KDE/GNOME vs Windows)
      Try it and get sued. Not much you can do here, Adobe and Microsoft own most Word(tm)s.

      # A way to do everything graphically (yes I know that we have unmatched power on the command line but doing things graphically works for everyone)
      It dosn't work for people without powerful enough machines to push a good gui. However, this point is moot anyway, as you really can do everything from a gui now.

      # Internet Connection Sharing (yes it would be very helpful)
      You can share connections for an entire isp with a linux box.

      # NTFS write support (would help people out)
      Being worked on. Currently with the newest ntfs drivers you can write to existing files, but not create new ones.
      # Installation without a CD or a Floppy (using a Linux box you insert a HDD, format it, put all the installation files, put the HDD in the new computer and boot for installation).
      Windows cannot do this. I have done it in linux though. Just look at the knoppix project. You could easily put a knoppix cd onto a hdd and run it the same way.
      # Simple folder naming convention like Program Files, Document and settings, (what the heck does var, etc, proc mean anyway?) etc...
      Windows has the WORST naming convention ever, baring FreeBSD of course.
      Whats important is consistency and lack of overlap, Something Debian does nicely.
      # A single distribution that comes out every two years with only non-beta software (version x.xx.xx.xx of something doesn't meant a thing to me either, give me a version 1, 1.5, 2005 or something that Joe Blow can understand please)
      Try 'Debian 3.0r1". Debian's stable tree has nothing but tested applications that have been used long enough to know nothing will break. And the 3.0r1 is no more confusing than 95 OSR2 or 98SE.

      --
      Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
    3. Re:I have a few ideas of things missing in OSS... by The+Cydonian · · Score: 3, Insightful
      Consider this.

      You have two competing products. One is called, say, Infoseek, while the other is called, say, Google. Infoseek's name is pretty intutive; obviously, it's a place where you go to seek information. The other, Google, is a nerdy pun on the mathematical name for a multiple of 10 that has 100 zeroes in it.

      Even if you don't consider the relative merits of the product per se, I'm sure you know which brand-name is more popular.

      That said, your general point is well-taken; yes, OSS/Software Libre needs some marketing, but no, good marketing need not always equate to instantaneous comprehensibility.

    4. Re:I have a few ideas of things missing in OSS... by spitzak · · Score: 2, Informative

      1. I agree that "names that mean something" is a good idea, but your suggestion that Microsoft's names "mean something" is ridiculous. Instead of "Internet Explorer", lets try "Browser" or "Web Browser"

      2. Unless you consider the registry editor "graphical" I don't think you can do everything in Windows "graphically". But we do need the a solution that is superior to the typical Windows gui. One HUGE advantage of text files is that they can have comments and you can easily cut & paste items to duplicate and then modify them, and you can comment out lines. Also useful is the ability in many cases to insert "if" statements. It is unclear what the solution is, but it is obvious that the most complex computer control (writing programs) even the mighty Microsoft has not come up with anything better than ASCII files. But people do like IDE's that manage those files and react nicely to the edits you do and quickly jump to the right places in them based on outside influences, so maybe some work should be done similar to that.

      3. People who say "Linux can do that and did it long before Windows" are missing the point I think. I also set this up, but it was a pain and required much searching through Google and editing files and I'm quite uncertain if I did it right. Really, if I put in two network cards, why not have this turn on automatically? Why else would I have two cards? (ps Linux detected them both so it is not a hardware or driver problem) It can be done with ZERO wizards, I was all prepared to swap the network cables if it didn't work, or perhaps it could detect which end had a DHCP server. Now I don't know much about networks, but some automatic sensible setup would be nice.

      4. NTFS is undocumented and Microsoft is using this as a way to stop Linux adoption. However I have heard that NTFS write is kind of working, so this may happen. A better approach would be to add some code to Windows to read Linux partitions. Then it can be balanced: each system can copy from the other but neither can damage the other with any mistake. Such code could be installed with a Windows auto-run program on a Linux installation disk.

      5. I don't get this. Huge numbers of machines where I work are "installed" by inserting a HDD. This is done for Windows, Linux, and dual-boot machines, and works exactly like you suggest.

      6. Actually it may be a good idea to have abstract one-syllable names like "bin" and "etc". They can be communicated in speech unambiguously. However I would eliminate all the unnecessary hierarchy and revert back to the original Linux setup where the locations were in the root. "/usr/bin" and "/usr/local/bin" and so on would be eliminated and everything dumped in /bin. The reason for all that cruft was to put things on the correct disks, but that can be solved today with symbolic links (and could be solved even better with Plan9 union mounts, or by having things that search paths instead search a fixed directory and all subdirectories and have symbolic links handle "~" and "$foo" expansions so system links can be user-specific.

      7. Last I checked it has been quite awhile since 2.4, and the next version is 2.6. I suspect if you check the developers inside Microsoft you will find they use a lot of numbers to describe each version of Windows as well. Unless they really don't recompile it except when they sell a new version...

  11. MS Interchangeability by 4of12 · · Score: 3, Interesting

    Dear Santa,

    We need a robust WINE implementation that permits any shrink-wrapped software bought at BestBuy to be run on any Linux box.

    We need OpenOffice to fully support all the heavily-used Microsoft file formats.

    We need user-interfaces that can be made to look enough like Microsoft application interfaces that retraining costs are minimized.

    In short, we need to address the recurring issues that come up when you ask knowledgeable IT managers,

    "Why won't you consider running Linux more in your enterprise?"

    P.S. I need a high-quality recent-standard-conforming SVG implementation in Mozilla Firebird.

    --
    "Provided by the management for your protection."
  12. 2 main reasons why Linux isn't my main desktop by UnknownSoldier · · Score: 5, Insightful

    - Documentation, including *examples*.
    - Good UI. For the love of all widgets, *please* take a UI course, before bestowing us with your gift. KDE is looking *real* sweet, but there's 9,000+ other programs that look like crap, and guess what, they aren't as usable as the majority of Windows/Mac programs. Guess there is a lot to be said for a standard.

  13. well.... by LittleBigLui · · Score: 3, Insightful

    1. KDE means K Desktop Environment. I guess thats even more descriptive than windows. Excel, Outlook, Entourage, ... all very descriptive. You can't just name everyone of the gazillion open source web browsers "Web Browser", can you?

    2. No, doing things graphically doesn't work for everyone. If people understand what they are doing, they can do most of the stuff that requires a console (which isn't that much, anyways) on the console; if they don't understand that, they probably won't be helped all that much by a GUI.

    3. /etc/init.d/ifconfig start

    4. Sure, just convince Microsoft to release the specs.

    5. You want to simlify(?) installation by making ppl open up their computer and install a hard disk (jumpering, master/slave, ...)?

    6. You could always just make symlinks with "human-readable" names to those dirs, couldn't you?

    7. Well, Joe Blow. You understand that 2005 > 2003, so far so good. Now imagine a few of those numbers, separated by dots. The most significant number is on the left, and the least significant on the right. Anyways, aren't RedHat et al. doing exactly this already?

    --
    Free as in mason.
  14. Speed by gooru · · Score: 5, Insightful

    I'd say the key thing that's missing is speed. Sure, the software that you need/want eventually comes out. However, it takes forever before it does. Part of this is that good software takes good time, and the continual peer review slows down the process. Much of it is also the emulation of existing software packages that take time, since you have to work on something that already exists, so there's a seeming lag.

    However, large corporations can crank out huge software projects that are high quality such as Final Cut Pro, Photoshop, Office, Studio MX, etc. Perhaps part of it is also because their programmers don't have to worry about having enough money to eat and pay their rent. If only there were a realistic open source model that's good for the programmer, this would work better. Sure, you can charge tech support, but how many programmers really want to do that anyway?

  15. Rethinking some fundamentals? by pmz · · Score: 2, Interesting

    One thing that is a consistent burden in Open Source software is the raw complexity of the build tools used. What should be an intuitive set of makefiles and header files is replaced by over ten thousand lines of un-decipherable and un-debuggable shell script (configure scripts and libtool). When they don't work, understanding the failure is often nearly impossible, and, frequently, they only work on GNU/Linux systems (so much for portability!).

    Everytime I download and attempt to compile something from the source, I get this nagging feeling that there has to be a better way. However, the short-comings of the build systems used could be just a sign that Open Source software still has quite a bit of growing left, and, perhaps more accurately, open source is lacking in configuration management tools, in general. Configuration management is a very complex issue, I admit, considering that package management, too, is still highly volatile and broken (even commercial UNIX could improve in this regard).

    Whatever future tools are invented to deal with these problems, I beg that all developers strive to attack fundamental problems rather than use band-aids. Too often, it seems, a well-intentioned developer creates a general tool that appears to solve a problem, but, fundamentally, it only creates more complexity, a higher learning burden, and, ultimately, more well-intentioned tools designed to deal with the earlier well-intentioned tools.

    Somewhere, this cycle of naive optimism regarding fix-all tools needs to stop. If a programmer finds that an aberration like a configure script is needed, for example, I suggest the programmer go back to the source code itself and strip out the cause. The program is probably better for it, and we should be brave enough to say "tough doodie" to people that whine about having to actually improve something.

    If we continue to let open source decompose into a mess of broken tools, then it is, clearly, no better than anything Microsoft has produced. And, to be honest, when I see the hard-coded path names in GNOME configure files and libtool files, the first thing that comes to my mind is, "Windows Registry" (I hope that offends a lot of people, because it should).

  16. Polish and consistency by MacGod · · Score: 2, Interesting

    What I have found is missing from a lot of freeware, and even more so from OSS, is the fit and polish that a company writing for profit can give an application. Simply put, when there's millions of dollars at stake, there is a big incentive to add those little nuances and details to the interface and feature set that make a program feel polished, professional and efficient.

    COnsistency also suffers when a variety of developers are working on one project. For all the downsides of closed-source, a profit-making company generally has one vision for software, and makes its programmers stick to that. This does generally lead to a level of consistency often unmatched in open-source.

    --
    "Reality is merely an illusion, albeit a very persistent one " -Albert Einstein
  17. DTP, Font portability, etc. by infernalC · · Score: 4, Insightful

    TeX is great, and LaTeX is a great abstraction layer. However, we lack a mature DTP application which allows us to readily and easily design new documents (newsletters, company letterhead, etc.), especially in a GUI. Scribus is a good start, but we really need something like InDesign.

    Also, fonts are a problem. Great progress has been made here (TTF support for X, etc.), but I want a good way to manage my fonts such that my fonts in X are available to TeX and vice versa. I shouldn't have to do 50 steps to install a font for LaTeX and not have it available in OO.

    LaTeX, being essentially a markup language, needs to be reformulated in XML (with Unicode encoding) and brought into the 21st century. It appears that XHTML 2 is becoming very LaTeX-ish (markup represents soley the structure of the documents), and styling is done via stylesheets kinda like LaTeX packages. If both were XML-based, translation would be a breeze, and we would have a nice convergence of print and online publication, something that has been very shitty to this point.

    I would also like to see categorized font browsing in applications; I want to go to choose a font, choose sans-serif, then choose Helvetica from a list of 20 faces, not having to find it in a list of 200.

    Just my $0.02.

  18. YES! Examples! by WoTG · · Score: 4, Insightful

    I can't count the number of times I've tried to read a man page to get the basic usage of a tool, only to get frustrated by endless pages of options and no examples. Inevitably, I end up searching Google Groups, or Google...

  19. Self-contained app installs by simetra · · Score: 2, Insightful

    I would like to run one command, or click one button, to install an app. I HATE having to download a variety of libraries to install something. It's stupid.

    This should be a universal thing across all distributions. Or, there should be one distribution with all the niceties of Windows. It's just too fragmented and finicky to go anywhere.

    --

    "Would it kill you to put down the toilet seat?" -- Maya Angelou
  20. Re:My Wish List by __past__ · · Score: 2, Informative
    I'd like to see configuration of everything move to an XML standard, and this should be coupled with flexible visual tools.

    This is a very bad idea. And I say that as someone who uses XML daily, and is generally very fond of it.

    A telling example: XML-based configuration files have made my working with XML quite a lot harder. As you might know, XML systems - and SGML systems before them - can use so-called "catalogs" that map public identifiers or URIs to local files, so that when you reference the official location of, say, the DocBook DTD in a file, you don't have to download it every time. In the old SGML days, that was done with a line-oriented catalog file that would contain something like

    PUBLIC "-//OASIS//DTD DocBook V4.1//EN" "/usr/local/share/sgml/docbook/4.1/docbook.dtd"

    Unfortunatly, in their great wisdom people (namely OASIS, the organization also responsible for the DocBook and lots of other, usually quite good, standards) decided that line-oriented formats are no good, and developed an XML format that looks something like this:

    <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog ">
    <public publicId="-//OASIS//DTD DocBook XML V4.2//EN" uri="file:///usr/local/share/xml/docbook/4.2/docbo okx.dtd"/>
    </catalog>

    The problem: Try installing a new DTD. It will hopefully have it's own catalog file, that you only have to register with one of the catalogs already known.

    For the old variant, all you have to do is "echo CATALOG new_catalog_file >> /some/existing/catalog". Removing it again is easily done with grep -v or sed. Try something like that with the XML format, and it will end up unparsable. You either have to edit it by hand, or use a special program that knows about XML and XML-based catalogs.

    In other words, the main effect of the new format is that you cannot use the traditional Unix tools anymore. Manipulating the config files now requires specialized programs, making things like portable install scripts very hard. And I really, really doubt that any GUI or other tool benefits from the XML format - SGML catalogs, and most config files, are damn easy to parse, the hard part is getting the semantics right - what values are legal, what options exist, how to present them to the user in a visually pleasing and intuitive way etc. XML doesn't help you one bit with that.

    XML is cool for complex structured documents. Config files are neither documents, nor are they supposed to be complex.