Zig RSS Reader
github.comKey Features
Key Features
Tech Stack
The main difference is that GPL3 is a copyleft license, whereas MIT is not. Meaning that legally there is nothing in the license preventing a company from taking your code and using it for their purposes without having to contribute to improve the code.
the reason i picked mit is because rss is in a rough spot right now. the tech isn't mainstream, and big companies are trying to squash it since it doesn't drive engagement like the infinite scroll. anything that helps rss move forward is a win, and the mit license makes that easier.
> the reason i picked mit is because rss is in a rough spot right now.
I don't think another client is the solution, just saying.
As a user, I'm happier with copyleft. I like to take my Marshall smart speaker as an example: that thing doesn't get any updates, ever. But it connects to the Internet. The app absolutely sucks, the connectivity is passable at best (often frustrating), but the hardware itself is nice (it looks nice in my living room and the sound is good when it works).
If all the open source software running inside that thing was GPLv3, Marshall would have to provide me with a way to patch it. So at the very least I could make security updates myself. But because Marshall used permissively-licenced dependencies, they locked it down in such a way that I can't do that.
The permissive licence helped Marshall, but for me as a user, the code may as well be proprietary.
If I use a copyleft licence (I like EUPL or MPLv2), it doesn't mean that they will open clean PRs, but at least they have to publish their changes in their own fork. It has happened to me that I could go read a fork, find a few things that were interesting and bring them back to my project.
With permissive licences, the risk is that those (typically businesses) who keep their fork open source probably don't see a lot of value in their fork, otherwise they would have made it private, "just in case".
Incidentally, I built my own calm RSS reader some time ago that has many similar ideas to yours: https://github.com/lukasknuth/briefly
A severe case of mimetic desire. I suspect a lot of devs suffer from it.
first of all, i'm not trying to reinvent the wheel here. for xml parsing, i'm using libexpat, one of the most widely used c xml parsers.
for networking, i'm using libcurl, the industry standard.
i have some limits in place, too. the feed size is capped at 200 kb, and there are timeouts for hanging connections. there's also a sanitization step that strips control characters that could mess with the terminal emulator, mitigating escape sequences.
that said, i'm no security expert, and the source code is public. if anyone more knowledgeable spots a security hole, i'd be happy to merge a fix.
I never thought of that as an option. Thanks for the tip haha.
Write programs that do one thing and do it well.
Write programs to work together.
Write programs to handle text streams, because that is a universal interface.
I like the idea of the daily digest.
That gave me a good chuckle.
Starts in milliseconds and parses hundreds of items in seconds.- I have created my own RSS readers, that contains 500+ sources. I do not doom scroll
- doom scrolling appears when social media algorithm feeds you data, even from a month ago
- I have various filters so I can browse whatever I want
So RSS should just have filters, categories, search extensive capabilities to solve doom scrolling, and on the other hand it will be able to provide you extensive amounts of data.
I really like the culture around Zig right now. Ship simple, fast, correct, useful software feels like the general set of goals for people writing software in Zig.
Not affiliated with Hacker News or Y Combinator. We simply enrich the public API with analytics.