ERPNext and Communities

So here is a bit of a personal story on my interaction with “communities” over the years and the reception we have got.

For context. ERPNext has been in the open since 2009 (https://code.google.com/archive/p/wnframework/source/default/commits?page=20) and has been GNU GPL from the moment it became ERPNext, maybe in 2011, we did not understand the nuances of various licenses then, so we followed WordPress into GPL. And yes, my personal politics also helped because I was inspired by Linus etc.

Over the years we have tried to interact with various FOSS communities in India over email and mailing lists, since I was not comfortable going to events and networking at that time (I did not even have a single personal connect). Consistently we have received a cold shoulder from many orgs. I don’t want to call out names or orgs, but yeah pretty much everyone who could be reasonably looked up on the web in those days. While we may have been a crappy open source project (who cares, there are tons out there), the feedback was also not really encouraging. Being a Python project, we have done proposals for PyCon India I think thrice, and always have been rejected.

Journalists are probably the laziest class of professionals out there. We got an article in Express Computer in 2012 but had to do a full page ad for that. Snigdha Sengupta who used to run Startup Central was probably the only journalist who ever looked us up or thought this was a story worth telling (thanks Snigdha! Sorry havn’t kept in touch. You can look her up on Twitter). She wrote about us in August 2012 (unfortunately the post is taken down). After that I have stopped bothering, and people have also stopped reading what journalists write. Startup friendly blogs like Plugged In and Your Story did stories on us in 2012. I don’t think we have any press mentions since 2012 (and would love to keep it that way, please don’t share this post with journalists, else they will just lazily pick this up again, and yeah, no one reads that shit anyways).

The first org to give us some recognition as the BOSSIE (https://www.infoworld.com/article/2606353/119652-Bossie-Awards-2013-The-best-open-source-applications.html#slide15) awards in 2013 (not sure if they still do this), by a person name Fred Blauer from Canada whom I had never met before. That helped us a lot to get some traction out there. After this it has been a consistent phase of feedback and growth for ERPNext since then.

The growth came from both quarters, paying customers and the free users (community) of ERPNext. A German SMB (CWT Wire & Tech) wired us $5000 in 2014 and Believer’s Church, the first extensive users of ERPNext donated us Rs 3 lakh again in 2014. That was when we believed we could make this happen, and the days of optimism started. So with all this confidence, we pulled off the first ERPNext Conference in 2014, and got a genuinely good response (~50-70 attendees). This is when we also started growing our revenue 60-80% year on year.

Matt Olander of IXSystems (creators of FreeNAS) wanted to use ERPNext at IXSystems (I believe they are still struggling to implement) and got in touch. Took a chance to invite Jordan Hubbard, one of the creators of FreeBSD, and former Director of Unix at Apple and CTO at IX at that time, to our 2015 conference and he accepted. 2015 was also a great year, when we convinced the Sukh of StudioMarch to work on our design. The Frappe Framework / ERPNext Desk is a classic that was polished by Sukh and Abhay. The design made ERPNext special and that is what got @realvinay and @knadh from Zerodha got hooked to the platform.

We have a frenemy relation with the ERPNext community itself. While one section of the community has been the pillar of our support. Special mention to Revant form CasteCraft for being the first to “believer”. The other community is basically attracted because they see ERPNext as a source of livelihood and they see us as competition. We have also actively resisted crass commercialization of ERPNext by not adding a “app store” for example which would make it Open Core.

In terms of code contributions, in the initial days, we were thirsty, but the quality was not really good. Writing good code is extremely hard and we realized this much later. As of now there are more conversations on the forums, issue trackers and PR pages than we have bandwidth to answer. There are very few people who helped us in the “early days” so we now have no one to really trust. And ERPNext (and Frappe Framework) has grown into a beast so it is hard for anyone to get in. We have been very liberal in sharing commit rights on GitHub to anyone (and they have also caused blunders) and that has not helped either.

Yeah so the reason for telling this long story (and thanks for reading so far) is that communities are not benevolent. They respect power. What brought us here was the code. I have seen communities are attracted to two kinds of power

  1. Politics
  2. Money

Some people have attached it to their identity to FOSS, and see FOSS as a political tool to fight capitalism. This is same as the other people, who have attached their identity to “nationalism” and think that anyone who does not believe in their ideology are “anti-nationals”. Anyone who does FOSS and dares to earn a livelihood is considered as someone with an covert capitalist agenda and is anti-FOSS.

The other people think that FOSS is just a way to exploit free labour. These people sense a market opportunity and hover in FOSS communities to smell the money. These people use FOSS to as a way to build a new market opportunity to disrupt the existing order. But their goal is not political, pure commercial. They seek to co-opt FOSS communities with money and fight the other camp.

I think both of these are bullshit and need to be called out. In my personal journey it was the “code” that liberated us. Code is the “asset” that the community creates for itself and then needs to nurture and improve it. I see FOSS is a beautiful park in a dense city where the politics and commerce can be played out. But the park also creates for us a place to just “play”. Experiment with new ideas, have fun with friends. Let’s build more such assets. We need to build this park and let the communities play out. And the park must welcome everyone, whether they have come for politics or commerce or just fun. I think people on both sides of power hate or love us, because we just do things for fun (that is also incidentally the title of Linus’ memoir). Trade and politics are incidental. This has been my learning so far (connecting the dots backwards).

So yeah, talk is cheap. Show me the code.

10 Likes

Very very interesting journey rishab. Biggest take away for me from the conference is ‘Opensource is eating ERP’. I still can’t believe this is happening. I am really really excited about this and wish all the enterprises across the globe adopt open ERP systems.I think you should meet people like Nandan Nilekani who is biggest advocate of open source and was responsible for mass adoption of oss in Indian govt.Now he is trying to do the same globally for enterprises in infosys.

1 Like

@rushabh, personally, I’m absolutely glad that you persevered and pulled ERPNext through difficult times. It is slowly starting to get the recognition and usage it merits, and there’s room for growth by at least an order of magnitude! It will bring about huge changes undoubtedly.

Formative experiences in FOSS and community building, like everything else in life, is a thing. Let me share my experience here.

Personal history: Getting started with FOSS and the first experience in “open source” collaboration.
I started “open sourcing” random hobby projects in 2001, when I was beginning to learn to write code. Literally copy-pasting source code on code sharing websites. No concept of licenses or FOSS.

Soon after, I published my first GPL project, a blogging platform (ezArticles -> bMachine) in 2002. Like you said in your post, my early understanding was naive. I’d learnt to write code by dissecting “open source” projects, so I thought it’d only be fair if the code I’d write was also “open source”. If I remember correctly, this was before b2Evolution was forked into WordPress. The blogosphere was exploding and in about two years, the platform was powering hundreds of thousands of blogs, had a community (forum) of thousands of users, and had become popular enough to be bundled with cPanel by many webhosts.

Despite the popularity, I was the sole developer, a high school student operating the project from home, with rare contributions from the userbase. I was doing it because it was immense fun (code for the sake of code). It was the pre-Github (“social coding”) SourceForge era, so if you weren’t adept at building a community, you wouldn’t get a random PR. Actually, there were no "PR"s back then. For an ambitious v3 (@vishnus remember?), for months, I solicited contributions for a theme that could be bundled with the platform, from the community, from developers, and even design agencies in vain. Disheartened by the lack of response, in 2005-6, I abandoned the project. By then, WordPress had grown exponentially with a burgeoning developer community backing it.

That was my first and very formative experience in collaborative FOSS and community building. After that, for the longest time, whatever project I built, I built alone, in self-imposed isolation with great confidence in FOSS, and a deep skepticism of developer communities and collaboration :slight_smile: So really, apart from how the tech team works inside Zerodha, what we’re trying to do with IndiaOS, is my first proper attempt at community participation in almost two decades. Thanks to you, ERPNext, and the team. Code makes talk makes code makes talk …

PS: Here’s a random ancient blog from 2005 running bMachine v2 that I just found with a bit of Googling, if you’re curious. http://haydap.com/blog/index.php

Views on your original post
Now that I’ve drawn parallels between our FOSS/community experiences (and there are many similarities), I want to address some points from your original post.

Technical and scientific journalism leave much to be desired, and is an issue globally, but this is a broad, sweeping, and unfair generalisation. Just like there are bad vs. good developers, politicians, doctors, humans … there are bad and good journalists too. Drawing from your own comment about poor quality code contributions, using this yardstick, one could incorrectly conclude that “FOSS developers make poor quality contributions”. It’s unfortunate that there aren’t many journalists with strong technical backgrounds, but in no way does that justify painting an entire community as lazy.

The global decline in the quality of journalism (much has been written about this, but here are a couple recent ones [1][2]) is a much bigger problem that is fueled by deeply concerning issues, but I don’t think laziness is one of them.

Without much context here, would an app store with FOSS-only apps make sense?

Community building, FOSS or not, is hard. The successful projects that we see, as I mentioned earlier, are the ones who survived. The countless ones that perished, we’ll never even know.

While I see the point you are trying to make, the reality is much more nuanced. “Anti-capitalist”, “nationalist” etc. are not discreet categories, but broad spectrums, or rather, gradients. It may seem easy to label vocal extremists, but it’s as complex as good vs. evil. Just like any distribution of categories, FOSS camps are also spectrums. Just that the extremist views are usually more vocal than the silent majority, like pretty much with every camp ever. And sure, they can be called out. Even the “dark forces” with agendas at play aren’t black and white :smiley: . Nothing to do with humanity is.

Me too! One can absolutely code for fun. But even this philosophy is complex and nuanced. Nietzsche’s criticism of “art for art’s sake” is interesting.

Consider the beautiful thought experiment “If a tree falls in a forest and no one is around to hear it, does it make a sound?”. Is code (or anything that’s meant to elicit “meaning” or interpretation by human perception) in isolation that’ll never be executed, meaningful? Or is talk of code in a community that never creates code, meaningful? My view is that like a good engineer who takes a pragmatic, non-dogmatic approach to engineering good systems, here also, you need a pragmatic and healthy mix of both. You need the right amounts of code and talk to create meaning and impact. Often times, it’s a catch 22 situation.

Once you start breaking down seemingly obvious human constructs, they immediately run into the absurd. And once this realisation is attained, it is very hard to stay sane, or ironically, it actually helps attain sanity :sweat_smile:. Like Camus said, the only way to then cope is to embrace the absurd. For me, FOSS and code are a (selfish?) way of imbibing some meaning to an otherwise absurd existence. And, I accept that like everything else about human beings, FOSS is also not black and white.

6 Likes