Ctrl K
ComunidadGuías…

CONTRIBUTING.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Contributing to Pharos

Thanks for considering it. Bug reports, fixes and features are all welcome.

## Before you write code

Open an issue first for anything larger than a bug fix. It saves you building
something that does not fit, and me reviewing something I have to turn down.

## The rules the code follows

- **PHP 8.3, Laravel 12 LTS.** Follow the style already in the file you are editing.
- **Tests.** Anything that can break has a test. Run `php artisan test` before opening a
  pull request — 580 of them pass today and that number should only go up.
- **Small files.** If a class is past ~400 lines, it is probably two classes.
- **No new dependencies** without saying why in the issue. This has to install on a plain
  cPanel, DirectAdmin or Plesk account where people cannot compile things.
- **Honest documentation.** If something is half-finished, the docs say so. There is a
  "Not implemented yet" section in the README and it is there on purpose.

## Contributor Licence Agreement

Pharos is published under the AGPL-3.0, and is also offered under a separate commercial
licence to organisations that cannot accept the AGPL's terms. See
[COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md).

That second option only works if one party can license the whole codebase. So, by opening
a pull request against this repository, you confirm that:

1. **You wrote it, or you have the right to submit it.** The contribution is your own
   work, or you have permission from whoever owns it — including your employer, if the
   work was done on their time or equipment.

2. **You keep your copyright.** You are not signing it away. You may use your own
   contribution anywhere else, however you like.

3. **You grant SolutionMAX a licence to use it.** Specifically: a perpetual, worldwide,
   non-exclusive, royalty-free, irrevocable licence to reproduce, modify, publish and
   distribute your contribution, **including under licence terms other than the AGPL-3.0**
   — which is what makes the commercial licence possible.

4. **You grant the same to everyone else under the AGPL-3.0**, which is the licence this
   repository is published under.

5. **It comes as-is.** You provide the contribution without warranty of any kind.

If you cannot agree to point 3, say so in the pull request. There may still be a way to
take the change — as a plugin, as a documented workaround, or with me rewriting it — but I
need to know before it is merged, not after.

## What this is not

This is not a copyright assignment. Nothing here transfers ownership of your work to
anyone. It is a licence grant, and it exists for one reason: so that a company which
cannot publish its modifications can still pay to use Pharos, and that money can go back
into maintaining it.

---

Questions about any of this: <mail@solutionmax.net>.