tl;dr

We are launching an Open Collective for Lambda Island Open Source, to help support our Open Source and Community work. Please check it out, pass it (and this article) on to your boss, or consider contributing yourself.

It started with a mission

The mission of Lambda Island has always been to help grow and improve the Clojure ecosystem, because compared to more mainstream technologies we see it as a materially better path to high quality, reliable, and maintainable software.

Achieving this mission has partly been educational, we want to help people get better at using this great language, and help them navigate the libraries, tools, and techniques that are on offer. So this we’ve done through our videos, blog posts, and our Clojure REPL guide.

But a comparatively niche ecosystem like Clojure also needs people to build and improve the libraries and tools so others can build on them. In today’s Open Source world we have come to expect a ready-to-consume library for every use case, but these libraries don’t write or maintain themselves.

Someone needs to write the code

Over the years we have contributed patches to dozens of Clojure projects. Often when writing a script we would run into snags, contribute a fix, and have it merged and released before the video came out. But we also ran into different kinds of snags, places where instead of a patch to an existing library, we felt that a new project was in order, either to fill a gap, or to improve upon the status quo.

The best known of these is the Kaocha test runner. We realized that in terms of testing practices and tools the Clojure world was running miles behind other language communities, and so we set out to fix that, which resulted in a family of projects: extensions for running ClojureScript or Cucumber tests, and plugins for doing code coverage, CI integration, and more.

Thanks to funding by Clojurists Together we managed to push Kaocha further, which was extremely validating and allowed us to implement things we couldn’t have done otherwise.

Other projects include deep-diff, uri, Glögi, metabase-datomic, ansi, and others, with more projects in the pipeline. Together these are now seeing over 50,000 monthly downloads on Clojars.

A final part we play in achieving our mission is running and maintaining community infrastructure, namely the ClojureVerse discussion forum, and the clojurians-log, which captures what happens on Clojurians Slack, so these conversations are accessible to search engines, rather than being lost to history.

Stronger together

Up to a year ago the bulk of this work was done by a single person. Then last year Arne decided that running this as a one man show was no longer sustainable, and decided to found a company: Gaiwan.co. Gaiwan is now responsible for all the above, as well as doing coaching, consulting, and development for clients directly. Gaiwan also ran the Heart of Clojure conference last summer, once again progressing the original mission.

Since then we’ve engaged a handful of other Clojurists, working on several successful client projects. Together we are figuring out what it means to be a team, and how to balance our community engagements with the need to make money.

Gaiwan is a remote-first company where people manage their own time. We expect people to spend at most 80% of their time on client work, how they spend the other 20% is up to them. They can spend it away from the screen, or work on their own projects, or they can work on Lambda Island Open Source. If it’s the latter, then that work should be paid. Similarly if people are in between client projects they should be able to work on open source and be compensated.

We will partly fund this work ourselves as we’ve done in the past, but we’re also hoping the community sees enough value in what we put out there to pitch in. This is why today we’re launching the **Lambda Island Open Collective**.

Becoming a Collective

Open source funding drives are well established at this point, and certain funding models have become widely known and understood. Still we have a fairly specific idea of how we plan to use this Open Collective which might be a little different from what you’ve seen elsewhere, so allow me to explain.

Our collective is hosted by Open Collective Europe. They are our fiscal host, meaning that the money you donate, be it one time or monthly, goes into their account. This way a budget can accumulate in the collective over time.

To make it clear what we want to do with that money we will put forward pitches. (See Shape Up chapter 6: “Write the Pitch”). We have three pitches so far, this one introducing a Kaocha autotest feature, one that ports our most popular library, deep-diff, to ClojureScript, and a feature we’ve been wanting to bring to Clojure for a long time: Doctests!. These form a fairly detailed plan of what we want to achieve, and what we think the development cost of this feature will be.

When the feature gets implemented and shipped, then we submit an expense to the collective, transferring said amount to Gaiwan where it becomes part of the resources we allocate for more open source work.

This models also provides us a way to invite community contributions. If you want to improve a Lambda Island project then start by writing a pitch (here’s a handy template), including the amount you’d like to receive for this contribution. If your pitch gets approved and you finish the work then you can submit an expense claim directly to the collective, and get compensated for your work.

What we want to avoid is being some abstract “good cause”, where it’s not really clear what your money is doing. Neither do we want to ask monet for something that we’ve already given to you for free, a common but flawed business model in Open Source.

Instead as a collective you are paying for something specific, which you will get at some point in the future. And if your company is particularly invested in seeing a certain improvement happen, then they can buy the development of that feature directly, at the price outlined in the pitch, or commission us to write the pitch in the first place.

We hope that this way of working will allow us to engage with the users of our projects on a new level, and that together we can continue to lift the Clojure ecosystem to new heights.

If you want to be part of this then please head over to the collective and pitch in. Are you using Kaocha or any of our other projects at work, then talk to your boss, and get them to pitch in.

Help us make great things happen, become a backer today.

A big thanks from the whole team!

Arne, Art, Davide, Enyert, Felipe, Sławek.