A programming environment, where the source code of the application, the compiler, the development environment, and the community are first class citizens. https://www.dokmelody.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Massimo Zaniboni a4a0f4ef98
Imported previous work
3 weeks ago
docs/org-roam Imported previous work 3 weeks ago
licenses Imported previous work 3 weeks ago
pass01 Imported previous work 3 weeks ago
websites Imported previous work 3 weeks ago
.gitignore Imported previous work 3 weeks ago
README.md first commit 3 weeks ago


Dok Melody

Dok Melody is a (utopistic) programming environment, where the source code of the application, the compiler, the development environment, and the community are first class citzens.

Dok Melody will be composed of:

  • the Dok programming language;
  • the Doknil knowledge-base language, for linking the various parts of a project;
  • the Dokwork IDE;
  • the Dok Melody federation of servers for sharing information about libraries and frameworks;
  • the released libraries, frameworks and domain specific languages (DSL);


This repo is an attempt to bootstrap a first usable version of Dok Melody. It is all in alpha/design/development state.

It contains the bootstrapping pass, and the documentation.


See https://www.dokmelody.org for more informations.

Quick start

The source code is in passXY directories.



Dok Melody applications, services, compilation tools and libraries are released under the GNU Lesser General Public License v3.0 or later (SPDX-License-Identifier: LGPL-3.0-or-later).

Hence, if you use them at run-time in your product P, you must give to end-users the possibility to use improved versions of these libraries. Dok Melody uses macros, hence it is likely that it will inject LGPL code inside the code of your product P. Hence, it is likely that you had to give your end users the freedom to recompile your product P, or also a byte-code obfuscated version of it, with new versions of these Dok Melody libraries. This does not affect the license of P, because only users with a valid license of P can do this. This situation is not much different from programming-languages with high-level intermediate-code, like the JVM, where the high-level byte-code of your application can expose the design of your application to end users.

In future, if possible, Dok Melody will be re-licensed under an Affero like LGPL license, that up to date does not exist. The idea is that you can use Dok Melody for creating proprietary commercial products, and use it also in internet services, but improvements to the core product and libraries must be sent back to the OSS version.

Documentation and short snippest of code are released under the Creative Commons Attribution 4.0 International (SPDX-License-Identifier: CC-BY-4.0). Hence, you can freely distribute, modify and remix them, but you had to maintain credits to original authors and contributors.


Dok Melody development process follows, more or less, the Collective Code Construction Contract. In particular, all patches are owned by their authors. There SHALL NOT be any copyright assignment process. Every source code file must report in the header the copyright of all main contributors, following the SPDX standard. So something like

SPDX-License-Identifier: LGPL-3.0-or-later
Copyright (C) YYYY-YYYY Some Name <some.emai@example.net>


SPDX-License-Identifier: CC-BY-4.0
Copyright (C) YYYY-YYYY Some Name <some.emai@example.net>

Updating the copyright header is optional in case of minor contributions, like: typos; small bug-fixes; better comments.