[Conference 2018] Making Open Source Work

I am following this type of discussion on financial sustainability covering the period that the number of paying customers went from less then 100 to the actual 600…and the number of Frappe staff (Webnotes Technologies in those days) grew from 6 to some 15…

This resulted in many experiments but so far none has been an overwhelming success.
And over the years may people, including myself, aired there opinion…also not yielding the right answer.

Accepting that @arikfr bases this statement on his experience building an OS based software company I am wasting my time :slight_smile:

I find it quite difficult following ErpNext to find clear strategies in their development path and in their search for a financial sustainable model. It leaves the impression of ad hoc and trial and error actions. Saying this I also realize that I do not have the inside knowledge Frappe staff has, and can they vary well justify their actions.

Let me express a few observations:

There has never been a concerted, structural, long-term/sustained effort to really understand the needs of the customer base in terms of technical functionality, service requirement, deployment, configuration. The information what the user wants is passed to Frappe thru this platform, direct mails and/or discussions, the user conferences, during demo sessions and so on. I believe there are ample IT solutions to address this. In the present model it are the loudest voices who set direction…not the majority.

If I study the four (4) points @rmehta is making in this thread I feel there is some kind of mismatch between these statements and the development path of ErpNext. V11 has many options only interesting for larger companies: Shareholders, Multi-Companies and so on. This observation is actually confirmed by @umair in the first line of his latest (aug18) Blog "In last few months, we at Frappe received decent traction from the large enterprises. " Large companies are for various reasons not so much interested in cloud subscriptions offered by Frappe…and as a consequence one may question how far the developments targeting the needs of larger companies actually contributes to the profitability of Frappe… As stated by Rushabh “A lot of service providers make money on ERPNext, but not all give back, so it feels unfair for Frappe to do all the charity, while others make money…”

Maybe Frappe should consolidate the rapid developments of new functionalities for a while…and fully concentrate on money generating activities…that is the SAAS users. What are their needs in terms of functionalities, service level, willingness to pay , what are the constraints to subscribe to SAAS and so on…

11 Likes

If foundation memberships are a significant piece of ERPNext’s model of financial sustainability, I think it would be both helpful and strategic if there were a fair bit more information on erpnext.org about what foundation membership actually looks like. What does it involve, and what are the benefits? How does the foundation influence the direction of ERPNext development? Is any of that spelled out anywhere?

3 Likes

“Is any of that spelled out anywhere?”

Where to look for that is Community Foundation as per the screenshot

Thanks @clarkej. In reality, though, even after browsing through many of the forum posts that come up in those categories, the structure, function, and strategic scope of the foundation is still not entirely clear to me. I might just be missing it. In any case, I suspect that a more consolidated and more explicit statement of the foundation’s role would help those not already active members of the community evaluate the benefits of joining.

The Mozilla foundation’s page strikes me as a particularly good example of how an open source foundation can define itself.

@becht_robert thanks for sharing your views. You have seen us for a long time. I am also observing how this discussion is tending towards, how can Frappe make more money. I would like to argue that this is the wrong approach.

Maybe the reason we don’t make a lot of money at Frappe is because we are not sure if we are a charitable company or a profit making one. This has led me to the conclusion that it is time, we at Frappe stop thinking ourselves as a charitable organisation and put our energies in building a profitable services and hosting business. That does not mean we stop volunteering. It means we continue “volunteering”, and stop taking “responsibility” for everything.

That brings us to the foundation. I was wrong about the foundation being a community-led entity. Unlike Frappe, most service providers in the community have clear vision that they are here to make money. So it was naive to assume that they will bring some leadership here.

The way forward will be that we will be “moving” a whole bunch of Frappe ops that are related with supporting the open source project, and raise independent funds for it. We would still love community volunteers for the foundation, but we won’t depend on them for going forward.

@anon-forker, already posted that we are working on a clear roadmap and vision.

2 Likes

Great! I wasn’t talking about a roadmap but rather a simple description of what the foundation is and how it operates, but if that’s included in the roadmap you’re talking about I’m glad that it’s a priority. I think it will be a big help to attracting more involvement.

