As someone else already pointed out, doc writers for FOSS projects tend to be technical-minded early adopters who are either developers themselves, or who spend a lot of time with developers. That's how I got my own start, and it has come with the dual problems that my writing is too technical for Joe User on the one hand, and on the other, when you start documenting new software, you find a LOT of bugs. If you have any coding skills at all, it's faster to go fix the bugs than wait for someone else to do it, and that's how doc writers morph into developers morph into project managers. I haven't updated my documentation in almost 10 years, because only so many hats fit on my head at one time.
As a project manager, the problem I've faced is that I have dozen of peoples who loves my project and woulds liking to help in some way to be part of the team. These generous peoples is wanting to help very muchly, but they isn't writing so good in English, because they isn't talking English as first language. Really interesting it is getting when collaborating are peoples from two very distinctive language background who makes error in strangely conflicting way too. Resulting is documentation need to be heavily edited, to the point of rewriting everything. Them peoples is nice, but they isn't no use writing nothing.
It has been a really frustrating ride over the years. We could do better on documentation if I took the time to sit down and go through it all, but if I had that much time, there are so many more critical things to deal with first. What it all amounts to over the span of almost 15 years is a slow process of attrition and collapse where more people leave than join, and more and more unfinished work piles up everywhere.
It is what it is. If you don't want to deal with all this, go spend $1,000 on some commercial stuff.
I've had similar experiences in life. Things that were boring in school are easily mastered once you have a real use for them. Knowledge is a tool. What good is a tool if you don't use it to accomplish work?
Give me a problem, and I will figure out what skills I need to get you a solution, and acquire just those skills. That's just how I get things done as an adult.
Curious, have you ever tried giving a realistic estimate to someone who's asked you to do something like that?
Yes. I've provided estimates I felt were very fair. I bill based on what a competent person ought to be able to do with something, and don't charge for the extra time I have to spend due to not being competent with some particular language or toolkit or what have you. If the project is in Python, I don't know Python, so I'm not going to charge for the time I have to spend reading up on the language.
In this case, the $40,000 estimate is realistic for me, simply because that's what I would actually have to have in order to endeavor to complete this task. There is more work there than I can get done while working 80 hours at a day job and having a little bit left over for a life, so if I'm taking on a project of that magnitude, I have no choice but to interrupt my regular employment. There probably isn't enough work in IceWM or whatever we're talking about to justify paying one guy to work on it full time for a year, but my regular gig is an all or nothing proposition where I either eat all the food on my plate, or I get none at all. That's what it would take for me, but obviously anybody actually hiring me for this job under these circumstances is a moron, and to that extent my offer is not especially serious.
What's wrong with, "Hey, if you (fix this bug|add this feature), I'll pay you $x. No rush, do it in your spare time, and whenever you get it done you'll get paid"?
In principle, nothing. In practice, $x is always a figure that's off by at least one order of magnitude relative to the amount of work involved in accomplishing the desired goal.
It helps if you already know the code, the language, and the toolkit intimately. The more you know ahead of time, the easier it is to accomplish some goal for hire. In practice, the more intimately involved you are with a project, the less $x will be. I've had people offer to buy me a six-pack of beer in exchange for what amounts to 50 hours of work to someone familiar with the code and able to get off and running quickly. Another time, I got offered $50 for a similar amount of work, which is much better, but still laughable. Sure, I know the code, but it still takes time and work to implement and test something. I work on that particular code for free, but if I'm for hire, I'm going to get at least minimum wage. Otherwise, I'm simply not for hire.
That's extreme, do you anticipate there really be enough work to maintain IceWM every single working day?
No, I anticipate there being enough work that I can't get it done and work 70 hours at my day job too. Let's say it only takes me four months of highly concentrated effort to get everything up to date and humming along, after which future maintenance will be much easier to manage. All I have to do is take four months off from my day job, which means I give up my seniority, my vacation pay, my sick pay, my experience pay, my bonuses, my health insurance, and I start over from square one four months from now when they rehire me. If they rehire me.
I'd like to do this badly enough to make some huge personal sacrifices, but one full year paid up front is the least I'll take in order to gamble everything and trade away all the benefits of staying with my nose to the corporate grindstone.
Indeed, if I could pull together multiple projects, everybody could pay less. Too many projects, and I can't get the work done though. Financing for such things is extremely unpredictable too, and I might get paid this year and never get paid again, so I have to go off and hunt up some other project to work on.
Hunting work takes time too. All in all, I'll just keep my day job until somebody meets my price. This means I will be keeping my day job in perpetuity, unfortunately for me, and unfortunately for all the FOSS I could have worked on, had I but time. Oh well.
This is why it's impossible to pay somebody to work on your pet FOSS project, unless you have deep pockets, or a gigantic base of users with shallow pockets and the will to empty them. The best way to get FOSS done is to go do it yourself, and do it for free, out of love. If you can't code, and you can't pay, then you're just shit out of luck. Incidentally, while obviously somewhat over-valued, Ohloh.net lists IceWM as having an estimated commercial development cost of about $2,000,000 USD. $40,000 is jack shit. It's not even one real salary for a developer.
As long as you pay me $40,000 USD a year, I'll continue maintaining IceWM for you in perpetuity. That would be taking a big pay cut to do something boring that I have no interest in doing, but it would be worth it to get to work at home in my underwear.
I don't know how many times I've been approached by someone who wanted to "pay" me to do work like this. Yeah, $60 isn't going to get you anywhere, Bunky. Sorry bud. You want me to do something that's going to eat all my time, then I'm quitting my day job, and guess who has to make my house payment and crap? Right!
Ooh, yes. Good old Windows ME. It did wonders in convincing people to ditch Windows!
It did indeed. I've been exposed to everything since then, except Windows 8. None of them are as bad as ME was, but none of them are especially interesting either. Windows is pretty bland.
My kids grew up on KDE. My daughter's Wacom tablet gave up the ghost, so I bought her a new one. There were no Linux drivers yet (score one for Windows), so I went out and bought her a brand new computer with Windows on it so she could use her tablet. She ended up crying. She tried to make a go of it, but she just wasn't comfortable with something alien and new. I ended up faffing about for days with experimental drivers until I got the thing working.
I guess where I'm at in life, if I wanted to use the tablet, I'd just leave Windows on the computer and go with the flow. That's why I bought the damn new computer in the first place; spend money, solve problem. Hardware on Linux either works flawlessly, or you my as well just grab a brick and start pounding yourself in the head with it. However, what father can stand to see his baby girl cry because you just handed her a steaming turd called Windows and took away everything she loves?
Come to think of it, that was a year or two ago, and I never updated anything on that computer. She's still using some ancient kernel with the old, experimental drivers. I guess they work, huh?
The last copy of Windows I ran on a personal computer of mine that I owned was Windows ME. I don't guess I'm ever switching back.