Published on 04/16/2020
47 min read
Sparking community engagement and helping our open-source platform thrive, Support Solidus is a Call To Arms to contribute more to the platform we all love so much.
Table Of Contents
A Call To Arms
The Movement, Its Origins, and What We Hope To Achieve
In an effort to demystify the team operating the open-source platform Solidus, and to rally support from members and participating stores, we’re updating the community today on the “Support Solidus” initiative.
The initiative is one that we at Karma Creative are proud to have spearheaded ourselves, but that doesn’t mean we did it alone. Far from it.
Rather, the idea arose out of a full year of biweekly meetings (hosted through virtual conferences on Zoom) between key members of the community. These ‘Solidus Stakeholder’ conference calls saw community members speaking out over their growing concerns and working together to solve problems and improve the platform. In need of support, these stakeholders found ways to help one another. And, just one year later, after working together as a team, we were thrilled to organize an incredible Solidus Conf 2019 in Salt Lake City, Utah. The atmosphere there was buzzing with new ideas and goals for the platform; we could tell that over that past year the community had become truly re-energized.
Needless to say, supporting Solidus has been at the front of our minds for a while. But ever since Hawthorn left the core team and Stembolt was acquired by JUUL, the community has realized it’s even more important to come up with innovative ways to maintain, fund, and support this amazing platform that we’ve grown to love.
Luckily, in the wake of Stembolt’s departure, Nebulab truly stepped up to the plate to fill their shoes, and has done an amazing job with Solidus.
After that pivotal Southeast SolidusConf in 2018, Nebulab almost immediately pledged to hire another open-source maintainer (using their own money), and have continued their strong dedication to the platform ever since. One fantastic initiative to highlight is that every Friday, their whole company spends the day working on open-source Solidus eCommerce. Incredibly, even by a conservative estimate, they still put several hundred thousand dollars a year worth of development time into the open-source platform. Not only have they taken on a ton of the maintenance, but they’ve also contributed some very welcome funding as the top contributing Ambassador on Open Collective.
But even so, in order for this effort to be sustainable, we knew we’d need to rally even more support and create a diverse group of volunteers who love the platform as much as we do, and want to support it and shape its future.
That's why we at Karma Creative launched the Support Solidus Initiative: to spark community engagement and to help our open-source platform thrive.
Wouldn't it be great to put some items from YOUR roadmap directly onto the Solidus Roadmap? That's our goal: To completely align with the community and implement items that are shared between individual retailers' roadmaps.
We printed these shirts at Solidus Conf 2019 to introduce the initiative:
At Solidus, we want the goals of our stores and the goals of the platform to be totally aligned and symbiotic. But in order to have their own needs met and supported, stores need to support Solidus in return.
From our side, we know that doing so can create a ton of opportunity. It can open doors; streamline processes; enable community work on the features and benefits you want to see; and make your business earn more money with less effort. If you care about features and functionality, and if you want your own company roadmap to be a part of the equation, then supporting the platform is a necessary and prudent investment.
And It's in Your Best Interest Too
It might help the community (those on the fence about whether or not to join in) to be given a crystal-clear image of what open-source, Solidus, and donating to the platform will offer.
To start, just by choosing open-source, you open yourself to a world of opportunity. The community and the altruism built around it is palpable in long-running open-source projects like Ruby on Rails and Solidus. Instead of licensing fees, you have a veritable army of developers collaborating together with you, supporting you, providing regular maintenance on underlying dependencies, and so much more. Sure, sometimes you have to also give back to that project, platform, and community. But doing so multiples your own efforts and creates a positive feedback loop: one where we gain the ability to add more new features, improve our framework, and stay more secure. Open-source is congruent with success.
But why Solidus in particular? Complete control over your store. No licensing fees. Strong community. Solid core team. Support for high-volume stores with varied and complex needs, with many outlying use cases and features already included on the platform. And it scales.
‘Support Solidus’ means promoting access to future conferences, new features, hassle free maintenance, and better support. But moreover, it means peace of mind knowing that you’re securing the future of this platform as a leading open source e-commerce framework.
How to Support Solidus: Money, Code, and Community Events
Now, it’s important to note that supporting Solidus can be done in different ways. It also depends on your own capacity as a store or developer.
We’ve touched on this in previous talks, but it might help to have a quick refresher on how to support Solidus. Basically, there are three crucial ways:
Money: If more agencies and stores commit to being Ambassadors (donating $750/month), we can support even more open-source development on the platform. This applies to everyone from big retailers to small agencies. But if this isn’t affordable, then we can all chip in something, even if it’s just $10/month. Everything counts. Code: Take a look at any of the open issues on the repo or any of our core extensions. Provide some review on a PR. Or why not host an open-source Friday? It could be every Friday (like Nebulab), once a month, or even just once a quarter. If you cannot afford to donate funds, we hope you can give back to the community with your time and your code. Community Events: Another awesome way to spread the word about Solidus, connect with the community, and to do your part in supporting the platform is to host a community event. We still need to put together an official guide for Solidus, but a good example of what to do is provided by Hacktoberfest. Here’s a link to their Event Kit. Interested companies can look to them for a comprehensive list of what to do. Maybe you could commit to organizing and hosting a virtual event once a quarter. Our community would benefit in a myriad of ways from this type of engagement.
Finally, if you can’t commit to any one of these three things, perhaps you could at least join us in the Solidus Stakeholders Slack chat (solidus_stakeholders) and contribute your ideas at our weekly meetings. We would seriously love to have you.
The group is made up of different people who all have a significant stake in Solidus. Most members also contribute financially through Open Collective, where there are 3 tiers of support (Ambassadors, Supporters, and Enthusiasts), each contributing a different amount each month. At Karma Creative, we chose to be an Ambassador because it meant we could:
Support the core team, community, and platform we love Actively shape the direction and strategy of Solidus. Appear in the Community section on the Solidus site Get our logo out there on conference materials Be recognized in the readme and mentioned during conferences. Have the option to join the partnership program as a Gold partner
And that brings us to our next point, which is to look at how far we’ve come as a platform since Stembolt broke the news they were leaving. Because we think a huge part of this is thanks to how we function as a community. People say that you go farther together, and that couldn’t have been more true for us.
Since Stembolt left, we’ve been busy. And creating a Slack channel was just the first step of many. From there, we set up organizational meetings, assigned roles, created streams of funding through recurring donations to the platform, supported and learned from each other, organized and attended conferences and, most importantly, built really solid relationships and trust within the community.
And as we touched on in our talk, trust and good relationships allow us to move forward together. Without it, there’s no real way to have an honest conversation about the roadmap, next steps, collaboration, or really anything.
In summary, the Support Solidus initiative was meant, first and foremost, as a call to arms. With your code, through becoming an Ambassador, or by donating your time, we want to remind everyone that, together, it can be done.
A Brief History of Solidus
Where We Came From and What Makes Us Unique
Though our veteran readers may want to skim this, we’re also aware that it could help those new to the platform, or on the fence about supporting it, to be given a quick rundown on the history of Solidus:
The platform has a multifaceted history.
At present, Solidus is maintained by the core team, with the help of other contributors and community members, and under the direction of Nebulab—our community partner and leader.
But that’s not how it always was.
In the very beginning there was Spree, founded by Sean Schofield, who then formed Railsdog, his consulting agency. From there, he finally got some funding, and alongside Brian Quinn, founded Spree Commerce, the company that managed the Spree Open-Source project and to a large extent employed its core members.
To help you take the trip down memory lane, here's a few photos from SpreeConf2012:
Around this same time, Sean sold Railsdog to Dan Honig and Tim Connolly. Things were rolling with Spree. The community was very active, and we had a great community manager, Ryan Biggs. GoDaddy contributed a large sponsorship for SpreeConf2014. A lot of the original core team was still involved. Then at some point, behind the scenes, First Data Corporation approached Spree Commerce, acquiring them and their personnel, including the developers on the core team. When this happened, though a public disclosure did go out, most people were unaware. But a few people (such as Clarke Brunsdon) took notice immediately, more than a year before most knew.
Eventually, some began to notice a slowdown in work from the core team, and those people began to get increasingly concerned. With good reason. They were running huge stores on a platform where they could no longer (reliably) get help from the core team.
After weighing their options, they decided to fork Spree. To be clear, at this point, most people still had no idea this was happening. The only people involved were Bonobos, an online-only retailer running their website on Spree, and the digital agency servicing them (at the time called Free Running Technologies).
They called their new fork Solidus. And together they held the very first (private) SoldiusConf in 2015.
Then, in October or November of that year, we got an announcement on Spree Commerce’s blog that the company had been sold; and shortly thereafter, another announcement: First Data would not contribute significant development resources to the open-source Spree project any further.
In other words, all Spree core team developers, previously working at Spree Commerce on the Open-Source Spree project, were now going to be focused on closed-source work at First Data, rather than open-source Spree. Finally, we were clued in.
During this period, there was a major split in the community. No one was sure quite where to go or what to do, but they knew for sure that the core Spree team was gone, and it looked like the Solidus crew was doing some good work.
So Free Running Technologies changed their name to Stembolt, and took on the role that today Nebulab is taking. A natural fit, right? After all, they were the ones that forked the project in the first place, and they were already in control of the codebase.
During the same period, Spark Solutions and Vinsol successfully lobbied Sean Schofield to give over control of the Spree OS project to them.
After a few more months, in May of 2016, Stembolt hosted a great SolidusConf in Toronto, with professionally done videos and all the bells and whistles.
A month later, in June, Spark Solutions and Vinsol put on a conference in NYC called Open Commerce Conf, deciding to focus on a more broad scope than just doing ‘SpreeConf’. It was a successful conference with both Sean Schofield and Brian Quinn in attendance, but it still felt like something was missing. And while the Spree folks were still doing some very solid work, it was starting to seem like Solidus had a leg up.
The Community Was Split
At the time, many new stores considering Spree vs Solidus decided to go with Solidus because the future of Spree seemed so up in the air. Similarly, because of the great job Stembolt did at revitalizing the activity of core in the Solidus project, many existing Spree stores (especially those who hadn’t yet transitioned to the recently released Spree 3.0) migrated to Solidus.
(As an aside, since then, the Spree folks at Spark Solutions have done some fantastic work keeping Spree alive. Karma Creative, on behalf of the whole Solidus community would like to offer them a sincere thank you for all their open-source work.)
As shops continued to migrate to Solidus, the platform and community had a great ‘honeymoon’ year, free of many of the distractions of the previous 2 years. SolidusConf 2017 in London really drove it home, with Stembolt fully at the helm, and lots of great open-source development going on. A partnership program was announced. A new website. Things were steamboating right along. (And that Fall, we founded Karma Creative!)
However, with Karma Creative established and 2018 off to a good start, suddenly the winds began to change:
The community started noticing a similar pattern that we had seen way back when SpreeCommerce was acquired by First Data: less work being done, the core team less responsive, and most importantly a complete lack of news or info on what was going on.
Eventually this came to a head when Hawthorn, our main core maintainer and member, announced he was leaving Stembolt and the core team, and going to work at Github.
As you can imagine, this was a big surprise to the Solidus community. Though many didn’t immediately see his announcement or take notice, eventually everyone was asking questions. But Stembolt wasn’t giving us ANY answers.
Finally in August (of 2018), thanks almost solely to Sean Denny, we had a conference in Memphis called SoutheastSolidusConf, and the guys who ran Stembolt (Sean Taylor and Clarke Brunsdon) FINALLY shared the news with everyone:
“Stembolt has been acquired by JUUL Labs, and is gone.”
Here, Clarke Brusdon, former CEO of Stembolt and now Senior Director at JUUL Labs, told us flat out that ALL of us needed to step up. Everything was different. Stembolt was gone. Even how core operated was changing. Namely, from now on:
The Core Team dictates roadmap/priorities. And the Maintainer(s) executes the roadmap.
He then laid out five goals for the Solidus project:
Abandon the mistakes of 10 years ago - For example, we are still supporting core decisions the rails-cart project made before Spree ever existed
Adopt the "right technologies” - On the frontend AND the backend
Become easier to adopt - Lower the barrier to entry
Become easier to work with - Lower the barrier to entry
Become easier to contribute to - Lower the barrier to entry
These goals were a step in the right direction but, practically speaking, fulfilling any one of them meant we needed ongoing commitments. We needed help from the community. We needed time, code, and funding.
But this was becoming increasingly difficult, especially since the Stembolt people (now the JUUL people), had essentially abdicated their thrones and stepped back. Of course, they continued to make significant contributions to the platform, but over time Sean and Clarke stepped entirely out of the picture. Today, Gregor is the only remaining core member actively involved from that team; he attends almost every Stakeholder meeting. JUUL is still heavily invested in the platform employing even the likes of Jeff Dutil - but alas, they have been heavily concentrated on their own store & business, rather than the open-source Solidus project.
This is where our needs really came into focus. There had been a lack of work, information, and order within the community; we needed people to step up, to donate, and we needed a new open source maintainer.
But even more importantly, we began to realize that JUUL was now just another member of the community. Just another shop running on the platform. And to us, that made one thing crystal clear: JUUL was no longer going to maintain this open source project.
Someone had to step up to the plate and help us transition into a post-Steamboat world.
From here, because so much happened during this period, it helps to sketch out a timeline for the course of the next year; from August of 2018 to the following conference, in October of 2019.
Timeline in a Post-Steamboat World
August 2018: We start a Slack chat with interested members from the community who attended the conference and decide to start holding bi-weekly calls on Zoom. We also consider whether or not to incorporate as a non-profit 501c3 and decide to hold off for the moment.
September 2018: Nebulab commits to dedicating one developer to the Open Source project; essentially filling the void left by Hawthorn’s exit.
October - December 2018: We decide to use Open Collective as a way to take funds and provide transparency. We begin to flesh out the idea of Stakeholders, and what purpose they would serve. Basically, we work to find new ways to coordinate and work together, but with only moderately meaningful collaboration. We discuss things like our structure, decide on the monetary tiers for sponsorship in Open Collective (OC), what benefits the donors would get, and more. January 2019: We roll out the Open Collective account, with all information set up for donation and benefits, and we make an announcement.
February - July 2019: We talk primarily about what needs to get done, until a circular argument begins to arise, where core doesn't want to commit to a roadmap until there’s an open-source maintainer to implement tasks, but stores don't want to donate until they know what they'll be getting (eg. until they see a roadmap). During this time, we have maintenance work being done by Nebulab and a few others, but no official roadmap. We released new versions of Solidus with new features. During this time and up to today, in addition to work on the code, Nebulab continues to support the platform through items such as documentation improvements, blog posts, and even redesigns of Solidus.io.
August 2019: Up until this point, our group had been meeting once every two weeks. In preparation for the upcoming conference, we switch that to meeting twice a week (an intense change in schedules, but the good part is we went back to once a week after the conference).
August - October 2019: We continue to meet and, during this period, it becomes clear that in order to make a roadmap (something we still hadn't agreed on doing), we needed to take the community's input into account. So Nebulab, completely at their own expense, designs and distributes a survey to ask the Solidus community what they want (store owners and developers alike).
Mid-October - 2019 Solidus Conf: At the conference, Alberto from Nebulab and Gregor MacDougall from JUUL, the most senior, influential core member possibly besides Alberto, give a talk presenting the results of the survey, and a tentative roadmap based on those results. At the same conference, Karma Creative also launches the Support Solidus initiative, gives a talk called 101 SEO Tips, and brings t-shirts for the initiative.
Post conf - December 2019: We dig into the roadmap, transitioning it from Trello into a more dev-focused tool called AirFocus, primarily so the community can chime in on the initial roadmap Nebulab (and core) had suggested, and slightly reprioritize things, or even add new items.
January 2020: Frustrated that we were still planning and not doing, we again dig in on where to go next and eventually settle on two (or more) paths forward that we will pursue simultaneously:
We will search for and hire an open source maintainer, even if we don't have the money to hire them full-time. We will allow the use of Open Collective funds on select issues, if worked upon by Stakeholder-approved developers or shops. In other words, we’ll allow members to take items off the roadmap when agreed upon, and make a bid to complete the work.
The Solidus Stakeholders
Who We Are and What We Do
This brings us to a bit of background on the Solidus Stakeholders, who we mention up above. While these Stakeholders were mentioned in the new GOVERNANCE.md in the solidus repo, roles have continued to evolve meriting further discussion.
We’re a group of dedicated Solidus users (mainly developers, though we’re hoping to bring in a more diverse crew), who meet weekly on Thursdays at 11am ET. We work on maintaining and organizing the platform so that it runs smoothly for all, and on developing a roadmap that charts the future for our e-commerce stores.
In this section, we’ll show you what the group has been up to, let you know how to join, and answer those burning questions on what’s in store (no pun intended) for the future of the platform.
First off, if you’re interested in joining the Stakeholders in their battle for the future of Solidus, meeting just one of the following points will grant you access:
You made 3 or more contributions to Solidus via Github in the last year
You’re the author or maintainer of a Solidus extension
You’re currently contributing via OpenCollective
If one of these conditions are met, our hopeful candidate need only contact a current Stakeholder and alert us of the intention to join. Then, with voting announced a week in advance (ample time to weigh the decision), a simple majority vote is counted to determine whether that candidate should gain entrance. Should a majority of Stakeholders vote yes, the candidate will be invited to the Slack channel and to regular meetings.
As briefly mentioned previously in the article, within the Solidus Stakeholders group and Open Collective fund, members are grouped by how much they donate and by their respective benefits:
Donators: Making a one-time or recurring donation of any dollar amount, their support is vital to our growth. The main benefit they receive is the vibrancy of our platform. Sometimes they also receive special conference benefits if their donation was made as part of a conference sponsorship.
Enthusiasts: Donating $10 or more a month, these individuals care about and contribute to the platform, and in return have earned the opportunity to appear in the Community section of the Solidus site, and to join the partnership program as a Bronze Partner.
Supporters: Donating $100 to $500 a month, these companies are instrumental in pushing new features and maintaining Solidus. In return, they get their logo on any conference materials, and the chance to join the partnership program as a Silver Partner.
Ambassadors: Donating $750 or more a month, these leading Stakeholders actively and enthusiastically shape the strategy and direction of Solidus. They also earn the chance to be recognized in the README, get shout-outs at conferences, a chance to join the partnership program as a Gold Partner, and opportunities to guest post on the solidus.io blog.
At present, there are twenty-one fantastic, enthusiastic members operating within the Solidus Stakeholders group. However, and we can’t stress this enough, the more the merrier! Everybody knows that the more members an organization has, and the more diverse their needs and experiences, the more thorough and comprehensive the end result—and the better that organization is operated.
At the time of writing, these were the current positions and companies for these individuals. We will try our best to keep this updated, but please contact us for any changes. Active Stakeholders:
Adnan Abdulally, Senior Software Engineer, Printivity
Peter Berkenbosch, Founder, Peter Berkenbosch Consultancy
Edwin Cruz, CTO Magma Labs
Sean Dawes, Co-Founder, Modded Euros
Sean Denny, Developer, Nebulab
Thomas von Deyen, Senior Web Developer & Core Team Member of AlchemyCMS
Alessandro Desantis, Director, Nebulab
Jacky Giang, Head of Technology, Floyd
Jacob Herrington, Senior Software Engineer, Dev.to, formerly of Engine
Daniel Honig, CEO, Boomer Digital
Denis Ivanov Downshift Labs
Rob Johnson, Deseret Book Company
Matteo Latini, Director and Co-Founder, Nebulab
Gregor MacDougall, Engineering Lead, JUUL Labs
Dan Mitchell, Director, Digital Reflow
Jared Norman, Founder, Super Good Software
Thomas Sample, Founder & CEO, Karma Creative
Eric Saupe, Senior Software Engineer, Deseret Book Company
Nicholas Spinazze, Senior Software Engineer, formerly of Engine
Mike Swimm, Founder & CEO Candle Science
Alberto Vena, Co-Founder & Developer, Nebulab
Key Solidus Stakeholder Questions
Recently, we’ve been trying to narrow in on three key questions, which we’re now working to answer and improve upon going forward:
#1: What are some ways to seek out diversity, and to make the Solidus community more inviting to diverse members? Presently, we’re disappointed to say that the Solidus Stakeholders group is almost entirely caucasion (18/21 members) and male (21/21 members). With our outreach efforts, and through partnerships with organizations like “Code Crew” or “Girls Who Code,” we’re taking some active steps to remedy that.
#2: How do we bring the greater Solidus community, those not engaging, into the conversation in a meaningful way? Furthermore, how do we encourage our members to accept ongoing responsibility? While all the Ambassadors & Stakeholders love being able to contribute at the level we do, it seems like, just as it is beneficial to have more people involved overall, it would do nothing but make us stronger to have a greater number with designated roles, to share in the responsibility.
#3: And how do we raise the funds necessary to keep this open-source platform not only alive and well, but also relevant? Offering complex and innovative e-commerce experiences, Solidus is the platform behind big, successful stores like Floyd, MeUndies, and Glossier. But as Alberto Vena and Gregor MacDougall touch on in their talk “Solidus Roadmap,” (from 2019) in order to stay relevant and on top of a growing, changing marketplace, we need community members and companies using Solidus to engage with and support the platform. Today.
Now, you may be thinking, shouldn't these companies already be doing this for me?
To some extent, of course. - But the answer is multifaceted.
First, yes, companies and the community should be doing more, and part of this Support Solidus initiative is specifically trying to get more to step in. But it goes beyond that, to the center of open-source software: where the technological ecosystem is entirely dependent upon the community it serves.
And why shouldn’t e-commerce platforms function in symbiotic ways?
Engaged stakeholders, contributors, and volunteers know that Solidus wouldn’t be the platform it is today without the massive amount of time and effort that’s been invested. And the edge Solidus holds over competitors is the very community that keeps it running. Without the passion, dedication, and commitment our collective brings towards its ever-evolving improvement and success, Solidus could never be where it is today.
We have big plans for the future of Solidus. Plans that will make our e-commerce stores more efficient, competitive, and smooth; earning store owners more money with less effort.
How Do We Make It Happen?
Simple: Using our shared Solidus Stakeholders Slack channel and our meeting every Thursday, we communicate, coordinate, and work together. -- With an open-door policy and an open agenda, we’ve been hard at work tackling and prioritizing core goals.
During these meetings we discuss, vote on, and find key roles for our members; mapping out priorities and creating the essential roadmap together.
But there’s still room to grow. For example, we want new and existing members take on more responsibility and start to make more contributions to the platform and on the #support channel.
Another question we’ve been working to answer is, who and how do we hire (and pay) qualified people to work for Solidus? As a collective, we all agree that we need a dedicated contributor to manage Solidus and GitHub. In fact, we knew we needed one all the way back in 2018: -
“Our first major challenge [was] securing enough funding to add a full-time maintainer to the project and pay for running the internal operations of Solidus (such as the CI servers, the Github Organization account, etc). Beyond that, we [needed] a community manager, a technical writer, and an administrator. -- We [needed] more than just enthusiasm; we [needed] commitments.” -Sean Denny, SolidusConf2019
But in order to make those commitments bear fruit, we still need more financial support.
Presently, we operate on a lean budget of around $60,000 a year; with 100% coming from small donations by dedicated members.
Thanks to our frugality, this past year we've been operating at a surplus and accruing money in the OpenCollective account.
However, moving forward, we may be spending more money than we’re taking in, since most Stakeholders are in agreement that we should leverage our banked money into tangible results: like new features, code improvements, higher revenue for stores using the platform, increasing brand exposure and adoption, and more.
Beyond that, to put our needs further into perspective, a full-time maintainer would cost $120,000 a year.
Solidus needs new wellsprings of support in order to make the sweeping changes we all wish to see.
And that’s why we need to rally together and ask for what we need.
Whether you’re an e-commerce store owner, developer, or otherwise, we need everyone with a stake in the success of Solidus to give back to the platform that gives us so much.
Asking Our Stores To Invest In The Platform That Keeps Them Going
If you’re a developer, you know it can be a struggle to get decision makers on board with donating time, money, and code to an open-source project. After all, part of why they chose it was because it was free, right? No commitment? That’s why, in this section, we want to get to the bottom of it. To figure out what those hesitations are, when it comes to donating, and what we’re doing to alleviate their concerns.
For many store owners (and folks in general), web development just sounds like white noise. And it’s no fault of their own either. For some, tech simply isn’t a first language—and learning it isn’t a priority that makes sense. Because of this, Solidus suffers, with many people heading in the direction of platforms like Shopify. SaaS platforms that offer users a much easier option at the expense of customization, community, and control.
But this is ironic, because, at the end of the day, platforming onto and supporting Solidus is in each store’s own best interest. It’s even more true when you realize that, together, by contributing only a tiny fraction of their yearly development budget, each contributor could: Increasing their product/team velocity, vastly reducing overall development time Improve revenue through better conversion rates and more sales Strengthen the community we all rely on, resulting in better support And pushing the platform in a direction they want to see, one that aligns with their own company roadmap
Tragically, these advantages often are lost on CEOs who see donating money to support and Open Source project as yet another unnecessary expense. When this happens, sometimes the best approach is to view open-source funding as just another maintenance cost. Product Owners don’t have to understand the ins and outs of that maintenance, but they can almost always afford to budget it in. If the support you’re asking for is framed as standard practice for a company, then it should be an easier sell upstairs.
Jacky Giang (from Floyd) helped shed some light on the issue in a December meeting with the Solidus Stakeholders:
“It should be the retailers’ responsibility to engage in the dialogue we’re having, and to join us if they want open source to be a part of their tech stack.” --Jacky Giang
Our meeting that day also ended with some important action items towards rallying for e-commerce stores to jump on board and support Solidus:
A good start was an open spreadsheet, accessible to all Stakeholders, listing all stores, agencies, and integration partners currently working with Solidus - with the intention to send out emails to connect with those community members. Part of the goal here was to immediately solicit more direct information, and try to alleviate any preliminary concerns stores might have. So far, for example, we’ve already got Adnan from Printivity on board, and we’re hoping that many more will follow.
Beyond that, Sean Dawes, even offered to go in person to local stores, to have a sit-down conversation with store owners on what features they want to see, what concerns they have about donating, and how we can help to ease them.
For those of you unfamiliar with him, Sean is the owner and CEO of ModdedEuros, one of the founding Solidus stores. He's also an extremely active Stakeholder, present at every meeting. A key member of our team, Sean Dawes drives progress through his donations as a Solidus Ambassador and is championing integrations with more 3rd-parties. For example, he recently helped our community sign a deal with Brex.
We asked him to review this article in advance, and for a quote. Here's what he had to say:
"For any store who is considering open source as a solution to their ecommerce stack the question needs to be asked of whether you want to get in the business of owning a software company on your own or actually have resources from around the world you can leverage to scale."
"By selecting to not go down the paid platform path you are relying on a community of skilled developers and leaders to create solutions you can leverage for your business. Here at Modded Euros where we not only made the leap from Spree to Solidus as one of the first stores back around 2014, we made the decision to support the Open Collective fund immediately which has lasting long term impact for the success of the platform. Investing in Solidus is investing in our own technology future." -- Sean Dawes, co-founder of Modded Euros, Solidus Stakeholder & Ambassador.
And lastly, a third idea that Karma suggested was to host a sales contest—after earmarking some funding—to spark the community into action. We didn’t decide on a metric yet but discussed the possibility of a prize, in exchange for whoever contributed the most times or completed the most pull requests, thereby incentivizing the contribution for developers. Personally, we’d love to revisit this idea and see if we can make it happen soon. (Please contact us to suggest metrics for the contest if you have any experience with this.)
Hiring a Dedicated Maintainer
As a group committed to the success of Solidus, our first steps have been geared towards creating and developing a roadmap for Solidus that works for all, and finding and hiring a new Solidus maintainer.
The good news is, progress has been made on both!
In the effort towards incentivizing support, easing the communal burdens and responsibility, and organizing the platform, hiring a maintainer has been at the front of our mind.
And we knew that, once we did, we’d be able to achieve so much. To be specific, we’d be able to:
Create a new roadmap for the project and start to prioritize and implement tasks
Keep the platform relevant, allowing us to save money by cutting down on development time and costs
Help deliver projects in a shorter period of time
Make customers happier with finished products by providing features and better UX (ultimately earning stores more money)
Help attract new users to Solidus so it can continue to grow (increasing adoption rates and helping the platform thrive)
And help keep the Solidus community vibrant (all of which makes your business more profitable with less effort)
And this brings us to the most recent news, which is that we’re thrilled to have made major headway on this by officially hiring Peter Berkenbosch as a dedicated part-time open-source maintainer.
For those who aren’t lucky enough to know Peter yet, he was one of the original Spree core team members, which means he knows the platform like the back of his hand and is super dedicated to our new effort. He also runs a web development consultancy from The Netherlands committed to “building bridges between customers, leadership and developers for e-commerce companies”. In the past, he’s done work for the massively popular makeup and skincare site, Glossier.
We can’t wait to see what he brings to the table.
In fact, Peter recently revealed that he's working on a new Solidus Book!
First pass for the SolidusBook TOC done, https://t.co/ZJ7AMCjzdh Want to follow along? Sign up for updates at https://t.co/1rAJrmxSK3. Request / Comments on the TOC are more then welcome too! #solidus #solidusthebook— ❦ Peter Berkenbosch (@pberkenbosch) April 6, 2020
Hiring Peter was just what we needed to be able to leverage even more community-supported work. And we’re proud to have been able to use Open Collective funds to hire him to work with, and under the direction of, Solidus’ core team and Ambassadors, to help implement the new project roadmap.
And this brings me to our next piece of news. Thanks to a massive effort, we now have a new (evolving) Solidus Roadmap, which begins to chart the future of the Solidus community.
But before we dive into what’s currently happening with the roadmap, let's take a look at how it evolved, starting a few months before SolidusConf2019.
Creating a New Roadmap Using a Brand New Process
Ever since SolidusConf2018, the Solidus Stakeholders had been meeting, and some of those members had been asking for a roadmap.
Thankfully, in a magnanimous gesture, the core team acquiesced to the will of the Stakeholder group and agreed for us to sketch something out.
But how would we choose the items?
This is when Nebulab again stepped up to create a robust and impartial process: a process to understand and navigate the diverse needs of our community, within the constantly changing ecosystem of ecommerce around us. Let’s take a closer look. This process (and in large part the writing in this next section) come directly from Nebulab and our core team:
1. Analyze Market Trends
Where are the interests of online businesses going? We need to understand what is losing popularity and what's becoming essential for decision-makers. These are things that are probably not needed now, but will allow us to stay on top of market trends, and having them in Solidus will be helpful to attract more users and keep our current ones.
Some examples are:
- Headless CMS
- GDPR Compliance
- Omnichannel commerce
- eWallets (e.g. Apple Pay)
2. Analyze Market Size
Who’s using our platform? We found this excellent blog post eCommerce Companies Market Size from Pipecandy with tons of information about the size of the US eCommerce market. Analyzing this data and combining it with what we already know about Solidus, we notice that there are a lot of opportunities in Solidus’ market segment. In fact, the average Solidus Store has a yearly revenue of $17M. By understanding our users, we can make sure we continue to drive the strengths of the platform that have made us a good fit. More specifically, this means making sure we support those stores that have revenues over $1M. These stores are likely also the ones best positioned to help our community.
3. Compare Solidus with Direct Competitors
Even before making a comparison, we must ask ourselves: what competitors should we compare ourselves with and how do we define them? There are a lot of other e-commerce platforms out there, but we need to focus on some specific aspects that make it possible to make a comparison.
We split competitors into two blocks:
- It's an open-source solution
- It has no Saas version
- Has an active community
- Focuses on customization Competitors: Spree, Shopsys, Saleor, ReactionCommerce, Sylius, Workarea
- Has a pricing model for custom development or a SaaS version
- Has a paid Plug-in system
- Development is not required Competitors: Shopware, Shopify, Magento, Prestashop, WooCommerce, BigCommerce, SquareSpace, SalesForce, Spryker
Once we define Solidus' direct and indirect competitors, we analyze them by wearing different hats: Business Owner, Marketing Manager, Designer and Developer.
The output of this task is a list of aspects where we are doing well, and others where we should improve. It tells us what other competitors are doing better than us, and where Solidus is already in a good position.
4. Ask for Feedback from Our Current Users
Community feedback is essential to our success. By organizing and distributing a comprehensive survey of current users (and beyond), we gain valuable insight on topics such as market trends and market size. Here’s a sample of the questions from 2019:
- “How big is your store?”
- “What industry is your company in?”
- “What’s your development budget?”
- “What are the top three features you’d like to see in Solidus?”
- “What useful integration/extension do you think Solidus is missing?”
- “How could we make Solidus easier to customize?”
- “How supportive was the Solidus community in your experience?”
The answers to the above questions give us a specific list of areas to improve, a lot of new ideas, and reconfirmation that our main selling points are highly appreciated.
Some of the key takeaways from the survey this time were:
We need more official payment gateways
We need more maintenance on extensions
We need more content, mostly in the form how-tos and tutorials
We are missing some core features
Most of the users chose Solidus for its community and ease of customization, and are very happy with what they found
Current users are very satisfied with the Solidus experience so far
5. Categorize Everything in a SWOT Analysis
The final step of the process is a SWOT analysis to help us gain strategic understanding of what is essential for our product. Categorizing items into these four groups gives us a high-level overview of what we should do:
Strengths are competitive advantages when promoting the product; Weaknesses are aspects you can and should improve immediately; Opportunities are external things you can take advantage of; Threats are things you can't control directly, but should be prepared for.
This was a key point of the analysis: helping us to understand the real actionable items that could improve the platform. Check out this example illustrating how we can use what we've learned to transform a Weakness into a Strength:
Solidus: A New Board
All of this work culminated in a list of key roadmap tasks. And on the morning of the first hack day in Salt Lake City, Alberto presented a brand new Solidus Roadmap Trello board, releasing the initial roadmap to the community.
During his presentation, Alberto also laid out important research that had led us there, using pie charts, bar graphs, and more to provide key insights. You've already seen a few of these in the previous section. Here's one more we loved:
And here’s a link to his slides is case you’d like to take a look yourself. Go there now. There's a bunch more fantastic information. Alberto Vena’s presentation slides for Solidus Roadmap from Solidus Conf 2019
The roadmap itself was not final, since they still didn’t want to commit to something without a maintainer on board. It was, however, an initial offering to a community urgently seeking direction and a solid plan for the platform. The initial roadmap worked to answer that crucial question of “where do we go from here?”
Prioritization in AirFocus
Ok Great! We have a roadmap. But what next?
The first question asked after Alberto’s presentation at the first hack day in 2019 (which had the room erupting in nervous laughter) was, “So what are we going to work on first?”
Though not many decisions were made in person during those two hack days, in the weeks and months that followed, the community continued to push on this effort; the next important step was clear.
To further prioritize issues, we used a Product Management technique that helped us understand which tasks would have the most impact on our key objectives: the Value vs Effort Model.
To do this, we needed to first define what ‘Value’ and ‘Effort’ were for Solidus:
Value for us is represented by:
- Promotion: reaching a wider audience in order to allow more people to evaluate, use, and contribute to Solidus
- Market Positioning: improving and explaining what are we doing compared to other platforms in the market
- On-boarding Improvement: reducing the friction and difficulties to create an MVP, helping people validate their ideas more quickly
- Easy Customization: helping people facing custom needs to more easily solve their problems
Effort for us is represented by:
- Development Cost: the effort required to implement a specific task
- Maintenance Cost: the effort required to keep a specific feature/output up-to-date and relevant over time
At this point, we needed to create a matrix that would allow us to assign a numerical value for each of those things. We decided to go with airfocus.io which helps us:
- Do the math: it provides a prioritization algorithm that allows defining custom weights individually on costs/values. If stakeholders want to push in a specific direction (eg. on-boarding), we can assign a higher weight to that value and the priority of tasks will adjust accordingly.
- Priority Poker: we have several voices in the stakeholders’ group and this tool allows to set values on individual tasks by each of us, with a process similar to Scrum’s Planning Poker.
- Share the roadmap with the community.
For the first Roadmap prioritization, we assigned numeric values to each task based on the consensus reached by the stakeholders group, and it has been a great exercise to align the group on the importance of what needs to be done.
The values set by stakeholders and priority scores are public and can be seen here: Solidus AirFocus Roadmap v1
And here's a link to the full image of it for posterity: Solidus AirFocus Roadmap v1 Items Full List
We also have a useful Chart view that allows visualizing prioritization results in a way that gives an immediate understanding of low-hanging fruits and items that will have lower impact compared to their implementation effort.
This took several weeks of concentrated effort during our Stakeholder meetings, where we didn’t get much else done. The result was worth it. The new chart laid out sections for quick wins, low value projects, development tasks, and items to cut. We finally had some concrete (mostly unbiased) guidance on what to work on first.
However, to the concern of some Stakeholders, our result ended up seeming rather Development Shop focused. Many of the highest ranking items seemed to only help current stores indirectly. The types of items dominating the top of the list were blog posts, tutorials, more documentation, adding a demo to the Solidus site, redesigning Solidus.io, speaking at conferences, etc. In other words, lots of items to make it easier to adopt the platform or to popularize its use: great for the OS project and the Solidus development agencies, but for existing retailers, only providing an indirect benefit.
We tried to also pull out the full list. Here's the image: Solidus AirFocus Roadmap v1 Items in Chart View Full List
This presented a dilemma.
On the one hand, we wanted to make sure that these items, which drive platform adoption and open-source health, got appropriate attention. They are very important. On the other hand, we needed to wrestle with the fact that they don’t help make the lives easier of those established stores already using the platform (except indirectly). And moreover, they don’t help to incentivize these stores to contribute.
These existing stores need to be supported with work that rewards their contributions to Solidus with increased revenue.
After some back and forth, we finally agreed to add a new ‘Value’ column to AirFocus called “Retailer Competitive Advantage” in an effort to better prioritize the features towards immediate improvements and revenue for existing stores.
The result was better but still left us uncertain about exactly how to proceed.
It was around this time that we again started talking about the need to more specifically target features on existing stores' actual roadmaps, thereby alleviating their development costs and more directly freeing up budgets for a donation to Solidus. The difference this time was that we decided to take action and bring Peter onboard to help with this effort.
Now, with the kind of enthusiastic energy and momentum our group has been showing, roadmap v1 is becoming old news! In fact, Nebulab has already released a Solidus Roadmap v2and has been hard at work implementing it. Take a look!
We tried to also pull out the full list. Here's the image: Solidus Roadmap v2 Screenshot Full List
Zooming out to look at the broader picture, we can finally see a new set of 7 goals emerge for the roadmap, improving on Clarke’s vision from 2018. These goals (and the writing in this section) come directly from Nebulab and our core team:
1. Add support for trending technologies
2. Improve Guides and API documentation
“We want Solidus to be easy to understand for developers, whether they want to extend it or simply consume our APIs in the right way. We'll work on improving documentation of the platform for both developers and store administrators. This is extremely important to reduce the cost of onboarding new hires on Solidus.”
3. Improve extensions ecosystem
“We'll work on improving the quality of extensions by making sure they are always up to date and provide the right set of features. We also want to make them easier to install and customize for the needs of each individual store. With a healthy ecosystem and a wide range of complete solutions for new users, we will increase Solidus’ adoption rate.”
4. Simplify codebase and core customizations
“We can reduce the complexity of the codebase, which might be overwhelming for developers approaching Solidus for the first time, especially those coming from other languages. We should also work on making core easily extendible, by adding more extension points and configurable classes and increasing the number of events we are emitting.”
5. Provide solutions for common needs
“Not all needs fit into a core feature or an extension and we believe that it’s often better, in terms of project stability and ease of maintenance, to implement a solution in the host application directly. We'll work on creating tutorials and guides that explain how to solve common needs with Solidus. We'll institute a process around content creation so that this will not be limited to a small set of content that we think is needed in a specific moment. “
6. Improve Solidus.io website
“Our website is cool, but we need to change some things in order to better communicate what Solidus is, what it looks like to work with it, and what its advantages are for developers, business owners and marketing teams. We also want to create a section where community content and solutions can be shared.”
7. Increase Solidus Brand Awareness
“We want to promote Solidus in the industry by creating more interesting content for decision-makers, attending events and reaching out to people that could benefit from using it. This will be beneficial for everyone since it will bring more open-source contributions and Open Collective funds, which are vital for the platform.”
We hope this was informative in terms of sharing our vision for the platform with the community.
But what’s the latest? What’s happening RIGHT now?
Here’s a quick update from Alessandro from March 16th on current progress:
ROADMAP UPDATE :solidus:
GraphQL: the product catalog queries are fully ready. The team is now working on the checkout logic which is expected to be ready by the end of April, while the authentication/profile management part has been postponed to Q2 (no timeline yet, but a lot of work has been done already and just needs to be redesigned and moved to solidusauthdevise).
CMS: we’re on track to complete the architecture and Contentful integration by the end of Q1. Once that’s done, other integrations should be fairly easy to implement. The new solidus_content gem will be usable both for entire pages (e.g. /about-us) and reusable sections (e.g. a navbar).
Importer: v0.1.0 should ship by the end of Q1 with support for importing customer, product and taxon information in a Shopify-compatible format (other platforms have plugins that export to this format, and files can be created manually for recurring imports).
ActiveStorage support: the PR that adds ActiveStorage support to Solidus should be merged in Q1, although we’ll have to wait for Rails 6.1 (which adds public URLs to ActiveStorage) before we can use the adapter. As a nice byproduct, tests for all PRs on the core are now also run on Rails master, which will allow Solidus to always be compatible with the next version of Rails.
Frontend rewrite: this is going a bit more slowly than anticipated. On the frontend side, we’re still missing a rewrite of the checkout process. We also want to do some work on the design of the stock frontend to modernize it and make it a bit more appealing. I don’t have an exact timeline for this yet, but will post another update once I have more details.
Bulk actions in backend: this has been postponed to Q2. The person who’s been working on it has had a few personal issues and their client project has taken up a lot of their Fridays due to urgent timelines unfortunately. It will be prioritized for Q2 and we’ll most likely assign more resources to it if needed.
As always, you can see details about the entire roadmap, including past/completed projects, via this link: http://bit.ly/solidus-roadmap.
UPDATE: You can also now see even more information from Alessandro Desantis's recent blog post, Solidus Roadmap Update: Q1 2020 Edition!
At the same time, we've also been working on soliciting sponsorship and Integration Partners for Solidus: Nebulab is about to sign a deal with PayPal; ModdedEuros already signed a deal with EasyPost; and Peter Berkenbosch is about to sign one with Affirm (to name a few).
Overall, we’ve been stoked by the progress, and also by seeing more people contributing their time and code to tasks during Open-Source Fridays.
Where do we go next?
With your support, the sky's the limit
All said and done, the past few years made us stronger and brought us closer together. Now, the community is thriving; with productive weekly meetings and planning sessions, a roadmap in place, and an awesome maintainer and core backing us up.
But we’re only getting started. Coming up are:
Inspiring, packed conferences, with high-profile speakers and awesome swag, where we learn from each other and build new relationships
More features and code contributions
An increasingly active community, where you can immediately get help on issues, from a friend you can trust
And that’s just the beginning.
Support your platform, join the Solidus Stakeholders, and help us make the sky the limit.
With some massive changes behind us, and some amazing ones just on the horizon, we can’t wait to take our next steps.
But remember, we can’t take those steps without you.
We’re a platform funded and maintained by the community it serves. And that’s why we need Ambassadors, Supporters, Enthusiasts, and donations. We need passionate store owners—those with a desire to give back—to join in on the effort. To help our collective vision come to life.
Throughout the past couple years we’ve been able to accomplish so much with so little.
Just imagine what we could do with your help.
As a group, Solidus Stakeholders are committed to the success of the platform. Are you?