IP Library Granted Patent US 9,128,801
Granted Patent B2
US 9,128,801 · App. 13/962,122 · Granted Sep 8, 2015

Method and system for scoring a software artifact for a user

Inventors: Brian Edward Fox (Goffstown, NH); Joel Orlina (Silver Spring, MD)
Assignee: Sonatype, Inc.
G06F8/70G06F8/36G06F8/71G06F8/77
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,128,801
App. No.
13/962,122
Granted
Sep 8, 2015
Kind
B2
Abstract

A software artifact is scored for a user. Metadata associated with an artifact about project activity of how active an artifact project is to which the artifact belongs, a security risk indicated in the metadata of the artifact, or a license indicated in the metadata of the artifact, is collected from a software repository. A weighting of the artifact alone is determined from the metadata associated with the artifact that indicates desirability of the project activity, the security risk, or the license. The metadata associated with the artifact is compared to appropriateness with a metadata of a user project to which the user belongs as indicated by a profile of the user, so as to provide a score considering the determined weighting of the artifact and a appropriateness of the artifact for the user with respect to an intended use of the artifact by the user.

Claims (44)

1. A computer system, comprising:

a transceiver operable to transmit and receive communications over at least a portion of a network; and

a processor cooperatively operable with the transceiver, and configured to facilitate:

collecting, from a software repository by communication over the transceiver, metadata associated with a software artifact about project activity of how active an artifact project is to which the software artifact belongs, a security risk indicated in the metadata of the software artifact, or a license indicated in the metadata of the software artifact;

determining a weighting, without regard to an intended use of the software artifact by a user, of the software artifact alone from the metadata associated with the software artifact that indicates desirability of the project activity, the security risk, or the license;

comparing the metadata associated with the software artifact to appropriateness with a metadata of a user project to which the user belongs as indicated by a profile of the user, so as to provide a score considering the determined weighting of the software artifact and an appropriateness of the software artifact for the user with respect to the intended use of the software artifact by the user; and retrieving human-provided metadata including community ranking specific to the software artifact and an evaluator that input the human-provided metadata specific to the software artifact, and using the human-provided metadata specific to the software artifact and context information about the evaluator to further adjust the score of the software artifact, wherein the metadata of the user project to which the user belongs used in determining the appropriateness of the software artifact includes at least one of:

an indication of functionality the software artifact is addressed to,

an indication of the sponsoring organization of the user project,

an indication of the license of the user project.

2. The computer system of claim 1 , wherein the metadata assigned to the software artifact and which is used in determining the weighting of the software artifact includes Group ID, Artifact ID, and version number from a project object model (POM) assigned to the software artifact in the repository,

the artifact project being determined from the Group ID, Artifact ID, and version number,

how active the artifact project is being determined from a log of the project at the software repository of the project of the software artifact.

3. The computer system of claim 1 , further comprising weighting the software artifact by user-provided ranking specific to the software artifact of a community of users to which the user belongs as determined by the profile of the user or the user project to which the user belongs as indicated by the profile of the user.

4. The computer system of claim 1 , wherein the software artifact is stored in the software repository according to the Open Source Definition, the software repository being an open source repository.

5. The computer system of claim 1 , further comprising interacting with the user to collect the human-provided metadata including a community ranking specific to the software artifact, and storing the human-provided metadata in relation to the software artifact.

6. A computer-implemented method for scoring a software artifact for a user, comprising:

collecting, from a software repository by communication over a transceiver, metadata associated with the software artifact about project activity of how active an artifact project is to which the software artifact belongs, a security risk indicated in the metadata of the software artifact, or a license indicated in the metadata of the software artifact;

determining a weighting, without regard to an intended use of the software artifact by a user, of the software artifact alone from the metadata associated with the software artifact that indicates desirability of the project activity, the security risk, or the license;

comparing the metadata associated with the software artifact to appropriateness with a metadata of a user project to which the user belongs as indicated by a profile of the user, so as to provide a score considering the determined weighting of the software artifact and an appropriateness of the software artifact for the user with respect to the intended use of the software artifact by the user; and

