I am looking for reusable open source components. The level of depth, breadth and hopefully quality that I’m looking for is similar to this.
Although I need them in programming languages C#, Java and Flex (which I often use in my projects), other languages such as PHP, Perl, Python, Ruby etc. are welcome. I see this as a big help for other programmers who have similar needs such as mine.
I plan to eliminate code duplication when building a large scale (in terms of code size) project by using this components and focus more on the business logic of it.
Is there an open source (Java) or Codeplex (Microsoft) component implementation that does this that I’m not aware of?
EDIT:
The main point that I want to address for this question is to avoid interdeveloper duplication. Interesting case found in Pragmatic Programmer: An audit for government computer systems have been made showed 10,000 different programs having their own version for Social Security number validation.
If I understand your question, that is what Apache Commons is all about.
I would point out that although such things are good, they aren’t all upside. If all of those 10,000 programmers had to coordinate getting a SSN validation going, it would have been quite a bureaucracy to get anything done.
Similarly in general, one of the issues with apache commons is you might be integrating your code into something that uses an older (or newer) version of the same component.
Also, any code changes would have to be validated over a huge code base, and some times ugly workarounds made in the name of reuse.
Reuse and DRY are wonderful things, but like everything else, as you scale larger, there are tradeoffs.