Skip to main content

Open Source & Community

The TABS project is fully open source. Every line of code, every design decision, and every workflow configuration is publicly visible. This is a deliberate choice: a research project that documents technology adoption barriers should itself be a transparent example of how technology is adopted, built, and maintained.

Platform by the Numbers

Computed automatically by cloc on every push to main and weekly. Last refresh: 2026-06-01 (commit cdb05fd).

7,140
Commits
git rev-list
231K+
Lines of Code
cloc, code only
54
GitHub Actions
workflows in .github/
8
Integrations
external APIs
5
Phase Development
CRP ยง3.6 Table 8
How we count (methodology + per-language breakdown)

SLOC (230,921) excludes blank lines, comments, generated code, and vendored dependencies. Total raw lines (270,842) includes blanks and comments across 793 files.

Excluded directories: node_modules, .next, dist, build, coverage, .cache, .git, .venv, Old, playwright-report, and test-results. Lock files and binaries are excluded by extension.

LanguageFilesCodeComments
TypeScript460111,9673,919
JSON4145,0060
Python8936,9217,806
Markdown10324,17239
YAML607,5011,015
CSV71,1700
Bourne Shell4982132
Scheme19360
CSS375954
DOS Batch2377137
Bourne Again Shell233656
R129096
Text102060
JavaScript618229
PowerShell31067
INI1100

Raw JSON is published at /data/platform-stats.json so any reader can verify these numbers independently.

Apache 2.0 License

The project is licensed under the Apache License 2.0, which allows:

  • Commercial use - organizations can use, modify, and distribute the code freely
  • Modification - anyone can adapt the code for their own projects
  • Patent protection - contributors grant a patent license, providing legal clarity
  • Attribution only - the only requirement is to include the license and copyright notice

We chose Apache 2.0 over MIT or GPL because it provides explicit patent protection - important for a project connected to academic research - while remaining maximally permissive for adoption.

Community Health Files

GitHub recognizes a set of standard community health files that appear automatically in the repository's navigation. TABS maintains all of them:

FilePurposeGitHub Feature
README.mdProject overview and setupRepository landing page
LICENSEApache 2.0 license textLicense tab in navigation
CODE_OF_CONDUCT.mdContributor Covenant 2.1Code of Conduct tab
CONTRIBUTING.mdHow to contributeContributing tab and sidebar link
SECURITY.mdVulnerability reporting processSecurity tab
SUPPORT.mdWhere to get helpSidebar link
CITATION.cffAcademic citation metadata"Cite this repository" button
CHANGELOG.mdVersion historyRelease documentation
.github/FUNDING.ymlFunding sources"Sponsor" button in header
.github/CODEOWNERSCode ownership rulesAuto-assigns PR reviewers
.github/PULL_REQUEST_TEMPLATE.mdPR description templateAuto-populates PR form
.github/ISSUE_TEMPLATE/4 issue templatesIssue creation form

Academic Citation

The repository includes a CITATION.cfffile that enables GitHub's "Cite this repository" button. Researchers can export citation metadata in BibTeX or APA format with a single click. This is especially important for a project that bridges academic research and open source development.

cff-version: 1.2.0
title: Technology Adoption Barriers Survey (TABS) Website
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Clarke
    family-names: Moyer
    email: clarke@technologyadoptionbarriers.org
    affiliation: Technology Adoption Barriers Survey (TABS)
repository-code: https://github.com/clarkemoyer/technologyadoptionbarriers.org
url: https://technologyadoptionbarriers.org
license: Apache-2.0

Contribution Workflow

All contributions follow a structured Issue โ†’ Pull Request โ†’ Review โ†’ Merge workflow:

  1. Open an issue - describe the change, bug, or feature request
  2. Create a feature branch - use conventional naming (feat/, fix/, docs/)
  3. Make changes - follow the style guide, naming conventions, and accessibility requirements
  4. Open a pull request - the PR template auto-populates with checklists for testing, accessibility, and documentation
  5. Pass CI - formatting, linting, unit tests, E2E tests, and accessibility checks must all pass
  6. Code review - automated Copilot review plus human review for all changes
  7. Squash merge - clean commit history on main

Issue Templates

TABS provides four issue templates to guide contributors:

Bug Report

Steps to reproduce, expected vs actual behavior, environment details

Feature Request

Problem statement, proposed solution, alternatives considered

Documentation

What needs updating, where, and why

Reviewer Onboarding

Checklist for new code reviewers joining the project

Building in Public

Being open source means all project decisions are visible:

  • Issues track all work - feature requests, bugs, and improvements are documented in GitHub Issues
  • PRs show the process - code review comments, CI results, and iteration are all part of the public record
  • Changelog documents releases - every version includes a detailed summary of changes
  • Agent instruction files - AGENTS.md, CLAUDE.md, and GEMINI.md document how AI coding agents are configured for this project
  • CI/CD is transparent - GitHub Actions workflows are visible in the repository

Further Reading

This page covers the operational side of open source - license, community files, and contribution workflow. The argument for why a research project publishes its infrastructure (and not only its data and code) lives on a separate page:

Open source is not just a license - it is how we work.