Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. General Discussion
  3. APx is finally available on crates.io / docs.rs

APx is finally available on crates.io / docs.rs

Scheduled Pinned Locked Moved General Discussion
activitypubrustapx
9 Posts 4 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • silverpill@mitra.socialS This user is from outside of this forum
    silverpill@mitra.socialS This user is from outside of this forum
    silverpill@mitra.social
    wrote on last edited by
    #1

    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 #activitypub #rust

    julian@community.nodebb.orgJ barrettsclub@hachyderm.ioB 2 Replies Last reply
    0
    • silverpill@mitra.socialS silverpill@mitra.social

      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 #activitypub #rust

      julian@community.nodebb.orgJ This user is from outside of this forum
      julian@community.nodebb.orgJ This user is from outside of this forum
      julian@community.nodebb.org
      wrote on last edited by
      #2

      silverpill@mitra.social nice job! Congratulations on the release 🙂 now you must maintain it for free forever.

      silverpill@mitra.socialS 1 Reply Last reply
      0
      • julian@community.nodebb.orgJ julian@community.nodebb.org

        silverpill@mitra.social nice job! Congratulations on the release 🙂 now you must maintain it for free forever.

        silverpill@mitra.socialS This user is from outside of this forum
        silverpill@mitra.socialS This user is from outside of this forum
        silverpill@mitra.social
        wrote on last edited by
        #3

        @julian I will 😆

        1 Reply Last reply
        0
        • silverpill@mitra.socialS silverpill@mitra.social

          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 #activitypub #rust

          barrettsclub@hachyderm.ioB This user is from outside of this forum
          barrettsclub@hachyderm.ioB This user is from outside of this forum
          barrettsclub@hachyderm.io
          wrote on last edited by
          #4

          @silverpill this looks fantastic! but yea, a permissive license is almost necessary for adoption within the Rust community

          if it's primarily for you, though, that's completely fine ;D

          silverpill@mitra.socialS 1 Reply Last reply
          0
          • barrettsclub@hachyderm.ioB barrettsclub@hachyderm.io

            @silverpill this looks fantastic! but yea, a permissive license is almost necessary for adoption within the Rust community

            if it's primarily for you, though, that's completely fine ;D

            silverpill@mitra.socialS This user is from outside of this forum
            silverpill@mitra.socialS This user is from outside of this forum
            silverpill@mitra.social
            wrote on last edited by
            #5

            @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@hachyderm.ioB 1 Reply Last reply
            0
            • silverpill@mitra.socialS silverpill@mitra.social

              @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@hachyderm.ioB This user is from outside of this forum
              barrettsclub@hachyderm.ioB This user is from outside of this forum
              barrettsclub@hachyderm.io
              wrote on last edited by
              #6

              @silverpill you're right binaries are popular for copyleft

              ...but libraries aren't due to ecosystem-wide static linking

              it's easy to fall into that trap, so most devs just don't use copyleft libs

              silverpill@mitra.socialS 1 Reply Last reply
              0
              • barrettsclub@hachyderm.ioB barrettsclub@hachyderm.io

                @silverpill you're right binaries are popular for copyleft

                ...but libraries aren't due to ecosystem-wide static linking

                it's easy to fall into that trap, so most devs just don't use copyleft libs

                silverpill@mitra.socialS This user is from outside of this forum
                silverpill@mitra.socialS This user is from outside of this forum
                silverpill@mitra.social
                wrote on last edited by
                #7

                @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.

                phnt@fluffytail.orgP 1 Reply Last reply
                0
                • silverpill@mitra.socialS silverpill@mitra.social

                  @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.

                  phnt@fluffytail.orgP This user is from outside of this forum
                  phnt@fluffytail.orgP This user is from outside of this forum
                  phnt@fluffytail.org
                  wrote on last edited by
                  #8
                  @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.
                  phnt@fluffytail.orgP 1 Reply Last reply
                  0
                  • phnt@fluffytail.orgP phnt@fluffytail.org
                    @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.
                    phnt@fluffytail.orgP This user is from outside of this forum
                    phnt@fluffytail.orgP This user is from outside of this forum
                    phnt@fluffytail.org
                    wrote on last edited by
                    #9
                    @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.
                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    Powered by NodeBB Contributors
                    • First post
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • World
                    • Users
                    • Groups