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.