THE SPDX WIKI IS NO LONGER ACTIVE. ALL CONTENT HAS BEEN MOVED TO https://github.com/spdx
Difference between revisions of "GSOC/GSOC ProjectIdeas"
(→SPDX Google Summer of Code 2017) |
(→SPDX Google Summer of Code 2017) |
||
Line 6: | Line 6: | ||
'''Welome to the 2017 SPDX Google Summer of Code Project Page''' | '''Welome to the 2017 SPDX Google Summer of Code Project Page''' | ||
+ | |||
+ | Should you have questions please do not hesitate to contact one of the mentors directly. | ||
<br /> | <br /> |
Revision as of 17:04, 8 February 2017
SPDX Google Summer of Code 2017
Welome to the 2017 SPDX Google Summer of Code Project Page
Should you have questions please do not hesitate to contact one of the mentors directly.
Contents
What is SPDX ?
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 for generating SPDX Doucments in either RDF or Tag/Value format
- A set of basic tools for working with SPDX Documents
- License Identifiers in source
Why choose an SPDX Project?
Contributing to one of the SPDX projects below will provide a valuable contribution to developers and/or users of open source software. We believe you will find the projects both technically challenging and rewarding. In essence we believe you will be able to look back one day and I say I was part of that effort.
Getting Involved
Beyond working wth your mentor(s) 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.
Resources
Meet Your Mentors
- Gary O'Neall
- Jack Manbeck
- Dr. Matt Germonprez
- Phillipe Ombredanne
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
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
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
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.