I bet there was a lot of people's reaction to the title that went something like this:
*MY* reaction was "Maybe JPEG (and lossy compression)" will finally go away and we can use PNG and lossless JPEG for everything. We've got the hard drive space, and a PNG of a photograph is, in my experience, only about five times larger than a decent-quality JPEG. Bandwidth is cheap. The limiting factor is people throwing movies around, not images. Storage is cheap and plentiful. I don't care *how* much you like your porn, your 120 GB hard drive is *not* filled because of image data.
PNG would give us just about everything we need (well, a few people wanted alternate colorspaces, but such is life). Alpha channel, gamma, good corruption detection, lossless data, an actual *standard* ([cough] TIFF)...
Re:You Show Your Colours Mr. Spot on
on
Too Much Free Software
·
· Score: 3, Interesting
How can you despise people and then expect them to buy in to your vision? Unfortunately the impression it leaves is that Open Source is a self-serving ego trip for individuals who really aren't at all interested in the public good.
First of all, I'm not sure that you can say that I despise someone per se. I despise their actions. I don't care if someone can't program, but if they aren't willing to contribute at *all* and they expect free attention from the developers...yes, I suppose I consider that act despicable.
Second, what "vision" is this that they're supposed to be buying in to?
Third, this illustrates another issue that I'd like to bring up. There is much mention of "public good". People feel that once someone's demonstrated a hint of altruism, or at least lack of selfishness, they must be good to hit up for more. Just because a programmer didn't hold his source close to his chest doesn't mean that he wants to spent hundreds of hours that he could spend programming or with his family or painting or hiking doing tech support for unappreciative users. You're talking about public good? What about the efforts of the noncontributors to the public good? What have *they* done? Are *they* out donating their time to the public? Yet they expect the developer to donate more time to them because he's shown a flicker of what might be percieved as interest in the "public good"? The developer writing a line of code can benefit many people. Has this user sent him money to assist him in writing lines of code for many people -- for the public good? Has he assisted in writing code? Documentation? Anything? No? Then this user demanding attention in the name of the "public good" may be a bit hypocritical. But worse -- if they do not *help*, do they at least avoid *hindering*? If this noncontributor eats valuable developer time asking FAQs because he won't even look at the documentation, he is *hurting* the public good. If he simply criticizes the developer's work, he discourages the developer from producing anything more, hurting the public good. Developers that generously and freely give out time and effort and then are met by selfish criticism tend to get rather bitter over time.
The arrogance that permeates this statement is sadly too common in Open Source.
If wanting to not be met with a kick when giving something freely away is arrogance, then I must plead guilty. I'm only human.
Remember that, while Joe User is playing games on his X-Box come the weekend, Mike the Open Source Developer is writing software that Joe can freely download and use. Mike's done his part. If Joe hasn't done his, has he at least avoided hurting Mike's efforts?
Yup. See the parent of the post that you responded to, which I also wrote -- I mentioned that artists are definitely appreciated on many open source projects.
Matter of fact, this is one area where the Mac community has a wealth of folks -- good graphic designers -- and the Linux community desperately needs people. There's lots of good code for Linux, but lots of good *art* for the Mac. Take a look at the themes that have been created for the Mac over the years on kaleidoscope.net, and you see what I mean -- great stuff. Icons, widget decorations, splash screens, desktop backgrounds, in-game-art/movies/models, website art, skins...the list of stuff that projects need good content for goes on and on. Artists are definitely not second class citizens in the OSS world.
Ultimately, Linux, OSS etc. ain't all cool community stuff. It also means, not my problem, don't ask me, I'll do what the hell I like.
Well...it is, for the people in the community. People who contribute to the community are members of the community.
The problem is that non-community members (non-programmers, non-funders, non-artists, non-writers, etc) have come along and expected to freeload off the community -- this in and of itself *still* doesn't cause a problem, but when said noncontributors start complaining that community members are refusing to do free custom work for them...*then* a problem crops up.
There are a couple packages in xemacs that suffer from shared status lines as well. fume-mode uses a shared status line, so the function name changing in a buffer in one frame changes it in all, though the point may be different in the different buffers.
I think code review might be a more efficient use of programmer time -- take a look at the diffs, maybe colorize the new lines or something in the source -- rather than having to follow along with what someone is actually typing.
Especially since many people don't code linearly, or may intend to revise their code themselves.
Screen works. Also, if you have the *excellent* expect package, you'll have a lovely little program called kibitz, which is like screen (but without all the other stuff) that simply links the terminals of two users. Absolutely fantastic for remote tech support.
If that means donating some cash every once in a while to an effort -- so be it.
If someone's donated cash, or time, or anything, then I don't have a problem with them bringing up a complaint. My problem is with the people who don't do *anything* to contribute, and then complain bitterly that the developer doesn't drop everything to try to keep their world perfect.
I'm in charge of a systems group and Linux is running on almost all of our servers. In the data center, it's rock solid and it works -- but after running it on my workstation for two years, I can't say the same about Linux on the desktop. It mostly works, but mostly isn't good enough. Every single application has at least one non-functional detail that makes me want to climb the wall with my teeth. And instead of fixing those last few problems, people decide to start their own projects from scratch. That is stupid. It's a waste of time and it only serves the developer's ego.
So, let's see. You could:
(1) FIX the detail in the app that "makes you want to climb the wall with your teeth".
(2) PAY someone else to fix the detail in the app.
(3) File a bug report and HOPE that it gets fixed.
Finally, if you think developers get one bit of reward other than ego for having you use their software, you should think again.
Harnessing Open Source volunteer work means using what people want to volunteer to do, and having the *ability* to customize the app to do exactly what you want. It contrasts the closed source world, where you can (legitimately) shout at the vendor and HOPE that they add it.
Most of them are better *mail clients* - my favurite is Tkrat, which is FAR easier to use than Outlook, and far more powerful.
Aw, you don't like mutt?
I agree with you, though. Outlook is not particularly powerful. As serious mail programs go, it's pretty weak. It has nasty security problems. It defaults to sending HTML everywhere, which is a pain for the rest of the world. Its interface isn't mindblowing, though most people have gotten used to it (that little pin is *not* a standard Windows widget).
The person you are responding to said that stdout might not be avilable. Which certainly can happen. The coder did not check to see whether the printf() call succeeded.
The program is not perfect. It's good enough for most work, but it certainly has flaws.
IIRC, Xaos makes something (expensive) like GIMPressionist. Of course, Photoshop doesn't come with this functionality.
Lots of other things -- I haven't used Photoshop for a long time, so I'm not going to be much good at pointing out the things that it lacks...just pointing out that the functionality sword cuts two ways.
For output intended for print, Photoshop is better. For output intended to be digital, GIMP is better. Pretty simple.
provide compatibility with the scads of available Photoshop plugins (or existing equivalents)
Wouldn't make sense -- you'd need an x86 emulator. I think someone did do a Filter Factory reimplementation, which is about as far as you can go. Some have been reimplemented, but when it comes down to it, there aren't many useful filters missing. No drop shadow plugin, but you can make your own, etc, etc.
16-bits/channel processing
No. Photoshop has very good support for different color types. GIMP does not.
histogram adjustments
I remember seeing a "Histogram" menu item in 1.3. Haven't tried it.
including automatic color balancing and adjustment based on photograph "temperature"
ALSA is actually quite nice. It works on more cards than OSS, allows duplex on some cards and is still backwards compatible with the OSS API.
Agreed, ALSA *is* nice.
ALSA's biggest drawback is the project policy that software mixing should be done in userspace (presumably by a separate project). They feel that a user should use hardware mixing *or* software mixing provided by a sound server like arts, esd, JACK, etc. This produces less kernelspace code, which is good, but means that Linux cannot handle using hardware mixing until all channels are exhausted, then fall back to software mixing for additional channels.
Esd and arts do not provide solid enough latency and sync to be the sound server in this scenario. JACK may be enough -- haven't used it -- but it's not in common use outside of the audio content creation software area.
OSS/Free has a similar approach. Hardware or software sound mixing, no hybrid approach.
A mixer capable of supplying such mixing would need to intercept all ALSA calls and use realtime scheduling. Kinda nasty. It always seemed that adding mixing and resampling code to ALSA would be easier.
Not sure how you meant this. If it's as an insight, yeah, I agree that for non-developers, the fact that they aren't developers is a drawback to usability. And misunderstanding of this fact is a major cause of OSS friction.
If you meant this as a "yeah, and that's why OSS developers should change", you completely missed my point.
How to interact with open source developers
on
Too Much Free Software
·
· Score: 5, Insightful
Tips for interacting with OSS developers:
* If a developer says he doesn't want to implement something, that's it. Arguing is pretty much certain to not convince him that he wants to implement it, and may tick him off towards you. If the developer isn't the maintainer (and hasn't said "my project will *not* contain this feature", just "I'm not going to write this"), you can try suggesting it to another or (far more likely to get code in) write it yourself.
* Be *nice* to developers. They're smart people that are making good stuff that they're letting you use for free. People that jump on a project mailing list and say "Your program sucks because it doesn't do foo and bar and I'm not going to use it because of that...so your only chance to get me to use it is to add these features" *are* going to be ignored. The author is *not* going to help these people. If an author adds a feature you asked for *thank him*, no matter how trivial it is. The work, had you *paid* to have it done, would have cost a bundle, and the thanks is only another few lines of typing. If you've been using a piece of software for years, and email the mailing list or a developer for the first time, start out with a brief thanks for the software, and compliment them on whatever it is that you really like about it. Volunteer OSS developers aren't getting money, so their only pay is appreciation and the enjoyment of coding. The only pay you have influence over is appreciation. Don't stiff them. In the same vein, do not personally attack open source developers -- "You're stupid because you don't support postgres as your back end". If anything, it just discourages them from making more software. Everyone loses in that case.
* If you have a question, first look at the FAQ, search google, and check the docs. Really. Definitely do not get angry if you just get flamed if you ask a FAQ on a mailing list. You may be able to get away with simply going to the vendor if you're paying money. Then some paid schmoe gets stuck on the support line listening to you. Open Source developers are generally interested in coding, not in doing support. Generally, support is not tons of fun. It also helps only a single person, whereas them writing even one line of code can benefit hundreds of thousands (or millions) of people -- generally not an efficient use of valuable developer time. Don't post to -devel mailing lists in the hope of getting developer attention and faster support. That *definitely* will get you ignored.
* Don't use ultimatums. It doesn't help you, and it pisses *everyone* off. With software you're paying for, you are a customer. You have clout. In most cases, a volunteer open source developer doesn't give a damn whether Joe Blow uses his program or not, especially if Joe Blow wants extensive support. Saying "Change this feature or I'll use MySQL instead of Postgres to the Postgres developers is not going to get you anywhere." Actually, ultimatums are a stupid tactic even in conjuction with paid developers -- look at Larry McVoy constantly getting shit on the Linux mailing list. Regardless of whether you like him or not or want BK to be used, the constant threats to stop using his software just piss him off. If you don't want to use some software, don't.
* If you can code at all, sending in a patch will get you lots of goodwill from developers.
* Never send in bug reports that say "foo crashes" or "foo crashes randomly". You'll get ignored. If you get a segfault, hand in a stack trace (run gdb and then type bt). "Foo crashes randomly" isn't going to help a programmer a whit. If he hasn't seen the symptoms, he's going to consider the possibility that you might have bad hardware or a broken setup. If he *has* seen the symptoms, it doesn't add anything new.
* Most mailing lists are English. This can be hard for non-English speakers, since they may not get the nuances, but be polite. If you're asking for something, use common courtesy. Say "please". Don't lots of exclamation points. Don't use all caps. Don't use "HELP ME!!!" as your subject line -- be descriptive. Indians posting to English mailing lists always seem to come off as quite rude to me, though I assume it's simply a lack of experience with English.
Amen. The story totally ignores the way open source works.
If you want a bunch of people to work on one thing until completion, PAY THEM
Which can be to be on an Open Source project. However, the fact remains -- they need to be paid.
This wave of users coming in, demanding a clone of Windows, not really caring about functionality, choice, the ability to see source, and just saying "I want idiot-proof editor! I want idiot-proof file browser! I want idiot-proof web browser! I want GNOME and KDE combined because they sound the same to me and I don't understand their internal structure! All developers should drop everything else and work on that, because that's what I want! Me me me me me!" piss me off.
Most developers are working on their software because it's *fun* for them to write something the way *they* want to write something and try out their own ideas. Maybe learn something. Fulfilling the needs of a whiny end user who doesn't give a damn about anything but "cheap and Windows clone" is really far down on the list. If you submit some code to a project, you're *much* more likely to be listened to.
I mean, seriously. Open source is about developers. It's generally not about users. And this misunderstanding is producing a lot of discontent. "Why are people writing all these stupid command line programs when I want a GUI program!"
Here's the deal. If you want a feature and no one else is doing it, especially if it's been suggested over and over before already (merge GNOME/KDE, clone InstallShield), you're pretty much responsible for doing it yourself. If you can't write code, sorry. Open source developers are not a bunch of little "code fairies" that grant you your every wish. If you write *some* unrelated code for their project (or for other projects), developers are more likely to listen to requests. If your sole contribution to the OSS world is telling everyone on Slashdot that "Linux rules" or whatever, yes, you may get ignored.
Now, do developers sometimes go out of their way to fulfill random end user requests? Sure, especially if they don't take too much work to implement. It *is* a source of pride to be more popular than commercial alternatives. However, it comes down to the fact that users frequently don't seem to understand that they're going up to talented people who are already volunteering their time and (very skilled labor) for particular goals and then trying to tell them what to do.
As for "it's not about getting your name as the author in the credits", that's also false. Lots of people have had fun analyzing open source, because it's a weird social phenomon and in the news a lot. It's a gift-based culture, where you get fame in exchange for your work (in addition to other things). There's a *reason* volunteer OSS people don't like doing plumbing-type work on code. Recognition in exchange for code *is* important to most OSS developers.
Finally, while coding is important to get respect and influence in the OSS world, it's not the only path. Artists are quite scarce, and folks like the free WorldForge project desperately want you. If you're maintaining the website for a project, that's going to grant you some influence in that project and others. If you do translations, that's good too. Not many people translating to Swahili.
But if you just want to play Icewind Dale and don't want to pay anything for your software...well, the Open Source world probably isn't really a place that's going to be all that pleasant for you. Maybe, maybe one day. But not now. BSD and Linux simply don't fit you very well.
The people writing this software, the ones doing it for fun, are the ones who value choice and the ability to poke at source.
The ones who just don't want to drop $99 on Windows...well, they may not care about diversity or choice and just want a cheap replacement for Windows, but they also aren't writing code. So their voices are veeeerrrry veeeeerrry quiet.
What we DO need is for the ones that exist to be working properly and have all those useless developers (who are wasting time forking new projects and reinventing the wheel) adding their features to existing projects. It's not about fame and having your name as the author. It's about the world!
Contrary to many users' expectations, for most authors it's not primarily about the world. Free software is about having fun writing what you want to write.
It's kind of gross to come along and find all these end users demanding foo, blah, and blargh.
"We need more integrated software". "Free software authors need to combine GNOME and KDE so that my desktop is nicer". "Blah blah blah me me me". You want that, buy a non-free program. Then you're paying the developers, and can tell them what to do.
Well... VS.Net, for all that I love about it,
I'm curious. Why *do* people like VS.Net, as opposed to say, emacs?
I bet there was a lot of people's reaction to the title that went something like this:
*MY* reaction was "Maybe JPEG (and lossy compression)" will finally go away and we can use PNG and lossless JPEG for everything. We've got the hard drive space, and a PNG of a photograph is, in my experience, only about five times larger than a decent-quality JPEG. Bandwidth is cheap. The limiting factor is people throwing movies around, not images. Storage is cheap and plentiful. I don't care *how* much you like your porn, your 120 GB hard drive is *not* filled because of image data.
PNG would give us just about everything we need (well, a few people wanted alternate colorspaces, but such is life). Alpha channel, gamma, good corruption detection, lossless data, an actual *standard* ([cough] TIFF)...
How can you despise people and then expect them to buy in to your vision? Unfortunately the impression it leaves is that Open Source is a self-serving ego trip for individuals who really aren't at all interested in the public good.
First of all, I'm not sure that you can say that I despise someone per se. I despise their actions. I don't care if someone can't program, but if they aren't willing to contribute at *all* and they expect free attention from the developers...yes, I suppose I consider that act despicable.
Second, what "vision" is this that they're supposed to be buying in to?
Third, this illustrates another issue that I'd like to bring up. There is much mention of "public good". People feel that once someone's demonstrated a hint of altruism, or at least lack of selfishness, they must be good to hit up for more. Just because a programmer didn't hold his source close to his chest doesn't mean that he wants to spent hundreds of hours that he could spend programming or with his family or painting or hiking doing tech support for unappreciative users. You're talking about public good? What about the efforts of the noncontributors to the public good? What have *they* done? Are *they* out donating their time to the public? Yet they expect the developer to donate more time to them because he's shown a flicker of what might be percieved as interest in the "public good"? The developer writing a line of code can benefit many people. Has this user sent him money to assist him in writing lines of code for many people -- for the public good? Has he assisted in writing code? Documentation? Anything? No? Then this user demanding attention in the name of the "public good" may be a bit hypocritical. But worse -- if they do not *help*, do they at least avoid *hindering*? If this noncontributor eats valuable developer time asking FAQs because he won't even look at the documentation, he is *hurting* the public good. If he simply criticizes the developer's work, he discourages the developer from producing anything more, hurting the public good. Developers that generously and freely give out time and effort and then are met by selfish criticism tend to get rather bitter over time.
The arrogance that permeates this statement is sadly too common in Open Source.
If wanting to not be met with a kick when giving something freely away is arrogance, then I must plead guilty. I'm only human.
Remember that, while Joe User is playing games on his X-Box come the weekend, Mike the Open Source Developer is writing software that Joe can freely download and use. Mike's done his part. If Joe hasn't done his, has he at least avoided hurting Mike's efforts?
Yup. See the parent of the post that you responded to, which I also wrote -- I mentioned that artists are definitely appreciated on many open source projects.
Matter of fact, this is one area where the Mac community has a wealth of folks -- good graphic designers -- and the Linux community desperately needs people. There's lots of good code for Linux, but lots of good *art* for the Mac. Take a look at the themes that have been created for the Mac over the years on kaleidoscope.net, and you see what I mean -- great stuff. Icons, widget decorations, splash screens, desktop backgrounds, in-game-art/movies/models, website art, skins...the list of stuff that projects need good content for goes on and on. Artists are definitely not second class citizens in the OSS world.
Ultimately, Linux, OSS etc. ain't all cool community stuff. It also means, not my problem, don't ask me, I'll do what the hell I like.
Well...it is, for the people in the community. People who contribute to the community are members of the community.
The problem is that non-community members (non-programmers, non-funders, non-artists, non-writers, etc) have come along and expected to freeload off the community -- this in and of itself *still* doesn't cause a problem, but when said noncontributors start complaining that community members are refusing to do free custom work for them...*then* a problem crops up.
Apple is one of the few that has some reasonable improvements.
Microsoft, impressively, has put forth not a single serious jump forward that I can think of.
I think most real improvements, though, come from individual programmers or grad students.
Good point.
There are a couple packages in xemacs that suffer from shared status lines as well. fume-mode uses a shared status line, so the function name changing in a buffer in one frame changes it in all, though the point may be different in the different buffers.
I think code review might be a more efficient use of programmer time -- take a look at the diffs, maybe colorize the new lines or something in the source -- rather than having to follow along with what someone is actually typing.
Especially since many people don't code linearly, or may intend to revise their code themselves.
Screen works. Also, if you have the *excellent* expect package, you'll have a lovely little program called kibitz, which is like screen (but without all the other stuff) that simply links the terminals of two users. Absolutely fantastic for remote tech support.
If that means donating some cash every once in a while to an effort -- so be it.
If someone's donated cash, or time, or anything, then I don't have a problem with them bringing up a complaint. My problem is with the people who don't do *anything* to contribute, and then complain bitterly that the developer doesn't drop everything to try to keep their world perfect.
You can tell them, and they at least pretend to listen (and if you're a big customer or in a vertical market, they generally do something).
You go bitch at a volunteer programmer, and you can get blown off.
Facinating. The Open Source world changes so quickly. :-)
Does it handle automatic fallback? I.E. use available hardware channels and then fall back to software mixing?
As true as this is, you might want to remember that the most successful OSS projects are those which are DEVELOPED by their USERS.
Right. In the context of what I'm talking about, these are developers.
I'm talking about the people that don't contribute anything, but expect lots back. User-developers don't fit under that umbrella.
I'm in charge of a systems group and Linux is running on almost all of our servers. In the data center, it's rock solid and it works -- but after running it on my workstation for two years, I can't say the same about Linux on the desktop. It mostly works, but mostly isn't good enough. Every single application has at least one non-functional detail that makes me want to climb the wall with my teeth. And instead of fixing those last few problems, people decide to start their own projects from scratch. That is stupid. It's a waste of time and it only serves the developer's ego.
So, let's see. You could:
(1) FIX the detail in the app that "makes you want to climb the wall with your teeth".
(2) PAY someone else to fix the detail in the app.
(3) File a bug report and HOPE that it gets fixed.
Finally, if you think developers get one bit of reward other than ego for having you use their software, you should think again.
Harnessing Open Source volunteer work means using what people want to volunteer to do, and having the *ability* to customize the app to do exactly what you want. It contrasts the closed source world, where you can (legitimately) shout at the vendor and HOPE that they add it.
Most of them are better *mail clients* - my favurite is Tkrat, which is FAR easier to use than Outlook, and far more powerful.
Aw, you don't like mutt?
I agree with you, though. Outlook is not particularly powerful. As serious mail programs go, it's pretty weak. It has nasty security problems. It defaults to sending HTML everywhere, which is a pain for the rest of the world. Its interface isn't mindblowing, though most people have gotten used to it (that little pin is *not* a standard Windows widget).
But...Microsoft ships it, so it gets used.
No. You are incorrect.
The person you are responding to said that stdout might not be avilable. Which certainly can happen. The coder did not check to see whether the printf() call succeeded.
The program is not perfect. It's good enough for most work, but it certainly has flaws.
Just a followup:
Does Photoshop have anything like Resynthesizer?
How about Tileable Blur?
How about the Solid Noise plugin?
Is there native warping functionality in Photoshop, as IWarp provides in the GIMP?
How about the gorgeous Supernova?
IIRC, Xaos makes something (expensive) like GIMPressionist. Of course, Photoshop doesn't come with this functionality.
Lots of other things -- I haven't used Photoshop for a long time, so I'm not going to be much good at pointing out the things that it lacks...just pointing out that the functionality sword cuts two ways.
For output intended for print, Photoshop is better. For output intended to be digital, GIMP is better. Pretty simple.
I'm not really an artist, but let's take a look:
Does the Gimp support adjustment layers
Dunno what they are, though I doubt it.
provide compatibility with the scads of available Photoshop plugins (or existing equivalents)
Wouldn't make sense -- you'd need an x86 emulator. I think someone did do a Filter Factory reimplementation, which is about as far as you can go. Some have been reimplemented, but when it comes down to it, there aren't many useful filters missing. No drop shadow plugin, but you can make your own, etc, etc.
16-bits/channel processing
No. Photoshop has very good support for different color types. GIMP does not.
histogram adjustments
I remember seeing a "Histogram" menu item in 1.3. Haven't tried it.
including automatic color balancing and adjustment based on photograph "temperature"
Yes.
color calibration based on monitor and printer
No.
unsharp mask
Yes.
automated noise reduction
Yes.
Well, if you're also a developer, it's all good. :-)
ALSA is actually quite nice. It works on more cards than OSS, allows duplex on some cards and is still backwards compatible with the OSS API.
Agreed, ALSA *is* nice.
ALSA's biggest drawback is the project policy that software mixing should be done in userspace (presumably by a separate project). They feel that a user should use hardware mixing *or* software mixing provided by a sound server like arts, esd, JACK, etc. This produces less kernelspace code, which is good, but means that Linux cannot handle using hardware mixing until all channels are exhausted, then fall back to software mixing for additional channels.
Esd and arts do not provide solid enough latency and sync to be the sound server in this scenario. JACK may be enough -- haven't used it -- but it's not in common use outside of the audio content creation software area.
OSS/Free has a similar approach. Hardware or software sound mixing, no hybrid approach.
A mixer capable of supplying such mixing would need to intercept all ALSA calls and use realtime scheduling. Kinda nasty. It always seemed that adding mixing and resampling code to ALSA would be easier.
It *is* a bit of a thorny problem, though.
And that's why it sucks to use.
Not sure how you meant this. If it's as an insight, yeah, I agree that for non-developers, the fact that they aren't developers is a drawback to usability. And misunderstanding of this fact is a major cause of OSS friction.
If you meant this as a "yeah, and that's why OSS developers should change", you completely missed my point.
Tips for interacting with OSS developers:
* If a developer says he doesn't want to implement something, that's it. Arguing is pretty much certain to not convince him that he wants to implement it, and may tick him off towards you. If the developer isn't the maintainer (and hasn't said "my project will *not* contain this feature", just "I'm not going to write this"), you can try suggesting it to another or (far more likely to get code in) write it yourself.
* Be *nice* to developers. They're smart people that are making good stuff that they're letting you use for free. People that jump on a project mailing list and say "Your program sucks because it doesn't do foo and bar and I'm not going to use it because of that...so your only chance to get me to use it is to add these features" *are* going to be ignored. The author is *not* going to help these people. If an author adds a feature you asked for *thank him*, no matter how trivial it is. The work, had you *paid* to have it done, would have cost a bundle, and the thanks is only another few lines of typing. If you've been using a piece of software for years, and email the mailing list or a developer for the first time, start out with a brief thanks for the software, and compliment them on whatever it is that you really like about it. Volunteer OSS developers aren't getting money, so their only pay is appreciation and the enjoyment of coding. The only pay you have influence over is appreciation. Don't stiff them. In the same vein, do not personally attack open source developers -- "You're stupid because you don't support postgres as your back end". If anything, it just discourages them from making more software. Everyone loses in that case.
* If you have a question, first look at the FAQ, search google, and check the docs. Really. Definitely do not get angry if you just get flamed if you ask a FAQ on a mailing list. You may be able to get away with simply going to the vendor if you're paying money. Then some paid schmoe gets stuck on the support line listening to you. Open Source developers are generally interested in coding, not in doing support. Generally, support is not tons of fun. It also helps only a single person, whereas them writing even one line of code can benefit hundreds of thousands (or millions) of people -- generally not an efficient use of valuable developer time. Don't post to -devel mailing lists in the hope of getting developer attention and faster support. That *definitely* will get you ignored.
* Don't use ultimatums. It doesn't help you, and it pisses *everyone* off. With software you're paying for, you are a customer. You have clout. In most cases, a volunteer open source developer doesn't give a damn whether Joe Blow uses his program or not, especially if Joe Blow wants extensive support. Saying "Change this feature or I'll use MySQL instead of Postgres to the Postgres developers is not going to get you anywhere." Actually, ultimatums are a stupid tactic even in conjuction with paid developers -- look at Larry McVoy constantly getting shit on the Linux mailing list. Regardless of whether you like him or not or want BK to be used, the constant threats to stop using his software just piss him off. If you don't want to use some software, don't.
* If you can code at all, sending in a patch will get you lots of goodwill from developers.
* Never send in bug reports that say "foo crashes" or "foo crashes randomly". You'll get ignored. If you get a segfault, hand in a stack trace (run gdb and then type bt). "Foo crashes randomly" isn't going to help a programmer a whit. If he hasn't seen the symptoms, he's going to consider the possibility that you might have bad hardware or a broken setup. If he *has* seen the symptoms, it doesn't add anything new.
* Most mailing lists are English. This can be hard for non-English speakers, since they may not get the nuances, but be polite. If you're asking for something, use common courtesy. Say "please". Don't lots of exclamation points. Don't use all caps. Don't use "HELP ME!!!" as your subject line -- be descriptive. Indians posting to English mailing lists always seem to come off as quite rude to me, though I assume it's simply a lack of experience with English.
Amen. The story totally ignores the way open source works.
If you want a bunch of people to work on one thing until completion, PAY THEM
Which can be to be on an Open Source project. However, the fact remains -- they need to be paid.
This wave of users coming in, demanding a clone of Windows, not really caring about functionality, choice, the ability to see source, and just saying "I want idiot-proof editor! I want idiot-proof file browser! I want idiot-proof web browser! I want GNOME and KDE combined because they sound the same to me and I don't understand their internal structure! All developers should drop everything else and work on that, because that's what I want! Me me me me me!" piss me off.
Most developers are working on their software because it's *fun* for them to write something the way *they* want to write something and try out their own ideas. Maybe learn something. Fulfilling the needs of a whiny end user who doesn't give a damn about anything but "cheap and Windows clone" is really far down on the list. If you submit some code to a project, you're *much* more likely to be listened to.
I mean, seriously. Open source is about developers. It's generally not about users. And this misunderstanding is producing a lot of discontent. "Why are people writing all these stupid command line programs when I want a GUI program!"
Here's the deal. If you want a feature and no one else is doing it, especially if it's been suggested over and over before already (merge GNOME/KDE, clone InstallShield), you're pretty much responsible for doing it yourself. If you can't write code, sorry. Open source developers are not a bunch of little "code fairies" that grant you your every wish. If you write *some* unrelated code for their project (or for other projects), developers are more likely to listen to requests. If your sole contribution to the OSS world is telling everyone on Slashdot that "Linux rules" or whatever, yes, you may get ignored.
Now, do developers sometimes go out of their way to fulfill random end user requests? Sure, especially if they don't take too much work to implement. It *is* a source of pride to be more popular than commercial alternatives. However, it comes down to the fact that users frequently don't seem to understand that they're going up to talented people who are already volunteering their time and (very skilled labor) for particular goals and then trying to tell them what to do.
As for "it's not about getting your name as the author in the credits", that's also false. Lots of people have had fun analyzing open source, because it's a weird social phenomon and in the news a lot. It's a gift-based culture, where you get fame in exchange for your work (in addition to other things). There's a *reason* volunteer OSS people don't like doing plumbing-type work on code. Recognition in exchange for code *is* important to most OSS developers.
Finally, while coding is important to get respect and influence in the OSS world, it's not the only path. Artists are quite scarce, and folks like the free WorldForge project desperately want you. If you're maintaining the website for a project, that's going to grant you some influence in that project and others. If you do translations, that's good too. Not many people translating to Swahili.
But if you just want to play Icewind Dale and don't want to pay anything for your software...well, the Open Source world probably isn't really a place that's going to be all that pleasant for you. Maybe, maybe one day. But not now. BSD and Linux simply don't fit you very well.
The people writing this software, the ones doing it for fun, are the ones who value choice and the ability to poke at source.
The ones who just don't want to drop $99 on Windows...well, they may not care about diversity or choice and just want a cheap replacement for Windows, but they also aren't writing code. So their voices are veeeerrrry veeeeerrry quiet.
Please feel free to do so.
What we DO need is for the ones that exist to be working properly and have all those useless developers (who are wasting time forking new projects and reinventing the wheel) adding their features to existing projects. It's not about fame and having your name as the author. It's about the world!
Contrary to many users' expectations, for most authors it's not primarily about the world. Free software is about having fun writing what you want to write.
It's kind of gross to come along and find all these end users demanding foo, blah, and blargh.
"We need more integrated software". "Free software authors need to combine GNOME and KDE so that my desktop is nicer". "Blah blah blah me me me". You want that, buy a non-free program. Then you're paying the developers, and can tell them what to do.
Free software is about developers, not users.