Context
I need a place to host the source code for this project. The requirements are:
- Visibility: It must be public to serve as a portfolio piece and reference implementation.
- Reliability: It needs to be hosted on a stable, industry-standard platform.
- Collaboration: It should support standard workflows for version control, issue tracking, and CI/CD integration.
- Ecosystem: It should integrate easily with other tools (Vercel, Cloudflare, etc.).
Decision
I decided to host the repository publicly on GitHub.
This aligns with several guiding principles:
- Choose Boring Technologies: GitHub is the default, status quo choice for open source software. It is reliable, well-understood, and ubiquitous.
- Build in Public: Making the repo public invites feedback, sharing knowledge, and demonstrating technical capability as a portfolio artifact.
- Minimize Platforms: I already use GitHub for my professional work and other open source contributions. Using it here avoids creating a new account or learning a new interface.
Consequences
Pros
- Zero Learning Curve: I can leverage my existing years of experience with GitHub actions, secrets, and workflows.
- Integration: Seamless integration with almost every developer tool (CI/CD, code analysis, deployment targets).
- Community: It is the go-to place for open source, making it easier for others to discover, fork, or learn from this project.
- Trust: A public GitHub profile is a standard signal of technical activity for engineers.
Cons
- Vendor Lock-in: Deep reliance on GitHub Actions and specific features can make migrating to GitLab or Bitbucket difficult later (though accepted as a low risk given GitHub's dominance).