Hi all,
This is just a proposal, but it is better to put something in front of people and get them to react than not. So, everything in this document is up for discussions.
What it covers:
Significant Enhancements: Like Manufacturing Module, Accounting Module, Country Specific Localizations (significant ones of course), Primary (Online) Server and Secondary (Intermittently Online) Server(s), etc.
Approach:
A bunch of ERPNext enthusiasts get together and decide that the Roadmap is too slow for them and want to hasten significantly enhancing ERPNext.
This is relevant where such enthusiasts are willing to make significant investments in time, development or money. Or all three. Or any two!
Proposal:
- A proposal needs to be made to the ERPNext Foundation Governing Body and in-principle approval obtained. A proposer and two people expressing their commitment is required along with the proposal.
- After approval, the team of three (proposer and two supporters) prepare a scope document and scope out the features, and the effort involved to make the enhancement.
- Special focus will need to be paid to ensure that the enhancement does not alter existing features or make existing features unnecessarily complicated.This proposal document then gets published in a public forum of the foundation and needs to be live for at least 2 weeks.
- A Project Steering committee will be formed with as many members that are willing to fund the project based on the formula: Lower of USD 1,000.00 or âTotal estimated cost of Project/Number of People Interested in being on the committeeâ. Meaning if a Project is expected to cost $10K and there are 12 People interested in being on the committee, then each seat on the committee is available for $833.33. If a project is expected to cost USD 6K and there are only 3 people available, each committee seat is still available for $1K. Individuals or companies can choose to pay more than the required amount, but everybody on the committee still gets only one vote per member.
- It is mandatory for the proposer and the supporters to âbuyâ into the Project Steering Committee.
- The committee is formed and the committee decides to execute the project. The committee has the leeway to decide who (or which company) should execute the project, but the project needs to take ownership of the costs to push the code back to ERPNext codebase.
- The committee has the leeway to decide the scope, the stages and everything else. The committee will decide on a simple majority. Where there are a even number of people voting and the votes are tied, the following will break the tie: 1. The Voting pattern of the Proposer and the two supporters, and where that is tied (because one of them could or did not vote), 2. the voting pattern of the proposer.
- The Committee has the leeway to appoint other Development Contributors to the Committee so long as such contributions are not charged and the total imputed contributions are greater than the minimum amount each committee member paid to be on the committee.
- The project committee will disband after the Foundation Governing body accepts the code, though it is expected that the committee members will be part of the Sub-Committee that covers this enhancement. Where such sub-committees donât exist it is encouraged for the project committee to morph into the sub-committee as defined by the Foundation Governance body.
- Where a Project becomes unsustainable or unsupported because of cost/time overruns or poor design or execution, or incompetence of the person, people or team(s) involved, the codebase becomes automatically part of the Foundation and the Foundation Council body can decide to reuse, discard integrate code without assigning any recognition to the committee or the contributors.
- It is expected (though not required) that the project will examine all relevant GitHub issues on the enhancement and will roll all practical and possible issues into the Enhancement Road Map.
- Where the enhancement is complex and needs to be broken off into phases, it is required that this process be adhered to for each phase or milestone.
- Where the project does not get completely funded as covered in #4, and the Project Committee decides to address only a subset of the deliverables, the committee is required to peg the committee membership as per the revised cost and allow for people to sign on the lower cost for an additional 1 week. Letâs say a project is initially priced at $10K. And receives committee member funding from 8 members contributing $1K each totaling to $8K. So, the project committee decides not to abandon the project but decides to reduce scope to $8K. Now letâs say two more people want to be on the committee, the cost of membership on the committee in such cases stays at $8K/(8+2) = $800 and not $1K. Please note that committee members can decide to contribute more than the minimum contribution, but still get only one vote on the committee.
- It is expected and is mandatory for committee members to recuse themselves from voting when making decisions that involve conflicts of interest. Like a committee member also runs an organization that does development on ERPNext and the organization is in the running for the execution of the project and the committee is deciding to go with this organization and another organization, this rule states, that such a committee member shall not vote and even if s/he does, the vote shall not count.