THE SPDX WIKI IS NO LONGER ACTIVE. ALL CONTENT HAS BEEN MOVED TO https://github.com/spdx

Difference between revisions of "GSOC/GSOC ProjectIdeas"

From SPDX Wiki
Jump to: navigation, search
(Available Mentors)
(SPDX Google Summer of Code)
Line 13: Line 13:
  
 
Contributing to one of the SPDX projects below will provide a valuable contribution to developers and/or users of open source software.
 
Contributing to one of the SPDX projects below will provide a valuable contribution to developers and/or users of open source software.
 +
 +
== Why choose an SPDX Project? ==
  
 
<br/>
 
<br/>

Revision as of 13:35, 8 February 2017


SPDX Google Summer of Code

What is SPDX? A key enabler to adoption of any open source software package is the easy communication and understanding of the open source licenses used. First and foremost we are a community dedicated to solving the issues and problems around Open Source licensing and compliance. The SPDX work group (part of the Linux Foundation) consists of individuals, community members, and representatives from companies, foundations and organizations who use or are considering using the SPDX standard. The work group operates much like a meritocratic, consensus-based community project; that is, anyone with an interest in the project can join the community, contribute to the specification, and participate in the decision-making process. We come from many different backgrounds including open source developers, lawyers, consultants and business professionals, many of who have been involved with license compliance and identification for years.

As part of this effort we have developed a set of collateral that can be used:

  • License List and Short Identifiers
  • SPDX Specification
  • A set of basic tools for working with SPDX Documents
  • License Identifiers in source

Contributing to one of the SPDX projects below will provide a valuable contribution to developers and/or users of open source software.

Why choose an SPDX Project?


Getting Involved

We highly encourage students who select one of these projects to get involved with the SPDX community via our technical working group. Interaction with the technical team is primarily done via its mailing list (see resources). There is however a weekly call you could join as well. All of the daily work for the Tech team is done on this wiki.


The SPDX organization provides and maintains Open Source tooling for users of the SPDX specification. The current set of open source tools are described on the

Resources


2017 Projects

These projects are aimed at contributing to the SPDX tools to help reduce the effort to create SPDX and increase the accuracy of the SPDX documents.

Update Parser Libraries to SPDX 2.0

Update one of the SPDX language libraries to the SPDX 2.0 specification. The SPDX 2.0 specification is a major upgrade from SPDX 1.2 supporting relationships between SPDX documents and SPDX elements.

Skills Needed

  • Development skills in the language of choice
  • Experience with parser development
  • Understanding of RDF and XML

Background Information

SPDX currently provides libraries supporting the reading and writing of SPDX document. Currently, only Java libraries support the new SPDX 2.0 specification. The Python and GO libraries support version 1.2 of the spec. The libraries must support both RDF/XML import/export as well as tag/value import/export. The SPDX git repository SPDX Tools project contains the source code for the libraries.

Available Mentors

Gary O'Neall

Online Validation Tools

Create a web accessible tool for validating SPDX documents. Validation goals will need to be further defined but should include syntax checks for field names and inclusion of all required fields. Note that SPDX documents can be in one of two formats: RDF and Tag/Value.

Skills Needed

  • Software development skills for Web based applications
  • Good user interface design skills

Background Information

An online form which allows the uploading, parsing, and validation of SPDX would provide immediate benefit to the SPDX community. There is no specific programming language requirement, but there is an existing Java library which could be used in the project. Some of the technical challenges for this project include having to handle long running operations and implementing a very robust parser implementation able to handle any input. Additional online tools could also be added, such as document format conversion and reporting/pretty printing.

Available Mentors

Gary O'Neall

GIT Plugin to generate SPDX

Create a GIT Plugin that can generate an SPDX Document with just the required fields from a GIT.

Skills Needed

  • Experience with HTTP and JSON
  • Understanding of GIT
  • Java development experience a plus

Background Information

There is a proposal to add Meta Tags in source code comments. Once these license ID's have been produced, this tool could scan the source code for the meta tags and create the appropriate SPDX document. There is no language requirement, however there are existing Java libraries which could help build the SPDX document.

Available Mentors

Gary O'Neall

Source Code License Identifier Parser

Create a tool which will parse source code and create an SPDX document based on SPDX standard license identifiers found in the source code.

Skills Needed

  • Experience developing parser/scanners
  • Understanding of various programming languages
  • Java development experience a plus

Background Information

There is a proposal to add Meta Tags in source code comments. Once these license ID's have been produced, this tool could scan the source code for the meta tags and create the appropriate SPDX document. There is no language requirement, however there are existing Java libraries which could help build the SPDX document.

Available Mentors

Jack Manbeck