Skip to content

feat: remove all proprietary/enterprise code for community edition#8

Closed
ajnart wants to merge 2 commits into
DevinoSolutions:canaryfrom
ajnart:feat/remove-proprietary-code
Closed

feat: remove all proprietary/enterprise code for community edition#8
ajnart wants to merge 2 commits into
DevinoSolutions:canaryfrom
ajnart:feat/remove-proprietary-code

Conversation

@ajnart

@ajnart ajnart commented Jun 25, 2026

Copy link
Copy Markdown

Summary

  • Removes all proprietary (DSAL-licensed) code to produce a clean Apache 2.0 community edition
  • Deletes 35 files across 3 proprietary directories (components/proprietary/, routers/proprietary/, services/proprietary/) plus enterprise settings pages, enterprise utils, and forward-auth UI
  • Modifies 32 files to remove imports, license gating, enterprise UI references, and tRPC router registrations
  • Stubs audit() and useWhitelabeling hooks as no-ops to avoid modifying 40+ router call sites and 16+ page imports
  • Retains DB schema columns (enableEnterpriseFeatures, forwardAuthEnabled, enforceSSO, etc.) to avoid requiring migrations on existing installations

Features removed

  • Audit Logs — UI, router, service
  • Custom Roles — management UI, router
  • License Key — UI, router, service, validation utils
  • Enterprise SSO — OIDC/SAML UI, router, service
  • Forward Authentication — UI, router, service, traefik middleware
  • Whitelabeling — UI, router, provider
  • Social Auth — GitHub/Google sign-in components
  • Enterprise Backup Cron Jobs
  • enterpriseProcedure tRPC middleware
  • hasValidLicense gating in permission, server, and git-provider services

Impact

  • 67 files changed, ~25 insertions, ~8,400 deletions
  • Zero new TypeScript errors (651 pre-existing → 651 after, all react-hook-form generics)
  • LICENSE_PROPRIETARY.md deleted, LICENSE.MD cleaned of dual-license reference

Test plan

  • Verify app starts locally (pnpm dev)
  • Verify login/register pages render without errors
  • Verify sidebar navigation has no broken links
  • Verify settings pages (users, profile, servers) load correctly
  • Verify project/service creation works
  • Verify domain management works (without forward-auth toggle)
  • Verify no console errors referencing proprietary modules

ajnart added 2 commits June 25, 2026 10:32
Remove all DSAL-licensed proprietary features to create a clean Apache 2.0
community edition. This includes:

- Audit Logs (UI, router, service)
- Custom Roles management (UI, router)
- License Key system (UI, router, service, validation utils)
- Enterprise SSO with OIDC/SAML (UI, router, service)
- Forward Authentication (UI, router, service, traefik middleware)
- Whitelabeling (UI, router, provider)
- Social auth (GitHub/Google sign-in components)
- Enterprise backup cron jobs
- enterpriseProcedure tRPC middleware
- hasValidLicense gating across permission, server, and git-provider services

Stubbed audit() and useWhitelabeling hooks as no-ops to avoid modifying
40+ router call sites and 16+ page imports respectively. DB schema columns
retained to avoid requiring migrations on existing installations.

35 files deleted, 32 files modified, ~8400 lines removed.
Zero new TypeScript errors introduced (651 pre-existing → 651 after).
Next.js 16 defaults to Turbopack which fails in this pnpm monorepo
due to workspace root inference. Explicitly pass `webpack: true` when
TURBOPACK env var is not set.
@AminDhouib

AminDhouib commented Jun 30, 2026

Copy link
Copy Markdown
Member

Hi @ajnart, thanks for this PR. Are there plans to replace these removed features with community implementations? Removing the code entirely means users who purchase a Dokploy license can't use enterprise features on this fork either. I'd prefer to keep the existing license gating in place so Dokploy can still benefit from their work.

@ajnart

ajnart commented Jul 2, 2026

Copy link
Copy Markdown
Author

Hi @ajnart, thanks for this PR. Are there plans to replace these removed features with community implementations? Removing the code entirely means users who purchase a Dokploy license can't use enterprise features on this fork either. I'd prefer to keep the existing license gating in place so Dokploy can still benefit from their work.

That's a valid answer, I think re-building a community implementation would be a waste of time. I was just under the impression that shipping any kind of alternative version with these files was forbidden as per the terms

@AminDhouib

Copy link
Copy Markdown
Member

That makes sense. My understanding is that keeping the proprietary code with the license gating intact doesn't violate the DSAL terms. The features still require a valid Dokploy license key to activate, so their monetization is preserved. The fork only adds improvements to the open-source parts (concurrent deployments, network management). But if there's a specific clause that prohibits redistribution even with the gate in place, happy to look further.

@ajnart ajnart closed this Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants