[ 
https://issues.apache.org/jira/browse/FINERACT-2572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18090326#comment-18090326
 ] 

Adam Monsen commented on FINERACT-2572:
---------------------------------------

LGTM.

Dev only should be fine. According to FINERACT-2572, as long as we don't *ship* 
[category X drivers|https://www.apache.org/legal/resolved.html#category-x] we 
are good. Meaning, they can't be in 
{{{}apache-fineract-bin-$VERSION.tar.gz{}}}, and they can only be in the Docker 
image if they're added similar to how you might install an OS package (e.g. 
{{{}apt-get install libfoo{}}}).

I just ran {{./gradlew srcDistTar binaryDistTar -x test}} and inspected 
{{{}fineract-war/build/distributions/apache-fineract-bin-1.15.0-SNAPSHOT.tar.gz{}}}.
 That tarball has {{fineract-provider-1.15.0-SNAPSHOT.jar}} and that jar has 
only {{{}BOOT-INF/lib/postgresql-42.7.11.jar{}}}. So I think the binary release 
will be clean.

To check the Docker image I built with {{./gradlew jibDockerBuild}} then 
started a container with

 
docker run --rm -it --entrypoint sh fineract
 
I poked around in the container and the only db driver I see is 
{{{}/app/libs/postgresql-42.7.11.jar{}}}.

> exclude license-incompatible libraries from distribution artifacts
> ------------------------------------------------------------------
>
>                 Key: FINERACT-2572
>                 URL: https://issues.apache.org/jira/browse/FINERACT-2572
>             Project: Apache Fineract
>          Issue Type: Improvement
>          Components: Build
>    Affects Versions: 1.14.0
>            Reporter: Adam Monsen
>            Assignee: Adam Monsen
>            Priority: Minor
>              Labels: beginner-friendly, licensing, mariadb, mysql
>             Fix For: 1.15.0
>
>
> Our fineract-provider war and jar [must not 
> include|https://www.apache.org/legal/resolved.html#prohibited] mysql and 
> mariadb client libraries.
> ▶️ Exclude spotbugs, mysql and mariadb libraries from everything we 
> distribute (e.g. binary release tarball and Docker image). Update 
> {{binaryDistTar}} task and anything that task uses/depends on to build the 
> binary release tarball.
> ▶️ Review {{war}} and {{bootJar}} tasks. Update only if/as necessary.
> ▶️ Create {{apache-fineract-bin-$VERSION.tar.gz}} and confirm it no longer 
> includes spotbugs, mysql and mariadb libraries.
> ▶️ Review Henri's advice in LEGAL-726 and modify generated Docker image 
> accordingly. Easiest/safest route (and Adam's recommendation): Exclude 
> spotbugs, mysql, and mariadb libraries. Suggest alternatives to run Fineract 
> with these 
> ([deprecated|https://cwiki.apache.org/confluence/display/FINERACT/FSIP-9%3A+Standardize+on+PostgreSQL])
>  RDBMSes, e.g. downloading the client libraries at runtime, building your own 
> Docker image, or using Docker volume mounts.
> ▶️ Confirm instructions in top-level readme to separately download and use 
> mysql and mariadb client libraries. Update as necessary.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to