Skip to content

Clarification of license for site using web assembly + static linking? #6467

@liquidaty

Description

@liquidaty

Hi,

Thank you for this awesome project. We are big fans and would like to use it more, but have a license question.

In particular, we'd like to build a website that loads web assembly into its page (compiled from closed source) and makes use of libgit2. Seems straightforward enough.

Ideally, we'd simply develop a proprietary binary that dynamically links to libgit2, and distribute them both together without the requirement of disclosing proprietary source code: a clear-cut case that would appear to squarely fall within the bounds of permissibility as described in COPYING. And to make it easier, others have already compiled libgit2 to wasm so we know that's feasible.

Alas, there is no simply way to load dynamic libraries, this due to issues such as this 4kb limit one. Maybe there is some undocumented workaround-- many have been suggested-- but by far the easiest solution would be to statically link.

So the question is, would that be permissible? I suppose the first question to answer that is: if I host a website that loads web assembly into a user's browser, is that the same as "distribution" (i.e. analogous to distributing a .exe file that is run locally on a PC)? Our understanding is that the whole purpose of the license is to allow distribution so long as the shared library can be swapped out. However, in the context of user accessing the software through a browser, the user cannot make such a swap (since the user cannot control over the execution environment), so the use case would seem to be more analogous to a user who SSHs into a server that contains a single version of a proprietary combined work, which the user can execute (e.g. "/opt/bin/combinedwork") but not modify and is not authorized to copy, which is a use case that would seem to squarely fit in the "not a distribution" category.

Just to clarify, I'm not asking this question for all licenses similar to this library's (though it very well might be applicable). Rather, I'm just asking what the intent is, by the original authors who wrote the code and chose the license, for this particular project. That said, I would still be interested to hear any feedback anyone may have.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions