Announcing the RAIL License Generator

Disclaimer: Neither this post nor the software linked herein comprises legal advice from the authors or the RAIL initiative.

Co-Leads Working Group — Tooling & Procedural Governance: Jesse Josua Benjamin, Scott Cambo

Lead Developer & Project Owner: Tim Korjakow

Contributors: Jenny Lee, Danish Contractor, Daniel McDuff

Responsible AI Licenses (RAILs) are a mechanism to promote practices of responsible-use for developers and users of AI systems. RAILs promote the responsible use and development of AI by legally restricting how an AI artifact (e.g. a model) can be employed. In practice, this means that developers of such systems can include behavioral-use restrictions when sharing licensed artifacts with third parties. However, there are various types of RAILs available, and each RAIL can be modified to apply to specific artifacts or to include specific restrictions. Since the introduction of the first RAIL Licenses in 2018, there are now over 40,000 model repositories with RAIL licenses. Further, writing an effective RAIL can be challenging, because AI developers need to tailor the license language for the specific domain, context of use, and type of AI artifact involved. It is also important to avoid making the license too restrictive as this may hinder adoption.

Today, we are happy to announce that the Tooling & Procedural Governance Working Group of the RAIL initiative has developed an RAIL License Generator to aid the development of RAIL licenses.

The tool provides an interactive, step-by-step process to create customized licenses.

How does this work?

Step 1 - Choose a License Type

We have identified several general types of RAILs that users may want to consider at the start of developing their RAIL with the license generator tool. Once the user has chosen a license type, the initial template text is generated.

  • Open Rail - The user may freely use, distribute and modify the licensed artifact, as long as the user (including downstream users) follow the behavioral use restrictions

  • Research RAIL - The user may use, distribute and modify the licensed artifact only for research (and not for commercial) purposes, and as long as the user also follows the behavioral use restrictions

  • RAIL - These licenses not include behavioral-use clauses but they may also impose additional terms regarding who may use the licensed artifact and how.

Read this post to know more about the RAIL License naming conventions.

Step 2 - Which artifact(s) to license?

Next, the user must choose what it will license, i.e. what AI artifacts will be shared. In many scenarios, the developer will want to carefully release code, algorithms, or models associated with their AI system. Soon, Data will be available as an option as well, but we are still working out the best legal language for restricting it in the RAIL terms. Each artifact can be included or excluded from restrictions in the license depending on what the developer sees as the risks and benefits associated with sharing with the broader public.

Step 3 - Choose Additional Restrictions

We reviewed many of the existing RAILs that have already been adopted by AI developers, and we have produced a collection of additional restrictions that users of the license generator may add to their specific RAIL. Users can choose from one of several categories of restriction types to identify restrictions that may be appropriate for a particular AI system. As the user adds each restriction, they appear in a live preview of the license’s “Appendix A” section where these additional restrictions will appear. The live preview indicates the chosen name, restricted domains (in the form of icons), and artifact specification, as well as the chosen additional use restrictions.

Final Step - Export the license

When users are satisfied with the license generated, the final step of the process allows LaTeX, raw text and Markdown format downloads of the full license text, PNG downloads of the chosen domain icons and QR-code with the link to the final license.  

Standardisation through Traceability

We anticipate that RAILs will continue to evolve and we have designed the generated licenses to be as traceable as possible. Each license comes equipped with its creation date, a unique global ID assigned by the license generator, and the Git hash of the commit for the generator that issued the license. This detail not only specifies the version of the license template but also identifies the exact version of the software used to produce the license from these templates. This ensures the ability to track the origin of each license and assess the evolution of RAILs from the time any given license was issued.

The high degree of traceability is aimed at promoting standardization and trust. Open collaboration in the presence of multiple RAIL licenses can get complicated as each license can have different restrictions. We hope that the use of licenses generated via this tool will aid the creation of automated solutions to manage this – for instance, unique ids associated with the licenses could be used to trace which restrictions are in place. Tools that encode compatibility within clauses and license types could be developed using such information reducing the compliance burden for developers wanting to use RAIL-licensed artifacts. 

The ids also empower users to confirm adherence to particular versions of RAILs with relative ease and simplifies the process of updating licenses.

Feedback and Further Improvements

Currently each RAIL-type license created with the generator is logged in a central repository to allow the initiative to maintain an overview of the types of choices made by tool users, for additional  adaptation and improvement over time. To this end, we encourage tool users to submit feedback – e.g., what types of restrictions are missing, what domains should be considered, and how can RAILs be made further accessible using this tool? If you have ideas for how we can improve the license generator, you can share them with by using the form here and selecting the ‘License Generator’ as the Category. 

Help us spread the word!

While RAILs provide some legal restrictions, they are also helpful in constructing social and industry norms around what is generally appropriate when using or developing AI. You can help promote responsible AI development by sharing this blog with your organization or professional network. If you’ve used the RAIL license generator, we also encourage you to tell your peers and your community what risks you were hoping to avoid with the choices you made for your specific RAIL license.

Release

The RAIL License Generator is accessible at here . We are also open-sourcing the back-end and front-end code for the tool (Github: Back-end Code , Front-end Code) . The front-end is an easily customizable HTML/CSS/JS solution intended for iframe embedding, with commented code that can be adapted in terms of the variables used for populating the created license. The back-end consists of a Python web server built on top of FastAPI and Postgres as a  database. Deploying the database yourself only requires Docker and is extensively documented in the Readme of the Github repository.

Next Steps

To further improve accessibility, we are planning to integrate the tool in a Huggingface space alongside live visualizations of the adoptions of RAILs on the platform. The RAIL initiative and its working groups are volunteer driven; the Tooling & Procedural Governance will continue to improve the license generator; other tools being considered for development include RAIL license compatibility plugins for Github, code scanning tools for RAIL licenses, automated behavioral clause recommendations based on project description and/or existing components with RAIL Licenses. 

If you would like to participate in any of the activities, please feel free to reach out to us.