Hi Wayne,

Your confidence may be misplaced :( . Sorry to disappoint!

Let me first be clear: this "fork" is not a Fork in the traditional 
undesirable sense of the word. OpenJ9 will NOT be doing extensive OMR 
development solely for the benefit of OpenJ9. This "fork" is used to 
smooth the integration story between OMR and OpenJ9:
        1) to provide a way for OpenJ9 to test and soak Java inspired OMR 
changes in a Java environment (since there is currently no way to run Java 
tests at the language agnostic OMR project)
        2) so that OpenJ9 can tag even OMR commits in ways relevant to 
OpenJ9 (and actually OpenJDK) rather than in ways only relevant to OMR
        3) to provide a way for the OpenJ9 to cherry-pick fixes for Java 
test problems without necessarily taking new OMR feature commits, since it 
can take a while to do a full round of JVM release testing
                Tongue twister thought experiment: how does OpenJ9 fix a 
Java test problem it inherits from OMR if that fix isn't or cannot be made 
available in the OMR release that the OpenJ9 release took?
                (side grumble: I hate having to defend a position starting 
from the premise that OMR could break one of its consumers *sigh*)

Also, due to the "special" nature of these two projects and their current 
state:
        4) we also need to continue to make co-dependent (e.g. 
refactoring) changes across OMR and OpenJ9 (as we continue to augment OMR 
components and refine the OMR API). It will be easier to manage these 
kinds of changes at OpenJ9 if we can build and test them "locally" in an 
OpenJ9-specific repository while, at the same time, working with the OMR 
community on the proper OMR side of the implementation.

Don't get me wrong though, we don't want #4 to be the natural order of 
things. As we better isolate OpenJ9 from Eclipse OMR and get closer to the 
point where an Eclipse OMR "release" makes more sense, this kind of thing 
will become less frequent and the OpenJ9 pressure will *always* be on 
minimizing the difference between our local "fork" and the proper OMR 
repository, but I still think #1-3 will be important for OpenJ9 and OMR to 
operate successfully. Other projects that use Eclipse OMR right now are 
also using this kind of model, but tend to maintain very few (in many 
cases, no) additional changes, which is the preferred model. OpenJ9, 
however, has a lot more touch points, significantly more testing, and a 
larger and more active community than these other projects (hopefully 
that's a point in time statement).

I don't think it's as simple as coordinating OpenJ9's release schedule to 
the release schedule for OMR, especially since a lot of OpenJ9's 
activities will be driven by another large community we don't control 
(OpenJDK). We may end up with a coordinated schedule eventually anyway, 
but I'm not sure it's a great precedent to set for OMR, a project that 
aims to be integrated with many other large and complicated projects with 
their own (as a group, uncoordinated) release schedules.

I guess OMR could do daily releases too, but even that wouldn't address 
#1-#3.



Mark Stoodley
 8200 Warden Avenue

Senior Software Developer
 Markham, L6G 1C7
IBM Runtime Technologies
 Canada
Phone:
+1-905-413-5831
 

e-mail:
[email protected]
 

We cannot solve our problems with the same thinking we used when we 
created them - Albert Einstein
 
 





From:   Wayne Beaton <[email protected]>
To:     Discussions for new Eclipse projects <[email protected]>
Date:   2017/07/31 09:32 PM
Subject:        Re: [incubation] continuous integration of another 
Eclipseproject...
Sent by:        [email protected]



It pains me to disagree with Gunnar in a public forum :-)

CQs are not required in theory or in practice in order to consume the 
artifacts of another Eclipse project. We would require a CQ if you chose 
to fork the code of another Eclipse project, but I'd probably spend a lot 
of time trying to talk you out of creating a fork (thereby making it far 
more trouble than it's worth). I'm confident that you're not talking about 
forking anything.

OMR doesn't produces binary builds AFAIK. It is the nature of the project 
that all it produces is source. The Eclipse Development Process tends to 
assume that projects produce some sort of binary output based on our 
source code, so we're in a bit of a grey area. Normally, one project can 
only include officially released (via release review) bits from another 
Eclipse project.

OpenJ9 can just pull from OMR Git repositories as part of its own build. 
No CQs or explicit tracking will be required. 

Given my assumption that OMR doesn't produce any sort of typical build, I 
believe that the correct course of action is to coordinate releases (and 
release reviews) for OMR and OpenJ9. For OMR, the release event may just 
be a tag in the repository.

Best effort should be taken to provide some sort of pointer back to the 
OMR project in the bits that are pulled from that project, so that, e.g. a 
consumer can have a reasonable chance of finding their way back to the 
source. This might simply take the form of a sentence that describes the 
relationship in the OpenJ9 project's contribution guide.

I hope that at least some of this makes sense.

Wayne



On Fri, Jul 28, 2017 at 4:45 AM, Gunnar Wagenknecht <
[email protected]> wrote:
> If you consume (and redistribute) any Eclipse project, you inherit their 
dependencies. Thus, there is no need to file CQs again.However, in theory 
you need a CQ for the Eclipse OMR dependencies.

Re-reading my own text breaks my head. :)

Clarification: no need to file CQs for all of OMR's dependencies. In 
theory you need just one CQ to the Eclipse OMR project itself. However, 
the latter hasn't really been enforced across the board.

-Gunnar


_______________________________________________
incubation mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
https://dev.eclipse.org/mailman/listinfo/incubation



-- 
Wayne Beaton
Director of Open Source Projects
The Eclipse Foundation_______________________________________________
incubation mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
https://dev.eclipse.org/mailman/listinfo/incubation




_______________________________________________
incubation mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/incubation

Reply via email to