Skip to content

Latest commit

 

History

History
244 lines (152 loc) · 7.77 KB

File metadata and controls

244 lines (152 loc) · 7.77 KB

Acknowledgments & Attributions

This document acknowledges the projects, individuals, and organizations whose work has inspired, influenced, or been incorporated into @cbnsndwch/zero-sources.


Core Dependencies & Inspirations

Rocicorp Zero

Project: @rocicorp/zero
License: Apache-2.0
Attribution: This entire project is built to extend and integrate with Rocicorp Zero's reactive caching and synchronization framework. Zero provides the foundational technology that powers our change source implementations.

Links:


NestJS

Project: NestJS
License: MIT
Attribution: NestJS provides the robust, scalable framework for our custom change source server implementations. Our applications in apps/ leverage NestJS's dependency injection, module system, and architectural patterns.

Links:


Inspirational Sources & Design Influences

Rocket.Chat

Project: Rocket.Chat
License: MIT (Community Edition)
Attribution: The domain model and entity schemas in the zrocket application were inspired by Rocket.Chat's messaging platform architecture. While we don't use Rocket.Chat as a dependency, their open-source codebase provided valuable insights into:

  • Message entity structure and relationships
  • Room/channel architecture
  • User and subscription models
  • Real-time collaboration patterns

What we adapted:

  • Entity relationship patterns for messages, rooms, and users
  • Schema design for chat-based applications
  • Concepts around subscriptions and presence

Links:

Note: No code from Rocket.Chat was directly copied. We studied their domain model and reimplemented concepts independently to fit our Zero-based architecture.


Development Tools & Infrastructure

Turborepo

Project: Turborepo
License: MPL-2.0
Attribution: Turborepo powers our monorepo build orchestration, providing efficient caching and parallel execution for our multi-package workspace.

pnpm

Project: pnpm
License: MIT
Attribution: pnpm serves as our package manager, providing efficient disk space usage and fast, reliable dependency management for our workspace.

Changesets

Project: @changesets/changesets
License: MIT
Attribution: Changesets manages our versioning and release workflow, enabling proper semantic versioning across our monorepo packages.


Database & Data Technologies

MongoDB

Technology: MongoDB
Driver License: Apache-2.0
Attribution: MongoDB serves as our primary database for the custom change sources. We utilize MongoDB's change streams for real-time data synchronization.

MySQL

Technology: MySQL
Driver License: MIT
Attribution: MySQL support is provided through our zero-source-mysql library for traditional relational database integration.

ZQLite (Zero's SQLite Layer)

Component: Part of @rocicorp/zero
Attribution: We build upon Zero's ZQLite layer for client-side caching and offline-first functionality.


Language & Runtime

TypeScript

Project: TypeScript
License: Apache-2.0
Attribution: TypeScript provides type safety and enhanced developer experience across all packages in this monorepo.

Node.js

Runtime: Node.js
License: MIT
Attribution: Node.js serves as our primary JavaScript runtime for both development and production environments.


Testing & Quality Tools

Vitest

Project: Vitest
License: MIT
Attribution: Vitest provides our unit testing framework with excellent TypeScript support and fast execution.

Playwright

Project: Playwright
License: Apache-2.0
Attribution: Playwright powers end-to-end testing for the zrocket application.

ESLint & Prettier

Projects: ESLint & Prettier
Licenses: MIT
Attribution: ESLint and Prettier maintain code quality and consistent formatting across the project.


Libraries & Utilities

This project uses numerous open-source libraries as direct dependencies. For a complete list of runtime dependencies, please refer to the package.json files in each package directory.

Key Dependencies (Non-Exhaustive List)

  • Mongoose: MongoDB object modeling for Node.js
  • Prisma: Database ORM and type-safe query builder
  • NATS: Message broker for watermark synchronization
  • better-sqlite3: SQLite bindings for Node.js
  • Zod: TypeScript-first schema validation
  • React & React Router: UI framework for the zrocket demo application

Documentation & Learning Resources

Patterns & Best Practices Learned From


Community & Ecosystem

Rocicorp Community

Special thanks to the Rocicorp community on Discord for:

  • Answering questions about Zero's architecture
  • Providing feedback on change source implementations
  • Sharing use cases and requirements

Open Source Contributors

We appreciate all the individual developers who have contributed to the dependencies and tools that make this project possible. Your work enables us to build better software.


How to Add Acknowledgments

If you've contributed to this project and borrowed code, patterns, or inspiration from external sources, please:

  1. Update this file with appropriate attribution

  2. Add inline comments in code where specific implementations were adapted:

    // Adapted from: [Project Name] ([URL])
    // Original license: [License Type]
    // Changes: [Description of modifications]
  3. Reference in commit messages when appropriate

  4. Follow license requirements of the source material

See CONTRIBUTING.md for detailed guidelines on attribution requirements.


License Compliance

All dependencies used in this project are compatible with our MIT License. We comply with all license requirements including:

  • ✅ Preserving copyright notices
  • ✅ Including license texts where required
  • ✅ Acknowledging Apache-2.0 licensed dependencies
  • ✅ Maintaining attribution for BSD-licensed components

For specific license information about dependencies, please refer to:

  • node_modules/[package]/LICENSE files
  • SPDX License List
  • Individual package documentation

Contact

If you believe we have:

  • Missed an important attribution
  • Incorrectly attributed your work
  • Violated license terms

Please contact us immediately:

We take attribution and license compliance seriously and will address concerns promptly.


Last Updated: October 5, 2025

Copyright © 2023-present cbnsndwch LLC

This project is licensed under the MIT License.