Hi all,

as many of you know, the fbthrift and Apache Thrift projects share a common history to some extent, also the original contributor (Facebook) is the same in both cases and last mot least both are licensed under Apache 2.0 license. We do not only share a good portion of the history, both projects also do maintain a good relationship that already lead to certain pieces of code being contributed in (IIRC) both directions.

Hence, the question raised multiple times, if and how this process could be made smoother, while maintaining and respecting all the legal considerations that need to be considered. The discussion was brought to the attention of the legal-discuss mailing list and the recommendation was made to create a HOW-TO that covers the process.

To legally protect users using ASF code from IP-related surprises, the ASF acts very careful about the code that goes into ASF projects, i.e. code must be contributed to the ASF and CLAs must be signed. In the particular case of fbthrift fortunately we are in a good position, because the fbthrift project already requires CLAs to be signed before code is merged into fbthrift master.

In detail, the following points emerged from the debate:

--------------------8<--------------------------

⦁ Only use code that has been merged to fbthrift/master. This is to ensure that only properly licensed code with valid CLAs that has been accepted by fbthrift ever is merged into ASF code.

⦁ Clearly state that fbthrift source is incorporated in Apache Thrift source
   a) in the LICENSE file,
   b) in the svn/git commits and
c) in the source files themselves (by incorporating fbthrift's source header).

⦁ Ideally there should be a template to ensure a common format for b) and possibly also for c)

⦁ Inform fbthrift about code that is about to be copied into ASF code. This point requires some fine tuning abou the how / when / by whom / by what means / etc.

⦁ The code covered by this HowTo MUST come directly from the fbthrift code base, without any other extra modifications made that are not reflected in the fbthrift master branch. If that is not the case (example: someone forks fbthrift, makes changes and sends a pull request) this HowTo does not apply and cannot be used.

⦁ To keep things simple, legally safe and adhering to ASF practices, the Committer must diligently ensure that no licenses other than Apache 2.0 are involved in any code portion merged into Apache Thrift. This requirement should be made explicitly clear and thus added to the commit templates we are going to use as a constant reminder for any fbthrift code.

--------------------8<--------------------------

At this stage, this is nothing more than a proposal, based on input I got from several people at legal-discuss [2]. Any input you may come up with is appreciated, and we also need to refine certain details outlined above before we can even consider this to be ready for review. As the next step after completing that stage should be to sending our final draft to legal-discuss again to get their review, before we put it to use.

Have fun,
JensG

PS. There has been some discussion about whether NOTICE or LICENSE is more appropriate. After consulting [1] again my personal viewpoint is that LICENSE seems to be the right one.

[1] http://www.apache.org/dev/licensing-howto.html#mod-notice
[2] http://mail-archives.apache.org/mod_mbox/www-legal-discuss/201904.mbox/browser


Reply via email to