I’m starting to work on a C library, and I am having trouble choosing a license, so I need some help.

Keeping in mind that:

  • I want as many people as possible to be able to use my lib, without them worrying about license compatibility, both for libre and proprietary programs;
  • My lib is designed to be statically linked, so its license must allow static linking without compromises;

But, also:

  • I want for whoever uses my lib to credit me: I think mentioning my library’s name, optionally with an URL to my repo and the license text copypasted, in the final software’s documentation / credit page / whatever would be enough;
  • I want for people that make changes to my library, and then use the modified version in their program, be it free or proprietary, to publish the modified source code of my library, under my license (but they can keep the rest of their program under whatever license they want).

What license should I choose? I really have no idea.
I think that if I only cared about the first 3 points, I could choose MIT, but considering the last one?

  • octtOP
    link
    fedilink
    arrow-up
    8
    ·
    2 years ago

    If you use an LGPL library in a proprietary program or with incompatible open licenses:

    • If you dynamically link, you can keep your parts of the program under your license;
    • If you statically link, you have to make sure that an user can actually modify the parts of the LGPL library in your program. For proprietary programs, this means that the developers would have to distribute their unlinked .o files, which quickly becomes a mess (and, on some platforms, notably embedded ones, it becomes a real mess).