paint-brush
Open-source Development and Cascading Donations by@obyte
437 reads
437 reads

Open-source Development and Cascading Donations

by ObyteApril 3rd, 2023
Read on Terminal Reader
Read this story w/o Javascript

Too Long; Didn't Read

Kivach is an application on Obyte to donate any amount to any open-source project on GitHub —but not just that. By using this tool, the recipients of donations can donate a part or a total of the coins to any other project(s) they want.
featured image - Open-source Development and Cascading Donations
Obyte HackerNoon profile picture

Donations aren’t uncommon in crypto. Some altcoins and Dapps were created with that purpose in mind. A lot of NGOs and several good causes have benefited from donations. However, perhaps the ones behind free open-source software are a little bit neglected, to say the least. We’re talking about open-source developers. In case you didn’t know this, most of them don’t receive any payment for their work.

“Open-source software” doesn’t necessarily mean it’s a free product. It means that the code of that software is publicly available for review and open to collaboration. But usually, it is free. Quite popular open-source software like LibreOffice, Gimp, VLC Media Player, and Bitcoin itself rely on the goodwill of developers worldwide (and donations from users). This is like a hobby for them because nobody pays them for it, in most cases.

So, do they create this software and give it away to the public? Without any monetary benefit? It’s more complicated than that. If you’re a carpenter, you could build a chair and give it away easily. Your goodwill ends when the chair arrives at the final user. Open-source software is different for a simple reason: it needs constant maintenance and updates to survive.  

Funding open-source projects

The bad news about these good-will-driven projects is that developers aren’t robots. They need to eat and pay bills, like everyone else. Since open-source development can’t grant them enough money to do this, they take “real” jobs outside of it. Often full-time jobs, which leave them with little time to volunteer. 

As a result, according to Open Hub (Ohloh), around 83% of open-source projects are abandoned after a year. Without proper support or a team behind them, they’d be destined to die. Funding is a great problem in the open-source community. If interested, they still can do several things to monetize their product, but they’re mostly programmers, not businessmen, marketers, or lawyers.



Why lawyers, you wonder? Because of the copyright licenses of the software. Even “free” licenses can be tricky sometimes, and they might become a real obstacle to monetizing with traditional methods. Opening a startup around its digital tools isn’t always possible, since it takes a lot of red tape and investment. And it’s not what many developers want. The only realistic option for most open-source developers to be rewarded for their work is with donations.  

It may not sound like something sustainable in the long term, but it’s a great start. It shows your appreciation and offers nice incentives. Plus, if the software becomes really popular, it can even pay some actual bills. The LibreOffice case is remarkable. In 2021, they received over one million euros in donations. And they used it very well. 



Donations in cryptocurrencies

As you likely guessed already, cryptocurrencies are a great option for making donations. They’re global and fast, almost instant, unlike traditional money. Anyone could donate any amount to anyone else, from and to any part of the world, at any time. In case the cause is controversial or against a government, transactions couldn’t be banned —even if the opponents want to. 

For instance, we had the Nigerian Feminist Coalition move in 2020. They were participating in raging protests against police brutality in the country. As a bad response, the national banks froze their account in local money to cut their funding. Therefore, they decided to accept Bitcoin (BTC) from donors inside and outside the territory. Nobody could seize this money, since crypto was born to be auto-custodial and anti-censorship. 

Of course, going back to our main topic, cryptocurrencies can quickly fund some less drastic causes too. Like maintaining your favorite developer tool on GitHub, whose developers (volunteers) are probably juggling to keep them alive.

Kivach and cascading donations

“Kivach” is originally a cascade waterfall in Karelia, Russia. Now, a “cascade” is a type of waterfall in which the current descends in a series of rock steps or stages. That’s why our donation platform Kivach took the name. Kivach is an application on Obyte to donate any amount to any open-source project on GitHub —but not just that. 

By using this tool, the recipients of donations can donate a part or a total of the coins to any other project(s) they want. Either because they use those tools for their own project (like libraries or frameworks), because they share the same ideals, or just because they like it. So, the donation can flow as a cascade across multiple repositories and collaborators.



The platform uses the Obyte sovereign identity feature “attestations”, which can link any GitHub account to its owner’s Obyte address. The donor can use the native Obyte token (GBYTE) to donate or use the Counterstake Bridge to donate in USDC, ETH, WBTC, and any other supported token on Ethereum, BNB Chain, and Polygon.

