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?'"
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.
www.HearMySoulSpeak.com
In Linux.. hardware compatibility is missing.
In Mozilla.. not much is missing.
In Open Office.. Microsoft Office is missing.
Slashdotter are stupid and biased.
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.
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.
What is missing much of the time is honest labelling. At download.com, much of what is called "free" or "freeware" is really crippleware.
Consider the soundstream-to-MP3 program that is labelled free but is really ridiculously crippled in the free version (record 15 seconds!) and has "pay $49 to upgrade now" banners all over the place.
Don't blame Durga. I voted for Centauri.
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.
KDE is not a window manager. It is a desktop environment comprising several libraries, utilities applets, office applications and the KWM window manager.
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.
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.
No Zen is good zen
Is there an Open-Source CAD program out there, or even a proprietary one that runs on Linux? Considering what AutoCAD costs, I'm sure some companies would be happy to look at a free software package.
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,
P.S. I need a high-quality recent-standard-conforming SVG implementation in Mozilla Firebird.
"Provided by the management for your protection."
- 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.
I'd like to click help and be presented with some easy way to get support. If it was a phone number, put it in big bold letters. If it's only an email address, give me a form to fill out that's prepopulated w/ all the information about the app.
I hate benig on both the giving and receiving end of bad support. I hate hearing "It doesn't work." to saying, "Ok, this app is broken in such a way, how do i get around it or fix it?" and not knowhign where to go.
I still remember having an ncr scsi card (ncr875c?) who's only driver worked in linux (at the time) and you can only compiling after saying no first to ncr8xx support, then saying yes to ncr875. If you said yes to the first, it wouldn't even present you w/ the second.
And that was after the guy in france got his driver into the main distribution! Fun talking to a guy in a different time zone on just compiling the patch into linux. *grumble grumble*
-
ping -f 255.255.255.255 # if only
Well I must say that I can get all of my work done using linux on my laptop, even in the office thanks to samba. However for fun I like to play around with music software, specifically this program called Fruity Loops (actually its FL Studio now). I like to think of it as a RAD tool for music... It's so easy to throw a song together, and its mostly drag and drop (kind of like making a quick GUI). There are a couple of sequencers and samplers out there for linux but nothing quite compares to FL Studio for me.
Chaos is Divine *
I know Knopper is already putting extra effort into this, but Linux hardware detection and autoconfiguration is still one of its weakest areas. There are some kinds of devices which get detected and configured fairly reliably, but not nearly enough kinds of hardware fall into this group.
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?
/etc/init.d/ifconfig start
...)?
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.
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.
I would really like to see better Grammar check support in OO.
I have few gripes with most of the open-source tools I've tried, but something that can bring my work to a near-stop is inaccurate or insufficient documentation. I understand that these projects are labors of love and time is generally short as it is for project developers, but decent+ documentation not only opens your audience beyond hard-core tinkerers but also demonstrates thoroughness and dedication to "dotting the i's" -- which I believe not only attracts new users but encourages those users to simply spend more time working with your software.
So long, michael. Don't let the door hit you...
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?
Not a spreadsheet, there's tons of those. What's needed is a good accounting suite like Quickbooks or Peachtree that does Invoices, Purchase Orders, Packing Slips, records accounts recievable, accounts payable, etc.
What I am looking for is a good cross-platform spreadsheet. I use 2000 Pro & FreeBSD, and I am always looking for a spreadsheet that has a good Windows version & a good *nix version.
OpenOffice simply does not cut it, and I will not have it on any of my boxes. If you know of any alternatives, I'd appreciate it. Thanks.
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).
Healthcare article at Kuro5hin
I've been dismayed lately to see that all the new programs seem to be for X only, and usually only work with a pile of gnome/kde libraries. I appreciate what these two projects are doing, but there's a lot about both of them that irks many people.
What I'd like to see is a push to bring some of the benefits that Gnome and KDE have brought software into the console application world. I frequently am stuck using a windows computer, and the only access to my machine is over a slow ssh link. Being able to check mail in mutt, news in slrn, etc... is wonderful, but if not being able to use a vaguely modern spreadsheet and word processor is a big hassle! I know there are things like latex and sc, but really, they're not in the same category as the openoffice tools.
Even simple little programs are hard to find - I've had to write my own program for managing finances, because the only alternatives are behemoths like gnucash, or else something like cbb that still requires X.
I'd like to see more programs built like licq, with a plugin UI system, so the same core program (with the same data and core preferences) can be used in text-mode, several different X guis, and some specialized automated modes, just by loading a different library. Doesn't even need to be recompiled!
A wp5-like UI for openoffice would be wonderful, if it worked like this!
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
I need to be able to edit Visio diagrams in Linux. There are some rumblings that it might work with Codeweaver's product, and I haven't tested that, but that's the #1 thing I miss for work. Oh, and GnuCash still hasn't caught up with MS Money IMHO, which is really the only reason I dual-boot at home.
"You can never have too many elephants on your team."
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.
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...
I just want an Outlook/Exchange replacement system that works flawlessly with Outlook, and allows the configurability, stability and customizability of 'normal' *nix mail servers. It'd be nice if it had an instant messanger that came with it to allow for interoffice messages, and calendar/contact/task management.
Oh, and it'd be great if it were free...
Other than that: a full Exchange and Outlook alternative. This is parcially there, but is really a "sum of parts" implementation, not one cohesive unit.
Bad User. No biscuit!
My number #1 wish list item is parrot. You mentioned Perl, Python, and Ruby as successful projects. I see them as fragmented and this is why Parrot is my #1 wish list item. Imagine the power of merging class libraries from all three of these communities. Throw in javascript and PHP too.
Additionally, I think we could start to expect apps to build in scripting using parrot. If javascript can be implemented in parrot, then Mozilla could easily adopt it and life would get very sweet.
Mozilla is my number #2 item, apart from the above (supporting parrot instead of just javascript). I'd like to see SVG integrated in (as in no-plugin) and I'd like to see the new XForms integrated in as well. The individual components need to be separated, and more apps and 3rd party tools written to leverage the "mozilla platform".
Office suites are my number #3 item. The Open Office formats are great. Other apps need to adopt them. Gnumeric and Abiword need to adopt them. People need to write utitities and XSLT transformations to work with them.
Java is my #4 item. I want pure GPL compilers and JVM's that fully implement ALL of java, including SWING. GCJ needs to be made to rock.
OS Configuration is my #5 item. The LSB goes a long way to standardizing the filesystem -- this needs to expand to configuration. I'd like to see configuration of everything move to an XML standard, and this should be coupled with flexible visual tools.
Documentation is my # 6 item. There are many good Linux howtos that are somewhat stale. It seems like documentation is fragmenting. I hate typing "man " and being told to use the info command. There are other sources of docs too. Documentation does me no good if its fragmented and/or old.
User Interface polish is my # 7. We've come a long way here. We need to keep polishing everything. Drag and drop need to always do the obvious thing. Eye candy matters. Commands and configuration should be in the obvious place.
OK, my 2 cents has expired...
What many people seem to forget is that:
1.) businesses are the largest source of potential income for Open Source developers / consultants.
2.) businesses typically don't care about how you arrive at a solution but rather: does it do the job properly and is the price right?
3.) businesses buy computers and operating environments (commodity software) to run their core business software (CRM, ERP, groupware, accounting, etc.)
So, if we want to see Free Software expand, there needs to be a focus on meeting the needs of businesses core software needs. We already have the commodity software needs well covered. (OS, desktop environments, basic apps that everyone needs, etc.) Unfortunately, the existing efforts at CRM, ERP, groupware, accounting, etc. have been half-baked. There are dozens of projects duplicating each others efforts and yet none of them are really getting the job done. (Groupware is perhaps the worst example. There have to be at least 50 or so projects on freshmeat. Most of them need to go away. Consolidate your efforts people! One quality project is all we need!)
The one commodity software need that remains, however, is a quality "office suite". It's not very far off, but OO.o and KOffice are certainly not quite there yet. It's a shame that more businesses that currently pay millions for MS Office haven't wised up and contributed to these projects as a long term investment in killing off a major IT cost once and for all.
Some way to calibrate monitors and printers to a standard.
It should work better than windows, maybe even as well as Mac.
Feel free to tell me how stupid I am to not know about solution X, just do so in some detail.
Cut and paste that worked between arbitrary applications would be nice as well
Licensing fees, of course! (Luckily, SCO is trying to relieve us of our burdensome freedom.)
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
Usually Open Source apps are provided in tarballs for Linux, and Windows users get binaries of older versions (if they get anything at all). Case in point. My email ISP requires SSL. My fave email client doesn't support it. So I have to use a kludgy worksournd such as Stunnel. I just discovered I can't dl Stunnel unless I have PGP. The only free PGP (gnupg) doesn't run in Windows except on a command line. In other words my time is valuable and my technical knowledge limited, and I assume there are plenty of other users who feel the same way. I am not unemployed or a college student and I am not interested in compiling and debugging and recompiling in order to use some piece of open source software, or Linux for that matter, when I have the choice of buying something commercial.
Something that I think many would find useful would be a replacement for Microsoft Project. I've been unable to find a spacification for the file format so this may be impossible/illegal.
I won't be able to give up Windows (or possibly Mac) until there is some equivalent of TurboTax
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
This is by far the single most insightful post I have ever read on slashdot. It should be required reading in Computer Science curricula.
Color management is a patent minefield.
Will I retire or break 10K?
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.
So you'd rather have every program be a multimegabyte static binary or come with megabytes of DLLs, just like on Windows?
Will I retire or break 10K?
businesses buy computers and operating environments (commodity software) to run their core business software (CRM, ERP, groupware, accounting, etc.)
Accounting? And have a few volunteers keep up with the changes to the tax codes in 200 countries and countless subdivisions of those countries?
Will I retire or break 10K?
How do you expect volunteers to keep up with annual changes to the multi-million-word tax codes of hundreds of countries and their thousands of subdivisions?
Will I retire or break 10K?