I would love to start sharing code with the community, such as our log4j port. But there are many issues, and if we shared code directly (as it is packaged), we are bound to conflict with apps that others build. So essentially we will need to copy/refactor package on code to ensure we don't collide (this by my definition is not reuse). The way RIM has the environment today, if we shared source (that would undoubtedly evolve quickly in the open community), we would be risking stability of our apps for our customers, which we can't do.
I've mentioned this in my last blog article, RIM doesn't seem to be ready for open source:
The BlackBerry Developer: Why must the device be restarted after an application update? Does this indicate problems in the future?
On the BlackBerry side, we currently share non-business specific code with our customers for the purposes of the projects we build, but we don't publish the code because we have to ensure our released apps are 100% stable. This model is similar to that of Jira/Confluence (atlassian.com). This allows us to have a significant advantage over other development shops because a good deal of foundation work is already completed the day we start their project.
It is a difficult decision as owner of a small development shop focusing on BlackBerry to release the significant amount of effort we have invested to the community, knowing that it's not possible to really collaborate effectively (see the article mentioned).
In other words, while we could hand out our source, it would not at this time benefit us because we can't share/improve a common codebase. If RIM were to allow us to collaborate effectively, we have 3 projects (sdk, core, widgets) that I would love to open source so we would reap the shared benefits of a community project. We also have a Maven2 plugin that could possibly be opened if it made sense (that is a lifesaver).
So the question is: how do we get RIM to listen to the community and engineer support for open source BlackBerry projects (i.e. isolated classloaders or separate processes)?
Regardless, we will certainly share our experiences to help you along.