diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-08-30 18:06:34 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-08-30 18:06:34 +0200 |
commit | 2cd128c9c587e030a2bca1b26493027f1e0d4c53 (patch) | |
tree | 755a38326d7332ffe94baa570a7f8a9f7d91635b /CONTRIBUTING.md | |
parent | 8f6823544640b1f18450e4c6df1335d9ccc9e496 (diff) |
Contributing
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r-- | CONTRIBUTING.md | 86 |
1 files changed, 34 insertions, 52 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ddc316e5b9c..487d7fb8522 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,60 +1,42 @@ # Contributing to Vespa -We appreciate contributions to Vespa! -Below is a quick how-to. - - -## Reporting issues -Reporting a problem is a valuable contribution. -Use [GitHub issues](https://github.com/vespa-engine/vespa/issues) to report bugs. -Issues are evaluated daily. -If you read this, you are probably a developer who knows how to write good bug reports - -make it easy to for others to reproduce the problem (include a test case!), -include the Vespa version, -and make it easy for others to understand the importance of the problem. - - -## Check the ToDo list -Future features are kept on the [ToDo list](TODO.md) - -minor fixes better reported and tracked in [issues](https://github.com/vespa-engine/vespa/issues). - +Contributions to [Vespa](http://github.com/vespa-engine/vespa) +and the [Vespa documentation](http://github.com/vespa-engine/documentation) +are welcome. +This documents tells you what you need to know to contribute. + +## Open development +All work on Vespa happens directly on Github, +using the [Github flow model](https://guides.github.com/introduction/flow/). +We release the master branch a few times a week and you should expect it to almost always work. +In addition to the [public Travis build](https://travis-ci.org/vespa-engine/vespa) +we have a large acceptance and performance test suite which +is also run continuously. We plan to add this to the open source code base later. + +All pull requests are reviewed by a member of the +[Vespa committers](https://github.com/orgs/vespa-engine/teams/vespa/members) team, regardless +of who made it. If you want to become a committer, making some quality contributions is the way to start. ## Versioning -Vespa uses semantic versioning, -read [this guide](http://docs.vespa.ai/documentation/vespa-versions.html) to understand -deprecations and changes to APIs and stored data across releases. -Vespa releases more often than weekly, and the team does not write release notes or a changelog - -instead, track issues labeled _Feature_. +Vespa uses semantic versioning - see +[vespa versions](http://docs.vespa.ai/documentation/vespa-versions.html). +Notice in particular that any Java API in a package having a @PublicAPI +annotation in the package-info file cannot be changed in an incompatible way +between major versions: Existing types and method signatures must be preserved +(but can be marked deprecated). +## Issues +We track issues in [GitHub issues](https://github.com/vespa-engine/vespa/issues). +It is fine to submit issues also for feature requests and ideas, whether or not you intend to work on them. -## Build custom plugins -Vespa has great support for custom plugins - -you will often find that the best way to implement your application is by writing a plugin - -refer to the [APIs](http://docs.vespa.ai/documentation/api.html). - - -## Where to start contributing -Most features plug into the [Vespa Container](docs.vespa.ai/documentation/jdisc/index.html) - -this is the most likely place to write enhancements. -Discuss with the community if others have similar feature requests - make the feature generic. +There is also a [ToDo list](TODO.md) for larger things which nobody are working on yet. ### Getting started See [README](README.md) for how to build and test Vespa. -<!-- Do we have a link to code conventions - or just use below? --> -Java coding guidelines: -* 4 spaces indent <!-- Line width? --> -* Use Java coding standards -* No wildcard imports - -### Pull requests -The Vespa Team evaluates pull requests as fast as we can. -File an issue that you can refer to in the pull request - -The issue can be valid even though a pull request will not be merged. -Also add `Closes #XXX` or `Fixes #XXX` in commits - this will auto-close the issue. -The Vespa Team work on the master branch, and does not have branches for other major versions - -the current major version is the only active. -Submit unit tests with the changes and [update documentation](https://github.com/vespa-engine/documentation). -<!-- Do we need a Signed-off-by: Joe Smith <joe.smith@email.com> --> - - -## Community -List here - Slack channel? + +Vespa is large and getting an overview of the code can be a challenge. +It may help to read the READMEs of each module. + +## License and copyright +If you add new files you are welcome to use your own copyright. +In any case the code (or documentation) you submit will be licensed +under the Apache 2.0 license.
\ No newline at end of file |