CodePress/CONTRIBUTING.md
Edwin Noorlander d0bfeed9ab Implement dual-license system (AGPL v3 + Commercial)
- Add AGPL v3 license with commercial addendum (LICENSE)
- Add comprehensive license documentation (LICENSE-INFO.md)
- Add contribution guidelines with notification requirements (CONTRIBUTING.md)
- Update version.php with dual-license information

Dual-license model:
- AGPL v3 for open-source use (free, must share modifications)
- Commercial license for proprietary use (paid, €99-€2499)
- Donation tiers for supporters (€25-€1000+)

Requirements for users:
- Must notify author of modifications (via GitLab/email)
- Must create CHANGES.md documenting modifications
- Must share source code (AGPL v3) OR purchase commercial license
- Must maintain attribution to original author

Commercial licensing:
- Individual: €99 (1 developer)
- Business: €499 (10 developers)
- Enterprise: €2499 (unlimited)
- SaaS: €999/year

Contact: commercial@noorlander.info

This licensing structure protects intellectual property while supporting
the open-source community and enabling commercial revenue.
2025-11-24 16:49:13 +01:00

5.7 KiB

CONTRIBUTING.md

🤝 Contributing to CodePress CMS

Thank you for your interest in contributing to CodePress CMS!

📜 License Agreement

By contributing to CodePress CMS, you agree that:

  1. Your contributions will be licensed under AGPL v3
  2. You retain copyright to your contributions
  3. You grant the project maintainer (E.Noorlander) the right to dual-license your contributions
  4. You have the right to submit the contribution

📢 Notification Requirement

When contributing or modifying CodePress CMS:

Required Steps:

  1. Fork the repository

    git clone https://git.noorlander.info/E.Noorlander/CodePress.git
    
  2. Create a CHANGES.md in your fork:

    # Changes to CodePress CMS
    
    ## Modified by: [Your Name]
    ## Date: [Date]
    ## Original: https://git.noorlander.info/E.Noorlander/CodePress.git
    
    ### Changes:
    - [List your changes]
    
    ### Attribution:
    Based on CodePress CMS by E.Noorlander
    Licensed under AGPL v3
    
  3. Create an issue before major changes:

    • Describe the change you want to make
    • Get feedback from maintainers
    • Discuss implementation approach
  4. Submit a pull request:

    • Reference the issue number
    • Include tests if applicable
    • Update documentation
    • Follow coding standards (PSR-12)
  5. Notify the maintainer:

🎯 What We're Looking For

High Priority

  • 🐛 Bug fixes
  • 🔒 Security improvements
  • 📝 Documentation improvements
  • 🧪 Test coverage
  • Accessibility improvements

Medium Priority

  • New features (discuss first!)
  • 🎨 UI/UX improvements
  • Performance optimizations
  • 🌍 Translation additions

Low Priority

  • 🎨 Code refactoring
  • 📦 Dependency updates

📋 Contribution Guidelines

Code Style

  • Follow PSR-12 coding standard
  • Use 4 spaces for indentation
  • Add PHPDoc comments to functions
  • Keep functions small and focused

Commit Messages

Type: Short description (max 50 chars)

Longer description if needed (max 72 chars per line)

Fixes #issue-number

Types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • test: Tests
  • refactor: Code refactoring
  • perf: Performance improvement
  • security: Security fix

Testing

  • Add tests for new features
  • Ensure all tests pass
  • Run security tests (pentest.sh)
  • Test in multiple browsers

Documentation

  • Update README if needed
  • Update function-test docs
  • Add inline comments
  • Update CHANGELOG

🚫 What We Won't Accept

  • Code that breaks existing functionality
  • Contributions without proper attribution
  • Code that violates AGPL v3
  • Malicious or obfuscated code
  • Contributions that violate copyright
  • PRs without notification/communication

💰 Commercial Contributions

If you're contributing on behalf of a commercial entity:

  1. Company must have a commercial license OR
  2. Release contributions as open-source (AGPL v3)

Contact commercial@noorlander.info for licensing.

🎁 Recognition

Contributors will be:

  • Listed in CONTRIBUTORS.md
  • Credited in release notes
  • Mentioned on project website (if applicable)
  • Given contributor badge

📞 Getting Help

  • Questions: Create a GitLab issue
  • Bugs: Create a GitLab issue with reproduction steps
  • Features: Discuss in GitLab issues first
  • Commercial: Email commercial@noorlander.info

🔄 Development Workflow

  1. Fork the repository
  2. Create branch from development
    git checkout -b feature/your-feature development
    
  3. Make changes and commit
  4. Push to your fork
  5. Create Pull Request to development branch
  6. Wait for review (usually within 48 hours)
  7. Address feedback if requested
  8. Merge once approved

Pull Request Checklist

Before submitting:

  • Code follows PSR-12 style
  • All tests pass
  • Documentation updated
  • CHANGES.md created/updated
  • Commit messages follow convention
  • Issue created and linked
  • Maintainer notified
  • No breaking changes (or clearly documented)
  • Security implications considered
  • Performance impact tested

🏆 Top Contributors

Recognition for significant contributors:

  • 🥇 Gold Contributor (10+ merged PRs)
  • 🥈 Silver Contributor (5+ merged PRs)
  • 🥉 Bronze Contributor (1+ merged PR)

📄 Code of Conduct

Be Respectful

  • Respect all contributors
  • Constructive criticism only
  • No harassment or discrimination
  • Professional communication

Be Collaborative

  • Help others learn
  • Share knowledge
  • Review PRs constructively
  • Welcome newcomers

Be Responsible

  • Test your code
  • Follow license terms
  • Respect copyrights
  • Report security issues privately

🔐 Security Issues

DO NOT create public issues for security vulnerabilities!

Report privately:

📊 Contribution Statistics

We track:

  • Lines of code contributed
  • Number of commits
  • Issues resolved
  • PRs merged
  • Test coverage improvements

🎓 Learning Resources

🙏 Thank You!

Your contributions make CodePress CMS better for everyone. We appreciate your time and effort!


Questions? Contact: commercial@noorlander.info

License: AGPL v3 / Commercial Dual License
Copyright: (C) 2025 E.Noorlander / CodePress Development Team