npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@meansofproduction/domain

v4.1.0

Published

Central domain objects for MeansOfProduction library software

Downloads

13

Readme

Means Of Production logo

meansofproduction

A free as in beer application to manage a distributed library, especially a library of things.

Why

  • Because there's no need for every person to buy every tool

  • Because most library software isn't free, or assumes that the library owns the items always and can store them locally.

  • Because control of the means of production is the material basis for everything

  • Because distributed tool libraries may be easier to setup, and not require tools to live in a central place!

  • Because Library Socialism is a great idea - if you'd like to know more, check out srslywrong's series on this (https://srslywrong.com/podcast/189-library-socialism-usufruct/).

Roles

Borrowers - somebody who has a need and wishes to use an item to fulfill that need

Lenders - somebody with an item to lend.

Libraries - organizations which connect Borrowers and Lenders, and prevent abuses for the general good. Depending on the type of library, a library may also be a lender. Libraries create Loans of items, and also determine if Borrowers remain in good standing, if items are returned satisfactorily, etc.

Parts

  • meansofproduction - domain objects that define the business logic and storage functions
  • graphql_server - GraphQL API to support the front end
  • web_client - browser based way to lend and borrow
  • phone_client - ReactNative client for interacting

Current Domain Objects

Thing

something to be lent out. Can have a borrow cost, which reflects a relative worth of the item, to help even out lending if needed

Lender

A person or entity that owns an item. They might also be responsible for evaluating condition on return.

Borrower

A person or entity which borrows an item through a Loan.

Borrowers who return items late or with damage can accrue either fees or demerits, depending on the library policies.

Loan

The temporary transfer of an item to a borrower to supply a need. Fills the Usufruct need - so a borrower might use and enjoy the benefits of an item, but is not free to destroy or permanently remove it (such as selling it).

Loans may or may not have an expiration. A gift or entitlement may be considered a loan without an expiration date.

Library

A library might represent either a library organization, or a distributed group of Lenders

Libraries will also be able to long term allow members from other libraries, presenting an easy way to offer a unified platform for existing lenders

Libraries can enforce policies on behalf of their membership, such as maximum items to borrow at one time, fees or points for non-returned items, etc.

Long term integration with voting platforms for libraries is a good move to ensure democratic control of libraries.

Libraries can optionally take Donations, which transfers the location to a library.

Libraries create Loans of Items.

Tool links

https://medium.com/@NiGhTTraX/making-typescript-monorepos-play-nice-with-other-tools-a8d197fdc680

FAQs about distributed libraries

Who owns the items?

The same people that do now. You are simply advertising that you're willing to lend the item to others. You can impose some conditions on the lenders - like, for example, they've proven their legal name, etc.

Can I remove my item from the library?

Yes, with the exception you'll need to wait till any current loans have been returned. You can then remove the item from borrowing.

What if my item is damanged when I lend it?

Currently that's the risk being taken by the lender. Depending on the library, they likely will penalize the borrower to mark them as less trustworthy, and long term we'll be looking to create an insurance fund to partially compensate lenders and encourage more lending.

Is there anything I can't lend?

Nope. If you want to lend food, we advise making it a permanent loan, unless you're really into composting.

We ask for legal reasons you don't list anything you know to be illegal.

What is a permanent loan

A permanent loan is where you don't want the item anymore, so you don't demand a return date.

Isn't a permanent loan just giving the item away?

No - per the principle of usufruct, it means the person can use and profit from the item, but not permanently stop others from using it.

In plain words, it means I give you the item, with the condition you don't sell it, instead giving it to someone else if you no longer want it.

Long Term Org ideas

DAOify this organization

Tokens would be granted for

  • providing identify verification for self or others
  • this can also aid in modelling lending risk long term
  • lending items
  • borrowing items and returning them
  • donations of funds
  • software or library work

Tokens will be required for

  • voting on policy (non-consuming)
  • late-fees or damages (for the latter, conversion to ETH or $ is how the library can offer insurance)

Funds can withdraw for

  • payment of hosting
  • capital investments (library org can run its own networks clusters)

Onboarding for existing libraries

Many local or free libraries exist. We should make it so not only can our software support their needs - but that we can offer an "all-library" view of items available anywhere a member has membership

Faircoin integration

For fees

Insurance of distributed lenders

Risk modeling of borrowers

Large scale distributed Kubernetes cluster

This will run over WireGuard VPN - we'll require 2 clusters. One is to provide the VPN to the public, and also act as the general admin (able to approve or revoke general VPN certs for who can join the cluster). The second uses the VPN provided by the first, and allows anyone to join their computer to a cluster to provide cloud resources and give a crowd sourced alternative to AWS and the like.