Skip to content

Instantly share code, notes, and snippets.

@Chubek
Last active April 6, 2023 01:50
Show Gist options
  • Select an option

  • Save Chubek/44bccff4e9fc22f0e9dd9816df9210ac to your computer and use it in GitHub Desktop.

Select an option

Save Chubek/44bccff4e9fc22f0e9dd9816df9210ac to your computer and use it in GitHub Desktop.
Totem Pro Parte Meta-License

Totem Pro Parte License is a software meta-license which allows the licensed software to be repreented as a sum of all its parts. This means the software can define every usable piece of it as under a single license. For example, I have a file called libexample.c. Inside libexample.c lives a function called example2. TPPP license allows that function to be copied according to the license type specified in TPP license text. When TPP license specifies that All the reprodicable parts of this code are licensed under GPLv3 this means that single function, as it exists, outside the context of the entire code is to be treated under that license. In general, Totme Pro Parte means a this part is meta of the whole and what Totem Pro Parte license allows is a fully meta license for all the working parts of the code, as much as it is specified in the license text, and beyond.

Totem Pro Parte Meta-License, as it is meta and reliant on another license, must always be used as a second license, and the license mentioned in the body must be the license repressenting the entire body of work.

Reason I made this: I often find myself doing projects where I implement everything from the ground up. For PoxHash I implemented several algorithms that could be used separately, in 6 ddifferent language. For SummerSavory which I'm working on I implemented several vision algorithms. Currently I am working on a project called TransGatacca with 2 assembly languages, which includes implementation of common functions such as strlen and calloc and realloc --- etc etc. I want people to make use of all the code as parts, not just as sum of all parts. I will include this license in all my projects from now on, and you're free to do so as well.

To add TPP license to your repository, navigate to the root directory and wget LICENSE.TPP.MD.NULL like so:

wget -O LICENSE.TPP.MD https://gist.githubusercontent.com/Chubek/44bccff4e9fc22f0e9dd9816df9210ac/raw/61cfa6bf6ea2bd4108b820a849d26683269430a8/LICENSE.TPP.MD.NULL

And then modify it. Notice that the license is pretty compact and can be included on top of every file. I have included it with common comment syntaxes, in a more compact mode, as well. Also included is a file with no Markdown formatting.

Example in markdown is also provided.

Copyright (C) for each working part 2023 Chubak Bidpaa;
All the working parts in the software included in this repository are released 'totem pro parte' under MIT License;

Parts replication allowed (Y/N):

? Part ? Part
Y code snippets Y functions
Y subroutines Y classes
N structures Y arrays
Y variables Y else

Methodology replication allowed (Y/N):

? Methodology ? Methodology
Y algorithms Y heuristics
Y datastructures N else

DISCLAIMER: The working parts come 'totem pro parte' under NO WARRANTY;
It is not the author's intent to release each part as a separate codebase;
As such each part is personalized to this project;
Any further use is up to the replicator; FIN.

