OpenRefine is a free, open-source, powerful tool for working with messy data. OpenRefine has a plugin architecture and is distributed under the new BSD license allowing modification, distribution and name changes.
OpenRefine is a meritocratic, consensus-based community project based on the Apache Decision Making process.
In so far that is possible, decision-making is done based on user consensus following open discussion (i.e., using OpenRefine's discussion forum and issue list). No major decisions about the project’s direction, bug fixes, or features should be made in private without community involvement and participation. Discussions must begin at the earliest possible point on a topic; the community’s participation is vital during the entire decision-making process.
All project participants abide by the Code of Conduct.
Users are community members who have a need for the project. Through their usage, they give the project a purpose. Users are encouraged to participate in the project life by providing feedback on how their needs are satisfied.
Users can help the project by:
- Advertising and advocating for the project
- Informing developers of the strengths and weaknesses of the tool through the user discussion list or the issue list
- Providing moral support (a ‘thank you’ goes a long way)
- Writing tutorials to contextualize OpenRefine for specific communities
How to become an OpenRefine user? Download OpenRefine and start refining!
Contributors are users getting involved in the project more closely. Contributions can take many forms:
- Supporting new users via the user discussion forum
- Submitting patches to fix bugs or add features via pull requests, commenting on pull requests and helping other contributors via the developer discussion list
- Maintaining and improving the website
- Writing and maintaining the documentation
- Helping design user interfaces for OpenRefine
How to become an OpenRefine contributor? You will find more details in our contributing guideline
If you make regular contributions to OpenRefine, you will most likely become a Committer.
Committers have earned enough trust from the community to
- Triage issues, pull requests and projects
- Have direct access to the code base to create new branches
- Organize the GitHub wiki
- Review pull requests submitted by contributors
- Run the CI pipeline on your PRs automatically
- Are part of the OpenRefine organization and have the OpenRefine badge on their GitHub profile
How to become a Committer?: Committers are voting-binding members; they select and elect new members through a voting process. Nominations should be submitted to the developer section of the forum, where contributors can nominate themselves or other contributors. See the Member Election section below for more details.
Current list of Committers: The list is available here: https://github.com/orgs/OpenRefine/people.
Also referred to as Core Dev. The Core Developer Group are trusted developers who
- Merge pull requests
- Publish releases
- Review security vulnerability reports
- Provide long-term project vision with the community
- Are responsible for the technical direction of the project
- Are part of the Admin team for the project on GitHub
How to join the Core Dev Group?. To be eligible to serve on the Core Developers, individuals must first be Committers of the project. Core Dev Group members are voting-binding members; they select and elect new members through a voting process. Nominations should be submitted to the developer discussion list, where committers can nominate themselves or other committers. See the Member Election section below for more details.
Current list of Core Developers:
The Release Manager is responsible to
- Coordinate with the community to select which issues and pull requests are part of new releases
- Prepare and coordinate publishing new releases
The current Release Manager is Rory Sawyer.
The Code of Conduct Committee is responsible for responding to all Code of Conduct reports, as well as managing and maintaining the Code of Conduct policy document.
How to join the Code of Conduct Committee?. Committers are voting-binding members; they select and elect new members through a voting process. Nominations should be submitted to the developer discussion list, where contributors can nominate themselves or other contributors. See the Member Election section below for more details.
The Advisory Committee runs the administrative aspect of the project on a regular basis with the support of Code for Science and Society (CS&S). Its members are bound by the fiscal sponsorship agreement with Code for Science and Society. They meet once per month with Code for Science and Society.
How to join the Advisory Committee? Members of the Advisory Committee publish an announcement on the blog when searching for a new member. The Advisory Committee selects new committee members through consensus-driven discussions among current members.
Current list of Advisory Committee members
- Jan Ainali @Ainali and on the forum
- Julie Faure-Lacroix @jfaurelacroix and on the forum
- Esther Jackson @ej2432 and on the forum
OpenRefine's Project Manager (paid position) works closely with OpenRefine's Advisory Committee, Core Dev Group, and OpenRefine users and contributors.
The Project Manager:
- Helps improve OpenRefine's governance and community diversity
- Helps build community-driven structures to formalize OpenRefine's roadmap and keep it up-to-date
- Assists in finding and securing new sources of funding
- Supports the Advisory Committee in OpenRefine's day-to-day operations (this may include supervising paid project staff)
The current Project Manager is Martin Magdinier @magdmartin and on the forum.
When voting for new Committers, Core Developer Group or Code of Conduct Committee members, start a new thread with a subject line starting with [VOTE] to indicate that a formal vote has been requested on the developer discussion list and use the election tag. In your message, indicate
- The name of the individual nominated with their GitHub or forum username
- Which group you are nominating this person (Committers, Core Developer or Code of Conduct Committee)
- Why are you nominating this person? You can list significant contributions and adherence to OpenRefine governance.
See, for example this message
Voting is open for seven days to provide an opportunity for all concerned persons to participate, regardless of their geographic location.
Only eligible voters have a binding vote. Votes are expressed as
- +1: yes
- 0: I will not oppose the nomination.
- -1: no, I oppose the nomination. All -1 votes must be explained.
The results must be positive for the person to be elected.
This section does NOT cover OpenRefine project governance. It is currently maintained in this GOVERNANCE.md file temporarily until another document or location can hold this information and make it transparent to the community.
The Code of Conduct Committee, Advisory Committee, and Core Developer Group hold greater authority within the OpenRefine project, with the ability to represent and make commitments on its behalf. To maintain the community’s trust, these groups are held to a higher standard of transparency and accountability in their decision-making processes. This includes transparent and open practices for:
- Requesting and managing funds
- Managing conflicts of interest
OpenRefine welcomes and encourages contributions and fundraising efforts from individuals and organizations. However, committees with additional authority over the project; namely the Core Dev Group, Advisory Committee, and Project Manager, have an increased responsibility to ensure transparency in funding applications.
This policy provides guidelines to uphold openness and accountability in fundraising efforts. It applies specifically when funds are managed by Code for Science & Society (CS&S).
While the vast majority of OpenRefine contributors are volunteers, the Advisory Committee recognize the need to attract and retain contributors to help:
- Perform time-critical maintenance tasks for the project.
- Address issues that the community will not naturally do.
From a funding perspective, the Advisory Committee distinguish between restricted and unrestricted funds.
Unrestricted funds are not linked to a specific deliverable or usage and usually come from donations. The Advisory Committee decides how to use these funds based on the budget requests from Contributors.
Restricted funds are attached to specific deliverables or budget assignments from the grantors and usually come from grant applications. The Advisory Committee must approve grant applications by formal vote before submitting them.
Any contributor can initiate a grant application as a Principal Investigator (PI). The PI
- Must start a new thread with a subject line starting with
[Grant Opportunity:]on the forum section named Community Feedback to collect feedback from the community. - Must be coordinated with the Advisory Committee.
- Will hire and supervise the contractors with the support of the Advisory Committee.
- Must collaborate with other OpenRefine Members (and related working groups) regarding the grant scope.
- Complete any reporting required by the funder.
- Publish the grant application, status and reporting on OpenRefine website.
Grants can be used for:
- Specific feature development.
- Securing a maintainer or release manager position to ensure the community's support is ensured.
- Organize or attend events.
Contractors and employees hired via a restricted fund will:
- Prioritize work relevant to the grant funding their position
- Contribute to conversations revolving around general maintenance and operations
- Spend their remaining time contributing to general maintenance and operations
In the event of any conflict of interest (a Committee Member, their family member, or someone with whom the Committee Member has a close academic or employment relationship is involved in a decision), the Committee Member must immediately notify other Committee Members. The Committee Members will be asked to recuse themselves from ongoing conversations and decision processes regarding the Transaction.
Advisory Committee members:
- Represent OpenRefine with Code for Science and Society (CS&S)
- CS&S requires that there be an advisory committee and that the project pay no more than 49% of the committee.
- CS&S requires the committee to be at least three people.
- Every member of the Advisory Committee must sign the fiscal sponsorship agreement with CS&S, agreement, and agree to the policies of CS&S.
- Must supervise (manage pay and review performance) paid project staff or delegate to the Project Manager.
- Manage Budget & Contract
- Approve budget and oversee grant and financial activities
- Approve grant applications
- Enter into contracts on behalf of the project
- Oversee contract and legal engagement for the project
- Participate in at least one call per quarter;
- Publish minutes of their meeting on the forum
- Advisory Committee members are subject to the Conflict of Interest policy.
Since January 2020, OpenRefine is a member project of Code For Science and Society (CS&S). CS&S provides administrative, legal and fiscal infrastructure to receive and manage funds under the CS&S Fiscal Sponsorship Agreement.
- CS&S retains a 15% handling fee on any donation to finance their operations (20% for government funding).
- CS&S owns and manages the domain openrefine.org
CS&S is a USA-based organization qualified as exempt from federal income tax under Section 501(c)(3) of the Internal Revenue Code (IRC) and classified as a public charity under IRC Sections 509(a)(1) and 170(b)(1)(A)(vi).
This document is licensed under a Creative Commons Attribution-ShareAlike 2.0.. This work is based upon "Meritocratic Governance Model" by University of Oxford and guidelines available for the Apache Community.