Disclaimer: I know that being a developer is hard, I’m not trying to say that people should start doing these ideas to please my desires. I just thought it was fun to have a list of ideas that could improve the libre software community and these are some of them that I would really love to see. If you have some other Ideas contribute as well, and if you are a developer and you are looking for something to do but don’t know what, you may gain some inspiration from here.
Projects that do not exist:
-
Libre and privacy respecting alternative to DeepL. Details: I know there are already some libre translators, but I will not stop using DeepL until there’s something as good as it.
-
Libre and privacy respecting alternative to Genius. Details: It’s a website where users create community based lyrics for their favourite artists and can create annotations and add metadata.
-
Libre and privacy respecting alternative to Goodreads. Details: It’s a website where you keep a log of what you’ve read, what you want to read and what you are reading, you can also rate books.Here is an alternative. -
Libre and privacy respecting alternative to Grammarly. Details: It’s a set of applications or add-ons that help you with typos and it will improve your text.
-
Libre and privacy respecting alternative to Letterboxd. Details: t’s a website where you keep a log of what you’ve seen and what you want to see, you can also rate movies and TV shows.
-
Libre and privacy respecting alternative to Pixabay. Details: It’s a website where you can get images to use without copyright restrictions. I know CC has a website for this but their content is really poor.
-
Libre and privacy respecting alternative to Push notifications.Here is an alternative. -
Libre and privacy respecting alternative to ReCaptcha.
-
Libre and privacy respecting alternative to Shazam. Details: It’s an application that tells you what you are listening if you let it listen to it
-
Libre and privacy respecting alternative to Unsplash. Details: It’s a website where you can upload and use photos of people that are licensed under a license that allows for use under most circumstances for free.
-
Libre and privacy respecting mouse gesture and
radial menuto an operative system level. *Similar to Gesturefy andCompassMenubut in a way that it can work in any application. Look this video for more details since this is probably a really deep and hard to explain topic. Here is an alternative for the radial menu. -
Libre and privacy respecting website where to upload and download 3D models licensed under a CC.
-
Libre and privacy respecting website where to play a lot of different card games. Details: Similar to Lichess. I am satisfied if you only can play poker until it gains some traction.
-
Fully libre and privacy respecting alternative to Xayn. Details: It’s an application that recommends you articles based on the input you give to the algorithm. Some of its code it’s liberated on GitHub, but not all of it.
-
Libre , decentralized and privacy respecting alternative to Imgur. Details: It would be great if this could work along the fediverse, for example people would host images there instead of here on Lemmy or Mastodon, making these platforms much more lightweight.
-
Libre, privacy respecting and not self hostable visual bookmark manager. *Details: There are a few alternatives here and there, maybe, but they are really awful looking and generally you need to self host. I don’t know how to self host and it would probably make my machine slower, I would prefer something that someone’s alreay hosting. This is exactly like what I’m looking for, but they haven’t launched it yet since they don have enough resources, it could die, too, maybe.
Projects that exist but have some issues:
-
A set of common android apps. Details: I know there are a are a lot of basic Android applications to replace the default ones that come with your phone but I feel someone should create a set that align the aesthetics of them to be coherent with each other. I know Tibor Kaputa does this, but in my opinion I would like something that looks a bit more modern and that has more features, since theirs are based around minimalism. For example, the camera application does not have as many options as my default one, etc.
-
Libre, privacy respecting, aesthetic and functional map application. Details: I haven’t been able to find a working application to see maps, I generally end up using DDG’s in browser map because of this. The only one that worked was one calle Maps which was a fork of a really good one (but it was filled with proprietary and other shady stuff ) but it stopped working after some time. I mention the aesthetic parts because I want to be able to recommend this to people who wouldn’t use it otherwise if it looks like something really “primitive”.
-
Revive waifu2x as a serious project. Details: I really love this website, but I really hate the whole idea of the waifu thing, it is misogynous and I feel like unprofessional.
-
Libre, privacy respecting and highly customizable home launcher. Details: I know there are a ton of home launchers for Android, but most of them focus on minimalism or simplicity, I don’t want that, I want a super customizable full of features application that can let me do almost anything. The closest to this was Lawnchair which is dead, luckily Omega launcher exists now and it looks like it’ll be able to achieve this, but it’s not there yet.
-
Revive AquaDroid Details: It is a really beautiful application but it has some bugs, not so many features and development has halted.
You should make a git repo for this list
Grammarly FOSS alternative: https://languagetool.org/ Multilanguage (It recognizes which one are you using, that is very useful for me as I use 3 - Catalan, Castilian, and English -) and it is sponsored by the European Union
For French, Grammalecte is also nice. What I like about it is that I can very easily make it work with Emacs and AucTeX.
Great discussion. One critical thing is libre alternative to GPT3 or similar.
Yeah, that sound like a really important stuff that should be open.
This is absolutely magnificent
deleted by creator
Yes, someone already recommended it to me and I’m using it, I love it! I’m going to edit the post when I have some time.
deleted by creator
Yeah, something like opensource/libreideas or something like that.
It would be great if there was a website where people could propose ideas like this, and also vote on the proposed ideas. That way we would have a good community-wide overview of which projects do most people want to see happen. Instead of getting an “I wish this kind of project would exist” post every now and then on some random part of the internet.
deleted by creator
Wouldn’t that be very similar to https://lemmy.ml/c/floss_replacement ? Would it be better to get that community to be for both, existing projects and proposals, or would it be better to have two communities?
For grammarly there is LanguageTool. There are browser add-ons, libreoffice plugin, and command line tool for checking plain text
I think the add-on is closed source, but you are right.
You’re right. The source code for the free one is archived, I didn’t notice that.
deleted by creator
The browser addon was released under LGPL-2.1, but it was “completely rewritten and under a new license”, and from the look of #241 and #251 they seem proprietary. It’s core and office extension is open-source tho.
I meant the browser add-on which at least in Mozilla’s add-on store is licensed under “Custom License” which generally means proprietary.
deleted by creator
Yes, that’s their desktop application I think, but their add-on is closed source.
deleted by creator
Well, I didn’t try to sound like that, I’m sure maybe a lot of what I said doesn’t exists maybe exists, I tried looking for a lot of them but didn’t find alternatives, maybe I didn’t search hard enough.
Thanks a lot for your suggestions, they all look exactly like what I was looking for, I’m really excited about Bookwyrm and Fly Pie specially!
Wow, so after all is said, the list is really long for me. I’ll also try to take from other posts other ideas that interest me and put them here. Turns out it’s too long for Lemmy (lol) so i’ll post as subcomments of this one.
Education
- a native, bloatfree Scratch implementation for free operating systems
Hardware
- a free-hardware/software 2D printer that’s easily operable/repairable with refillable inkslots (no cartridges) and serious driver support on all systems (seriously has no one done that yet?)
- DIY pagers with:
- encrypted/authenticated payloads
- mesh-like hopping possible for smaller messages
- additional latency & noise added for social graph obfuscation
- support for DIY base stations
There’s also a lot of stuff that needs reverse-engineering/hacking:
- free-software wifi drivers for all chipsets (Linux kernel is not entirely free and strongly relies on binary blobs for hardware support)
- libreboot support for many motherboards
- mainline kernel support for smartphones so they can be supported by distros such as PostMarketOS or Replicant
- free-software collections of rooting/unlocking tools for smartphones so you don’t get stuck with shitty/invasive Google/Samsung apps (bloatware) on second-hand hardware
- free-software hacks and alternative OS for John Deere tractors and other shitty electronic-stuffed cars
Other cool stuff
- a simple, hackable specification system where integration tests reside within the specification document itself (see my draft here for more ideas on that)
- a pad manager, to easily export/transpose pads from Etherpad/CodiMD/Cryptpad to different sources, and automatically trigger actions, either on everychange or when a revision is tagged (two previous early experiments here and here)
That looks great thanks for the link :)
Isn’t Scratch already open source? I know before 2.0 it was made in Java and so there were cool forks of it like BYOB and Panther. A nice feature of online scratch, however, is the ability to “remix” (fork) projects, which teaches kids the benefits of open source.
It’s a bloated JavaScript app. The version 2 even required Adobe AIR. Also it’s not packaged for GNU/Linux.
Yes the old desktop version was portable, but that’s no longer the case with newer releases. scratch packaged in debian is v1.4 :)
Rust
I really love the Rust programming language. It’s at the same time very approachable (unlike Haskell), very strict in the no-footgun policy (unlike C) and very performant (unlike Python). However, in the little time i’ve been doing Rusty things, i’ve longed for some libraries:
- a simple plaintext foldeR/file database (hierarchical key-value store), so that settings remain human-readable, as well as machine-interpretable from simple shell scripts
- a hook-based plugin system to integrate in Rust programs (to extend applications)
- an Ansible-like high-level abstraction for sysadmin, but in pure rust (no YAML please), so you can compile your sysadmin script into strictly-typed Infrastructure-As-Code
- parsing and overriding a Config struct from several sources (CLI flags, ENV variables, and a config file)
- abstractions over several federated social networking vocabularies/protocols (ActivityPub, XMPP, Matrix) so we can write better bridges/bots
- a library that abstracts over common markup formats (Markdown, AsciiDoc, HTML, org-mode…)
- a library that abstracts over JSON/YAML/TOML parsing, with support for custom delimiters (eg
for YAML)
Rust is a language with interesting properties. Here’s a few ideas for actual programs i’d like to see in Rust:
- a consistent, modern Desktop Environment as a library (with CLI utilities, and TUI/graphical frontends)
- bridges/gateways between different federated networks (IRC<->Matrix<->Jabber/XMPP<->ActivityPub)
- clients/servers for those federated networks
- a server-agnostic pad client (library and TUI) for Etherpad/CodiMD/Cryptpad/Gobby
- a modern web browser without client-side scripting or other anti-features
Games
I really appreciate emulators, but what i would really like to see is free-software, hackable reimplementations for really cool old-school multiplayer games:
- Trackmania
- (see FreeCS) Half-Life engine (CS 1.6, anyone?)
- Super Mario Kart
- Super Smash Bros
Why reimplementations not emulators? Because then you can extend the game and make new games from it! You’re not stuck with a binary ROM dictating all the fun you should have.
deleted by creator
Thanks i just added FreeCS to the original post. The others appear to be just clones not reimplementations, and SuperTuxParty would be a clone of Mario Party, not Super Smash Bros.
deleted by creator
It’s different. Many people are familiar with historic games and like the quirks of them. But yes i appreciate original free-software games as well :)
Decentralized/Federated networks
We may use all the free-software we like, as long as we’re stuck on centralized servers we’re never gonna win the battle against Silicon Valley startups.
- a decentralized software forge (see forgefed, libervia or radicle for PoC)
- more and more robust bridges/gateways between federated networks (IRC<->XMPP/Jabber<->matrix<->ActivityPub)
- a protocol-agnostic nomadic identity system (inspired by ZOT):
- to advertise the different services/servers/addresses you can be reached at
- so federated clients/servers can automatically “migrate” you to another server should you request it with a cryptographically-signed request (account migration keeping history/contacts)
- allow client connections with tokens, who open a session with only specific permissions (cannot do everything on your account)
- allow/facilitate identity/service decoupling for ActivityPub (so you don’t need separate accounts for Mastodon, Peertube, PixelFed, Funkwhale)
- support for server altnames (being reachable over .onion, .i2p as the same account) as well as clasic aliases
Web
- an extensible static-site generator, that’s very low on ressources that supports:
- many input formats (Markdown/AsciiDoc/org-mode)
- many output formats (HTML, gemini, RSS/Atom)
- good translations support, with multiple integrations (Fluent, Weblate, gettext, JSON…)
- a sane templating engine (not go templates please)
- diffing through a DVCS (git, mercurial, darcs, pijul…) to provide incremental builds, so even huge sites are not a problem (think static site output for your favorite federated social network)
- a bloatfree modern web browser
- no client-side scripting at all (WASM/JS)
- extended support for HTTP authentication and HTTP signatures client side (so you should not need client-side scripting at all)
- support for multiple frontends (terminal with SIXEL for images and mouse support for links, graphical…)
- modern HTML5/CSS3:
- without any kind of support for 3rd-party requests (only the server you actually want to connect to can serve you content)
- with mobile-first CSS and only media queries allowed for larger screens / pixel depths (with a default to not load higher-quality resources, for privacy/bandwidth reasons)
- with CSS themes support (as advertised by the server, not just light/dark themes)
- with an additional property to indicate that a stylesheet is entirely semantic CSS (no classes/ids), in which case the browser has a setting to use a local CSS theme instead (for accessibility reasons mostly)
- support for multiple domain names / network transports / security layers / file formats:
- DNS + HTTP/Gemini + TLS/Plaintext + HTML/GemFile/RSS/Atom (etc)
- GNS + HTTP/Gemini + DANE + HTML/GemFile/RSS/Atom (etc)
- .onion/.i2p + HTTP/Gemini + HTML/GemFile/RSS/Atom (etc)
- .ipns/.ipfs + HTML/GemFile/RSS/Atom (etc)
- multiple profile/containers/identities, per-tab, per-window or per-session with a profile switcher
- an extensible static-site generator, that’s very low on ressources that supports:
OS / Desktop
- a graphical tool for package management (seriously this is the only reason non-techie folks use Ubuntu)
- super easy UI for your grandparents/grandchildren
- supports multiple distros and comes preinstalled with most
- super easy UI for multiple packaging systems (distro, nix/guix/appimage/flatpak…) and custom repositories (why can’t we have a single URI containing repo and security bootstrapping info like keys, like F-Droid does?)
- minimal dependencies so it runs well across distros/desktops
- a graphic tool for encrypted backups to/from your friends
- configurable M-out-of-N recovery
- everything is encrypted and signed
- works offline-first (zeroconf, mesh setup…)
- does NAT traversal just fine when online
- optionally, route everything through a proxy (VPN/Tor)
- per-friend quotas
- different secret groups, where each secret you add in a group is encrypted for the public keys of its members following Shamir’s secret sharing algorithm, so you never ever loose a secret of yours (just ask M-of-N friends to decrypt their part of the secret for you)
- out-of-the-box copy paste support integrated with the desktop environment for all CLI tools (this year is 2021, not 1985)
- a extensible hackable library to build desktop environments in a static-typed/compiled language (like Rust) with minimal dependencies/runtime and integrated support for modern desktop features: (in idea similar to GNOME, radically-different implementation)
- multiple frontends (TUI/graphical)
- settings panel with categories (privacy, hardware, etc)
- declarative settings (keybindings, text editor preferences, MIME settings, etc)
- multiple workspaces, with an emphasis on supporting multiple settings profiles (and identities) within the same session (whether per-session, per-workspace or per-window is up to each implementation)
- identity/authorization manager with multiple identities support
- CLI utilities
deleted by creator
- a graphical tool for package management (seriously this is the only reason non-techie folks use Ubuntu)
Sysadmin
- a simple, hackable CI/CD system that can interoperate with almost everything (see my PoC here)
- a declarative selfhosting platform with (draft for more on semantic selfhosting, two PoC of mine: 1/2):
- a standard specification for host configuration (hostname, aliases, enabled services, user management)
- multiple implementations (ansible, nix, GNU/guix, Rust, etc)
- high level specifications for services (eg webserver, nameserver) with interchangeable implementation (apache, nginx, caddy…)
- support for alternative transports and names (.onion, .i2p)
- support for offline/mesh services (act as a router) alla FreedomBone/PirateBox
- strong support for social replication, eg. trusting other selfhosted servers/techcoops to provide secondary services (NS, MX, backup)
- good support for multi-user with:
- Single Sign On on services that support it (usually web services)
- federated identity providers (OpenID Connect, OAuth 2.0, XMPP)
- user groups for filesharing, and for other services to use (eg. to create chatrooms)
- CLI/TUI tooling to edit your personal settings
- disk quotas
- maximum number of vhosts
- bring-your-own-domain support:
- users can configure their own vhosts for services (DNS, WWW, Jabber, email) and have everything configured automatically
- users can manage virtual users on those vhosts
- user quota applies so a user cannot take too much disk space with their vhosts
- translations server-side (server config and deploy tool) and client-side (configuration files and built-in utilities)
- a solid automated test suite that focused on high-level integration tests (eg. account was created and service was reachable with this account, federation to another server was possible over such protocol…) ; unit tests are left for specific implementations
Regarding the map application: osmand for Android, don’t know if there exist ports to other platforms. As you can download from fdroid, it should meet most oft your criteria. You can directly contribute to open Street maps and do some nice bike navigation as well. And it’s very aesthetical, I think;-)
I found one called OsmAnd+, I’m guessing it’s the same one. Yep, this is really what I’ve been looking for, it looks great and it works flawlessly, too. It has so many features I think it’ll take me some time to learn how to use it. Thanks a lot!
And to contribute to osmand+, there is the app Street Complete on fdroid. You can use it to add / correct locations and streets. It looks awesome and contributing feels like a video game. It’s honestly amazing.
I think you can contribute directly through OsmAnd+ if I’m not wrong, at least there’s an option that lets you sign in and add data I think, I don’t have my phone right now so I can’t verify that.
When I tried to use it, it doesn’t recognize mailing address as a valid input? It also almost took me to a completely different location when I tried to find something I’ve never been to before (I just had the places name, no address). I still contribute to Open Street, but I still don’t use it for travel directions or location identification :/
Libre and privacy respecting alternative to Push notifications.
Wouldn’t that just be web sockets?
On iOS, this is a non-starter. The system suspends your app after a certain amount of time in the background, and closes any web socket connections whether you like it or not.
You might be able to make it work on Android (I have a lot less experience working with Android than iOS), but the trade-off is that if every one of your apps is holding open a network connection for its own push notifications, that would impact your battery life. Firebase Cloud Messaging (FCM) from Google, and Apple Push Notification Service (APNS) both work by funneling all notifications through a single network connection to the user’s device.
And for what it’s worth, FCM just proxies messages to APNS when the client is an iOS device. Not even Google can create a true alternative for push notifications on iOS.
I am not really sure, I know that most of the applications rely on Google’s servers for them to work and the only alternative that I know of is MicroG but it’s more like a front-end or something like that which still uses Google’s servers, I think a whole thing would be better.
Can’t apps just connect a web socket to whatever service it’s using and receive notifications that way? Hell, or just ping the server every few minutes.
As I said I don’t know for real since my knowledge is very basic, but Session for example has the option of running always in the background being connected all the time to the servers or relying of push notifications which make it easier and less battery consuming, but it would be great to hear what someone more tech-savvy has to say.
For translation, Mozilla and the EU have been working on client-side (cloud-less) translation: https://browser.mt
You can see it in action (as part of an experimental Firefox extension) here: https://recordit.co/snvH1lNIqU
There was someone who participated in FOSDEM a couple of years ago and presented an open-source push notification server for Android that they were working on, but seems like the project has become stagnant. If I remember correctly, they wanted to combine it with MicroG somehow as an easy way to take push data from apps.
Ohh, that sucks, it looked like a really awesome project. Still someone else mentioned Gotify, I haven’t had the time to look into it yet but maybe that can already achieve the same?
deleted by creator
For Imgur, there’s Pixelfed (for a traditional image-hosting website) or IPFS (where you can host/pin any file).
My idea isn’t like a social platform but rather a hosting website which focuses on those images being displayed somewhere else, but maybe Pixelfed can be used in the same way? I have heard about IPFS but I haven’t really looked into it, I know it has a lot of different features and possibilities which seems interesting and promising.
Image hosting badly needs a decentralized hosted option, ideally one based on torrents or IPFS, because the situation right now is horrible. The exact same image gets shared to twitter, reddit, imgur, FB, and a ton of other platforms, each having to host their own copy while sharing none of the bandwidth to serve them.
Entirely agree. It’s a very political problem. Not sure if it’s an actual conspiracy, but around the same time P2P networks were emerging (Napster/Bittorrent), there was a strong push in the industry for asymmetric DSL (previously everyone had equal upload/download), GSM-based internet (fencing off open wifi by making it illegal in many places), and centralized services.
Ideally:
- HTML would natively support alternative URLs for a given piece of content, while keeping traditional
href/src
for backwards compatibility ; we can already do this with<picture>
element, but that doesn’t work with<a>
tag for example ; also<picture>
is intended for different formats not different protocols, so the browser may end up leaking metadata in unexpected ways - browsers would support custom proxies/plugins per type of link (eg
magnet:
oripfs://
URIs in<img>
tag), because direct integration within the browser is a huge maintenance burden - p2p networks like IPFS/DAT/Bittorrent would have a PubSub social replication mechanism, where one person/service may subscribe to content from another person/service and pin it automatically (i’m glad IPFS finally got remote pinning, but there’s no subscription system yet)
In the video world, there’s Peertube which is an interesting tradeoff:
- Webtorrent distribution of content with the Peertube server acting as tracker
- automatic social replication from allowlisted federated instances
- instance operators can choose not to advertise/serve specific pieces of content they don’t like (moderation)
What remains to be seen is exactly how to deal with abuse while still providing good censorship-resilience. Still, i believe the same Peertube model could be applied to image hosting.
It would be really nice to have a peertube type torrent solution for images, but it’d be nice if it weren’t reliant solely on webtorrents, but on ordinary torrents too.
Well the same content could be distributed over ordinary Bittorrent or IPFS. In fact, Peertube already allows to download magnet/.torrent for a video in which the seeding instances are declared as webseeds/trackers (not sure whether replicating instances are actually trackers also). On the client side, libtorrent has integrated webtorrent support last year (though it remains to be polished) so there’s a whole bunch of clients that will soon-ish be able to peer with webtorrent.
But yes i don’t see a reason why a such server couldn’t seed the content over different protocols, even Freenet why not? ;)
- HTML would natively support alternative URLs for a given piece of content, while keeping traditional
Well, actuall I thought of this because of some other comment you made when someone told you that Lemmy should host other files besides images and you told them you didn’t even want to host images. So yeah, I agree with you, it will be a lot better for the environment, also.
deleted by creator
I heard of MediaGoblin but I haven’t used it so I’m not sure about its feature.
Then it’s IPFS, which is distributed, not federated. You can upload a file to service that can pin the files for free (like globalupload.io up to a certain file size) or pin the files yourself. Then other users running IPFS on their machines can pin those files. The network runs a bit like BitTorrent.
deleted by creator
deleted by creator
It is paid and I am poor. u.u But it looks perfect!