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

GSOC/GSOC ProjectIdeas

From SPDX Wiki
< GSOC
Revision as of 20:39, 7 February 2017 by JackM (Talk | contribs)

Jump to: navigation, search

SPDX Google Summer of Code

A key enabler to adoption of any open source software package is the easy communication and understanding of the open source license requirements.

The software package data exchange (SPDX) is a community xxx Linux Foundation work group intended to develop and promote adoption of a specification. SPDX helps to enable any party in a software supply chain, from the original author to the final end user, to accurately communicate the licensing information for any piece of copyrightable material. SPDX supports practices such that any party may create, alter, combine, pass on, or receive license information available in a consistent, understandable, and re-usable fashion, with the aim of facilitating open source compliance.

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

Getting Involved

We highly encourage students who select one of these projects to get involved with the SPDX community via our technical working group.

To learn more about the technical specifications and current work in progress, join the SPDX tech mailing list, visit the SPDX website and visit the SPDX 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 SPDX Workgroup Tools webpage.

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.

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

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

Gary O'Neall