You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by James Lacey <ja...@gmail.com> on 2020/03/22 21:07:12 UTC

submitting D and JavaScript enhancements

I am working on a project where I need to run Thrift over WebSockets
between a server running on the local host and a client running in the
browser. In the course of the project, I developed some enhancements to the
current library. Besides simple bug fixes, I have never contributed to an
open source project before. I read the basic information on the website
about contributing, but I wanted to email this list before opening any
items in JIRA.

For my project, I wrote a server-side WebSocket transport for the D library
and fixed several compilation errors and warnings on Windows. I also made a
fix for a runtime ReferenceError in the JavaScript code generated by the
Thrift compiler. At the beginning of the project, I was evaluating both
Vala and D for the server portion. I added a Vala code generator to the
Thrift project and VAPI file generation to the c_glib build. The Vala work
isn't complete, but I was planning on finishing it up and possibly
submitting that as well.

I guess my first question is whether any of this work is of interest to the
wider community. If it is, how many pull requests should I submit? The D
and JavaScript work would be separate, but I was unsure whether I should
separate the D compilation fixes into a separate item. If I complete the
Vala work, would that be one PR or multiple?

Thanks,
James

Re: submitting D and JavaScript enhancements

Posted by Jens Geyer <je...@hotmail.com>.
Hi,

> Besides simple bug fixes, I have never contributed to an
> open source project before. [...] I guess my first question
> is whether any of this work is of interest to the wider
> community. If it is, how many pull requests should I submit?

What's not mentioned explicitly so much but everybody contributing should be 
aware of is that you need not only to be technically able, but also legally 
allowed to contribute the code. If you write code as an employee that might 
not necessarily be the case in certain countries, because the code is 
usually owned by the company you work for.

Once that is clear ...

In general, try to split PRs by language, which in most cases is easily 
doable.

Next, unless you have some really big feature like adding a new language to 
the project, try to keep each PR at a level where someone can realistically 
do a review on it. The exact granularity may vary, it makes usually sense to 
have a PR cover a specific problem completely, have a ticket for it (unless 
it is a real nobrainer) where there is a suitable description and maybe a 
test case that can be used to verify the solution. Getting too many minorish 
PRs to review is bad, but getting one big lump of code across 85 files 
and/or spanning three languages, labelled only "misc. bug fixes" or the like 
is not really good either.

A good rule of thumb is this: Assumed, the PR is squashed into one commit 
and let's pretend you do not know the patch (someone else wrote it), what 
would be your answer when asked to review it yourself?

For cases where a large feature is to be added, like adding Vala as a new 
language, it would be super awesome if there is at least one person out 
there that has enough knowledge and expertise using that language who can 
take over a reviewer part. Getting early feedback on especially larger 
features is almost always a valuable idea that contributes to the quality of 
the work. And it also can help answer the question whether a particular 
patch is of interest to the community, but you will get some feedback on 
that as well once you sent the PR. Speaking of that, even receiving 
rejection and finally closing a PR unmerged is something that just happens 
in real life sometimes, so don't worry about that too much.

BTW there is also a document on the web site giving a brief outline on what 
should be the minimum when adding new language bindings. Also, in that 
regard I might add that we currently have two build systems, an older one 
based on autotools and the other, newer one, based on Cmake.

Have fun,
JensG




-----Ursprüngliche Nachricht----- 
From: James Lacey
Sent: Sunday, March 22, 2020 10:07 PM
To: dev@thrift.apache.org
Subject: submitting D and JavaScript enhancements

I am working on a project where I need to run Thrift over WebSockets
between a server running on the local host and a client running in the
browser. In the course of the project, I developed some enhancements to the
current library. Besides simple bug fixes, I have never contributed to an
open source project before. I read the basic information on the website
about contributing, but I wanted to email this list before opening any
items in JIRA.

For my project, I wrote a server-side WebSocket transport for the D library
and fixed several compilation errors and warnings on Windows. I also made a
fix for a runtime ReferenceError in the JavaScript code generated by the
Thrift compiler. At the beginning of the project, I was evaluating both
Vala and D for the server portion. I added a Vala code generator to the
Thrift project and VAPI file generation to the c_glib build. The Vala work
isn't complete, but I was planning on finishing it up and possibly
submitting that as well.

I guess my first question is whether any of this work is of interest to the
wider community. If it is, how many pull requests should I submit? The D
and JavaScript work would be separate, but I was unsure whether I should
separate the D compilation fixes into a separate item. If I complete the
Vala work, would that be one PR or multiple?

Thanks,
James