I’d argue that this is a false opposition. With the exception of Wikimedia, perhaps, I can’t think of a single FOSS foundation that doesn’t have substantial support and leadership from for-profit companies. There’s no contradiction to that. Supporting open source is often just smart business.

If the foundation isn’t getting the support it needs from service providers, I hope you’ll reach out to see why not. In many other projects I’ve used, business support companies are a major source of manpower, code, and cash.

3 Likes

You may find this https://erpnext.org/blog/general/objectives-of-the-foundation helpful.

1 Like

I suggest Partner / Channel model. No need to reinvent the wheel. This works because partners get a plus when saying they are a certified partner - and you get recurrent income. They get training and pre-sales assistance which is familiar to what larger companies offer. There are already so many partners delivering ERPNext - there is potential.

Something like…

  • ERPNext Reseller $500/year
    benefit: online training/certification. requirement: 1 customer/year, 1 certified resource

  • ERPNext Silver Partner $1,000/year
    benefits: xx hours support, online training, pre sales consulting/assistance, 10% discount on customisation services
    requirement: 3 customers/year, 1 technical resource, 1 sales resource

  • ERPNext Gold Partner $2,000/year
    benefits: xx hours support, online training, pre sales consulting/assistance, 10% discount on customisation services
    requirement: 3 customers/year, 1 technical resource, 1 sales resource

2 Likes

The question is who will provide the services? Open source projects should be supported by grants and donations (like Mozilla, Wikipedia etc) and not services.

1 Like

I do think this is the right approach, practically, for ERPNext. I believe Frappe MUST NOT think of itself as a charitable organisation. I think this also means prioritising development by Frappe on features which may help it land high revenue customers and not “community” needs. Community features should be prioritised and paid for either by the foundation and/or pull requests by SPs.

7 Likes

@rmehta Frappe leading foundation is the most realizable one at least for next few years.
Rushab and his team are the best bet for leading the foundation.
Community participation towards development and foundation will be substantial only when a service provider adds the kind of value to ERPNext like Frappe has added over the years.
Possibly at that time service providers will be vying for Foundation leadership as opposed to current scenario where participation has had to be coerced.
Till such a time service providers and users need to generously fund the foundation.

2 Likes

I think a partnering program on the medium term, where you get more access to resources, and also pay for it. Models like odoo also depends on the referrals of partner to their enterprise version, more referrals, the further you go up the partnering level (silver, gold …etc.), and also get money. This would also motivate more partners to do referrals to ERPNext hosting instead of self hosting.

Maybe better for bigger projects, more hands on and support for the implementing partner for a price of course.

I think partnering and working on partnering programs that gives more incentive to bring enterprises and companies that work with ERPNext to work with the foundation would be a key discussion.

I still love this product :slight_smile:

Are you referring to something like this: Not Found

Yes, I know the resellers program, but it needs severe renovation. e.g. better representation of contributions and partners, better exposure of partners, better gamification engine, although this is more like enterprise more than a foundation.

I think we are looking at results of the problems and not the underlying problems. We need to fix some things to make the community healthy and help everything to grow in a more sustainable way.

I think there are problems the core team is feeling, and there are also problems from the user/community side as well. I think the conversation needs to dive deeper into the things plaguing us and not just focus 1 issue.

If we just set out to fix the core teams problems, you may end up making survival more difficult.

Core Team Problems:

Income

Need to have more funds to keep things going in terms of features and support.

Not enough help

Need contributors to help out more and funds to delegate if needed to outside teams. And probably need to spend less time on the big features and focus on platform stability.

Community Problems:

Core Contributions

If you need to improve a feature or build something new, you can build it and use it in 1-14 days. If you decide to build it for the core, it may take 3 weeks to 12 months before it is rolled out for usage. This means the vast majority of people who need a feature now just cant wait around for the code to be pulled in. And therefore most do the quick easy route when in fact they would love to get there code submitted for core usage.

Frappe / ERPnext Focus

