summaryrefslogtreecommitdiffstats
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2017-08-30 18:06:34 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2017-08-30 18:06:34 +0200
commit2cd128c9c587e030a2bca1b26493027f1e0d4c53 (patch)
tree755a38326d7332ffe94baa570a7f8a9f7d91635b /CONTRIBUTING.md
parent8f6823544640b1f18450e4c6df1335d9ccc9e496 (diff)
Contributing
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md86
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