On Wed, Jul 10, 2019 at 8:43 AM Isaac Kamga <[email protected]> wrote:

> Hello devs,
>
> Just thought I should remind the community about why these migrations are
> necessary.
>
> The rationale behind migrating the ORM from Hibernate is that Hibernate
> ORM's license[1] falls under the ASF's Category X[1].
>
> Not complying to the ASF's licensing requirements is a sure-fire method to
> never getting an official release for Fineract CN.
>
> Does anyone think there's another way around these ?
>

I doubt it. I think Hibernate is, unfortunately (I do actually agree), a
non-starter and not a realistic option for Fineract at the ASF.

FYI I recently looked into this kind of topic in
https://issues.apache.org/jira/browse/LEGAL-462, which you may find
interesting to glance at in this context. There are, numerous, similar
other JIRA issues if you search for "LGPL" on https://issues.apache.org/jira
.


> Cheers,
> Isaac Kamga.
>
> [1] https://hibernate.org/community/license/
> [2] https://www.apache.org/legal/resolved.html
>
> On Tue, Jul 9, 2019 at 11:08 PM Victor Manuel Romero Rodriguez <
> [email protected]> wrote:
>
>> Hello
>>
>> I will give my own opinions, by the way I don't work for any company
>> mentioned here :)
>>
>> For short:
>>
>> *I will keep using using Hibernate because it has advantages over the
>> others ORM listed. *
>>
>>
>> TL/TR
>>
>> The value of the core are the transactions recorded with confidence in a
>> Structured Database, the reliability of the Database is important,
>> customers can have their balances, their loans, investments, charges. The
>> audit guys will be happy to find in our journals the expected information.
>> The authorities will receive the reports that extract the information.
>>
>> Example:
>>
>> I got the source code of Fineract/Fineract-CN/Mifos and for some reason
>> the DataTable is not enough so then I need to modify the code... but I
>> don't not anything about the ORM technology,wait a minute I have some bucks
>> to pay a course at:
>>
>> Udemy (search results)
>>
>> 252 results for hibernate
>> 0 results for EclipseLink
>> 0 results for OpenJPA
>> 0 results for DataNucleus
>>
>> Ok, well now it is time to find some references in Google search engine
>> and learn about the ORM technology that Fineract/Fineract-CN/Mifos X uses
>>
>> Search results
>>
>> 2,350,000 hibernate
>> 138,000 OpenJPA
>> 74,900 EclipseLink
>> 15,400 DataNucleus
>>
>> Ok let's try to find the source code, have some references, samples (ok
>> just to learn, not to reuse because we can keep that in mind and later
>> affect the Open Source).
>>
>> Github (search results)
>>
>> 44,123 repositories hibernate
>> 478 repositories Eclipselink
>> 108 repositories OpenJPA
>> 142 repositories datanucleus
>>
>> After that I have touched the code and something goes wrong... yes, the
>> dev list of the ORM Technology is the first option, but what about to ask
>> to everybody at
>>
>> StackOverflow (search results)
>>
>> 78,304 Hibernate
>> 500 datanucleus
>> 500 openjpa (coincidence?)
>> 500 eclipselink (OK NO, StackOverflow has something strange in its search
>> engine)
>>
>> I consider that if the ORM technology is a MUST to be migrated, the ORM
>> team must be invited, involved, exchange experiences to feel the same pain
>> and help because it will benefit both projects.
>>
>> Regards
>>
>> Victor
>> On 7/1/19 1:47 a. m., Awasum Yannick wrote:
>>
>> Hi Graham,
>>
>> +1 EclipseLink as its supported by spring 4.x and latest spring versions
>> and compatible with Apache license. Our upgrade to Spring 5.x or 6.x will
>> be easier.
>>
>> We dont want to build and maintain our own integration of OpenJPA with
>> Spring 5 or 6 in the future.
>>
>> On Mon, Jul 1, 2019 at 7:40 AM Juhan Aasaru <[email protected]> wrote:
>>
>>> Hi!
>>>
>>> Good job starting the discussion.
>>> Based on your arguments I also see EclipseLink as the best solution.
>>> I also found one more argument for using EclipseLink - it supports
>>> multi-tenancy:
>>>
>>> https://www.eclipse.org/eclipselink/documentation/2.7/solutions/multitenancy.htm#CHDBJCJA
>>>
>>> Juhan
>>>
>>> Kontakt Ebenezer Graham (<[email protected]>) kirjutas
>>> kuupƤeval E, 1. juuli 2019 kell 07:09:
>>>
>>>> Hello Devs,
>>>>
>>>> I have started this thread to discuss the JPA implementation to adopt
>>>> as we work towards making Fineract CN Apache compliant as well as to ensure
>>>> that we are all aligned as a community.
>>>>
>>>> I am currently working on the migration to OpenJPA as my GSoC project.
>>>> However, a number of red flags as well and requests from other community
>>>> members has made it critical to start this thread.
>>>>
>>>> As most of you know, we can't use Hibernate as it's not compliant
>>>> therefore, it's essential that we migrate to an equally good ORM.
>>>>
>>>> *Our options:*
>>>> 1. EclipseLink - EPL 1.0 & BSD
>>>> 2. OpenJPA - Apache 2.0
>>>> 3. DataNucleus - Apache 2.0
>>>>
>>>> Not recommended
>>>> 4. iBatic - Apache 2.0 (still functional but retired
>>>> https://ibatis.apache.org/)
>>>> 5. TopLink - CDDL (category B license, and simply extend EclipseLink)
>>>>
>>>> I used the following criteria in the following order of priority.
>>>> 1. License
>>>> 2. Implementation's performance with respect to PostgreSQL
>>>> 3. Support in Spring as well as ORM Documentation
>>>> 4. Project Maturity
>>>>
>>>> Right off the bat, I suggest the adoption of EclipseLink
>>>> <https://wiki.eclipse.org/EclipseLink> based on new insights
>>>> discovered, re-evaluation of our options, and compatibility issues
>>>> discovered whiles migrating to OpenJPA.
>>>>
>>>> *Why EclipseLink?  *
>>>> According to JPA Performance benchmark -
>>>> http://www.jpab.org/All/All/All.html EclipseLink is the Most Efficient
>>>> ORM (amongst our valid options) when persisting to PostgreSQL and even
>>>> outperforming Hibernate.
>>>>
>>>> Performance Summary (with respect to Postgres)
>>>> EclipseLink - 10.5
>>>> Hibernate -  9.1
>>>> OpenJPA - 6.5
>>>> DataNucleus - 6.0
>>>>
>>>> *Issues with OpenJPA.*
>>>> 1. Spring dropped support back in 2017 and requests to resume support
>>>> was declined earlier this year
>>>> https://github.com/spring-projects/spring-framework/issues/20584.
>>>> There is no guarantee when it will be back in newer versions of Spring.
>>>> Spring 5 for instance no longer includes the OpenJpaVendorAdaptor.
>>>> Therefore, future upgrade of Fineract CN will become an issue.
>>>>
>>>> 2. OpenJPA has been lagging behind - the stable version for spring
>>>> supports up to JDK 1.6 (although v3.0.0+ is working to resolve this issue).
>>>>
>>>> 3. Bugs and compatibility issues with other libraries. I have
>>>> first-hand experience with it and it's not pleasant.
>>>>
>>>> *Why not DataNucleus?*
>>>> It is not supported in Spring 4.x and its implementation will require
>>>> us to completely heavily refactor the JPA Layer in Fineract CN on top of
>>>> that, it's the slowest.
>>>>
>>>> Looking forward to your recommendations and your own evaluations.
>>>> --
>>>>
>>>> *Regards*
>>>>
>>>

Reply via email to