-
1. Re: Narayana LRA rehome
kenfinni Jan 20, 2020 9:46 AM (in response to emilyj)Emily,
Michael Musgrove and I discussed this about 18 months ago, if I recall correctly, back when SmallRye was first formed.
Once Michael explained that the LRA implementation for MicroProfile was tightly coupled to Narayana versions we decided it was best to remain where it was as opposed to creating a project dependency nightmare.
In addition, not all MicroProfile implementations reside within SmallRye. The MP REST Client implementation was moved to RESTEasy about 6 months ago as it was a "better fit" than being isolated from the JAX-RS implementation. Where it makes sense, implementations of MicroProfile specifications will reside with a particular project instead of SmallRye
Ken
-
2. Re: Narayana LRA rehome
mmusgrov Jan 20, 2020 10:38 AM (in response to kenfinni)Yes I agree. My concern about moving the code out of the narayana code base was twofold: the effort involved and that it would slow us down too much for little benefit.
Note that the implementation is a thin'ish layer on top of Narayana ArjunaCore. It's also worthwhile pointing out that the client API is private to the implementation - ie it is not part of the spec. We use it for the participant JAX-RS filters to interact directly with our coordinator implementation via REST calls (again this is not part of the "official" spec).
I am still not convinced that the benefits of such a move before a first release are worthwhile and could impact achieving the initial specification. Our plan was to get version 1 out the door and minimise anything that would slow us down.
-
3. Re: Narayana LRA rehome
emilyj Jan 21, 2020 9:42 AM (in response to mmusgrov)Thank you Ken and Michael for your reply!
As for the dependencies, I had a quick look the pom.xml of LRA client, which has not much dependency on other parts of Narayana. Do you mean the LRA coordinator has dependency on ArjunaCore.
By the way, I am not challenging the MicroProfile LRA spec. I am just trying to investigate how we can collaborate or share this MP LRA implementation.
If rehoming is not possible at the time being, is relicensing the LRA part Apache v2 an option?
Thanks
Emily
-
4. Re: Narayana LRA rehome
kenfinni Jan 21, 2020 9:48 AM (in response to emilyj)If I recall it wasn't so much the dependencies in the LRA client itself, but that Narayana wants to be able to release a distribution that includes the LRA Client. So if the implementation lived in SmallRye then the release process would be unnecessarily complicated because Narayana core would need to be released, then the SmallRye LRA Client could be released, and then a Narayana distribution release is done. It's just easier if it's all in Narayana.
As for re-licensing, that's something the Narayana team, and possibly Legal, would need to discuss and agree
Ken
-
5. Re: Narayana LRA rehome
mmusgrov Jan 22, 2020 6:40 AM (in response to emilyj)You are right that the internal client API is mostly independent of the rest of the LRA implementation since it is implemented using REST calls.
We only have 1 outstanding issue Issues · eclipse/microprofile-lra · GitHub to resolve before we can produce a spec/API GA MP-LRA release and then we will finalise the implementation. Once that is ready we can invest some effort in cleaning up the client and making it generally available. I would prefer to go down this route since once GA is released we will know that the client is communicating with a stable API.
-
6. Re: Narayana LRA rehome
emilyj Jan 22, 2020 9:16 AM (in response to mmusgrov)mmusgrov wrote:
You are right that the internal client API is mostly independent of the rest of the LRA implementation since it is implemented using REST calls.
We only have 1 outstanding issue Issues · eclipse/microprofile-lra · GitHub to resolve before we can produce a spec/API GA MP-LRA release and then we will finalise the implementation. Once that is ready we can invest some effort in cleaning up the client and making it generally available. I would prefer to go down this route since once GA is released we will know that the client is communicating with a stable API.
What do you mean by saying "making it generally available"? Do you mean moving the client impl to SmallRye or somewhere else? In the meanwhile, is it possible to update the license to Apache v2?
Thanks
Emily
-
7. Re: Narayana LRA rehome
mmusgrov Jan 22, 2020 11:18 AM (in response to emilyj)I mean making sure it is not tied to Arjuna and making sure the license is correct (Apache v2 seems reasonable). If we do that then I don't think moving it to a different repo is essential.
-
8. Re: Narayana LRA rehome
emilyj Jan 30, 2020 6:02 AM (in response to mmusgrov)Hi Michael,
mmusgrov wrote:
I don't think changing release has a strong dependency on whether GA is released or not. If the license is updated to Apache v2, more contributors can join in to help along the GA. Thoughts?
Thanks
Emily
-
9. Re: Narayana LRA rehome
tomjenkinson Feb 20, 2020 4:02 AM (in response to emilyj)From what I understand, the relicencing you are requesting seems to be effectively for narayana/rts/lra/lra-client at master · jbosstm/narayana · GitHub and narayana/rts/lra/lra-service-base at master · jbosstm/narayana · GitHub rather than the whole of narayana/rts/lra at master · jbosstm/narayana · GitHub - is that correct? And the purpose is to allow connection to an out of process Narayana LRA implementation (but the licence of that is not something you are concerned about)?
If that is the case and regarding progress to the GA, from my quick review of those specific modules I would mention there appears to have been very few material changes recently, but maybe mmusgrov is aware of major changes expected in those modules required for the GA?
-
10. Re: Narayana LRA rehome
emilyj Feb 20, 2020 7:20 AM (in response to tomjenkinson)tomjenkinson wrote:
From what I understand, the relicencing you are requesting seems to be effectively for narayana/rts/lra/lra-client at master · jbosstm/narayana · GitHub and narayana/rts/lra/lra-service-base at master · jbosstm/narayana · GitHub rather than the whole of narayana/rts/lra at master · jbosstm/narayana · GitHub - is that correct? And the purpose is to allow connection to an out of process Narayana LRA implementation (but the licence of that is not something you are concerned about)?
If that is the case and regarding progress to the GA, from my quick review of those specific modules I would mention there appears to have been very few material changes recently, but maybe mmusgrov is aware of major changes expected in those modules required for the GA?
What your assumption is correct. With the relicense to Apache v2, this will open the door for us to consume and contribute in the Narayana's implementation of MicroProfile LRA specification.
Thanks,
Emily
-
11. Re: Narayana LRA rehome
tomjenkinson Feb 20, 2020 8:19 AM (in response to emilyj)Just to be clear, if my assumption was correct them most of the implementation would remain LGPL v2.1 but it would just be lra-client and lra-service-base that changed.
-
12. Re: Narayana LRA rehome
emilyj Feb 27, 2020 4:54 AM (in response to tomjenkinson)Hi Tom,
Yes, your assumption is correct.
Thanks
Emily
-
13. Re: Narayana LRA rehome
tomjenkinson Mar 2, 2020 11:33 AM (in response to emilyj)Just to mention with our discussions moving to google groups, please can further discussion take place over here: https://groups.google.com/forum/#!forum/narayana-users