3 ms·
For those who haven't seen it, CCAN [1] is a great collection of reusable C code, much of which specifically exists to work around the kinds of issues mentioned
by dcreager 4y ago
For those who haven't seen it, CCAN [1] is a great collection of reusable C code, much of which specifically exists to work around the kinds of issues mentioned in OP. It turns “oh crap I should probably roll my own” into “wait I bet someone has already re-rolled this”.
[1] https://ccodearchive.net/ https://ccodearchive.net/
- simplotek 4y ago> reusable C code, What's the rationale of providing this as a random set of code snippets instead of putting together a library?
- zeroonetwothree 4y agoNo expectation of support?
- simplotek 4y agoThere is zero expectation of support in FLOSS projects. You get what you paid form
- ddulaney 4y agoI really think it's more complicated than that. For sure, there's no legal expectation of support. If you don't support your open-source project, I can't sue you. But there is a social expectation of support. If the issues page is a ghost town, proposed patches just sit, and there hasn't been a release in years, we call the project "unmaintained" and discourage its use. At that point, if there's interest, somebody can fork it and support the fork, but forking is a serious act: it strongly signals that you don't like the direction that the current maintainer is heading. If that project is truly unmaintained, that's fine, but all-too-many open-source projects end up with rival forks when the original maintainer comes back. So yeah. There's zero legal expectation of support. But the social expectations are real, and providing a snippet (at least in my mind) has less of an expectation than a library.
- dcreager 4y agoThere are many libraries available that you can use as a libc replacement instead of CCAN, if that’s what you prefer [1-3]. Taking on a beefy dependency like that can be overkill, though, if all you need is a linked list or dynamic array implementation. [1] http://library.gnome.org/devel/glib/ http://library.gnome.org/devel/glib/ [2] http://apr.apache.org/ http://apr.apache.org/ [3] https://libcork.io/ https://libcork.io/
- dcreager 4y agoPlease note that the above link has been claimed by squatters and isn’t the right link for CCAN anymore! The maintainer suggests [1] just using the GitHub repo [2] instead. [1] https://lists.ozlabs.org/pipermail/ccan/2022-September/001411.html https://lists.ozlabs.org/pipermail/ccan/2022-September/00141... [2] https://github.com/rustyrussell/ccan/ https://github.com/rustyrussell/ccan/