Manuscripts.io has been built in a highly modular manner. We’ve done this following good engineering practices, but also because we intend to release the source code to the system as readily reusable open source components.
Openly available components
- @manuscripts/json-schema: a JSON schema that describes the data format that gets validated (data that does not meet this schema is neer saved). Presently available as an NPM package at @manuscripts/json-schema. Source code to be released separately imminently (@alf working on it).
Components pending an Open Source release
- @manuscripts/workspace: the user interface “shell” through which you use to log into, log out from, access your projects.
- @manuscripts/mac: the native macOS based desktop application available at https://www.manuscriptsapp.com (its 2.0 development will be done out in the open).
- @manuscripts/manuscript-editor: a ProseMirror based HTML content editor that follows the schema defined by the @manuscripts/json-schema module.
- @manuscripts/title-editor: an editor manuscript titles + bibliography item metadata title editing.
- @manuscripts/comment-editor: an editor for the Manuscripts.io commenting system.
- @manuscripts/pressroom a web service for document import / export.
- @manuscripts/sync: a library that builds up the collaborative data synchronization rules.
- @manuscripts/api-server: a web service that handles authenticating users, access control to projects, collaboration invitations etc connectivity between the users.
Open sourcing plan
- We will open the source code up component by component, initially on GitLab.
- We will mirror the source also to GitHub.
- We intend to to keep the bug tracker (issues) at GitLab.
- The license that we will use by default will be the Apache License Version 2.
- The license we will apply to the Common Public Attribution License 1.0.
We intend to keep issue tracking on GitLab even after GitHub mirroring, but remains to be seen whether that is a workable idea.