BIRD Enhancement Proposals — BEPs - eclipse-efbt/efbt GitHub Wiki

BIRD Enhancement Proposals — BEPs

BEPs, or BIRD Enhancement Proposals, are the way we propose, discuss, record, and agree significant changes to the Eclipse Free BIRD Tools project which relate the meta data model of BIRD (SMCubes)

Although we find SMCubes to be an excellent standard for BIRD meta data, we occasionally find small issues, with easy low impact fixes, that would make implementation of real executable systems very much possible/easier.

BEP's are inspired by Python’s well-known PEP process, where a PEP is used to describe a new feature, process, design decision, or important piece of project guidance for the Python community. (Python Enhancement Proposals (PEPs)) BEPs apply the same idea to Free BIRD Tools: lightweight, open, written proposals that help the community move from ideas to well-understood decisions.

A BEP is not just a suggestion. It is a short, structured design note that explains:

  • what is being proposed
  • why it matters
  • how it could work
  • what alternatives were considered
  • what decision was reached
  • what is the impact

BEPs should be used for changes that affect the meta data model used in BIRD (SMCubes). Smaller fixes and routine code changes should continue to use normal GitHub Issues and Pull Requests.

Why BEPs?

BEPs help Free BIRD Tools stay open, transparent, and collaborative. They give contributors, users, banks, regulators, vendors, and implementers a shared place to understand important decisions before, during, and after they are made.

A good BEP should be:

  • Clear — easy to understand.
  • Focused — about one major idea or decision.
  • Practical — specific enough to guide implementation.
  • Open — discussed in public.
  • Recorded — kept as part of the project’s long-term memory.

Typical BEP lifecycle

A BEP may move through the following stages:

  • Draft — an idea is being shaped.
  • Discussion — the community is reviewing and improving it.
  • Accepted — the proposal has been agreed.
  • Implemented — the proposal has been delivered.
  • Rejected — the proposal was considered but not adopted.
  • Superseded — a later BEP has replaced it.

Suggested BEP numbering

BEPs should be numbered sequentially:

  • BEP-0001 — BEP Purpose and Process
  • BEP-0002 — First project proposal
  • BEP-0003 — Next proposal, and so on

Once assigned, a BEP number should not be reused.

In one sentence

BEPs are the Free BIRD Tools community’s way of turning important ideas into clear, discussed, and recorded project decisions.