Back in 2014 a group of people along with Sir Tim Berners Lee began implementing an early Solid server written for Node.js and called it Node Solid Server (NSS). For a number of years this was the main Solid server used in the community and many people contributed to its development and maintenance.
In 2021 a new open source Solid server was written for Node.js and this was called the Community Solid Server (CSS). The Solid specifications have progressed significantly since the early days when NSS was created as a prototype so the goal for CSS was to provide an open source server that:
- Conformed to the specification
- Is modular and enables researchers to experiment
- Is easier to maintain
CSS was initially completed in August 2021. Since then it has been used by a number of people and continues to be maintained so that it can conform with the Solid specifications. At the moment, there are a number of Solid services in the Community that are hosted using NSS. In order to give the Community access to the latest capabilities in the spec and ensure they are writing spec compliant applications, it is important that these services migrate from NSS to CSS.
CSS is compatible with the NSS file format so the primary migration effort involves user accounts and the identity provider. For people operating Solid services with a small number of users the migration is straightforward as they can collaborate directly with their users. However, for those operating a Solid Service with a significant number of users, a migration will be more involved.
Inrupt would like to help those who would like to migrate to CSS so we are offering a grant of USD 10,000 to anybody with knowledge of NSS user accounts who would like to provide an automated migration system for the rest of the community.
Requirements
- The deliverables must be open source and use the MIT license.
- All data and associated authorization ACL files must be migrated while protecting privacy
- All active user accounts must be migrated
- Migrated users must either
- be able to use the same password (Additions to CSS password handling)
- OR, receive an email with a password reset link (must have the email address already)
Active accounts are defined as those where the user has logged in within the past X days where X can be defined by the person doing the migration.
Deliverables
- The software required to migrate an NSS instance to a CSS instance
- A set of tests that prove the migration works
- Instructions to guide a service provider through a migration.
Application process
Applicants should send a simple email to NSS-Migration-Grant@inrupt.com.
Please describe any experience you have with
- NSS and/or CSS
- NSS account storage
- NSS password encryption