Should I go open source?

Published on Nov 20, 2020

So I'm now in the middle of trying to create a writing platform to continue where 200 Word A Day / Co-Writers / Writelier will leave off when it shuts down in Dec. Actually to call this new things a writing platform is probably not accurate. It's more about setting goals, and writing your way towards your goals. The writing is a means to an end. So it's less about getting good at writing, or writing your next novel (unless of course, you set it as a goal). That's mostly how I had been using this platform most of the time, and since I got to migrate somewhere, I thought might as well create something that works for me.

Though I had mostly developed the project on my own, a few experiences got me thinking about whether to open up the project to be open source:

Co-creation

@keenecharles and I worked together briefly when I was stuck on the Javascript gymnastics for the streak mechanism. It was pretty fun to pair programme! That got me thinking – what if this project wasn't just for writing words together, but also writing code? What really inspired me was how Evan You runs the development of Vue.js. He essentially owns the project, but there's a team behind it now, and Vue.js is an open source project, funded by sponsors. He's also running his own Patreon fund, so that helps sustain his livelihood. So it's quite a nice balance of being open source yet also making money to ensure sustainability. I like the idea of collective co-creation, that the people who write on the platform can also feel a sense of ownership and participation to write new features for the platform. And co-creation isn't just restricted to co-developers – even non-technical folks can partake in the process by providing feedback and comments. I love how in Vue.js, they often call for a RFC (request for comments) to engage the community in discussion for new features, before rolling it out. But I'm also worried about the potential drama and politics that comes with collaboration, and having to manage all that. That's the main reason why I work mostly alone. Is the risk worthwhile?

Components

Related to co-creation. I wonder being able to modularize the platform and allow people to bring in their own components and widgets will also help with making the platform more fun? Kind of like the third-party plugin ecosystem of Wordpress, or Gatsby, or being able to download apps into your smartphone to expand its functionality and use cases. Because everyone has different goals and write for different reasons, and so need slightly different tools. I may not need analytics but it might be useful for someone else. So being able to install a component widget to personalise and customize your own dashboard sounds super exciting on paper! But it does feel so far ahead in the future right now, that it's hard to see how it can work.

Continuity

Open source is also a way to hedge our bets against unforetold closure. If I run this solo, I own it and it's up to me to maintain it. Granted, I write everyday anyway, so I have a vested interested in making the user experience great and to keep developing new features for it. But will I write everyday for the next five to ten years? The projects hangs on a thread that is me. There's that interesting indie hackers/SaaS question "What if you get run over by a bus?" Acts of God and force majeure – these are real possibilities. Who know what will happen in the future? If it's open source, it's easier for someone else to take over. But yet, handovers can be easier said than done, so the benefits are not clear till you're in the middle of doing it (which by then would be too late).

I'm still undecided at the moment. It's likely that I will launch it as a closed product first, but use co-creation methods to see how the community responds to it. Right now, I just want to get the MVP out of the gate!