Continuous Donation Distribution to your Project Contributors

Hey Sustainer,

our new organization protontypes has launched with a new concept to fund open-source software called “Continuous Funding”. We realized this new concept with an open-source tool called LibreSelery that just released yesterday. The aim is to replace the middleman in donation distribution as far as possible with a free and transparent algorithm that runs in the continuous integration pipeline of your project. Unlike most other donation systems LibreSelery only offers a decentralized tool and not a platform. We are looking for feedback and early adapters. What do you think about this new concept?

It may seem radical at first glance, but we have already successfully tested it for the financing of LibreSelery itself.

Find more information on the background in our blog post:

Unfortunately, I didn’t know about this community until today, otherwise I would have gotten involved a lot earlier.
3 Likes

Nice content ! Thanks for this information

1 Like

Hey Tobias. Thanks for sharing this! I’m curious; how are you funded? How do you deal with projects which don’t have CI?

Hey Richard,

I’m curious; how are you funded?

Maybe a few words about my background. I was product owner and developer for autonomous logistic vehicles at DHL for about 5 years. During this time we have relied heavily on FOSS and I personally have benefited greatly both privately and at work from FOSS. The e-truck company StreetScooter, for which I worked, got into trouble this year. It was clear to many of our colleagues that we would lose our jobs. That’s why several of my colleagues started LibreSelery to be able to continue financing us. The whole funding of LibreSelery itself comes from my own pocket and I have tried to pay a small salary to several developers I know. At the same time I wanted to give back to the FOSS community.

How do you deal with projects which don’t have CI? You can also run LibreSelery as a command line tool from your own computer and donate to any GitHub project you like. In combination with a corn job you do not need a CI job for a regular payout.

We still recommend it for multiple reasons if you want to handle larger amounts of donations on a regular base:

  1. Setting up a CI pipeline is really easy on GitHub. We recommend this implementation even for people with little command line experience: https://github.com/protontypes/libreselery#command-line-usage. The Gitlab integration is on our roadmap.

  2. Running your own payout server without knowledge in security can be quite risky. The integration into Github Action is much easier and safer since Github does a lot of thinks so store your Coinbase Tokens in a safe way.

Whoa I love this concept. It’s a sort of reverse membership model. It does create a strong incentive to harden the boundary of your community (who has done “enough”), but I think it’s a really cool experiment

Thanks for the positive feedback. The concept is very fresh and we are heavily looking for people testing it, improving it and contributing to it. We are looking for FOSS projects that are in need of funding, marketing consulting, or more contributors. If you know a project that can show some level of usage that can use our support please let me know.

Interesting concept! This only counts contribution on code, right?

This only counts contribution on code, right?

It is not just source code we are considering.

We calculate different kinds of “weights” based on all data that the GitHub API gives us.

  • The uniform weight is given to every contributor that has done a minimum contributor based on a parameter that you can set. It is something like a “basic salary”.
  • The activity weight is given to everyone who was active in the last X commits.
  • We are working at the moment on a service weight. This will include work that is done without creating code: Opening of Issues, Creating a Comment, Code Review, Closing Issues, Working on Pull Requests #132
  • A weight based on lines of codes addition and deletions is also under discussion. #159
  • …we are still looking for other weights that we can calculate based on the data that we get from the Github API

Every weight can be adjusted relative to each other depending on your project type or community. “Lines of code” weights could be more interesting for a travel blog than for a complex software project.

We were also thinking to give a bonus to multiple people when a release is reached or when a code quality parameter is reached.

The wiki of your project is also included as a submodule in the next version. In this way also documentation in the repository can be included.

1 Like

Interesting idea. Are non-code contributors recognized by your system?

Regards,

Cat

Yes it will be possible in the next release. We already identified what the Github API can give use. Everything that you see on the Website and every interaction can be used for weights calculation. At the moment we are investigating different kinds of non-code weight.

One person suggested in our issue board to post an “estimated time per issue” by every user in the comments. In this way it would be possible to use that as another weight when the issue is closed. Unfortunately it is very difficult to estimate the time an issue will take.

