That's why most development efforts that seek larger audience do both. There are trade-offs. I do believe I am not alone in this. There are many people who would rather have stability than new features. What gets developed, and how fast, is a philosophical question. What would you rather have, new features that bring on 2-5 people, or stability that brings in hundreds? So I'd put this another way, focusing only on development hinders acceptance and low acceptance ends up with loneliness and failure
(if I may wax poetic).
I read this thread and shake my head a lot. My background, I'm one of the lead developers on the Nikon hacking effort, so similar to this project (no where near as advanced, ML is amazing), but this is not my community, so I feel free to speak, as a developer, without offending "my peoples"
Now I've started to write, I not sure what my key message is.
Maybe as a developer in my day job, where I do "boring" stuff to make the product stable verse shinny new features, to grown market share, and make sure customers have working systems to achieve their goals, etc etc, this is how you do commercial systems. It's a job.
ML for me would be a creative outlet (that's what the Nikon stuff is). Just like photography is a creative outlet. Working out how the camera works, how you can twist it, what you can make it do, that's all fun. If it's a grind, chore, boring, I might as well hang out with my wife/children, go for a mountain bike ride, or just play xbox.
Sure there are people writing manuals, because they feel it's a "good thing", we have manual writers at work also, sounds like a job to me.
I have personal dept to the other developers who worked stuff out for me, or spent the time keeping the site hosted, but the people who just turn up and don't read the forum and ask the same question over and over. Strangely I don't care for them. That right I don't care for the users of my camera hacking, and nor do I need to, I don't need the users to be able to alter my camera, I can do it myself. Yes that's arrogant, but then I can do what they can't. They probably can do stuff I can, and I only have so my life to do anything in.
I get people would like more stable products, pay for them. And by that I mean buy an off the shelf one that works, and is supported (and cost the earth). If people want to pay for my day time verse my free time, then it would honestly be cheaper to by an off the self product, than custom code from me, that's why we standardise, to lower costs.
I love metaphors, so here's a real world meta example:
At work people grow fruit on trees at home, and then bring surplus to work and put then in the lunch room, with signs that say "help your self - name" so you can thank them. Sometime I look at the fruit and think hmmm it not really how I like the fruit (maybe too spotty skin or something like that), but the point is a walk on. If I want fruit I buy it from the shops (and I do buy a lot of fruit) but what I don't do it suggest to my work colleges that I really think they should spend more time picking bugs off their tress so the fruit looks better, because that's really how I'd need it to look before I'll eat it.
Nor to I offer $1 if to motivate then to spend 30 hours tending their trees.
Because I get it's free, and I don't have to take the fruit it I don't like it enough.
The reason my colleges bring the fruit in is so maybe it's not wasted, maybe someone will find value in it.
The coding meaning is: I can hack my camera in private just fine, but making it public I can sharing my findings with other hackers, and we can save each other time, and discover more fun stuff.
Oh and people how cannot hack might find what I've done useful. Maybe what we find will change the camera manufacturers view, on what should be in/out of the product, but nether of these are
my goal.
- Simeon Pilgrim