Making our deliverables extensible has always been an important goal for p&p. While we do our best to provide the most flexible and complete solutions as possible, we know we can never meet 100% of your requirements, even within a single domain. To let you travel the "last mile", we use a pluggable provider model in most of our blocks and frameworks to let you easily extend the deliverables with your own provider implementations. We also try to take the time to explain how we design our deliverables so you can figure out the best ways of extending them, and we've recently started investing in tooling to help you build extensions in the form of the Application Block Software Factory.
To date, we've seen a huge number of people extending Enterprise Library and other p&p deliverables, but the majority of these extensions are never shared outside of their originating organizations. While there are sometimes legitimate commercial sensitivites about sharing code with the world, we've heard that often people really want to share their extensions, but don't know how to go about it or find it too much trouble. Sharing code typically requires finding a site to host it (such as CodePlex or SourceForge), choosing a license, keeping the project up-to-date, and of course promoting the extension so people know what it is and start using it. For people who make it down this path, the promotion is often the most difficult bit, as potential customers have no one place to look for suitable extensions.
So we've decided to try something new to us (but well established in the open source world) by setting up a few "p&p Contrib" projects. Each p&p Contrib project targets a specific p&p deliverable, and is designed to be a single site and project for developers to contribute their extensions. For people who have written extensions, submitting to a p&p contrib project will get you out of most of the tasks listed above. For people who want to discover and use other people's extensions, the p&p contrib projects should become a single, well-known place to get all of the latest and greatest extensions.
This week we are launching our first three p&p Contrib projects - depending on how they work out, we may launch more in the future:
- Enterprise Library Contrib (now live!)
- Web Client Software Factory Contrib (coming later this week)
- Smart Client Software Factory Contrib (coming later this week)
As you would probably expect, there isn't anything of note in the source tree yet since the projects have only just been launched. But with your help, we're hoping these to blossom pretty quickly. If you'd like to contribute to one or more of the sites, please read the information on each site explaining how to get involved and the guidelines for working on each project. Also check out the About p&p Contrib Projects page for more details and FAQs on how this is all meant to work.
The most important thing to understand is that while the p&p team is kicking this off, its success or failure is really in your (collective) hands. We'll do what we can to clear away any road blocks and make it easy for people to contribute and share their code. If you have any ideas for what we can do to make these communities thrive, we'd love to hear them too!
Now, get coding! 🙂