When I first started developing jOOQ, I was pretty sure that 85% of the people that hear about it for the first time will not take the time to look behind the first impression and think any of these things:
That’s not surprising, and I can’t blame them. I precisely started developing jOOQ because I thought many people are caught up with these kinds of prejudices, lost in some enterprise architecture astronaut setup, where the lead developer has a strong opinion on how to do things. Don’t get me wrong, there are plenty of good reasons why you should use Hibernate. But in many projects, there are also plenty of good reasons why you shouldn’t. Besides, read about Architecture Astronauts on Joel’s blog, very funny and cynical but true post.
Back to the topic. When you deliver OSS, your users tend to be as demanding as if they had actually paid for it. Which isn’t a bad thing, as this is a big part of the drive behind OSS: actual need. Here’s a list of things I would have never expected to do “wrong”:
- Not delivering the sources of my third party dependencies to those users that don’t have Maven. I have only optional dependencies (such as slf4j, log4j, ant, JPA), but if you want to build jOOQ yourself, they may get in your way.
- Making a deliverable that’s too big (8MB including all the dependencies from point 1).
- Making a binary-only deliverable that’s not as big (800kB instead of 8MB). No one downloaded that one so far.
- Apparently, I release too often (in fact twice a month). This indicates “instability”. If I released less often it would maybe indicate not being agile and flexible enough.
Of course, I don’t take these things personal. And I hope if you requested any of the above changes, you won’t either :-). This is meant to be a funny post to start the week with and I’m hoping to hear some feedback about things that YOU might’ve done “wrong” in the past…