Working in Open Source

My thoughts and experiences about working in an Open Source company

January 29, 2015

Back in 2011, all I knew about open source software was that Ubuntu was one of them. I didn’t know about the rift between open source and free software. I didn’t even know Python. So, it was an unexpected win for me when I landed a job at ERPNext.

It turns out that making software is a lot more about having the right disposition than pre-existing knowledge, thanks to the vast collective knowledge base on the web, aka Stack Overflow. I didn’t know about it because, in my previous IT giant of a company, though I could access google.com, I couldn’t access most of its search results. This is also another aspect of re-use: of other’s experiences, opinions, hacks, and snippets, which was denied in there. Now that I can look back, I find the culture at my previous company to be very closed. They didn’t allow open access to outside knowledge, and also didn’t share its vast knowledge base to the rest of the world. Even today, they don’t have any repositories on github. As a result, they didn’t benefit from the fast rate of development that has taken the open source world by storm. Couldn’t they have benefited immensely from the vast collection of MIT licensed code available today?

In contrast, working at ERPNext is immensely convenient and satisfying. No intellectual property issues and freedom to work from anywhere, any time. Contributions to the project are as clear as a day, thanks to published source code on github and git, the version control system we use for our projects. Reviewing pull requests is a great way to keep up with the new features and fixes in the product, and also keeps you on your toes regarding the quality of your code. There are no qualms about using other libraries as long as they are not bloated and there aren’t any conflict with our open source license.

Good design is a prevelant phenomenon in software, thanks to Apple’s success. However, open source is only catching up. It is not just about backing such projects with money, because that does not explain Google’s appalling attempt in Android Lollipop. Even Ubuntu could do better than the orange-pink color scheme. But if you look at projects like Elementary OS and Flarum, you find an approach that takes a lot of deliberation and deep thought. That’s what we have been gradually doing with ERPNext. With every new version, we have improved its design by putting in a lot of thought, learning from others and cleaning up our existing mess. After all, it is common sense to want something as dull as data entry to not be troublesome.

The community is both, the boon and the bane of us developers. Most are very appreciative and some even become lifelong fans. Yet, it takes a lot of self control to not get buried in the avalanche of feature requests. It isn’t easy to keep everyone happy. However, you do get to interact with people from various countries and cultures. Meeting them in person turns out to be a lot different and fun compared to what you gather about them from their emails and chats. The way a person writes and speaks are often very different. That’s why conferences and meet-ups are great at what they do.

As a company, we have to make sure everyone of us makes enough money to feed their family and save enough for their dreams. It turns out that open source and profits are a lot like yin and yang. Opening up your product cannibalises your profits in the short term. Those who could have paid you otherwise, have a free alternative. But, as the product’s adoption increases, some are ready to pay for convenience and hence, profits increase. As profits increase, our motivation to improve the product increases and sustains the open source product. So, open source and profits balance each other out, just like yin and yang completing each other. The catch is, how much profit do you want to make? The answer to this determines whether the balance is maintained or not.

None of the ERPNext team imagines the company as a billion dollar entity. We are a small team of 7, work in an open layout office, have lunch together at about 1pm and often discuss about software, design, history and politics. Each of us has complementary skills to the others. Some are good at starting a project, some at finishing or maintaining it. But all of us are very fond of what we do.

Hiring has been very difficult for us. India has a very limited awareness of open source, although it is growing. So, we have to choose from a limited pool of candidates based on their aptitude rather than their enthusiasm for open source, skill set or past experience, and hope that he or she grows to like the work we do. From the market’s perspective, working at bootstrapped startup isn’t as cool as a funded one.

I often think about where the world would be without free and open source software. Without it, may be the best understanding students would get about operating systems, would be in the form of diagrams. Would anyone be writing their own operating systems or compilers? May be everyone would’ve been paying the Microsoft and Oracle tax, and consequently, these costs would’ve trickled down to the end product. Would today’s low cost mobile phones exist?

The open source world makes strides that are inconceivable to its counterpart. We are part of the force that brings out the best in the competition. We are an alternative to those who do not have millions to spare. And, I feel honoured to be a part of it.
Anand Doshi
Anand Doshi
"Anand is the Chief Technology Officer at ERPNext. He reads fiction, dabbles in photography and is always on the watch for the best ToDo app."
No comments yet

No comments yet. Start a new discussion.

Add Comment