The sound distributed version control system

#722 License/copyright as 1st class data

Opened by taqtiqa-mark on October 23, 2022
taqtiqa-mark on October 23, 2022

Examples are worth a 1000 words:

$ pijul init

Error license argument is required. Valid values are: None, License-File, 0BSD, ...

Where 0BSD, ... is the list of identifiers at https://spdx.org/licenses/ and License-File indicates some convention like license text in a LICENSE file in the repository.

$ pijul init None
Creating license signature key pair for this repository
Signing the license: None
License signature: nanoadidngr....
Changes to this repository are made with the change file fields:

    license = 'None'
    license_signature = '...'

If removed or altered from a change file, the above settings are reinstated.

where the change file is:

message = ''
license = 'None'
license_signature = '...'
timestamp = '...'

[[authors]]
key = '...'

# Dependencies
[2] ....

# Hunks
....

Forks/clones of the repo are distributed with the public key and pijul ..., before applying a change, checks the calculated license signature against the initial commit (or is the previous commit sufficient?)

taqtiqa-mark on November 7, 2022

Related issue is the copyright to a change. So the change file could be:

message = ''
license = 'None'
license_signature = '...'
timestamp = '...'

[[authors]]
key = '...'

[[copyright]]
holder=<author-1>
id=<author-1-id>

# Dependencies
[2] ....

# Hunks
....