Many people feel the core team is just working on new features that the community at large could care less about. Many people are concerned about the amount of resources that are going into new features. Many people also feel like great community ideas are dismissed or thin reasons are given as to why the core team does not want to do them. It does not feel like the core team and the community are collaborating effectively.

Bugs & Refactor

It feels like 70% of the core team effort goes into new features and not into supporting the platforms stability.

Income

How can the community exist without a path to make money just like the core team members? This one is obvious and need new ideas here to help allow all ships to rise without hurting what has allowed us to get this far.

Resulting Problems:

Losing value from community generated code.

+ Losing revenue from not having effective ways to build and maintain.
+ Losing momentum from bad communication and focus.
= Weak open source project and community

Conclusion

We need to work together to TRY things to address these issues. The core team needs a better way to survive and grow, so do great contributors in the community. The community needs support from the core team in order to contribute more effectively which allows the core team to make more money as the core product improves. The direction of Frappe and ERPnext needs more community oversight and the community needs to believe in the path we are on. Its one thing as a potential user to "like the software" its another to invest your company on it, you need to understand the leadership team and the path the company/project are on.

How do we maximize efforts of the Core Team?
Get them focused on product bugs, stability, usability to attract more paying users. Get the community to contribute more and also create ways for the frappe team and other teams to make money while users fund what they need. And allow the community at large to vote up apps and work done so the core devs and approvers.

How do we get the community to invest more into contributions?
Make it easy, make it fun, make it move faster with a path to consensus.

How do we make sure we the software is headed in the right direction?
Voting, Voting, Voting, and also paying to get things done faster.

IDEA: Roadmap + contribution voting system

  • Create voting system for apps and repos and even issues so the community can see all community projects/ideas and vote them up. Highest votes dictates what is on roadmap.

  • This will allow app repos to be converted by the core team while in use by anyone wanting to use it.

  • This will give oversight to the core team decisions. If the app repo being worked on is not voted up, it remains an app and is not put on the near term roadmap until voted up.

  • This would also work for general decisions or core direction shifts.

  • These app/project repos can also be funded just like kickstarter if there features are unfinished and need help one or more users can back it for development and one or more users can add development bids. If it gets funded and finished but not enough votes for Roadmap inclusion it will remain an app.

I really think an idea like this is doable and starts to address a lot of the issues and allows us to fully explore things like “partners” “bidding” and more that have been tried and have just not worked.

Let me know what you guys think of something like this. I can put together some more detailed thoughts if anyone thinks this would be a good project to fully explore and plan out how it would work. We might want to start a new thread if multiple people and core team support exploring this direction and presenting a plan.

11 Likes

When you say “core team”, who do you mean? My understanding was that most development (especially in the core) is still being done by Frappe. Frappe is a private company, and private companies are not expected to serve a community when they choose what features they work on or not. For that, the Foundation needs to be driving its own work.

That said, the relationship between the ERPNext foundation and Frappe is still very unclear (at least to me). If the Foundation is to pick up a leadership role in the coming years, it needs in my opinion a more clearly distinct identity, based on clearly articulated structures of operation and authority.

4 Likes

@joshreeder thanks for spelling this out! My comments:

Not sure where this idea comes from? Do you have any examples for this?

Why should anyone be concerned? Everyone in an open source project can contribute and “scratch their own itch”. If one team is delivering a set of features, why should anyone care. In fact the people who want these features are paid users on erpnext.com.

ERPNext is a platform that will have many built-in features, you can pick and choose what you like and ignore the rest.

Please call us out if you see such treads (but make specific references) If you see most of the threads, a few of them ever make it to a pull request. I agree we are learning here, and those who are following closely would have seen that we have been very helpful in merging / reviewing contributions of late. Either ways, no one is perfect, so we accept this needs improvement, but help us out.

How about, let’s raise $$$ to ensure bugs are fixed. Why should all investments be made by “core team”, while everyone are free to judge their efforts and choose to not pay anything. I don’t think community has any such kind of entitlement from the contributors. In fact if there is one thing that really really feels wrong about this, is the kind of entitlement the community has about the core team.

Community loves to dictate → Core team do this. Core team spend time fixings bugs. Core team, don’t add features (because we want to add them and make money). Core team be friendly. Core team, you don’t make money because you are stupid. Core team, we don’t make money either, so its still your fault.

Common. Don’t step on us and piss on us at the same time. If you want things done, take some responsibility and take leadership. There are tons of things you can do.

  1. Help review pull requests
  2. Help fix bugs
  3. Help fix UX issues
  4. Help with documentation.

I think its time the community either decides to take some responsibility or at least help in raising funds. Community can’t be demanding. I am sorry to come off as rude (and I do that for a purpose), but the core team can’t be taken for granted.

If we have to become a better community, all of us need to step in and improve.

  1. Accept that no one is perfect (specially the “core” team). We are willing to learn and engage. Things will only improve if we openly engage with each other with respect and the intention to help.
  2. Respect the time and effort and contributions that have already gone in. People have put in “years” of their lives into this and the work is truly open source. Edit: I hate to add this, but it’s a freaking gift. Have the humility / gratitude to accept and treat it as one. This is not just for the core team but everyone who has made non trivial contributions and there are dozens such people.
  3. There is no entitlement (for the core team either, I am learning this one too), so don’t expect others to “execute” what you want. Help. Criticise. But don’t demand. I have stopped demanding contributions these days, because there is no entitlement.
  4. Help is a 2 way street. Don’t expect help without either offering to help in return, or contribute. If you want help from us, then we will demand some form of contribution. Some help is truly free, but there are limits to everything, we don’t want to end up a community of doormats.

Community has only entitlement on the roadmap for money that is donated by the community. Earn your right to be on the table!

I am happy if you take leadership for this. But do both the things. The roadmap AND the funds or means to execute it. An empty roadmap makes no sense.

13 Likes

I agree strongly with the substance of your argument, but this sentence right here is where things get really complicated. It can’t always be just about adding. For bug fixes or new features, sure…the correct answer is to make or fund a pull request. But, what what about actual design choices?

Just as an example, consider the Payroll Entry doctype. In my opinion, Payroll Entry should work very differently than it currently does. This isn’t the place to get into specifics, but I believe that “fixing it” would involve replacing some of the current design choices with other ones. Likewise, the matter isn’t just a matter of making or funding a pull request. Rather, a choice needs to be made. This is a relatively trivial example in its own right, but it raises an important question: what is the process for making decisions about ERPNext?

Decision making is complicated enough for single doctypes…and only vastly more so for things like caching architectures, UX principles, and interface aesthetics. I strongly support the move to shift platform leadership into an non-profit foundation, but from the outside at least it appears that some very basic questions still need answering. That’s not a criticism in the slightest; these things take time. But, if the Foundation is to lead in any meaningful sense, it needs the authority and organizational structure necessary to make real, consequential decisions. Is the goal, following this period of transition, for it to have that? Or is the foundation intended more as a booster, designed to support fundraising and education for Frappe’s work? To me at least, none of that is yet clear.

2 Likes

The right approach is

  1. Identify the issues with the current implementation.
  2. Volunteer to fix it.
  3. Propose a solution.
  4. Send a PR (watch out for contribution guidelines).
  5. Make sure a maintainer is assigned if someone is not already engaging.
  6. Over time, build a reputation and then become a maintainer yourself!

The goal of the foundation is to become an independent, sustaining and functioning organisation by itself (separate from Frappe), support the contributors and maintainers financially and raise money from the community via donations and grants.

The goal for Frappe should be to be an independent service provider (like all service providers, welcome to the club) with its own goals to serve its paying customers with excellence and provide stable support to its employees, and like all service providers, contribute back to erpnext.

This is the separation we propose needs to happen, so there is no confusion about the roles. My guess is it will take 6-12 months for this to happen (unless someone gives the foundation a generous grant to get started!)

1 Like

As far as I can see item Multi Barcode seems not to be released, merged 10 months ago …

1 Like