How to contribute to YaCy

Be active in the forum

Community forum keeps the community alive.
If you're advanced user, good place to start is helping the others in the forum and sharing your knowledge there.

Report a bug

If you find a bug or you want to suggest an improvement, fill the github issue.

Please use factual and technical language and try to describe the bug in details.

Focus on what behavior you did expect and what YaCy did instead of it.

See the log and try to find and attach the appropriate log lines. Increase the log verbosity, if neccessary.

Be sure, that the issue could be replicated (describe what to do to see the malfunction again). Problem happening just once, without the possiblity to make it happen again, could be hardly fixed.

Pace of issue-fixing is currently quite low, so if you can, repair the function yourself and do a github pull-request (see below).

Help writting documentation

YaCy has many more functions than described in the documentation and is still heavily under-documented. You can help others by writting about your favourite feature, updating the old pages, fixing installation guide for your platform, correcting the mistakes or just spell-checking. See github repository of documentation, documentation issues and github guide bellow.

Help developing YaCy

If you're a Java wizard, you're most warmly welcomed to be part of the development!

Although YaCy is developed since 2003, and still maintained, progress is sometimes slow. Therefore chances for including your code to mainstream are very high.

You can pick an issue to solve. They're well tagged with labels such as: good first issue, bug, crawler, search, index, network, releasing, developer, etc.

You can improve what annoys you, personally, or craft a feature you like.

Before adding a major feature, consult @orbiter, the main developer, or the forum.

Step by step guide for Github

Basically, your contribution to the code and documentation is possible using github.com. Create account there, fork the official repository, clone it to your local machine, make a branch, modify files, commit changes to github. Finally make a pull request, so your contribution could be merged into master branch.

(or follow the github contribution guide)

this is for the first time only

 git clone git@github.com:YOURUSERNAMEHERE/yacy_net_homepage.git

or

 git clone git@github.com:YOURUSERNAMEHERE/yacy_search_server.git
  git config --global user.email "you@example.com"
  git config --global user.name "YOURUSERNAMEHERE"

for every next change

  git branch BRANCH-NAME
  git checkout BRANCH-NAME

where BRANCH-NAME is a name of your pack of changes

  git add .
  git commit -m "a short description of the change"
  git push --set-upstream origin BRANCH-NAME