Spree Commerce

Try It Now

The Future of Spree Open Source Software

Posted on October 28, 2015 by Sean Schofield

There have been a lot of questions and speculation regarding the future of the Spree OSS project. Please understand that our acquisition occurred as First Data was preparing for its IPO and there were significant restrictions on what we were able to discuss publicly during that time. Now that the IPO is behind us we can resume our public conversation with the community.

What is Happening to Wombat?

Our Wombat product is being discontinued as of March 31, 2016. It’s been a privilege to help and watch our Wombat customers grow over the years. We are working closely with our customers to ensure an orderly transition. Wombat is a closed source product and so the source code will remain private and closed source. The integrations for Wombat, however, have always been open source. They will remain open source even though we will not be maintaining these integrations going forward.

What about the Website and Demo?

We have made several changes to the Spree website. We’ve removed the references to Wombat and we’ve discontinued the “sandbox” demos where you can try out a hosted version of Spree without installing it locally. The sandbox takes quite a bit of time and resources to maintain – especially keeping it up to date with the latest version. Developers interested in the open source software can still try it out easily enough – just clone it from Github like you would any other project.

We’ve also disabled the extensions directory. The directory contents are quite out of date these days and it requires time and energy to curate everything in there. Unfortunately there aren’t enough volunteers who want to spend time on such a thankless task.

Will we Continue to Support Open Source Software in general, and the Spree Project in particular?

Our team continues to be interested in both using and supporting open source software. You can expect to see us continue to contribute to both new and existing open source projects going forward.

We will be spending significantly less time as a company on the Spree project. Several of our employees remain personally interested in the Spree OSS project, but as a company we can no longer dedicate significant resources to this effort. This means that you can expect a decline in contributions from employees who were previously being paid to work on open source as part of their day job.

What about a Foundation?

We’ve also heard people asking about the possibility of setting up a foundation. It’s unclear how this would resolve the lack of a strong core team with a unified vision. A proper foundation (see Drupal or Linux) requires significant legal and administrative expenses. More importantly it requires a dedicated group of volunteers to run it. Spree needs a new group of core contributors that are willing to volunteer a large amount of time to help maintain it. A foundation won’t help us to achieve that – it will actually be counterproductive since it will just add to the overhead needed to run the project.

Who will Contribute to Spree going Forward?

Like any successful open source project, Spree requires a continuous supply of new contributors. There are, however, some unique challenges in the case of the Spree which is somewhat of a niche framework. It appeals to Ruby developers who are interested in ecommerce. That’s actually a pretty small universe of people, especially when you factor out everyone who is doing ecommerce for just a single project and then moving on to something else. It’s much easier to form an active core team for a project like Rails since it’s a generic framework that can be used by a much larger universe of developers (people interested in web applications).

In addition, as the Spree software has matured over the years, many stores that use our software have “locked in” on a particular version of the software. This tends to result in short bursts of contributions by initial adopters followed by long periods of inactivity.

As a result, over time our community has generated a lot of developers who are incredibly interested in the future of Spree but they also have a very specific vision for how Spree should move forward. In many cases, this vision is at odds with what other developers need for their specific projects. For instance, developers working on legacy installations are not always interested in adding new features to Spree. They may be more focused on improvements in performance and keeping up to date with security enhancements.

What’s the Deal with Solidus?

Solidus is a fork of the Spree project. The contributors are primarily developers from Bonobos as well as a consulting company that has done work for Bonobos and other Spree customers in the past. The developers behind this project have a lot invested in a specific version of Spree and they’re working to improve performance and making other subtle improvements. If you’re looking to work on a very stable version of Spree and you’re comfortable with locking in on the version that Bonobos is using, then this might be a good option for you.

Spree Needs a Strong Core Team with a Unified Vision

Spree needs a new core team of dedicated contributors. That’s easier said than done. Our experience over the past several years is that for every ten people who say they want to contribute – only one of them actually follows up with a meaningful level of contribution. That number gets even smaller over time since most contributors tend to drift off to other projects within twelve months.

An even bigger challenge is to get a sufficient level of core contributors that agree on the future direction of Spree. We attempted to do this last year when we convened an in person “summit” with several of the key contributors and users. There was a lot of agreement on the types of things that needed to be done but very little agreement on the best path to achieve them. The biggest problem was that everyone was pretty much locked into a specific version of Spree and they only wanted to change what was needed for their specific agenda. This culiminated in the Bonobos and Freerunning guys deciding to create their own fork of Spree. That’s not a bad thing – developers need to focus on their own problems first and foremost.

What’s Next?

All software projects have a shelf life. The first Spree commit was made over eight years ago when Rails was in its infancy. Since that time there have been over 15,000 commits by over 700 different contributors. If you take a look at other popular Ruby libraries from 2007 you’d be hard pressed to find one that remains relevant today. The fact that Spree has remained a popular open source project for such a long time is a testament to the efforts of all of us working together to constantly improve the code. We have done all of this while trying our best to maintain backwards compatibility for our existing users.

We’re going to leave it up to the community to decide how to proceed. Our users need to decide if they want to continue forward with the current Spree codebase, use the Solidus project, or perhaps start another fork using a completely new approach. If we’re presented with a credible plan to maintain the project long term, then we’ll gladly turn over the keys. In the absence of such a plan, however, the project will naturally move it into “maintenance mode” and something new will eventually take its place.

It’s been a privilege building Spree together with you for the past eight years. Over that time we have learned from each other, empowered our customers, started numerous companies and forged lifelong friendships. Regardless of what happens next – we should all be proud of the great work we’ve done together.