Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [technology-pmc] [microprofile-wg] Release Approval forMicroProfile GraphQL 1.1

The MicroProfile working group was formed late last year to provide oversight for the specifications developed by the MicroProfile project. The MicroProfile project has been adopted by the MicroProfile working group as a specification project. Per the MicroProfile Working Group charter, the Steering Committee performs the duties of a Specification Committee as defined by the Eclipse Foundation Specification Process (EFSP). There is no requirement that a top level project be dedicated specifically to a working group so the MicroProfile project continues to operate under the guidance of the Eclipse Technology PMC.

The EFSP exists to manage how intellectual property rights flow through a specification. Without this management of intellectual property rights, there is a very real risk legal risk to specification implementers.

Unfortunately, there are few ways in which specification projects just aren't the same as software projects and the EFSP was drafted to address those differences. The short version is that MicroProfile has hit the big time and--as a provider of specifications--needs to take the management of intellectual property grants seriously. Unfortunately, you do need to care about the process.

As drafted, the EFSP requires that specification projects engage in a release review (with successful ballot approval from the specification committee) for all releases. This includes service releases. The basic reasoning at the time the EFSP was drafted was that even very minor changes like the addition of a comma could change meaning in a way that causes a specification to implicate additional intellectual property and the only way to be sure was to engage in the review process so that the various specification committee members could have an opportunity for their legal teams to have some say in the matter.

We've come to realize that this was a mistake. Or at least more heavily handed than is necessary. The specification process is still relatively new and as we roll it out to additional working groups and otherwise use it in anger, we're finding that it needs to be adjusted. So we have started the ball rolling to change the specification process and exclude service releases from the need for review, ballot, or any specific ceremony, so long as the condition is met that the service release does not implicate any additional intellectual property. This will take some effort as there are legal implications, but I am hopeful that we'll have it sorted it out in time to ask the board for approval in their late April meeting. The focal point for this effort is here.

Given that we've decided that the requirement for a release review with a specification committee ballots is overkill for a service release that implicates no additional intellectual property, the EMO will relax this requirement while we sort it out. 

So the issue is that it doesn't matter whether or not it is a service release: the process requires a review for all releases. I believe that the previous paragraph addresses this. However, the MicroProfile GraphQL specification has not yet engaged in a release review since the adoption of the EFSP and so the legal magic that manages the intellectual property grants has not occurred at all yet. I believe that you've sorted this out with the MicroProfile working group on their mailing list.

I am grateful that Emily has taken the time to understand the specification process and has taken on the responsibility to help her project committer colleagues navigate it. As a member of the MicroProfile Steering Committee, Emily shares voting responsibility, but also has a voice on the committee whose successful ballot as part of release review is required to ratify specifications. 

I am hopeful my explanations here have helped you understand why we have the requirements that we do and appreciate Emily's critical role in making industrial quality MicroProfile specifications successful.

Wayne

On Wed, Mar 10, 2021 at 1:58 PM Werner Keil <werner.keil@xxxxxxx> wrote:

Philip,

 

Glad, you are willing to do a service release of MicroProfile GraphQL even without functional changes, that is something the MP JWT project was unwilling to do despite several flaws and issues in the latest spec, but it Chose to wait till Maybe upgrading to Jakarta EE 9 or 10 before they fix them. Happy to see, at least one or the other project makes an exception from that.

 

Not sure, if Emily has time and capacity for yet another „hat“ like actively participating in your spec? ;-)

The Steering Committee doesn’t vote on your spec, that is done by the Technology PMC since MicroProfile does not have any top Level project of its own or a dedicated Specification Committee like Jakarta EE.

