This article is several years old now, and much has happened in Umbraco land since then, so please keep that in mind while reading it.

For the last year and a half, I have been involved in building an open sourced eCommerce package for Umbraco: Merchello. In the spirit of the holidays, I'd like to talk about what the project has given back to me; specifically, the rewarding aspects running a project such as Merchello and how enriching it has been to see people from all over the world sharing and collaborating to build and support software for everyone.

Getting Started

Coming up with the justification to Merchello was difficult because there were other existing eCommerce options for Umbraco. We also knew that building a full featured eCommerce solution is a very ambitious task in any framework.

Prior to our team starting on the project, there had been many conversations in the Umbraco community about how it somehow did not "feel" right vesting a ton of time building expensive custom extensions for existing proprietary packages.

A void already existed - it just needed a team to take on the project.

Getting Funding

One of the biggest misnomers about OSS projects, is that they are free. Nothing is further from the truth. In fact they are extremely expensive in terms of time and resources, especially if you consider the amount of time that is required for support, both in terms of software patches and answering questions from people using it in their implementations.

Not every package needs to be monetarily funded. It really comes down to the amount of effort and resources required to get things up and running.

Funding can be as simple as getting your company to agree to allow you to work on a project while you're at work. It can come from small community donations. It can also come from corporate sponsorships or private investments. You have to be organized, have a meaningful plan and not be afraid to solicit the support.

The good news is, there are thankfully people in the world that do have the vision to see the value in supporting open sourced software.

From the beginning, we knew that Merchello was not going going to be a project that could be completed in our spare time; we needed to somehow find a means to fund the project.

We were extremely lucky to reach an agreement with the CEO of Bramble Berry, Inc and new owner of Mindfly, Inc., Anne-Marie Faiola. Her sponsorship not only initially funded but continues to support a full time team completely devoted to the Merchello project.

The First Release

After so many hours of effort, opening up the package for the community to scrutinize can be nerve wracking. There's a great quote about this pointed out to me by Paul Sterling (Umbraco HQ).

If you are not embarrassed by the first version of your product, you've launched too late. ~ Reid Hoffman, the founder of LinkedIn

Our team did not announce that we had started the project until we published our first release just before uWestFest 2014. After the announcement, the interest and support in the Umbraco community made the project come alive.

Community Adoption and Feedback

Things really get exciting when you start receiving feedback from the community. Yes, even bug reports. It shows that people are working with it and are willing to work with you to make the project better. When you get your first bug report or forum question, you should stop and celebrate; you've just received your first contribution.

Going the extra mile (or kilometer) to make sure people can use the software is super important. In many ways, the early adopters become the immediate priority for the project after your release. They have stepped up to take the risk to use the software.

Make sure you do everything you reasonably can to enable them to be successful in their implementation. This also provides the community with growing confidence in the package and encourages others to try it out.

Merchello started with a few forum posts and tasks, primarily entered by our team in an effort to start the conversation. Over the last six months, both the issue tracker and forum on our.umbraco.org have taken off and we are collecting lots of daily feedback.

Writing open packages for Umbraco has the added benefit of the established, relatively seasoned community that is motivated to try things out, not be overly critical and are interested in working together to make things better for everyone. This is what the 'community' in 'Umbraco community' is all about.

Pull Requests

Eventually, you will wind up getting your first community pull request. That is an incredible feeling. Not only has someone played with your package enough to figure out something to correct, but have spent their time making a change that they want to give back so that others can get the benefit of their work.

For Merchello, I remember it was people starting to update our language files for the Merchello back office. At the moment, our team is comprised of only English speakers, so actually being able to see the Merchello section in Italian, Spanish and Danish was an awesome day.

Let's Take it To the Next Level Together

The challenge of building Merchello has been exhilarating. But as much as I hope it gives back to the community, it has been immensely rewarding for me to architect a big project, to see Merchello sites in the wild and give back to the community that has given so much to me.

Remember no contribution is too small and every bit of help we can get is truly appreciated (and we love pull requests). I can't wait to see where the upcoming years take the Merchello project!