Hi everyone, my name is Derek. For the last few years, I've been offering software consulting services under the name Moose Code. I'm also the author of some open source libraries like Horde and DeltaCRDT. Now I am launching a new service, called Code Code Ship. It is a service that will help you, the independent software developer, sell your library.
Read on for more details.
So you've got some code. It's a bit rough around the edges, but you think it could be the beginning of a nice library. Now you decouple it from your surrounding application and decide on an API. You write some documentation to help people get on their way with your library and answer any commonly occurring questions. Finally you write about it on your blog and cross your fingers that it makes it into the next edition of Elixir Radar.
You've released previous libraries as open source in the past, but inspired by projects like Oban, this time you decide you want to sell your code.
If developing and supporting a library wasn't hard enough, now you have to develop, operate, and maintain the infrastructure to sell it too.
Your users must be able to download your code as a Hex package. So you implement a private hex server. That takes 2 weeks for a first working version and another 2 weeks before it's working smoothly. You integrate with a popular payment provider, and build tools so your users can manage their subscriptions to your package. You talk to your accountant to try and understand all the implications of selling something to an international audience. How do the taxes work? You spend another month carefully getting the details right.
Your users must be able to find your package and read about it, so you create a public page for your package. You spend a lot of time refining the experience so that your potential customers don't lose interest on the way to the checkout. You pay a designer and spend a month hammering out CSS so that your website looks half decent.
At the end of all this, you have 10,000 lines of code. You register a domain, and put your website online.
Now you're operating a platform. When it inevitably breaks, your customers are unhappy because their CI / CD pipelines are broken. You sign up for PagerDuty. You get woken up in the middle of the night twice a year. You take your laptop on vacation now. Even when everything is working fine, users come to you in a panic twice a week because their CI / CD pipeline broke and if they squint a little, they see your package in the logs. This is your life now.
Before you know it, you're fixing a bug in Dependabot.
All this to sell a lousy library, 1000 lines of code.
This is a lot of work, many times the effort required to write the library in the first place. The result is that most of these libraries don't get written, or they might get written and released as open source, only to become abandonware later.
There are a lot of libraries out there that are not being written and released to the public because there are too many barriers to doing so. And I think that's a shame, because now companies are missing out on libraries that can save them time and money, and independent developers are missing out on revenue that they can use to put food on the table and reduce their dependency on a job.
This is what I built Code Code Ship for. This should be easy.
Create an account. Upload your library. Set pricing. Hit publish. It's all there. Your package has a public page with the relevant details (readme, dependencies, versions etc). The docs have been uploaded to hexdocs.codecodeship.com
. Users can subscribe and then download your package.
Most importantly, nobody will ever call you in the middle of the night.
Code Code Ship lets you get down to business and focus on the important stuff: creating an awesome library, supporting your users, and finding new ones.
I want to sign off by showing just how easy it is to get your package on Code Code Ship, and the lengths I went to to add a little bit of magic to what would otherwise have been a boring, static part of the website.
I hope this blog post encourages some of you to take a look around and join our Discord server. Code Code Ship is by programmers for programmers, and I hope you will come to expect a high level of polish in every corner of the service.
We are launching today with support for selling your code as a monthly or annual subscription, and with support for the Hex package manager, but in the coming months Code Code Ship will be expanding with new features and more package managers.