The price of an Open-Source project

I've been releasing open-source software for 10 years now and the code quality between some of my early releases and the latest releases are miles apart. With my new DSQL project I've managed to tick all the boxes in terms code quality, stability, documentation and performance.

But regardless of how much my project is, I still have adoption obstacle - "price of adoption".

In this post I wanted to share some of my past experiences to those who might be building something similar.

Adoption price

If you build an open-source app which takes users 5 minutes to install and try - people will be natuarlly drawn to your product. If users are disapointed with your applicaion, they will delete it, no harm done and not much time spent.

The situation is different with open-source libraries or framework. It becomes much more time-sonsumers for potential users to try your library. Your users would have to invest considerable amount of time before they can get any benefits and it would cost them dearly if they decide to stop using it.

Community is also not very friendly. Especially in open-source people tend to stick with known values and discourage anything new because this "new stuff" often is quite stort-lived and may end up as un-maintained project.

That's the main reason anyone who posts "hey i've developed this new framework" gets immediatelly bashed by community and is sent to learn one of existing frameworoks.

The Good

As I've read on one of the sites - if the existing frameworks would be "good" there wouldn't be so many alternatives floating about. Similarly there needs to be a better platform for discovering and using existing libraries / components together, they are too detached.

Getting the critical mass

Keep talking with potential users and meet people and keep refining your intro / homepage. Ask them what discouraged them to continue and what problems they are having with their existing library. Once you start getting initial users, it should be much easier form that point on, people will just keep coming.

I've learned not to "bash" other solutions. If your library is better than alternatives, explain the differences and principles. Keep the "proof" click away.

Create a clean and nice web design

Strangely a lot of developers decide on the library/framework based on their homepage design. Keep refining your first page until it's perfect. Make use of Google Analytics to try and understand why people stop reading.

Try to geniounly solve the problem

Look for the actual problems and try to offer a solutions. Focus on helping your "potential" users. Remember that if you manage to solve problems of 5 users with your framework there will be thousand more just like them.

Finally - don't give up

The important part is that you keep your project going. Keep cleaning up and improving. Go around the network and keep engaging various communities. Persistence will pay off.