Uploaded image for project: 'Legal Discuss'
  1. Legal Discuss
  2. LEGAL-276

SOLR-8542 contribution and potential patent concerns

    Details

    • Type: Question
    • Status: Closed
    • Priority: Major
    • Resolution: Not A Bug
    • Labels:
      None

      Description

      (Had just posted this question to the legal-discuss@ mailing list and then discovered that there is this JIRA project also, it seems a more accessible alternative and so creating/repeating here.)

      Hello Everyone!

      The ticket and code:

      The Learning-To-Rank (LTR) contribution https://issues.apache.org/jira/browse/SOLR-8542 includes an implementation of the LambdaMART algorithm (https://github.com/apache/lucene-solr/blob/jira/solr-8542/solr/contrib/ltr/src/java/org/apache/solr/ltr/model/LambdaMARTModel.java) and also an implementation of the RankSVM algorithm (https://github.com/apache/lucene-solr/blob/jira/solr-8542/solr/contrib/ltr/src/java/org/apache/solr/ltr/model/RankSVMModel.java) with both implementations extending the abstract LTRScoringModel class (https://github.com/apache/lucene-solr/blob/jira/solr-8542/solr/contrib/ltr/src/java/org/apache/solr/ltr/model/LTRScoringModel.java).

      The RankSVM implementation class' javadoc provides a background reading link to the http://www.cs.cornell.edu/people/tj/publications/joachims_02c.pdf conference paper.

      The LambdaMART implementation class' javadoc provides a background reading link to the http://research.microsoft.com/pubs/132652/MSR-TR-2010-82.pdf Microsoft Research Technical Report.

      The contribution's README file (https://github.com/apache/lucene-solr/blob/jira/solr-8542/solr/contrib/ltr/README.md) suggests use of the liblinear library (https://www.csie.ntu.edu.tw/%7Ecjlin/liblinear/) for training of a machine learning model but the contribution itself is about use of a model and not about training a model.

      The question:

      It has been brought to my attention that there is https://www.google.com/patents/US20110208735 and also several other LTR patents held by Google, Microsoft, Yahoo, and others.

      Has anyone come across a similar situation before? What are the recommended and/or required steps that should be taken before the contribution is committed to the project repo and included in an official release? (I am the committer person currently assigned to the SOLR-8542 ticket and have reached out to the project PMC also already.)

      Thanks in advance for your input.

      Regards,

      Christine

        Issue Links

          Activity

          Hide
          bayard Henri Yandell added a comment -

          Thank you for the update Christine. Resolving.

          Show
          bayard Henri Yandell added a comment - Thank you for the update Christine. Resolving.
          Hide
          cpoerschke Christine Poerschke added a comment -

          From further (offline) discussion and consideration it has been clarified that the RankSVMModel.java and LambdaMARTModel.java classes which led to the potential patent concerns question here, those classes were actually unfortunately named i.e. as clarified by the latest bfa05b830dce07837f675745bfbd07814fe4794b commit the classes are a generic linear and a generic multiple additive trees model respectively.

          To correctly reflect the generic-ness of the models, with the latest commit

          If there are no further comments, concerns or suggestions here then I will close out this ticket (say) early next week and then proceed with the SOLR-8542 commit-to-master-branch efforts, followed by master-to-branch_6x-backporting efforts.

          Thanks for taking the time to read this ticket and update.

          Show
          cpoerschke Christine Poerschke added a comment - From further (offline) discussion and consideration it has been clarified that the RankSVMModel.java and LambdaMARTModel.java classes which led to the potential patent concerns question here, those classes were actually unfortunately named i.e. as clarified by the latest bfa05b830dce07837f675745bfbd07814fe4794b commit the classes are a generic linear and a generic multiple additive trees model respectively. To correctly reflect the generic-ness of the models, with the latest commit https://github.com/apache/lucene-solr/blob/jira/solr-8542/solr/contrib/ltr/src/java/org/apache/solr/ltr/model/LambdaMARTModel.java has been renamed to https://github.com/apache/lucene-solr/blob/jira/solr-8542-v2/solr/contrib/ltr/src/java/org/apache/solr/ltr/model/MultipleAdditiveTreesModel.java and https://github.com/apache/lucene-solr/blob/jira/solr-8542/solr/contrib/ltr/src/java/org/apache/solr/ltr/model/RankSVMModel.java has been renamed to https://github.com/apache/lucene-solr/blob/jira/solr-8542-v2/solr/contrib/ltr/src/java/org/apache/solr/ltr/model/LinearModel.java and both classes in their javadocs mention popular examples of those generic models i.e. RankSVM, Pranking, LambdaMART and Gradient Boosted Regression Trees (GBRT). If there are no further comments, concerns or suggestions here then I will close out this ticket (say) early next week and then proceed with the SOLR-8542 commit-to-master-branch efforts, followed by master-to-branch_6x-backporting efforts. Thanks for taking the time to read this ticket and update.
          Hide
          cpoerschke Christine Poerschke added a comment -

          Hi Roman Shaposhnik - thanks for the pointer to #3 in ALv2.

          Essentially, I think the question with the SOLR-8542 contribution is whether or not the contribution's RankSVM and LambdaMART implementations fall under https://www.google.com/patents/US20110208735 or any other patents.

          Show
          cpoerschke Christine Poerschke added a comment - Hi Roman Shaposhnik - thanks for the pointer to #3 in ALv2 . Essentially, I think the question with the SOLR-8542 contribution is whether or not the contribution's RankSVM and LambdaMART implementations fall under https://www.google.com/patents/US20110208735 or any other patents.
          Hide
          rvs Roman Shaposhnik added a comment -

          The way this is typically dealt with is via contributing entity having the rights to the patent and agreeing to #3. in ALv2: "Grant of Patent License."

          Show
          rvs Roman Shaposhnik added a comment - The way this is typically dealt with is via contributing entity having the rights to the patent and agreeing to #3. in ALv2: "Grant of Patent License."

            People

            • Assignee:
              Unassigned
              Reporter:
              cpoerschke Christine Poerschke
            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development