this post was submitted on 06 Aug 2022
24 points (100.0% liked)

Open Source

30578 readers
521 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] Tiuku@sopuli.xyz 2 points 2 years ago* (last edited 2 years ago) (1 children)

Ahh didn't know about that. What restrictions are there exactly?

Maybe you do?

Sorry :/

[–] octt@feddit.it 8 points 2 years ago (2 children)

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).
[–] Txopi@lemmy.ml 4 points 2 years ago

Very good and accurate explanation! More info at GNU's FAQ.

[–] Adda@lemmy.ml 4 points 2 years ago

Today I learned. Interesting. I did not know about this at all. Never mind, then.