1. 程式人生 > >How I bootstrapped IceHrm with no upfront investment while being a full

How I bootstrapped IceHrm with no upfront investment while being a full

I thought of writing this article with the hope that this will inspire some young developers to move into open source development and to share some of the lessons I’ve learned while commercialising an open source project.

IceHrm started as an open source project.

It was the year 2007 and as I was new to web development. As I used to work more with Java, I’ve decided to use Java and GWT (which is a set of tools that convert your java code into a javascript web application). It was the early days of

GWT as well but there were some libraries for building UI components on top of it like GWT-Ext. So that made my life a lot easier when it comes to UI development.

The initial version of IceHrm was built using GWT and GWT-Ext.

Its’ UI was a lot better compared to most of the other open source web applications at that time. Then after a few releases and when it got stable I moved away from the project for a while. But it was being downloaded at least 250 times a week and I could see people were using it, and discussing it on support forums.

4 years after the last release, due to the number of downloads, I thought of contributing to the project again.

As a lot of people from industry knew about IceHrm, I wanted to build it such a way that anyone can develop free or commercial extensions to it just like WordPress. So at some point, I can commercialise the project.

Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates

Keeping this in mind I started developing a minimal framework called Isotope which supported the basic requirements needed for IceHrm and which allows me to quickly develop new features for it with a minimum amount of coding.

So after about 8 months, I managed to release the first version of the new IceHrm web application developed using PHP and JavaScript.

Then it came commercialising the project. There are many ways to make money through an open source project. Premium support plans, customisations to code, building a SaaS platform, off-the-shelf plugins, or premium products based on the open source software are a few ways of making some profit out of time you spent on your open source project.

Most of the open source projects make money by providing commercial support. But if you are like me who work full-time while contributing to the open source it’s not an option for you. So it was evident that the best solution for me is to build a SaaS platform for IceHrm.

At the time I had enough expertise to build a scalable deployment solution.For me, AWS was too costly. So I selected Linode. Compared to AWS EC2 servers at the same price range, Linode servers were more efficient and some services provided by AWS was an overkill for a basic cloud hosting solution.

One reason behind the success of the cloud platform is avoiding manual work as much as possible.

I couldn’t accept the idea of doing something manually given it can be automated using some scripts. Even though I knew there won’t be many people registering at the beginning, I fully automated the installation creation and management process which IceHrm is still using with some minor modifications.

The open source project was the one which is driving traffic to the cloud installations instead of paid advertising.

By December 2014 Cloud service had few hundred installations. At that point, I was not spending a penny on advertising. And also I wasn’t getting anything either as I was providing all cloud-hosted installation for free.

Then I started adding more features to cloud installations which were not available in the opensource application, such as the leave management system. This helped me to find more users. Also, I started charging users who wanted to use features not available in open source software, with the option to downgrade or upgrade after a free trial.

In December 2014, I got the first subscription payment

As a developer based in Sri Lanka it wasn’t easy for me to receive payments. The best option was to use 2CO. From that point onwards IceHrm kept growing to the point it is today.

Also, I made sure that the open source project is also growing and kept adding features from cloud solution to open source application.

IceHrm Cloud users were not bound to keep using the platformI wanted to give freedom to the users to leave cloud platform anytime and host the application in their servers. This gave rise to the idea of creating IceHrmPro, the feature-rich self-hosted solution of IceHrm. This way anyone who wanted to move away from IceHrm cloud platform has the chance to purchase IceHrmPro and host it without losing features their employees were used to.

I think, fundamentally, open source does tend to be more stable software. It’s the right way to do things. — Linus Torvalds

Having an open source project as a base, made IceHrm cloud platform more stable and transparent. As most of your code is visible to the public you are under constant pressure to write better and secure code.

Today IceHrm is used by thousands of companies worldwide

It is managing thousands of cloud installations as well. Still, it is a product bootstrapped with a minimum upfront capital except for the hours of development time I spent on it. Whatever the investment was done to the company was just a portion of profit made via cloud hosting solution and IceHrmPro.

But to the date, I’ve not accepted any third party investments into Icehrm. The biggest reason is that I want to benefit from the work I did for years, at my own pace, while keeping the platform affordable to any company willing to use it.

This story is published in The Startup, Medium’s largest entrepreneurship publication followed by + 370,437 people.