tbvdm / sigbak

Export messages from Signal Android backups
86 stars 10 forks source link

License and version #14

Open fleimgruber opened 2 months ago

fleimgruber commented 2 months ago

Thanks for the package, I enjoyed using it a while ago!

I am working on compiling this package with an alternative build tool: https://ziglang.org/documentation/0.13.0/#Zig-Build-System.

For this purpose, I was asking myself what license and version number to use. Did you think about licensing and version numbering already?

tbvdm commented 2 months ago

So far I haven't bothered with version numbers. Is it possible for you to use a commit hash?

Most files in the repository are ISC-licensed. A few are BSD-licensed or in the public domain. The two .proto files originate from Signal and are licensed under the AGPLv3.

fleimgruber commented 2 months ago

Thanks for checking back and your explanations!

Is it possible for you to use a commit hash?

The build system requires SemVer to which the hash can be optionally attached. The common choice for these kinds of situations would be "0.1.0". I would go with that if it does not underplay the maturity or history of the project.

Please see also the file "build.zig.zon" for the version and "build.zig" for the build instructions (the rest are just NixOS dev files) in https://github.com/fleimgruber/sigbak/commit/a053cd5dfed1f41f59b975b82d0af92dc41370a6.

I will open other issues for build related questions.

Most files in the repository are ISC-licensed.

I analyzed using https://github.com/aboutcode-org/scancode-toolkit as an excuse for trying it out and it found these licenses:

backup.proto LicenseRef-scancode-unknown-license-reference
cmd-check-backup.c ISC
cmd-dump-backup.c ISC
cmd-export-attachments.c ISC
cmd-export-avatars.c ISC
cmd-export-database.c ISC
cmd-export-messages.c ISC
compat.h ISC
config.h None
database.proto LicenseRef-scancode-unknown-license-reference
mime.c ISC
sbk-attachment-tree.c ISC
sbk-attachment.c ISC
sbk-database.c ISC
sbk-edit.c ISC
sbk-file.c ISC
sbk-frame.c ISC
sbk-internal.h ISC
sbk-mention.c ISC
sbk-message.c ISC
sbk-open.c ISC
sbk-quote.c ISC
sbk-reaction.c ISC
sbk-read.c ISC
sbk-recipient-tree.c ISC
sbk-recipient.c ISC
sbk-sqlite.c ISC
sbk-thread.c ISC
sbk.h ISC
sigbak.1 ISC
sigbak.c ISC
sigbak.h ISC
compat/asprintf.c ISC
compat/bs_cbb.c ISC
compat/bytestring.h ISC
compat/err.c ISC
compat/explicit_bzero.c None
compat/fopen.c ISC
compat/getprogname.c ISC
compat/hkdf.c ISC
compat/hkdf.h ISC
compat/hmac_ctx_new.c ISC
compat/pledge.c None
compat/queue.h BSD-3-Clause
compat/readpassphrase.c ISC
compat/readpassphrase.h ISC
compat/reallocarray.c ISC
compat/tree.h BSD-2-Clause AND ISC
compat/unveil.c None

So the set of all licenses per file is ['LicenseRef-scancode-unknown-license-reference', 'ISC', None, 'BSD-3-Clause', 'BSD-2-Clause AND ISC'].

The files that have license 'None' above are:

Where all except config.h are "public domain". For those I would suggest an equivalent license from Public-domain-equivalent license, e.g. using ISC as well or using 0BSD. Same for config.h as I think you also meant for that to be public domain?

For the .proto 'LicenseRef-scancode-unknown-license-reference' files I would copy the license file and change the license header of the files to reference that file.

I would also include the other licenses with the naming convention from here.

tbvdm commented 2 months ago

I will add a license to config.h and add a LICENSE file to document the licensing situation.

So have your versioning and licensing issues been solved? I don't mind changing things but I'd rather not if it's not necessary.

fleimgruber commented 2 months ago

So have your versioning and licensing issues been solved?

Yes, thanks, I will work with the LICENSE file you mentioned and with a 0.1.0 version. My plan is to prepare this properly and let someone from https://github.com/allyourcodebase review it. After that I would ask you for a final review if the result is ok with you.

I don't mind changing things but I'd rather not if it's not necessary.

Fair enough!