retrieving human-provided metadata including community ranking specific to the software artifact and an evaluator that input the human-provided metadata specific to the software artifact, and using the human-provided metadata specific to the software artifact and context information about the evaluator to further adjust the score of the software artifact, wherein the metadata of the user project to which the user belongs used in determining the appropriateness of the software artifact includes:

an indication of functionality the software artifact is addressed to,

an indication of the sponsoring organization of the user project,

an indication of the license of the user project.

7. The method of claim 6 , wherein the metadata assigned to the software artifact and which is used in determining the weighting of the software artifact includes Group ID, Artifact ID, and version number from a project object model (POM) assigned to the software artifact in the repository,

the artifact project being determined from the Group ID, Artifact ID, and version number,

how active the artifact project is being determined from a log of the project at the software repository of the project of the software artifact.

8. The method of claim 6 , further comprising weighting the software artifact by user-provided ranking specific to the software artifact of a community of users to which the user belongs as determined by the profile of the user or the user project to which the user belongs as indicated by the profile of the user.

9. The method of claim 6 , wherein the software artifact is stored in the software repository according to the Open Source Definition, the software repository being an open source repository.

10. The method of claim 6 , further comprising interacting with the user to collect the human-provided metadata including community ranking specific to the software artifact, and storing the human-provided metadata in relation to the software artifact.

11. A non-transitory computer-readable medium comprising instructions for execution by a computer, the instructions including a computer-implemented method for providing a method for scoring a software artifact for a user, the instructions for implementing:

collecting, from a software repository by communication over a transceiver, metadata associated with the software artifact about project activity of how active an artifact project is to which the software artifact belongs, a security risk indicated in the metadata of the software artifact, or a license indicated in the metadata of the software artifact;

determining a weighting, without regard to an intended use of the software artifact by a user, of the software artifact alone from the metadata associated with the software artifact that indicates desirability of the project activity, the security risk, or the license;

comparing the metadata associated with the software artifact to appropriateness with a metadata of a user project to which the user belongs as indicated by a profile of the user, so as to provide a score considering the determined weighting of the software artifact and an appropriateness of the software artifact for the user with respect to the intended use of the software artifact by the user; and

retrieving human-provided metadata including community ranking specific to the software artifact and an evaluator that input the human-provided metadata specific to the software artifact, and using the human-provided metadata specific to the software artifact and context information about the evaluator to further adjust the score of the software artifact,

wherein the metadata of the user project to which the user belongs used in determining the appropriateness of the software artifact includes:

an indication of functionality the software artifact is addressed to,

an indication of the sponsoring organization of the user project,

an indication of the license of the user project.

12. The non-transitory computer-readable medium of claim 11 , wherein the metadata assigned to the software artifact and which is used in determining the weighting of the software artifact includes a Group ID, Artifact ID, and version number from a project object model (POM) assigned to the software artifact in the repository,

the artifact project being determined from the Group ID, Artifact ID, and version number,

how active the artifact project is being determined from a log of the project at the software repository of the project of the software artifact.

13. The non-transitory computer-readable medium of claim 11 , further comprising weighting the software artifact by user-provided ranking specific to the software artifact of a community of users to which the user belongs as determined by the profile of the user or the user project to which the user belongs as indicated by the profile of the user.

14. The non-transitory computer-readable medium of claim 11 , wherein the software artifact is stored in the software repository according to the Open Source Definition, the software repository being an open source repository.

15. The non-transitory computer-readable medium of claim 11 , further comprising interacting with the user to collect the human-provided metadata including community ranking specific to the software artifact, and storing the human-provided metadata in relation to the software artifact.

Assignments (2)
PATENT SECURITY AGREEMENT Recorded Dec 19, 2019
From: SONATYPE, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 051373/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2019
From: FOX, BRIAN EDWARD; ORLINA, JOEL
To: SONATYPE, INC.
Reel/Frame 050878/0135 →
Continuity (3)
Continuation 13780525 · Feb 28, 2013
Continuation 13089751 · Apr 19, 2011
Related Publication 20130326469A1 · Dec 5, 2013