Fess replaces a default search engine with Fesen

Background
Elasticsearch will changes a license to SSPL or Elastic license, so it’s not OSS license… But we want to continue to provide Fess under Apache license! Therefore, we decide to replace a default engine in Fess with Fesen. Fesen is a product forked from Elasticsearch. We believe this change does not affect Fess users.

For Fess users
No changes! You can use Fess with Elasticsearch, and Fess will support a future version of Elasticsearch. So, many users will not notice this change.

For Fess developers
The problem of the license change will affect us because Fess uses and contains libraries of Elasticsearch. This dependency means Fess needs to change Apache license to SSPL. Moreover, we cannot create several libraries, such as elasticsearch-cluster-runner, which depends on Elasticsearch libraries. Therefore, we need to develop our search engine and replace Elasticsearch with Fesen to avoid the license problem.

Summary
This replacement is an internal change. Fess users can also use Fess with Elasticsearch in future releases.

Thanks for your work. Amazon is planning to create a Fork of latest Elasticsearch and Kibana from Elastic and provide it under Apache 2.0 license - with improvements and security and maintenance fixes in future.

Maybe it´s better to use their open source project of Elasticsearch and Kibana as “fesen”, that you dont have to create so much security and maintenance fixes to your own fork “fesen”.

It´s also nice for the Docker Images to use Amazon Open Source Elasticsearch and Kibana.

“We are announcing today that AWS will step up to create and maintain a ALv2-licensed fork of open source Elasticsearch and Kibana” - https://aws.amazon.com/de/blogs/opensource/stepping-up-for-a-truly-open-source-elasticsearch/

Amazon will release it in the next weeks…

As mentioned in my post, Fess users will use Fess with elasticsearch in a production environment. So, they do not need to concern these problems. Currently, since it’s unclear about AWS elasticsearch, we focus on elasticsearch provided by elastic.

In Japan, many companies and government offices use Fess as our commercial product. So, we must provide security and maintenance fixes on our products, including Fess, Fesen, and others. Therefore, we do not have any concerns about the maintenance.

Anyway, Fess users can use Fess with elasticsearch. Fixes of elasticsearch will be provided from elastic.

2 Likes

Thanks a lot for your answer. Will there be Docker Support in future? Are you going to use your own “Fesen” as base for Elasticsearch, or will the user have the choise to decide between Elastic´s Elasticsearch or “Fesen”?

We may create a docker image for Fesen in the future, but I’m not sure when we make it. So, users will use the only elasticsearch in their production environment.

1 Like

In the past and it appears currently that FESS is closely coupled with Elasticsearch to a degree that I haven’t been able to get FESS working with a remote / networked Elasticsearch without heavy customization.

Specifically the custom dictionaries have to reside on the Elasticsearch system, see Restoring from Elasticsearch snapshot created on different platform · Issue #2050 · codelibs/fess · GitHub

Therefore is it possible to use a remote / networked elasticsearch cluster with Fess, and if so please can you clearly document how to do this (with reference to the issue I mentioned above) please?

We have no plan to support cloud-managed elasticsearch. If you need to support it, please contact Commercial support.

Are you referring to Elastic Cloud or just any version of elasticsearch that runs on a different machine to the fess server?

I am just trying to decouple elasticsearch from fess so that we can scale / secure / maintain elasticsearch as a discreet component rather than having fess and elasticsearch bundled into a huge monolithic server. I’m not really sure how anyone can run a reliable and secure fess instance in this way?

In summary you are saying the only way to decouple fess from elasticsearch is to obtain commercial support?

I think your comment contains several topics.

  1. Fess and Elasticsearch can run on separate servers. If you deploy only Fess to Server A and Elasticsearch with plugins to Server B, it works.

  2. Elasticsearch plugins provided by Codelibs are required. To improve search quality and features, Fess must use them.

  3. Managed elasticsearch, such as elastic cloud, is not supported. As described above, Fess needs plugins. If plugins are installed into managed elasticsearch, Fess works.