@Ly0n, I love that you and your team are thinking about this. FairOSS is thinking along similar lines with more attention to the management of project credit. I would love to see how our efforts could build upon each other to construct an approach to distributing “value” to contributors and dependencies. In your case, that is donations but it may be more broadly applicable. Our conversation is starting here and the repo is here. Great stuff!

1 Like

Thanks for the invitation. It would be very nice to work together on some projects!

However, I would like to add one more important point. LibreSelery is just a tool. It is not a platform. The aim of LibreSelery is to replace the middleman in donation distribution as far as possible with a free and transparent algorithm that the community can adapt and evolve. The project owner has the freedom to customize the distribution algorithm but it is done openly in-front of the community.

We even go so far as to plan to dynamically adjust the payment parameters to the incoming donations.

I am really convinced that an free and open source code that can be understood and adapted by everyone creates a better distribution than the arbitrariness of many people. Unfortunately I have experienced this many times in my professional life. As a group leader I have seen this unfortunately very often.

1 Like

I think we need to get you on the podcast asap. cc @RichardLitt

3 Likes

It would be an honor to be part of the podcast. I heard the episode with Tom Callaway yesterday and it was amazing. You should know that I am not a native English speaker and I’m also lisping a little :P. A few months ago we created an online course for the Autoware Course Lecture to give you an impression. If that is enough for you, I’m in.

2 Likes

Really, really nice, I love the proposal, and I am also very interested in the part related to weight contributions (beyond code). I’ve seen you have provided some ideas, I’ll check the next releases of the tool.

Related to this, it reminds me of other solutions such as sourcecred.io, maybe you already know it. As far as I understand, LibreSelery would actually cover the full-cycle for funding distribution.

Regards,

3 Likes

Thanks a lot. I looked at the project weeks ago and thought I had set a bookmark. Yesterday I spent about 2 hours searching my browser history for it and did not find it.

We also got feedback from many other people that the way of distribution and how it can be adapted to different projects plays a central role. Nick Fiege, one of our core developers is currently revising and extending the software architecture for the Gather -> Weight -> Split. His language is sometimes a bit rough but he knows exactly what he is doing. You can see his first resign ideas here:

I will add an note to the issue to keep that on track. Maybe we can add this also as a plugin for LibreSelery so that the user can chose what to use.

1 Like

I have looked into cred a little bit.

Our approach is similar to what cred is doing: At least they acknowledge the same concerns we have when evaluating the AMOUNT of stuff someone does in code / comments. By trying to mitigate these (ideological problems) influences you could end up harming people who legitimately contribute a lot of bulk things as a result. AKA there is no real “good” solution.

Therefore we diverge a little bit from what cred is doing (OR DO WE REALLY?): We will let the project owner decide which actions he wants to encourage/reward. We are not here to create a generalized metric of “worth” nor are we trying to control force our moral solution to fairness onto the community.

The community of a specific project can decide if what they reward could be regarded as fair (or at least, figure out ways to compromise).

To be fair cred looks a lot more polished than we are right now (and they also have a functioning plugin based reward engine), so Im in no position to criticize them. But i like talking about moral conundrums … :slight_smile:

3 Likes

The only language we speak fluently on the show is Open Source so you’re good. =)

@RichardLitt will DM you the Calendly link, I can’t seem to find it.

2 Likes

Thanks for adding LibreSelery to oss.fund. Using CI/CD and tool rather than a platform a new mechanism I haven’t come across yet.

@rpekrul please feel free to add FairOSS to the list as well. I was going to add it, but couldn’t find details around number of supporters or projects on the website.

1 Like

@bibryam I just DM’d you. This is a great tool for aggregating funders of open source.

We’re early in our journey towards making an impact on open source but do have some equity deals with some OS friendly startups who have benefitted from OS technologies. We are actively soliciting company participation in our Groundwater program, so your index can help make us part of the broader effort, thanks for thinking of us!