While IBM certainly has a couple of People on the Technology PMC (https://projects.eclipse.org/projects/technology/who) I don’t see Emily there either, so she’s only subscribed to the list like myself in this case (also because I am committer and Project lead of at least two other Technology Projects)

 

Cheers,

Werner

 

Von: Phillip Kruger
Gesendet: Mittwoch, 10. März 2021 18:39
An: Microprofile WG discussions
Cc: Technology PMC
Betreff: Re: [technology-pmc] [microprofile-wg] Release Approval forMicroProfile GraphQL 1.1

 

> I am not going to hold you off the current release

 

Are you (Emily) the gatekeeper we need to pass ? Or are you talking on behalf of the Steering Committee ?

Are `you` in your sentence above me (Phillip) ? As I am speaking on behalf of the MicroProfile GraphQL Workgroup.

 

This is not a debate between minor and service release. This is an issue of trust. Now, I get that you do not trust me, and I am fine with that, but, like I said, I am speaking on behalf of the MicroProfile GraphQL Workgroup, of which IBM has

a representation (Andy) that agrees that this is (technically) a service release. So you need to check in with your representation. If you do not trust your own representation, then join the MicroProfile GraphQL Workgroup yourself and take part.

 

We (MicroProfile GraphQL Workgroup) have already concluded that this is a service release. You either trust, or have a representation that you trust, or you take part yourself.

 

Now, I am sure you can agree that taking part yourself in all workgroups is just not a scalable solution for the Steering Committee, and that is why you should, as a vendor, have some representation on the Spec Workgroup that you trust.

 

If a Spec Workgroup have to transfer the context of months worth of discussion and work to the Steering Committee on every release every time, we (MicroProfile) will halt to a standstill. That is not a scalable solution. The Steering Committee should not be the police. The Steering Committee should help to enable the induvidual workgroup to perform optimally and trust them.

 

> Maybe when you perform a follow up release, you can add the release note then?

 

Me (Phillip) will not be doing any more releases. But you can make sure your representation knows about your requirement.

 

Cheers

 

 

 

On Wed, Mar 10, 2021 at 5:31 PM Emily Jiang <emijiang6@xxxxxxxxxxxxxx> wrote:

Since this is a special case (debating between minor and service release), I am not going to hold you off the current release. Maybe when you perform a follow up release, you can add the release note then?

 

Thanks

Emily

 

On Wed, Mar 10, 2021 at 1:54 PM Phillip Kruger <phillip.kruger@xxxxxxxxx> wrote:

 

 

On Wed, Mar 10, 2021 at 2:54 PM Phillip Kruger <phillip.kruger@xxxxxxxxx> wrote:

If you want to have context, then either check in with your representation in the workgroup (in the case of OpenAPI there is none for any vendor but Red Hat) or read the comments in the issue provided: https://github.com/eclipse/microprofile-graphql/issues/212

 

This is technically a service release.

 

On Wed, Mar 10, 2021 at 1:40 PM Emily Jiang <emijiang6@xxxxxxxxxxxxxx> wrote:

Hi Phillip,

 

Thanks for sharing your thoughts! From what the project plan on GraphQL 1.2, it states "Other changes include a fix in the TCK to allow any order of properties when describing a default value in the schema and a fix in the API to allow `@NonNull` on parameter". It indicates it is not just a TCK. It also allows `@NotNull` on parameters. Even if it is just a TCK fix, it is useful just to say it is to fix a TCK bug and bring the project aligning with MPSP, so that in the future you understand why you did a minor release instead of a service release.

 

The reason for adding this in the spec is that when end users or implementors are trying to find out what is included in GraphQL 1.2, they can just look at the spec instead of trolling through some other places to find out. In MicroProfile, the feedback we consistently got is to improve the documentation and gather information into one place. I understand taking shortcuts seems running faster. However, this might confuse end users. When you do another release of GraphQL 1.3 or 2.0, in the spec, there is no mention that GraphQL 1.2 was released at all.

 

Once you have done a successful release under the EFSP process, the future releases are much easier. Besides, we are continuing our pursuing lightweight service release process.

 

By the way, I disagree this has something to do with "People over Process". I think it is useful for end users and implementators.

Hope this helps!

 

Thanks

Emily

 

On Wed, Mar 10, 2021 at 10:26 AM Phillip Kruger <phillip.kruger@xxxxxxxxx> wrote:

This is really a service release, with no impact on the user or implementors (both implementations has already tested against this)

As you know, due to the Eclipse process, we could not do a service release, so, as agreed we bumped the version to a 1.1 even if there is no new functionality, no breaking changes etc.

 

I think we (MicroProfile) need to be careful that our process is not busy killing any progress and inovation. We have already lost a lot of momentum in most specs due to the "waiting for the workgroup" and now the process is making it difficult to get going again.

 

I want to point everyone to the agile manifesto, specifically people over process.

 

I have worked in enough businesses where too rigid process enforment killed any inovation and progress and I think we need to be careful in how we proceed.

 

I understand that process is needed, but this is an exceptional case where we need a small fix, and the current effort is just not worth it, and anyone that cared to take part in this workgroup (and the same argument for the OpenAPI workgroup) would know that.

 

So, back to what is needed to get this out. Are you saying that I need to add a part in the actual spec document, that states that we previously had an error in our TCK that is now fixed ? And that we forgot to make a annotation available on a parameter, and that is now fixed ? That seems unnecessary.

 

Let me know.

 

 

On Tue, Mar 9, 2021 at 11:35 PM Emily Jiang <emijiang6@xxxxxxxxxxxxxx> wrote:

You need to create a release note to document the changes between 1.1 and 1.0, so that the end users or implementors are clear on what are the differences between the releases. You can find examples from other spec changes, e.g. MicroProfile Config 2.0 release note.

 

Thanks

Emily

 

On Tue, Mar 9, 2021 at 8:40 PM Phillip Kruger <phillip.kruger@xxxxxxxxx> wrote:

We have staged MicroProfile GraphQL 1.1 final release with this release plan and created this issue listing the various release artifacts. Please can you approve this release?

 

Thanks

Phillip on behalf of MicroProfile GraphQL

_______________________________________________
microprofile-wg mailing list
microprofile-wg@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/microprofile-wg



--

Thanks
Emily

_______________________________________________
technology-pmc mailing list
technology-pmc@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/technology-pmc

_______________________________________________
technology-pmc mailing list
technology-pmc@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/technology-pmc



--

Thanks
Emily

_______________________________________________
technology-pmc mailing list
technology-pmc@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/technology-pmc

_______________________________________________
microprofile-wg mailing list
microprofile-wg@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/microprofile-wg



--

Thanks
Emily

_______________________________________________
microprofile-wg mailing list
microprofile-wg@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/microprofile-wg

 

_______________________________________________
technology-pmc mailing list
technology-pmc@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/technology-pmc


--
The Eclipse Management Organization | Eclipse Foundation

Back to the top