mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 01:31:55 +00:00
Formalized our contribution policy which we're currently applying
This commit is contained in:
parent
d0512ba74b
commit
765debf523
106
CONTRIBUTING.md
Normal file
106
CONTRIBUTING.md
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
# Contributing to BIRD
|
||||||
|
|
||||||
|
We welcome a broad range of contributions to BIRD with some limitations and
|
||||||
|
caveats.
|
||||||
|
|
||||||
|
BIRD is highly optimized for performance in both memory and computation time.
|
||||||
|
We generally don't accept obviously inefficient code and even though the
|
||||||
|
quality of the existing codebase quite varies, there should be good reasons
|
||||||
|
why to commit something slow or greedy.
|
||||||
|
|
||||||
|
There are several basic rules for contributing:
|
||||||
|
|
||||||
|
- your branch must have understandable commit messages
|
||||||
|
- your branch must be either:
|
||||||
|
- rooted in the current thread-next, aiming for inclusion in BIRD 3
|
||||||
|
- or rooted in the master branch; in this case, we may refuse your patch
|
||||||
|
if it's completely unmergeable with thread-next
|
||||||
|
- when incorporating proposed fixes, you may have to rebase your branch
|
||||||
|
- please add automatic tests (see below)
|
||||||
|
- upfront and continuous consultation with the development team gives you a
|
||||||
|
fast track for merging
|
||||||
|
- don't forget to update documentation
|
||||||
|
|
||||||
|
## Security issues
|
||||||
|
|
||||||
|
Please contact us on bird-support@network.cz for private disclosure of any
|
||||||
|
security issues. This includes any crash in or related to filters, induced by
|
||||||
|
CLI or by receiving a malformed message by a protocol.
|
||||||
|
|
||||||
|
## How to contribute
|
||||||
|
|
||||||
|
You can either send a patch (prepared by git format-patch) to our mailing-list
|
||||||
|
bird-users@network.cz, or you can send just a link to your repository and the
|
||||||
|
commit hash you're contributing.
|
||||||
|
|
||||||
|
## What if your contribution isn't mergable
|
||||||
|
|
||||||
|
If your code needs minor updates to align with our standards / taste, we'll
|
||||||
|
just do these modifications ourselves and either add these as a separate commit
|
||||||
|
or just update your commit noting this fact in the commit message.
|
||||||
|
|
||||||
|
If your code has some major flaws, misses the point or introduces another
|
||||||
|
problem (e.g. performance issues), we'll refuse your patch. Then we'll either
|
||||||
|
try to tell you how we prefer to reach the goal, or we may reimplement your
|
||||||
|
ideas ourselves. We'll mention your original contribution in the commit message.
|
||||||
|
|
||||||
|
## Specific kinds of contributions
|
||||||
|
|
||||||
|
### Substantial updates
|
||||||
|
|
||||||
|
If you feel like the BIRD internals need some major changes and you wish to
|
||||||
|
implement it, please contact the development team first. We're (as of May 2024)
|
||||||
|
developing two versions at once and we have some raw thoughts about BIRD's future
|
||||||
|
which we haven't published yet.
|
||||||
|
|
||||||
|
Beware that BIRD is more convoluted inside than it looks like on the surface,
|
||||||
|
and in many places the learning curve is _very_ steep.
|
||||||
|
|
||||||
|
### New protocol implementations
|
||||||
|
|
||||||
|
We generally welcome broadening of BIRD capabilities. Upfront consultation is
|
||||||
|
very much appreciated to align all parties on the development principles,
|
||||||
|
internal APIs, coding style and more.
|
||||||
|
|
||||||
|
### Refactoring and reformatting
|
||||||
|
|
||||||
|
Please don't send us _any_ refactoring proposals without previous explicit approval.
|
||||||
|
|
||||||
|
### Programmer's documentation, user documentation or tutorials
|
||||||
|
|
||||||
|
We welcome updates to enhance the documentation, including the algorithmic
|
||||||
|
principles, internal libraries and API. We keep our right to reject low quality
|
||||||
|
contributions altogether.
|
||||||
|
|
||||||
|
### Minor changes
|
||||||
|
|
||||||
|
Feel free to propose minor fixes in any part of BIRD.
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
There is another repository, https://gitlab.nic.cz/labs/bird-tools.git, where
|
||||||
|
we store our automatic tests in the netlab/ directory. This repository is quite
|
||||||
|
messy and you may need some help with it. We're planning to move the Netlab
|
||||||
|
suite into the main git repository; after we do that, we'll require every
|
||||||
|
contribution to add tests (if applicable, of course).
|
||||||
|
|
||||||
|
## Crediting policy
|
||||||
|
|
||||||
|
The credits are scattered over all the source code files; in the commentary
|
||||||
|
section, you may find typically the original authors of these files or some
|
||||||
|
major contributors who felt like adding their names there. Overall, if you feel
|
||||||
|
like your name should be there, include this change in your commits please.
|
||||||
|
If your name should be changed, please do that change there.
|
||||||
|
|
||||||
|
We are planning to centralize the credits one day; we'll then update this file
|
||||||
|
accordingly.
|
||||||
|
|
||||||
|
## Meta
|
||||||
|
|
||||||
|
If some of these rules are breached, you may complain either at the mailing
|
||||||
|
list, or directly to CZ.NIC who is currently BIRD's maintainer.
|
||||||
|
|
||||||
|
If we don't reply within 3 weeks, please ping us. We don't intend to ghost you,
|
||||||
|
we are just overloaded.
|
||||||
|
|
||||||
|
This contributing policy also applies to itself.
|
15
README
15
README
@ -68,12 +68,23 @@ User support
|
|||||||
If you want to help us debugging, enhancing and porting BIRD or just lurk
|
If you want to help us debugging, enhancing and porting BIRD or just lurk
|
||||||
around to see what's going to develop, feel free to subscribe to the BIRD
|
around to see what's going to develop, feel free to subscribe to the BIRD
|
||||||
users mailing list bird-users@network.cz, just send `subscribe' to
|
users mailing list bird-users@network.cz, just send `subscribe' to
|
||||||
bird-request@network.cz. Bug reports, suggestions, feature requests and
|
bird-request@network.cz.
|
||||||
code are welcome! We don't use gitlab issues for reporting, sorry.
|
|
||||||
|
|
||||||
Subscribe: http://bird.network.cz/mailman/listinfo/bird-users/
|
Subscribe: http://bird.network.cz/mailman/listinfo/bird-users/
|
||||||
Archive: http://bird.network.cz/pipermail/bird-users/
|
Archive: http://bird.network.cz/pipermail/bird-users/
|
||||||
|
|
||||||
|
Please don't send security issues to the mailing-list, contact us instead at
|
||||||
|
bird-support@network.cz which is a private e-mail address where you also can
|
||||||
|
get commercial support for your BIRD deployment.
|
||||||
|
|
||||||
|
We don't use our gitlab issues for reporting but we're partially tracking
|
||||||
|
the core developent team's work there publicly.
|
||||||
|
|
||||||
|
Contributing
|
||||||
|
============
|
||||||
|
|
||||||
|
Please see the CONTRIBUTING.md file to find how to contribute to BIRD.
|
||||||
|
|
||||||
Licence
|
Licence
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user