[READY] [GF: Phase 1] rotki

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

I think we jumped to wrong foot, I am huge fan of privacy and OSS development, what I wanted to discuss is not the fund but the approach/time of getting/asking the fund.

Anyway, I want to pick your brains on few more points:-

Case 1:- I have developed an OSS, its not prod ready but it does work, now in order to make it prod ready, i want to get the fund and reaching out to different entities such as OP gov fund /gitcoin/qf and similar.

Case 2:- I have an idea, I am willing to spend my time and want to built that idea into a reality, for that I need the fund, so I submit the proposal.

Now, both will be OSS, but case 1 has something to show for and case 2 has nothing to but a idea. How would you allocate fund to them?

In Case 1, not only I am aligned to support him for his past work but also for future work, just because a working product gives me more confidence.

In Case 2, s/he might build something, cant accept/reject for sure but looking at optimistic side, I agree to support, now should we support the full budget ? I mean a full prod ready application or support them to convert that idea into a POC and decide on further funding ? What do you think ?

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.

Looks like I triggered you there…lol, again that was not my intention.

2 Likes

Ah don’t mind it. I suck at expressing myself in written form and almost always sound like I want to strangle the counterparty :sweat_smile:
I have to work on that. My colleagues also sometimes get the wrong idea in my code reviews.

I see what you meant now.

Yes definitely if the team has past work to showcase they are capable of delivering then this would definitely be a big plus as it gives you a confidence boost.

In case 2 perhaps releasing the funds in milestones is what would be really cool as then you can be sure that work will be achieved and only iff they complete the first milestone would second one be paid out, then third one and so on and so forth.

So if the first milestone is never done then a very small amount of funds would be wasted, as opposed to wasting the entire budget.

EDIT: As for this specific proposal I believe rotki has shown it can and does deliver with a product that is used by many users and being improved continuously with frequent new releases.

3 Likes

avalo esta propuesta a darle accion

1 Like

It is very mush aligned… Developers shouldn’t be the only ones contributing to Open Source development… yes, they are the only ones that can do the LABOR… but capital contributions to pay for that labor are also valid contributions… The idea isn’t that open source code should be built for free, the idea is that open source code should be free to reuse. Paying devs just shifts the heroism from the devs to the funders.

Let’s be the heroes this time, and spare the devs, let them feed their kids (and not have to sell out to FAANG).

original

2 Likes

Yes, you are and I have corrected myself in my reply to lefterisjp, I was referring to timing of the fund rather than the fund itself.

1 Like

Great proposal i will support

1 Like

Voted : Yes.

Pros:

  1. Open source i.e public good
  2. Amount request is justified by proper distribution plan
  3. Application is already live on other chain
  4. Privacy…hell yeah.

Cons:
None

I was that you have already shared you view on Phase 0/Phase1 funding.

I am afraid, I will have to bother you one more time, this I was thinking since past few weeks and I would love to hear your opinion on this Accountability of Phase 0/1 Funds given to projects

That is not a proposal but rather I request from both, OP /Project, team, If I get a positive response, I will reach out to the Team and would also encourage upcoming project proposal to consider this.

1 Like

Thank you for your support @OPUser!

I will comment on the thread you posted to keep things here on topic.

2 Likes