Technical Council Charter review 2025

Technical Council Charter review 2025

FOLIO Guiding Principles

  • Open, transparent and respectful collaboration

  • Enable local decision making authority wherever possible

  • Create a sustainable community and ecosystem that is open and neutral for all community participants 

 

Charter

Charter Item

Who is doing it now?

Suggested changes

Charter Item

Who is doing it now?

Suggested changes

Provide technical guidance to the FOLIO project. Guide the project’s architectural vision, technical policies, standards, and best practices. 

NA

no changes

Description

Description Item

Who is doing it now?

Suggested changes

Description Item

Who is doing it now?

Suggested changes

Provide guidance to help keep the FOLIO community aligned on technical goals and directions, which are informed by the original vision of the FOLIO project, community requests, development needs, technical council expertise, etc.

TC sometimes. Lack of community alignment is challenging.

 

Develop and maintain an architectural blueprint supporting the long-term vision, coherence, continuity, and stability of the FOLIO LSP.

TC: WOLFcon talks. Otherwise, no single group maintains this. Question of this should be proactive or reactive. Guidance and communication vs enforcement

Consider removing architectural blueprint

Develop and maintain documentation of FOLIO project technical decisions, code contribution requirements, and development practices.

TC - decision records log technical decision, CCR - don’t change much might be done, dev practices. Some things are central and others are maintained by teams.

No changes

Proactively identify technical issues and resourcing needs that the project will need to deal with, including tracking and reporting on technical debt.

Did this when CC asked for budget recs, DA hired as a result. CC asks for needs and documents them. TC used to maintain tech debt Jira that didn’t really get used. Good in principle, difficult practically. Without capacity to direct, hard to have impact on technical debt unless it directly relates to module evaluation. No impact and a lot of time/cost to track. Teams track debt as it arises. Would councils benefit from a summary? Don’t have process for tracking consistently among teams. Unsure of audience for a summary. Teams know tech debt best, TC doesn’t really add value. What about tech debt that extends beyond one module/team? Tech debt at architectural level - what could the community practically do at a centralized level? Ideally good, but very hard practically.?

Strike phrase on tech debt??

Provide technical investigation/advice at the request of the other councils. 

TC - moving between versions, investigating work needed, AWS costs

No changes

Facilitate communication with the infrastructure team (DevOps) to ensure best practices are followed, and smooth functioning of FOLIO project infrastructure.

OST, Java 21 coordination for Jenkins. Consider a liaison relationship.

No changes

Facilitate discussion and communication with development teams to ensure the FOLIO project's technical standards are upheld.

Module review process. OST. Outreach to dev teams. RFC - architectural level facilitation, one of the most important we can do. But how good is that process at doing this? Teams tend toward ask forgiveness not permission. Autonomy vs central decision making authority. Cohesion vs team decision making. Middle ground between places where we have standards and where we don’t.

No changes - concerns about execution

Welcome and help onboard FOLIO community members and organizations that are trying to contribute functionality to FOLIO apps or modules so that the FOLIO project’s technical standards can be upheld pragmatically.

Tried to do with Dev Advocate. Lee doing some for some teams - less on onboarding. CC also works on general onboarding of community members in general. Line in release schedule asking for RFC if people are diverging from standards

No changes

Arbitrate disputes amongst the community on technical matters and make final decisions when necessary. 

TC is doing this on some levels, e.g. OST-related things like version choices, technical vs architectural, and in the context of RFCs/TCRs/etc..

Do we need to scope this, or keep it generic/high-level?

Is “dispute” the right word here?

  • is “disagreement” better?

  • Proposal: “With respect to technical matters, facilitate decision making and arbitrate disagreements within the community, making final decisions when necessary.”

Maintain oversight of the FOLIO project's security group and other working groups to which the Technical Council delegates specific responsibilities.

Yes

no changes

Membership

Membership

Suggested changes

Membership

Suggested changes

The Technical Council is composed of key FOLIO representatives, elected by the FOLIO community.  TC members should have deep experience with one or more of:

  • Strong collaboration skills, able to drive decisions that champion the interests of the community and project

  • Deep understanding of software development processes and technologies required for a modern services oriented application

  • Agile software development methodologies, including Epic, Feature and Story creation

  • Knowledge of DevOps and Quality tools and processes

  • Experience with FOLIO’s code-base, technologies and development processes

  • Frequent contributor to FOLIO’s code-base

  • Experience managing technology, technical debt, and competing priorities 

  • Participating in and/or managing open community governance

  • Library management systems and library workflows

  • Leadership of development or other technical teams

“TC members should have deep experience with one or more of:“ → TC members should have one or more of:

“Agile software development methodologies, including Epic, Feature and Story creation“ → Familiarity with agile software development methodologies.

“Library management systems and library workflows” → Knowledge of library management systems and library workflows

“Leadership of development or other technical teams“ → “Experience with leading development or other technical teams”

Additions to the list?

  • Experience with Folio system operations (possibly insert after “Frequent contributor …” item)

Related content