[READY] [GF: Phase 1] rotki

Project Name: rotki

Author Name: Lefteris Karapetsas

Number of OP tokens requested: 190770 (See the budget - work outline section.)

L2 Recipient Address: 0x9531C059098e3d194fF87FebB587aB07B30B1306

Relevant Usage Metrics: Over 10k users, 146k downloads, 88 code contributors … birds love us!

Optimism alignment (up to 200 word explanation): One of the stated intentions of Optimism is to fund public goods. rotki is a public good, as it’s the only opensource portfolio tracker + accounting tool for crypto that protects your privacy and lets you own your data.

rotki at the moment does not support optimism in any way or form. We want to change this and would like to support optimism to the same extent as we support ethereum mainnet portfolio tracking, human readable transactions and PnL report. This will be of great benefit to all optimism users as they will finally have a privacy-first, local-first solution for portfolio tracking and accounting.

Proposal for token distribution (under 1000 words):

How will the OP tokens be distributed?

100% development work of the opensource software. See the budget - work outline section.

How will this distribution incentivize usage and liquidity on Optimism?

It will incentivize usage since users will now have an opensource solution for portfolio tracking and accounting and will be able to benefit from the human readable transactions decoding of rotki also in optimism and have PnL analysis of optimism defi activity and not just mainnet.

As a bonus other optimism projects can check our code and our work and incorporate whatever they need in their project (so long as they respect our opensource license – AGPLv3).

Why will the incentivized users and liquidity remain after incentives dry up?

My favorite question. Because rotki is not a freaking ponzi. We are a useful local application that solves a problem. All our users use us because we are of use to them and they stay because they love us.

Over what period of time will the tokens be distributed?

Since this is for development work we would sell them to cover expenses, but only on a need to pay-basis. We would also be totally fine if the tokens were given to us in batches after completing milestones but in that case the token amount would have to be adjusted for the $ value of work done.

How much will your project match in co-incentives?

Our project has no token or any other ability to provide co-incentives.

Budget proposal – Work outline

In this section I would like to give a detailed budget spending proposal as we are asking the tokens for development and the optimism community should know how they are going to be spent and why.

We are going to be using $ value here.
We assume a weekly dev salary of $2,084.
All these estimates also include a 40% markup on top for any extra work we may need to do, research but most importantly all other expenses these will incur for us such as taxes. rotki is incorporated in Germany and pays taxes there.

Architectural work to properly support EVM based chains like optimism

Backend: 2 devs 4 weeks

Total: $23,341

Implement address token + portfolio tracking for optimism in rotki’s backend

Backend: 2 devs 2 weeks
Frontend: 1 dev 2 weeks

Total: $17,506

Implement transaction decoder system for optimism and some sample decoders for biggest optimism defi protocols

Backend 2 devs, 4 weeks
Frontend: 1 dev, 3 weeks

Total: $32,094

Implement pnl analysis + report for optimism

Backend: 2 devs 3 weeks
Frontend: 1 dev 3 weeks

Total: $26,259

Total

23341 + 17506 + 32094 + 26259 = $99,200

With an $OP price of $0.52 (time of this post) then this would mean 190,770 $OP tokens.

Relevant info

rotki github: GitHub - rotki/rotki: A portfolio tracking, analytics, accounting and tax reporting application that protects your privacy
rotki discord: (has captcha verification – so have DMs open): Rotki
rotki twitter: https://twitter.com/rotkiapp

Final remarks

  1. This proposal is only for the initial development and specifically for what is outlined in the budget proposal.
  2. Further support, bugfixes, and development/upgrade of relevant future is not included. We will naturally support rotki further and help users but we will not be under any special obligation after the initial development is done. This is not an SLA agreement between optimism and rotki.
  3. We reserve the right to request for more funds if the OP prices skews too low and no longer meets the budget requirements or if our estimates were way way off.
  4. We also reserve the right for further optimism related rotki funding proposals in the future assuming this one goes well and the users of optimism appreciate our work!
12 Likes

Easy one to support. Thanks for taking the time to write such a detailed proposal.

2 Likes

Great proposal. Loved the amount of detail you added to the budget proposal.

3 Likes

I wouldn’t call this proposal a public good as its 100% to fund your venture. Also there are many portfolio tracker and account tools apps so how will yours be any different to the more well known ones?

Another problem I have is that the prices and timelines you have quoted seem to be exaggerated, I am wondering if there is any specific reason as to why? As it sounds like its mostly integrating support for Optimism meaning the majority of the code logic will be reusable.

3 Likes

I would disagree, anything open-source is public good. I do agree on the price quotes, those are a senior dev weekly rate

The code is opensource and thus a public good.

The difference between the more well known portfolio trackers in a TL;DR are:

  • rotki is the only opensource one. All others are closed source
  • rotki is the only local one. All other are centralized SaaS so your data are all stored in centralized servers.
  • rotki is the only privacy focused one. All other keep your data in their centralized servers and god knows what they do with it.

Another problem I have is that the prices and timelines you have quoted seem to be exaggerated,

That’s simply false.

The timelines are optimistic. I could have given 2x the time but want us to try to finish it faster and not spend too much money on this as it’s an application for funding and want to respect the optimism community if they choose to give us this grant and not overcharge.

The prices are european senior dev salaries. If I went with American they would be roughly 2x. But you are lucky we are based in Europe :wink:

4 Likes

Are all features of the premium subscriptions also open source?

https://rotki.readthedocs.io/en/latest/faq.html#questions-on-premium

It is not clear in the documentation, I understand that everything is open source. Is this correct?

Here I found the folder on GitHub

Very good question!

Yes all the main code of rotki is opensource.
Everything developed as part of this grant will be opensource and part of the same codebase.

Premium simply unlocks some limits (in the opensource code) and provides some extra capabilities as part of syncing with our server such as syncing with our own server to sync the user DB between machines or provide some extra UI components such as dark mode, or some watching functionality for makerdao vaults etc.

4 Likes

First I want to clarify that this is a personal opinion and not of the communities in which I am an active participant and contributor. Defi LATAM and OptimismESP

During these days in the Defi LATAM community in the server they have dedicated to governance Optimism, we were discussing with other members of the group about the term “public goods”. How we should interpret it and if it was correct to call them that way or as Optimismo defines them. This generated a great debate in which, I believe, we did not arrive at any concrete definition.

I think that the Optimismo Foundation together with the Optimismo Collective, of which I consider myself a part, are going to have to define what the characteristics and aspects of a “public good” are.

In this particular case, my question is whether Rotki is enough to be a public good just for being open source. Since it has a “premium” part that monetizes and it seems fine to me that it has a business model. But that premium section is not accessible to all web3 citizens unless you are endowed with extensive technical knowledge in programming.
Some protocols collect or monetize through marketing fees and the funds are managed by a DAO, this would not be the case.

Is open source enough to be a public good?

What other characteristics should we take into account to label a project as a public good?

All this questioning also arises from the fact that in this Phase 1 we have seen some projects of dubious provenance.
In the case of rotki we all or at least most of us know the reputation of Lefterisjp and its contributions to the community and we trust or at least I trust that the grants it is going to receive will be well used as detailed in the [DRAFT].

In short, I think this particular case of rotki depending on how you look at it may or may not be considered a public good.
It will surely happen with other similar projects, that is why I think it is necessary as governance to have more clarity in defining some characteristics of “public goods”.

Disclaimer: Surely some of the ideas, including paragraphs, are not understood 100%. I am not a native English speaker.

5 Likes

Rotki is a public good, and an awesome tool. Keep on building!

1 Like

Agreed. I am an early user of Rotki. Awesome tool

1 Like

Thank you so much for taking the time to ask such questions @axivaz. And no worries I completely understand your English!

Such healthy criticism and questions are more than welcome!

So in short I believe opensource is a public good. True opensource. Like rotki. So any OSI approved license: The Open Source Definition | Open Source Initiative

There is other licenses which may allow for the code to be open but limit usage in various ways such as non-commercial etc. These are called “source available” instead of opensource.

The entire public good talks in crypto started from gitcoin. Gitcoin’s stated mission back in 2019 was to fund opensource development. A category which has been and still is something that is considered “impossible to do”. Later this changed to the more broad term public good, to include other projects non-software related.

But why is opensource software hard to fund? Why is is a public good? Because opensource can be copied, modified and redistributed. And that is even encouraged. It’s part of the very definition of open soure I pasted above!

In the traditional for-profit model a venture will not get funding if it does not have an IP. Opensource software is not IP since it can be copied. For example you can spend hundreds of thousands of dollars in development to create a piece of software and someone else can take that software, copy the code, repackage it and sell it. And that would be fine in all opensource licenses.

This is why VCs do not touch opensource code. They touch opensource protocols, since there is tokens and all the ponzinomics that come with them but for pure code they do not.

And to further cement my point about rotki specifically let me tell you a story. A German company created a portfolio tracking SaaS end of last year. And sold access to it for ~1k $ / month per user. Their code was closed. We had a look at how their app behaves and it was obvious from the start they were using rotki’s source code.

We confronted them. They admitted they were using our code but said they don’t need to respect the license. Our license is AGPL, which means you can use it, copy, redistribute, sell it, but you should also be opensource and give credit to the original authors (so rotki). They refused to do that. We hired a lawyer. Spent ~3k EUR and 2 months of going back and forth with lawyers. At the end they simply removed some features and claimed they were no longer using our code.

Our lawyer informed us this was the best case scenario and that we had no way of verifying anything. Did not really feel like a win. Why am I saying this? I am saying this to show you that even defending opensource licenses is hard and it falls on the opensource project. Projects that traditionally have no money to begin with. The idea is your code is out there, can be used by others and you are vulnerable and have to accept that fact or you have to not build opensource.

For all the above, opensource is a public good

7 Likes

To comply with Phase 1 rules stated here: Governance Fund Phase 1: How to Create a Proposal and after having responded to any feedback we got here, I am changing the proposal from DRAFT to READY, so it can be included at the next round of votes.

3 Likes

I think open source software is pretty much the archetypal Ethereum public good. @lefterisjp explains this well above, but I feel his argument lacks something… music!

This is such a great question as I am also discussion this with my circle.

Two things that we need to work on, definition of public good and should we, the gov, fund them or the funding should come from OP RPGF.

Coming back to open source, yes, open source is public good, in my view.

endowed with extensive technical knowledge in programming.

Even I thoughts its not open-source as it include some premium feature but the code is open, anyone can clone it, amend it and use it as long as they are respecting the open-source license. Author is not responsible for teaching technical knowledge, its his wish to do so or not but that a totally different topic.

On the other side, Open Source Software(OSS) are built and developed by public funding and donations, precisely what Gitcoin and QF funding round are trying to do. Submitting a proposal and seeking funding for the development is not aligned with OSS and/or public good or is it ?. Public Good(OSS including) should be based on “Bottom Up” approach; here you develop something and then getting the reward retroactively and not “Top Down”; here you ask for funding first and then develop something. Then is it still public good ?

I would like hear others opinion on this.

2 Likes

Why would it not be? Gitcoin does not have a monopoly on funding public goods.

Retroactive funding part of the development as gitcoin always does is simply not enough. Gitcoin is trying but the reality of the situaton is that the matching pots are simply too small and the projects applying for them too many.

Funding development of specific features is even how gitcoin started. See gitcoin bounties. I would even argue that this is much more fair to the community that does the funding. As they know exactly what they are getting as opposed to the much more vague retroactive funding.

It’s also much more fair to the opensource project. And I can’t stress this enough as a person who runs one. With a grant application such as this, they know where they need to focus their development efforts on.

Can’t just develop randomly trying to satisfy as many different communities and people as possible in the hopes that some of them may in the future toss few coins their way which are almost always simply not going to be enough.

The resulting opensource code is the public good. Who funds it and when does not have any effect on the end result. You can still take the end result, copy it, modify it, redistribute or sell it so as per the OSI opensource definition it’s still a public good.

I mean the question really makes no sense. The Ethereum foundation itself is also funding opensource projects with grants exactly because they are public good. Other protocols/projects also give grants to projects that produce opensource code that deals with their protocols. That does not change them from being a public good. It’s the curse of opensource maintainers. Trying to get funding from as many sources as possible just to keep afloat.

So your definition of a public good would be opensource code that is not funded by grants but only with a few pennies retroactively? By the time those pennies flow into the project, the project is dead. Let’s not perpetuate the myth of the poor opensource maintainer. That’s just a myth, it’s unhealthy and hurts opensource development. Software development costs a lot of money and opensource software is no different. I argue that opensource software is the most important kind of software and thus should be paid even more than closed source.

5 Likes

Rotki is a cool app…
Just one area where I think it is odd.
As a gitcoin steward you were highly critical of projects paying 7-8k $ a month (some were even a little less than that and based in US)…
but if we used US equivalent of 4.33 weeks in a month, you pay your devs 9k$ a month and are talking about how great a deal that is…
seems like when you are on the opposite side of the funding window your tune changes

1 Like

Very valid criticism.

The answer is quite simple. The quoted price is not salary we pay our devs on a usual month (also here we count 4 weeks/month so quoted monthly salary is $8,336). When requesting money to do specific work that’s when we request market salaries for the time period of said work so we can for a short period pay them what they are worth.

The monthly salaries we pay in rotki are already stated in the gitcoin forums and range from $20k yearly (my salary) to $60-70k.

rotki should really at some point become a non-profit. We don’t make any profit anyway. Have no investors to give said profit back to. It’s my own personal funds that started this, and then community grants and a tiny it in revenue from premium.

Really guys … all we get we pay to our devs. My own salary is the minimum legal salary in Germany and I only pay it since otherwise the company would be in trouble (according to our accountant)

6 Likes

thanks for clarifying
I think this highlights one of the issues though…
I have also worked on a project in past with grants funding, and it is incredibly difficult to get people to commit to a long term vision when you are constantly begging for bare minimum funding and devs have to take large pay cuts…turnover becomes high, meaning training and onboarding takes up a lot of resources and recruiting
you shouldn’t have to pay yourself 20K! that is unsustainable
in the us, that “salary” is also pre-tax and also pre-health care (in us family health insurance can be a big chunk of that amount!)
if you have a family completely ridiculous to expect a dev to take a job with no benefits for 7$ a month where taxes and health care eat up majority of it…imho