<!-- Copyright (C) for each working part <YEAR> <NAME>; -->
<!-- All the working parts in the software included in this <REPOSITORY/FILE> are released 'totem pro parte' under <LICENSE>; -->
<!-- Parts replication allowed (Y/N): -->
<!-- [<Y/N>]code snippets; [<Y/N>]functions; -->
<!-- [<Y/N>]subrotines; [<Y/N>]classes; -->
<!-- [<Y/N>]structures; [<Y/N>]arrays; -->
<!-- [<Y/N>]variables; [<Y/N>]else; -->
<!-- Methodology replication allowed (Y/N): -->
<!-- [<Y/N>]algorithms; [<Y/N>]heuristics; -->
<!-- [<Y/N>]datastructures; [<Y/N>]else; -->
<!-- DISCLAIMER: The working parts come 'totem pro parte' under NO WARRANTY; -->
<!-- It is not the author's intent to release each part as a separate codebase; -->
<!-- As such each part is personalized to this project; -->
<!-- Any further use is up to the replicator; FIN. -->
###############################################################################################################################
## Copyright (C) for each working part <YEAR> <NAME>; ##
## All the working parts in the software included in this <REPOSITORY/FILE> are released 'totem pro parte' under <LICENSE>; ##
## Parts replication allowed (Y/N): ##
## [<Y/N>]code snippets; [<Y/N>]functions; ##
## [<Y/N>]subroutines; [<Y/N>]classes; ##
## [<Y/N>]structures; [<Y/N>]arrays; ##
## [<Y/N>]variables; [<Y/N>]else; ##
## Methodology replication allowed (Y/N): ##
## [<Y/N>]algorithms; [<Y/N>]heuristics; ##
## [<Y/N>]datastructures; [<Y/N>]else; ##
## DISCLAIMER: The working parts come 'totem pro parte' under NO WARRANTY; ##
## It is not the author's intent to release each part as a separate codebase; ##
## As such each part is personalized to this project; ##
## Any further use is up to the replicator; FIN. ##
###############################################################################################################################
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright for each working part <YEAR> <NAME>; //
// All the working parts in the software included in this <REPOSITORY/FILE> are released 'totem pro parte' under <LICENSE>; //
// Parts replication allowed (Y/N): //
// [<Y/N>]code snippets; [<Y/N>]functions; //
// [<Y/N>]subroutines; [<Y/N>]classes; //
// [<Y/N>]structures; [<Y/N>]arrays; //
// [<Y/N>]variables; [<Y/N>]else; //
// Methodology replication allowed (Y/N): //
// [<Y/N>]algorithms; [<Y/N>]heuristics; //
// [<Y/N>]datastructures; [<Y/N>]else; //
// DISCLAIMER: The working parts come 'totem pro parte' under NO WARRANTY; //
// It is not the author's intent to release each part as a separate codebase; //
// As such each part is personalized to this project; //
// Any further use is up to the replicator; FIN. //
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* Copyright (C) for each working part <YEAR> <NAME>; */
/* All the working parts in the software included in this <REPOSITORY/FILE> are released 'totem pro parte' under <LICENSE>; */
/* Parts replication allowed (Y/N): */
/* [<Y/N>]code snippets; [<Y/N>]functions; */
/* [<Y/N>]subroutines; [<Y/N>]classes; */
/* [<Y/N>]structures; [<Y/N>]arrays; */
/* [<Y/N>]variables; [<Y/N>]else; */
/* Methodology replication allowed (Y/N): */
/* [<Y/N>]algorithms; [<Y/N>]heuristics; */
/* [<Y/N>]datastructures; [<Y/N>]else; */
/* DISCLAIMER: The working parts come 'totem pro parte' under NO WARRANTY; */
/* It is not the author's intent to release each part as a separate codebase; */
/* As such each part is personalized to this project; */
/* Any further use is up to the replicator; FIN. */
Copyright (C) for each working part <YEAR> **<NAME>**; \
All the working parts in the software included in this <REPOSITORY/FILE> are released _'totem pro parte'_ under **<LICENSE>**; n
Parts replication allowed (Y/N):
| ? | Part | ? | Part |
| ----- | ------------- | ----- | --------- |
| <Y/N> | code snippets | <Y/N> | functions |
| <Y/N> | subroutines | <Y/N> | classes |
| <Y/N> | structures | <Y/N> | arrays |
| <Y/N> | variables | <Y/N> | else |
Methodology replication allowed (Y/N):
|?| Methodology |?|Methodology|
|-|-------------|-|-----------|
|<Y/N>| algorithms |<Y/N>| heuristics|
|<Y/N>| datastructures |<Y/N>| else |
_DISCLAIMER_: The working parts come 'totem pro parte' under **NO WARRANTY**; \
It is not the author's intent to release each part as a separate codebase; \
As such each part is personalized to this project; \
Any further use is up to the replicator; FIN.
Copyright (C) for each working part <YEAR> <NAME>;
All the working parts in the software included in this <REPOSITORY/FILE> are released 'totem pro parte' under <LICENSE>;
Parts replication allowed (Y/N):
[<Y/N>]code snippets; [<Y/N>]functions;
[<Y/N>]subroutines; [<Y/N>]classes;
[<Y/N>]structures; [<Y/N>]arrays;
[<Y/N>]variables; [<Y/N>]else;
Methodology replication allowed (Y/N):
[<Y/N>]algorithms; [<Y/N>]heuristics;
[<Y/N>]datastructures; [<Y/N>]else;
DISCLAIMER: The working parts come 'totem pro parte' under NO WARRANTY;
It is not the author's intent to release each part as a separate codebase;
As such each part is personalized to this project;
Any further use is up to the replicator; FIN.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment