Skip to content

Google Summer of Code 2019 Clearly Defined Integration

Vivek Kumar edited this page Aug 27, 2019 · 17 revisions

Introduction

Clearly Defined is a collection metadata of licences, copyrights and the source codes. Clearly Defined clarifies data on open source components, and mostly focus over the open source licence, source location and attribution parties. This helps in providing more information about what their obligations are and feel more confident in meeting them.

The project aim is to connect the Clearly Defined REST API and query through the metadata provided by Clearly Defined. This will help in importing the data and reducing the manual clearing task for users. Moreover, the FOSSology can lead to contributing to clearly defined by providing new license metadata and helping the community.

Why this project is important?

The main purpose of this integration is to fetch more information already curated by various users and give the FOSSology user confidence of how the project is licensed to properly comply with the terms of this license. This project will also help the community by allowing FOSSology users to contribute back to Clearly Defined with their efforts easily. Sequence diagram

Milestones and the implementations

  • Prototype
  • Coding
  • Testing
  • Integration
  • Improving

In detail

When the user uploads the license file to the FOSSology it sends the upload file id to the Spasht Agent. The agent then requests the Clearly Defined REST API to get the metadata for the file. Once the metadata data is found the agent is acknowledged by the metadata, this metadata is queried and filtered by the agent and the sent back to FOSSology. FOSSology then stores this data into the database.

PROPOSAL TIMELINE:

Pre-GSoC Period:

  • Completed the study over the Clearly Defined.
  • Checked the working of FOSSology.

May 6 - May 14:

  • Refine the current architecture, if needed.

May 15 - May 27:

  • Get ready with all the resources, after studying in detail about them.
  • Code to build a prototype agent to check the working of REST API.

June 7 - June 26:

  • Integration of the prototype agent to fetch the desired output.
  • Test the prototype.

June 27 - July 10:

  • Improving the Agent.

July 11 - July 21:

  • Code evaluation.
  • Documentation.

July 21 - August 1:

  • Final Submission.

August 2 - August 19:

  • Buffer Time.

It will be a good learning experience during the project and I will give my best to submit the project before the buffer time and complete all the modules as required but since this project needs to be tested repeatedly with different approaches and any bug or errors found needs to be solved under the given time period, I will work hard to keep the project against the clock.