YaCy coding structure and best practices

Hi there, this is my first post. Is there a guide to the coding and package structure of YaCy, and are there best practices guides?

Hi, inonkps, and welcome here!

Not, afaik. But there is a javadoc generated code documentation and an API description.

@orbiter wrote the most of code, so he’s probably the one to answer.

BTW, are you Java developer? Do you think about joining YaCy developement?

There is a lack of active developers right now, so that would be really great.

I’m very well versed in Java, and yes, in general I am interested. How would I actively participate in the community?

1 Like

Hi, thats great!

There are many places to start. Probably the weakest point is fixing issues. I tagged all of them recently, they are well labeled and divided into bugs, enhancements ideas, developer / distribution issues, user interface, and then into sections by particular parts of yacy such as crawler, index, search or networking.

In my personal opinion, biggest problem of yacy now is a huge memory footprint, most probably caused by poor memory management/efficiency in Kelondro system, which stores the RWI database.

Annoying, and probably easy soluble is also the fact, the crawler doesn’t index the date of publishing of pages/articles/discussions, so /date search is quite unusable. [bugreport].

But also if you take just strategy ‘fix or improve whathever bothers me’, it would help all the others.

I’m not coder, but my usual strategy, when i dive into the guts of yacy, is to write remarks for myself, an make a documentation / forum posts out of them later, so the others don’t have to reinvent the wheel. YaCy is not that much well documented, and in places, it’s almost a blackbox for user. I try to work on documentation in my spare time, but any effort there would help as well, even minor.

There is some developer documentation, and some in the old wiki.

1 Like

Ok, I would love it if there was an introduction where I could get to know the people around this project. Myself, I am a developer out of Israel (yes, I know) and I am very passionate to learn more about this project, as I understand that decentralized search engines can become very useful. I manage a small saas, and have interests in academic research. I think that would really motivate me if I understand more about who’s been running the show so far. If not, I will also take a look at what you sent, and perhaps find my way there. Thanks a lot.

1 Like

history of project is quite well described here: https://community.searchlab.eu/t/yacy-vor-20-jahren/1543 (well, in german)