2 cents:
(Cent #1) If you want something done, you need to just get stuck in and try and do it yourself. The fact that Mike Schrag and Q were completely lost in a jungle of unknown code/logic/architecture when they first ventured into Wonder and WOLips should be confidence-building and motivating for all of us, as shown by these quotes below: (in fact, print those and pin them to the wall and look at them the next time you feel that it is too hard to add a feature to Wonder)
"I didn't know how to write nearly any of what was in WOLips before I started working on WOLips, and likewise with Wonder. I learned WebObjects working on Wonder. I'm would wager that everyone who worked on Wonder was in the same category. Contribution is also positive reinforcement. The coolest times in Wonder for me were always when one person contributing got someone else energized to contribute and amazing things were made." - MS
"I have worked on many different parts of WOLips, Wonder and numerous other projects, and more often than not I had no idea where to start, all I knew was what I wanted to achieve. You just have to know what you want to do, and don't give up until you succeed or know that it can't be done. Some of the code I have contributed took me over a year to get right" - Q
The point is: (a) Everyone must start somewhere and sometime to learn something new, so explore and try to add and/or enhance the features you want. You will learn *a lot* while doing so. and (b) If you don't like the wiki or the documentation, stop complaining about it, go fix one wiki or javadoc thing, even one little 10-minute thing. With github and the Wonder integration branch, the barriers to contributing fixes and javadoc to Wonder are gone. Gone. The only barriers are *our own* time and *our own* motivation.
(Cent #2) Probably the primary objective of every developer in our community is to support him/herself and if he/she has a family, to take care of them, keep a roof over their heads, food on the table and to spend quality/fun time with the wife and the kids. (Kids are young once - don't miss out). Wonder and WOLips contributions are voluntary. Those that contribute do so commonly because (a) they wanted to modify something for their own project, so they are sharing the enhancements, (b) something is bugging them about WO, Wonder or WOLips and it is bugging them so much that they feel compelled to fix it, or (c) they were building some reusable functionality for their own project and they decided "hey, let's build it with the intention of adding it to Wonder when it is finished", or ....... either way, they somehow fitted it into their existing work day.
When people like Anjo and Mike went through phases of huge code/feature contributions, they did not complain that others were not working as hard as they were. They did what they were motivated to do when they had the time, opportunity. (Also, I am sure that a sense of pride in one's work and a genuine desire to help others is involved too when people contribute to open-source)
If you want something badly enough, you will make an effort to try and do it yourself, and if you care (and the intensity of this discussion shows that most do care), you will share it back with a pull request. And if java and WO/Wonder is still too hard for you, try some quality javadoc pull requests on Wonder methods that you just spent 5 minutes figuring out what the method did.
The point is not to keep expect/hoping for others to contribute stuff that you want (in general). Just start a private branch in your fork and hack away over time when you get quiet periods here and there.
(I have a few more cents if needed)
Cheers, Kieran :-) |