Skip to content

Prepare LearnStack for open source release (AGPL-3.0, CLA) - #93

Merged
kasuken merged 3 commits into
mainfrom
chore/open-source-readiness
Oct 3, 2026
Merged

kasuken merged 3 commits into
mainfrom
chore/open-source-readiness

Conversation

@kasuken

@kasuken kasuken commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Summary

Gets LearnStack ready for an open source announcement under AGPL-3.0-only with a CLA. The community health files (Code of Conduct, CONTRIBUTING, CLA, SECURITY, SUPPORT, PR template) are inherited from kasuken/.github.

Licensing

  • LICENSE: GNU AGPL v3, official text.
  • THIRD-PARTY-NOTICES.md: direct NuGet dependencies and the Inter font. All are permissive (MIT / Apache-2.0 / BSD-3-Clause / OFL); nothing is copyleft or incompatible.

AGPL section 13

  • A new Source code item in the signed-in account menu, localized in en/de/es/fr/it/ro. The URL comes from the SourceCodeUrl setting, so forks can point it at their own modified source.

README

  • AGPL badge, plus new sections: Hosted or self-hosted (Stripe billing stays off because Billing:Provider defaults to None), Contributing, Security, License (with trademark note).
  • Links updated to the guides' new location in docs/.

Repository hygiene

  • .github/CODEOWNERS, .github/dependabot.yml (NuGet + Actions, weekly).
  • Issue forms: bug and feature forms, plus a config.yml linking private vulnerability reporting and learnstack.cloud support.
  • .editorconfig (no files reformatted) and .gitattributes (* text=auto; no CRLF files were tracked, so nothing gets renormalized).
  • PIPELINE.md, DEPLOYMENT.md, QUICK-REFERENCE.md and RELEASES.md moved from .github/ to docs/.
  • Untracked: 7 .claude/worktrees/* gitlinks, LearnStack.sln.DotSettings.user, LearnStack/build_err.txt (all now in .gitignore).
  • CHANGELOG: new [Unreleased] entry.

Workflows

  • Included in this PR (second commit):
    • CLA Assistant workflow
    • PR CI workflow
    • softprops/action-gh-release v1 → v2
    • all actions pinned to commit SHAs

Follow-up (not in this PR)

  • ⚠️ LearnStack.sln references LearnStack.Admin/LearnStack.Admin.csproj, which is gitignored. As a result, dotnet build LearnStack.sln fails on a fresh clone, even though the README tells contributors to run it. Either remove the project from the solution or add a solution filter (.slnf) for contributors.

Testing

  • dotnet build LearnStack/LearnStack.csproj: 0 errors. The 2 warnings (MUD0002, NU1510) were there before this PR.
  • dotnet test LearnStack.Core.Tests: 161 passed, 0 failed

🤖 Generated with Claude Code

kasuken and others added 3 commits October 3, 2026 11:12
- License under AGPL-3.0-only and add third-party notices
- Add a configurable, localized "Source code" link in the account menu
  (AGPL section 13)
- README: AGPL badge, hosted vs self-hosted, contributing, security,
  license and trademark sections
- Add CODEOWNERS, issue forms with security and hosted-support links,
  Dependabot configuration, .editorconfig and .gitattributes
- Move deployment, release, pipeline and quick-reference guides from
  .github/ to docs/
- Stop tracking Claude worktrees, Rider user settings and build_err.txt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- CLA Assistant workflow (signatures on the cla-signatures branch)
- CI: build, migration check and tests on pull requests and pushes to main
- Deploy: pin actions to commit SHAs, upgrade action-gh-release to v2,
  drop the unused packages: write permission

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
LearnStack.Admin is gitignored, so dotnet build LearnStack.sln failed on a
fresh clone. CI now builds the solution.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kasuken
kasuken merged commit 8181a32 into main Oct 3, 2026
1 check passed
@kasuken
kasuken deleted the chore/open-source-readiness branch October 3, 2026 10:48
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 3, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant