ERPNext is an opensource ERP software written in Python, by a team of developers from Mumbai. The ERPNext team recently organized a conference, and my experiences at the conference, is covered in this article.
ERPNext is a web based ERP software for small and medium sized organizations. The software is developed on GitHub https://github.com/frappe/erpnext
The software uses its own custom developed webframework called "Frappe", which is a contraction for "Framework + Application". The framework itself is hosted in a separate GitHub repository https://github.com/frappe/frappe
With Frappe, writing custom applications, that integrate with other ERPNext modules is greatly simplified. The server side logic is implemented in Python, and the client side views are scripted in JS. MySQL is used as the database backend.
We at Zilogic, were evaluating various opensource ERP solutions, for use within our organization, and ERPNext emerged as a strong contender. Some of key aspects that attracted us to ERPNext, are listed below:
Suitable for organizations of our size. Other ERP software had too many features that we would never use, yet they added to the complexity of the software as a whole.
Written in Python. We have a sizeable Python developer base within Zilogic, so writing customizations and maintaining them should be easy.
Ease of writing custom applications. The way the code base is split - framework + modules, allows independent modules to be written with ease, without having to completely understand all the other modules.
So when the ERPNext team announced that they were organizing a conference, we decided to make it to the event. We hoped to meet with the developers, understand the pros and cons from other users, and get insider information about the software and the organization ;-)
The conference was a down-to-earth event. The ERPNext developers did everything to ensure that the event was simple and modest. I personally liked the event that way. Instead of expensive hotels and convention centers, we had a modest inexpensive auditorium. Instead of RFID tags and conference badges, we had stickers, with our names written on it, stuck to our shirts to identify ourselves. Freebies were kept to a minimum. Sponsors were reduced down to zero. The ERPNext team has shown us an alternative way to run a conference.
The talks started-off with Rushabh, founder of Web Notes Technologies, introducing the product and the conference. He showed us a video collage, composed of comments from various ERPNext users around the world.
Then we had Nabin, one of the core developers, take us through the history of ERPNext, and how Web Notes evolved from a organization providing webapp development services to a product development company.
Anand Doshi, again a core developer, took us through the new features in ERPNext 4. It was good to have a whirlwind tour of the features, especially since most of the features do not get the attention they deserve.
Ummair, who handles support, showed us how Web Notes uses ERPNext internally, for their own purpose. So here we have a company that really does eat its own dog food. Not sure how many ERP companies really do that.
We then had presentation from various ERPNext users, on why they chose ERPNext, their implementation strategy, what they liked about ERPNext and issues they are currently facing.
Rushabh then showed us upcoming features in ERPNext 5. With that, we broke for lunch. True to their love for south indian food, hot idlies and vadas were part of the menu :-)
After lunch, we had a quick demo of ERPNext for people, who were new to the software. This was followed by a presentation from "New IndicTrans Technologies", a ERPNext partner. Rushabh used the oppurtunity, and took a dig at their partner, for not sending in pull requests for the code they develop.
The presentation, was followed by a heated discussion on handling end users customizations, that were being broken by ERPNext updates. From what I understand, ERPNext has a continuous upgrade model, where bug fixes, and feature improvements are generally done on the head of the release branch. And then, users are asked to update their software to the head (for frappe cloud based instances, this happens automatically). This can potentially break any local user changes, resulting in a continuous maintenance model for the users! Well, downloading ERPNext could be free, but running ERPNext is not.
There were a few suggestions going back and forth.
Major improvements if contributed back, could be then maintained by the ERPNext team. And as few people noted, the problem is that, not all improvements will be accepted by the ERPNext team. Some customizations might be too specific, they could be just hacks, etc. But for features that are generic, like for example LDAP support, this is the way to go.
Don’t upgrade! Well you don’t have to upgrade, if you are happy with what you have. In my opinion, this argument is a bit flawed. Even if we are happy with what we have, we will be forced to upgrade at some point. OSes we use get outdated (especially in the Linux world), database servers and other servers we use get outdated, programming languages get outdated (FoxPro and Python 2), and the old un-updated ERPNext might not run on these new platforms. Though the timeframe of these events could be in the range of few years, at the point when these occurs, IIUC users will have no migration path to the latest ERPNext software.
Well this problem has been encountered in other open source software as well. And one of the solutions that people have come up with is Long Term Stable (LTS) releases. ERPNext developers / users probably have to maintain a version of ERPNext for a longer period of time, and provide an upgrade path from one LTS release to another.
Its high time people realized that there is lot of other costs associated with using software, apart from the purchase / licensing costs. And Free software (note the capital F), is not about cost, it is about freedom. And that includes the freedom to fork the software and maintain an LTS release. The LTS release could be funded and maintained by the user community.
Coming back to the conference, the partner presentation was followed by a presentation on the Frappe framework and hands on workshop. ERPNext developers walked us through the Frappe tutorial, which showed how to develop a library management application from scratch.
I really liked the team behind ERPNext, they were down-to-earth. They did not have the air of an award wining team. This was evident during the talks and even more during the workshop. They were literally on their toes trying to ensure everbody was catching up. Generally, I am skeptical of commercial organizations, and their motives. But Web Notes Technologies, is going to be one of those organizations that is worth being trusted and adored.
The photos used in this article were shot and published by the ERPNext team on flickr. They are available at https://flic.kr/ps/2WwXLc