APx is finally available on crates.io / docs.rs
-
APx is finally available on crates.io / docs.rs
https://docs.rs/apx_sdk/latest/apx_sdk/
This is an ActivityPub library used internally in Mitra and in other my projects.
Unlike some other ActivityPub libraries, this library is low-level. It doesn't restrict what databases or frameworks could be used, and doesn't care about object types or properties. There are only URIs, keys, signatures, JSON documents and HTTP requests.
It also contains primitives for building nomadic applications (FEP-ef61).The license is AGPL-3, but I might consider changing it to a more permissive one.
-
APx is finally available on crates.io / docs.rs
https://docs.rs/apx_sdk/latest/apx_sdk/
This is an ActivityPub library used internally in Mitra and in other my projects.
Unlike some other ActivityPub libraries, this library is low-level. It doesn't restrict what databases or frameworks could be used, and doesn't care about object types or properties. There are only URIs, keys, signatures, JSON documents and HTTP requests.
It also contains primitives for building nomadic applications (FEP-ef61).The license is AGPL-3, but I might consider changing it to a more permissive one.
@silverpill@mitra.social nice job! Congratulations on the release
now you must maintain it for free forever. -
@silverpill@mitra.social nice job! Congratulations on the release
now you must maintain it for free forever.@julian I will

-
@barrettsclub It is not only for me, but I like free software and GPL is quite popular among fedi devs. I can remember 8 server implementations written in Rust and apparently all of them are (A)GPL:
Lemmy, lotide, buzzrelay, hatsu, AodeRelay, shops, Enigmatick, Ibis
-
@barrettsclub What do you mean by ecosystem-wide static linking?
As far as I know, if the binary is copyleft, than you don't need to worry about copyleft dependencies.
-
@barrettsclub What do you mean by ecosystem-wide static linking?
As far as I know, if the binary is copyleft, than you don't need to worry about copyleft dependencies.
@silverpill @barrettsclub If you library is under GPL and the library is statically linked, then also that final binary must be GPL in order to not violate the libraries license. That's why libraries are usually under LGPL which allows statically linking. AGPL is mostly GPL with an added clause which forces users (administrators of a service) of a software accessible over a network to publish the source code also accessible over the network, or point to repositories of the software, if it is unmodified.
Examples:
Patching Mastodon to remove the URL of the instance from the UA and not publishing that modified source is a violation of the license.
Running patched Pleroma and pointing to the mainline repositories is also a violation of the license.
Statically linking an (A)GPL library to a program that isn't GPL-compatible is also a violation of the libraries license. Dynamically linking the same library is not. -
@silverpill @barrettsclub If you library is under GPL and the library is statically linked, then also that final binary must be GPL in order to not violate the libraries license. That's why libraries are usually under LGPL which allows statically linking. AGPL is mostly GPL with an added clause which forces users (administrators of a service) of a software accessible over a network to publish the source code also accessible over the network, or point to repositories of the software, if it is unmodified.
Examples:
Patching Mastodon to remove the URL of the instance from the UA and not publishing that modified source is a violation of the license.
Running patched Pleroma and pointing to the mainline repositories is also a violation of the license.
Statically linking an (A)GPL library to a program that isn't GPL-compatible is also a violation of the libraries license. Dynamically linking the same library is not.@silverpill @barrettsclub To add to the AGPL and GPL differences: If Pleroma/Mastodon was GPL (not AGPL) and you were running patched versions, you could do the old "come to my office to get the source code" trick. That's basically the thing that AGPL prohibits. -
@scott Wider distribution and supporting free software are both my priorities.
Today, most Rust servers are (A)GPL licensed. I expect that fedi developers will continue to favor copyleft licenses, so I released the library under AGPLv3.If I meet someone who wants to use this library in a MIT/Apache licensed project, we can talk about changing the license. Otherwise, AGPLv3 seems to be a good fit.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login