-
Notifications
You must be signed in to change notification settings - Fork 134
Google Summer of Code 2020
Below are a list of project ideas organised by technical areas relevant to the Accord Project: user interface, data modelling, languages and compilers, blockchain, and natural language processing.
We also welcome students' input on those projects or alternative project proposals in the different areas listed below and in scope with the goals of the Accord Project.
Description: Develop an extension for editing Accord Project template objects, including functionality for testing, debugging, and improved syntax highlighting. This will drastically reduce the overhead for developers working with legal teams to design and execute smart contract templates. Syntax highlighting with error handling and suggestions will prove a great feature. Current VSCode extension
Challenges: Understand how to build VSCode extensions (language server and VSCode API, VSCode shell, syntax highlighting), understand needs of different categories Accord Project users (drafting legal contract text or developers writing smart contract code or both).
Skills: Node.js, Typescript
Mentor: Jerome Simeon Adrian Fletcher
Description: Develop a MS Word Add-in for AP templates. This will provide integration with one of the most used platforms by lawyers. Allowing non-technical users to interact with Accord Project templates in an environment without code will greatly expand the accessibility to the technology. Initial work was started in this repository.
Challenges: Understand how to implement an advanced MS Word Add-in with React technology.
Skills: React, MS Word Add-in API
Mentor: Dan Selman, Diana Lease
Description: Similar to the MS Word Add-in, a Google Docs Add-in for AP templates will provide integration with a highly used platform for contract creation. This will further the drive to non-technical users being able to interact with Accord Project templates in an environment without needing to code anything.
Challenges: Understand how to build advanced Google Docs extensions with React technology.
Skills: React, Google Docs API
Mentor: Dan Selman, Diana Lease
CiceroMark to DOCX
Description: Export an Accord Project extended markdown document to MS Word .docx
format, ensuring that extensions (such as clauses) are preserved upon re-import. This will allow more flexibility and portability with round trip transformation of docx files to markdown and back which contain smart clause templates.
Challenges: Complex nested model (and JSON) transformation. Advanced JavaScript. Understand internals of DOCX format and how to manipulate it using a JavaScript API.
Skills: JavaScript
Mentor: Jolene Langlinais
Concerto Model Web Editor
Description: Build a web class diagram editor that synchronizes with a textual domain specific language. An open source example of this can be seen here.
Challenges: Advanced Data Modeling. Understand data model differences (between JSON, XML, Java, Go, Typescript, and Loopback).
Skills: Concerto, Unified Modeling Language, Data Modeling, React
Mentor: Jolene Langlinais, Diana Lease
WASM support for Accord Project Templates
Description: Implement a new Web Assembly compiler backend for Accord Project's smart contract language (Ergo). This will allow Accord Project users to deploy their contracts to any WASM platform or allow any WASM user to call Accord Project templates. See also the Ergo GitHub Issue 727.
Challenges: Understand Web Assembly (instruction set, execution), understand and modify Ergo compiler pipeline.
Skills: Functional Programming, Compilers, OCaml and/or Coq
Mentor: Jerome Simeon
Description: Extend the Ergo smart contract language with support for decision models (example, spec). This will allow users to express complex decisions as part of their Accord Project smart legal contracts.
Challenges: Understand DMN models. Develop an extension that captures key decision model use cases with a nice Ergo syntax.
Skills: Parser technologies, JavaScript and OCaml
Mentor: Matt Roberts
Description: Develop a tool which can identify instances of Accord Project template text within source legal documents (from raw text, CiceroMark, pdf, etc). This will allow users to load an existing legal document and convert it automatically into an executable Accord Project contract.
Challenges: Understand relevant machine learning techniques (e.g., Fuzzy text matching, entity extraction), learn how to use existing natural language processing libraries or build your own.
Skills: Natural Language Processing (NLP), Artificial Intelligence (AI)
Mentor: Dan Selman, Adriaan Pelzer
Description: Support legal contracts and clauses in more than one language or jurisdiction, which will vastly improve the reach and applicability of our tools to share legally enforceable agreements across the globe.
Challenges: Understand tools and best practices for internationalisation: I18N, G10N, model extensions, verbalization.
Skills: JavaScript
Mentor: Dan Selman
Accord Project
A leading Linux Foundation open source initiative developing an ecosystem and open source tools for smart agreements