Governance for the R data.table project
The purpose of this document is to define how people related to the project work together, so that the project can expand to handle a larger and more diverse group of contributors.
The purpose of the project is to maintain the R data.table package, which is guided by the following principles:
To prioritize developer time, we define what is in and out of current scope. Feature requests in issues and pull requests that are out of current scope should be closed immediately, because they are not the current priority. If someone wants to contribute code that is currently out of scope, they first have to make a pull request that changes the scope as defined below.
The current scope of package functionality includes:
data manipulation and analysis
* reshaping/pivoting
* aggregation/summarizing (via [,, by=...]
and grouping sets)
* filtering rows
* all sorts of joins
* adding/updating/deleting columns
* set operations (union/rbind, intersection, difference)
high-performance common functions (frank
, fcase
, fifelse
, transpose
, chmatch
, fsort
, forder
, uniqueN
, ...)
common convenience functions (%like%
, %notin%
, timetaken
, substitute2
, ...)
ordered data functions (rleid
, shift
, fcoalesce
, locf/nocb nafill
, rolling functions)
date and time related classes and functions (IDate
, ITime
)
technical functions (address
, tables
, update_dev_pkg
)
* Reading/writing of data from/to flat (plain text) files like CSV
Functionality that is out of current scope: Plotting/graphics (like ggplot2) Manipulating out-of-memory data, e.g. data stored on disk or remote SQL DB, (as opposed e.g. to sqldf / dbplyr) Machine learning (like mlr3) Reading/writing of data from/to binary files like parquet
Definition: An individual who is involved in the project but does not also occupy the Committer or CRAN Maintainer role. In charge of maintaining The Raft blog, preparing Seal of Approval Applications, addressing Code of Conduct violations, and planning social or community events.
How to obtain this role: At the discretion of the current Community Engagement Coordinator(s) in conversation with the current Committers.
How this role is recognized: Holds the Owner role in the rdatatable-community organization on GitHub.
Most decisions in the project happen by Consensus, which means that no active people (typically Reviewers and/or Committers) have expressed major blocking concerns, in a public discussion (typically in a GitHub issue or pull request). In Consensus, non-response by inactive members indicates tacit agreement.
A pull request can be merged by any Committer, if there is one approving review, and Consensus from active Reviewers and Committers. approving review must come from someone other than the author of the PR. approving review ideally comes from a Reviewer of the affected files. * approving review can and often will be by the Committer who merges the PR.
There is no special process for changing this document. Submit a PR and ask for review; the group @Rdatatable/committers
will automatically be assigned to ensure all current Committers are aware of the change.
Please also make a note in the change log under # Governance history
data.table is a NumFOCUS project. Donations to the data.table can be made at https://numfocus.org/project/data-table
NumFOCUS is a 501(c)(3) non-profit charity in the United States; as such, donations to NumFOCUS are tax-deductible as allowed by law. As with any donation, you should consult with your personal tax adviser or the IRS about your particular tax situation.
We here outline a procedure for disbursing funds acquired through direct donations via NumFOCUS or grant-style research funding.
Funds acquired by the data.table project will be disbursed at the discretion of the Committers, defined as above. The CRAN Maintainer will have authority to make final decisions in the event that no consensus is reached among committers prior to deadlines for use of funds, and will be responsible for disbursement logistics.
The full Code of Conduct can be found here, including details for reporting violations.
Committers and the Community Engagement Coordinator pledge to address any publicly posted issues or privately sent messages regarding Code of Conduct violations in a respectful and timely manner.
data.table Version line in DESCRIPTION typically has the following meanings
May 2025: update Finance and CoC language for NumFOCUS incorporation.
Feb 2025: add Finances and Funding section, update Code of Conduct section to be a brief summary and reference the broader CoC document.
Jan 2025: clarify that edits to governance should notify all committers, and that role names are proper nouns (i.e., upper-case) throughout.
Feb 2024: change team name/link maintainers to committers, to be consistent with role defined in governance.
Nov-Dec 2023: initial version drafted by Toby Dylan Hocking and reviewed by Tyson Barrett, Jan Gorecki, Michael Chirico, Benjamin Schwendinger.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.