airr-community/common-repo-wg

Recommendation 7: Do we want to recommend a specific technology (Thrift)?

bcorrie opened this issue · 7 comments

It seems like the second sentence in Recommendation 7 is out of place. It seems to me that this phrase would be more appropriate as one of the sub-clauses. For example, something like this:

Recommendation 7: The AIRR Working Groups should collaboratively develop operational criteria for compliant repositories. Operational Criteria should include implementation of:

  • standardized data elements with exact (computable) specifications;
  • a standardized data submission process (including standardized data and metadata formats);
  • a standardized set of queries;
  • a standardized, open source, data serialization framework for ensuring inter-operability, performance, maintainability, and evolution (e.g., Apache Avro, Thrift, and Protocol Buffers – the CRWG currently recommends Thrift).

It also seems a bit inappropriate for the CRWG to be recommending a specific technology (Thrift), in particular because such technologies change quickly. Listing example technologies would be fine, but recommending a specific technology in a high-level recommendation seems too specific??? This is not to say that somewhere else we couldn't specify what this technology is, but having it in the high-level recommendations doesn't feel right to me...

It is similar, my rewording is a bit subtle. It moves the data serialization discussion out of the recommendation proper and into a bullet. I would also suggest removing the mention of Thrift as the recommended technology from the high-level recommendation. Again, something like this:

Recommendation 7: The AIRR Working Groups should collaboratively develop operational criteria for compliant repositories. Operational Criteria should include implementation of:

  • standardized data elements with exact (computable) specifications;
  • a standardized data submission process (including standardized data and metadata formats);
  • a standardized set of queries;
  • a standardized, open source, data serialization framework for ensuring inter-operability, performance, maintainability, and evolution (e.g., Apache Avro, Thrift, and Protocol Buffers).

Note at the technology level, I think it is probably fine for the AIRR Community to recommend Thrift at a specific point in time (e.g. now) if we agree that is best. But I am not sure that it should be stated in these high-level recommendations that are more principle oriented (rather than implementation oriented).

If the WG doesn't endorse a specific technology, then the recommendations become too high-level. While that was okay for the initial recommendations draft, the next version I think needs to have implementation-oriented specifications because groups are wanting to start implementing repositories. Now if the AIRR community was a huge community, with different groups proposing different implementation ideas, then we would go through the guidelines -> implementations -> standards cycle, but I feel that is wasted effort for AIRR.

It's reasonable to update R7 as suggested by Brian and leave it at the principle level, with a different section of the WG recommendations that cover implementation specific requirements.

Hi Lindsay, did we want to update this recommendation as well?

I think the goal was to only modify those recommendations where there were specific issues brought up at the meeting in the context of the community vote.

Regarding this specific recommendation and the concerns you raise with it, I think the recommendation as written and voted on was understood to basically be a statement of things that need to be specified and a recommendation that they be specified in the future. Fleshing out the details of that specification is the work we will be continuing in the coming year. Once we have made sufficient progress, we will issue a set of recommendations that will supersede this specific recommendation anyway, so my feeling is we focus on moving forward and doing that rather than continuing to revise this recommendation. That's just my feeling.

OK, sounds good... I will leave the issue open as something that we should look at this year.

So, also think this can be closed as these discussions are under way...

Again, if no one speaks otherwise I will close this issue...

Brian