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 (Google Code Archive - Long-term storage for Google Code Project Hosting.) 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 and 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. 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 (Bossie Awards 2013: The best open source applications | InfoWorld) awards in 2013 (not sure if they still do this), by a community watcher 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 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.
After that, 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 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
- Politics
- 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.