The funds are stored in an Autonomous Agent (AA), the equivalent of an Ethereum smart contract in Obyte. Only legitimate recipients can claim them, and this is ensured through attestations by requiring them to prove that they own the recipient project. They add their Obyte wallet, verify their identity, and set the distribution rules —if they want to share the donation with other repos. If they want to take the whole donation, they can keep it. The “cascade” is always optional. 



Kivach vs other donation options

Of course, you can donate to open-source projects from other platforms too. Popular alternatives are GitHub Sponsors, Open Collective, or Buy me a Coffee. On the other hand, projects like VLC Player accept cryptocurrencies directly. All of them have their downsides, though. 

To begin with, only Kivach allows cascading donations automatically. The recipient developers can distribute large parts of their funds (or give them away entirely) among their most-needed external tools and projects. Besides, unlike what happens with traditional money, transparency is in the first line. Anyone can see where the assets are going in real-time. 




For donating in non-Obyte based cryptocurrencies, the Counterstake Bridge and Oswap help to automatically transfer and exchange the coins, instead of having to manually transfer and exchange every coin. The funds can easily be donated from the most popular smart-contract blockchains. 

More advantages

The advantages of Kivach against centralized platforms (like GitHub itself) are obvious. These platforms have a lot of restrictions and rules for donors and recipients, including limits on the donated amount and the revelation of personal data. Donating your funds anonymously is almost impossible. The GitHub Sponsors program even asks for your personal address, and it’s not available in every country. 

Fees are an important factor to consider as well. Platforms like Buy me a Coffee charge a fee to the recipients, while Open Collective reserves a fee for their “Fiscal Hosts” (the project treasurer, an intermediary). Kivach’s only fees come from token transactions. 

For instance, if the funds are sent via Ethereum, it’s necessary to pay a small fee for gas. In GBYTEs, the fees are even smaller: only 0.00001 GBYTEs (around $0.000157). Of course, none of these fees are kept by Kivach. They’re only necessary to make blockchain and DAG transactions.

A real use case: Core-js and zloirock

Do you know what “Core-js” is? Probably not. But the real alarming issue is that a great number of developers and companies that use this modular JavaScript library don’t know either —or purposely choose to ignore it. And that’s not a minimal portion. Its creator and sole maintainer on GitHub, Denis Pushkarev (known as zloirock), recently shared some astonishing stats about it.

As it turns out, Core-js it’s a vital part of the infrastructure of at least half of the entire web. Sites like Amazon, Yahoo, Microsoft, Instagram, Reddit, Twitch, Adobe, Pinterest, eBay, Netflix, PayPal, Binance, Spotify, and even Pornhub use this “small” tool on their sites. A search by Pushkarev showed that Core-js is present in at least 54% of the top 10,000 websites around. Over 13.5 million repositories on GitHub depend on this tool and it currently has 42.5k weekly downloads.

To sum it up: Core-js is BIG. A lot of people depend on it, even if it’s not visible at all to the final user. Now, the saddest part of all this. Denis Pushkarev is a full-time open-source developer, with little to no rewards from Core-js. At the beginning of this project (in 2014), he received around $2,500 in monthly donations.

That amount (not that big itself for a developer), decreased even more with the years. Now, it’s barely $400 monthly, while the downloads of Core-js keep increasing. Pushkarev often works around 250 hours per month on this project, at a rate of less than $2 per hour. It’s just not fair.

In addition, he has real-life problems to solve, like sustaining his own family and some legal issues in Russia, which prevent him from leaving the country. So, he’s planning to make Core-js a commercial software or abandon it, unless he gets meaningful collaborations to keep the library alive.

Kivach for zloirock

Thanks to Kivach, zloirock (like any other developer on GitHub) now has a donation alternative without limits and fees. So far, this repository has received around $176 in GBYTEs from several donors after the publication of the zloirock post on February 14, 2023. The maintainer can use these funds in the Obyte network, take the Counterstake Bridge to send it to BNB Chain, Polygon, or Ethereum; or exchange them for fiat money in any of the available markets.

For now, the repository is keeping 100% of donations, since the developer hasn’t set any other distribution rules (he might not know that he’s receiving donations yet). His repository has millions of direct and indirect dependents, and donations to any of them could trickle down to Core-js. We hope that Kivach.org keeps helping known and unknown but vital projects like this one.