bisq-network / compensation

@bisq-network contributor compensation requests
https://github.com/bisq-network/docs/tree/master/dao/phase-zero#how-to-request-compensation
20 stars 16 forks source link

For July - September 2018 #96

Closed BravoIndia closed 6 years ago

BravoIndia commented 6 years ago

Summary

This is my first compensation request. I'm submitting it in accordance with https://github.com/bisq-network/proposals/issues/37. Thank you to everyone who participated in the extensive discussion and consideration.

I applied the 1BSQ=1USD rule.

Contributions delivered

Transifex : (BSQ requested = 375)

Contributions in progress

Thank you for your consideration everyone. It's been a delight!

ripcurlx commented 6 years ago

@BravoIndia Thanks for your compensation request and first contribution! Could you please give your thoughts at https://github.com/bisq-network/compensation/issues/95#issuecomment-408763361 as well?

ManfredKarrer commented 6 years ago

I think we are getting on a wrong track if we orientate translation work on past paid contributions by word count. We had just a discussion here https://github.com/bisq-network/compensation/issues/95 and the final cost by word went down to from that 2 BSQ/word to what they paid professional translators (about a few USD cents in east asia - so of course we will have different costs in diff. regions). We also need to take care to not weaken our rule that only shipped contribution is up for compensation. What shipped means for translation is a bit blurry maybe. For me it is fine if it is a completed translation in transifex. Others might define it as shipped in a Bisq release - which might be more accurate. But I would definitely not consider translations work which was added but not completed - thus not ship-able for any upcoming release - as ready for a compensation request. If it never gets completed it will never add any value to Bisq users.

So to summarize and trying to get a bit of a guidance for follow up requests:

cbeams commented 6 years ago

As I just mentioned in #95:

+1 for delivered work in the context of translations meaning that they are included in a Bisq release.

ghost commented 6 years ago

I think also that we are getting on a wrong track in using my 100% noob compensation request https://github.com/bisq-network/compensation/issues/91 as a reference for translation work. As already precised, it was a first, noob, evaluation for few words, based on hours needed, where most hours were in fact used to learn transifex etc.

I'm rather annoyed with that, and if it is not against the Bisq compensation rules, and if nobody disagrees, I will simply cancel/annulate my transifex evaluation for june 2018. Btw, it was also a non delivered work, since the concerned translation is not completed. If nobody protests, I'll do that in the next hours. (And I'll put a minus 300BSQ in my july comp. request).

ManfredKarrer commented 6 years ago

@HarryMacfinned I think we should stick to the simulation mode for the real DAO/BSQ and there past contributions cannot be undone (is in blockchain). We are learning and it was the stakeholders fault (of course mine as well) to not take more care in the valuation. Not your fault at all and as I appreciate your intention and honesty I think there is no action needed. Just my 5 cents...

BravoIndia commented 6 years ago

Thank you for your comments everyone.

I've now read through https://github.com/bisq-network/compensation/issues/95. It looks like since @HarryMacfinned's compensation request (https://github.com/bisq-network/compensation/issues/91) was the only one including translation compensation in the past few months, several people had their expectations skewed.

Here are my thoughts (apologies in advance, a bit long-winded):

Here is my suggestion:

For translation work we should differentiate between:

  1. Paid outsourced translation
  2. Non-paid personal contribution

Paid outsourced translation should be compensated at the rate paid + a reasonable management fee.

Non-paid personal translation contributions should be paid at opportunity cost within reason (considerations such as regional costs, opportunity costs, etc.). In my own case, I used an hourly-rate justification.

The reason for the differentiation between the two is, very simply, that a single standard essentially guarantees that the only translation work that'd get done is paid and outsourced (and most effectively in lower-income regions). Not that that's entirely unreasonable, but it's hard to believe anyone other than non-professionals in lower-income regions would be willing to bid as low as $0.05-$0.07/word, let alone $0.025.

To illustrate, @HarryMacfinned requested 300 BSQ for 143 words last month--which is about 2.1 BSQ/word. At that rate, my work (828 words) would be equivalent to 1,737 BSQ. But that's work he did over the course of a full month, with a lot of other contribution in addition--whereas I'd only put in 3 hours each weekend (for 2 weekends), contributed in no other way, and my opportunity cost is just simply not that high (rather, it's about $55/hour). Which is why I think it was perfectly reasonable for me to request 300 BSQ for my translation work, and presumably reasonable for @HarryMacfinned to request 300 BSQ for their translation work, and presumably reasonable for @initCCG to request 1,005 BSQ (125 + 880) for their management work and payment for outsourced translation. It'd actually make sense, in my mind, for @initCCG to request significantly more compensation than 125 BSQ for their management work considering the incredible amount of value they delivered to the project with their oversight.

Btw, @HarryMacfinned I really think you ought to cut yourself some slack here. I'm entirely new here too, and I hope I'm not overstepping my welcome by saying this, but up until May there was hardly any translation work done on transifex in 2018 (judging by the activity graph, maybe I'm wrong). In fact, it looks like @initCCG's work in July basically x11 the average monthly contribution. Considering that it was very unclear at the time of your request (June) whether or not Bisq would receive serious translation contribution--it made perfect sense to compensate you well for it.

Moreover, it seems apparent from #95 That @initCCG did all their amazing work with some assumption that they'd be compensated at a similar rate. I certainly did. And to their credit--they corrected that as soon as it was clarified. So arguably, if it were not for you receiving those 300 BSQ, Bisq wouldn't have a fully translated and reviewed release-ready Russian, Vietnamese, Thai and Persian translations.

In any case, frankly speaking, I don't know what the right answer is here. But these are my thoughts. Mostly importantly, I think a definitive determination should be made so as to cement the expectations of those considering translation work in the future.

BravoIndia commented 6 years ago

Oh, I should add: If you agree partial-language contribution request is justified, or if you don't agree but you do that an exception should be made this time (due to the expectation set out by previous paid-out partial contributions), but you think strictly a market rate is appropriate and an hourly-rate is not--please give me your opinion as to that rate and I'll revise my request.

I'd expect Hebrew translation costs a fair bit more than Thai, Vietnamese or Persian translation--seeing as how the minimum wage in Israel is $7.80/hour (about $18/hour average wage) and minimum wages in Thailand, Vietnam and Iran are about $10 a day. But, quite frankly, I don't know.

ghost commented 6 years ago

Concerning the valuation of translations. What stakeholders may also do, is : 1/ put some priorities on the wanted languages, relatively to the market size, 2/ give an approximate and indicative BSQ value for the complete translation done

This is not intended to fix things top-down, but simply to give some indications/borders and help translators.

For the last evaluation, we navigated between 200.000 BSQ and 2.000 BSQ ... imo we should try to avoid that. This will not help the translations being done.

Also maybe there is a better place for this kind of discussion ? Maybe we should have a transifex repo ?

ManfredKarrer commented 6 years ago

@BravoIndia Thanks for your input and discussion! Re partial translations: Languages will be usually only added if they are at least to a high degree completed. We could also add languages with lower completion grade but IMO it lowers impression of quality of you see some words translated and some not. We have plenty of uncompleted languages and some might never get completed and therefor never will produce value for Bisq. I am not super strong against adding partially completed (at least > 50%) languages as it might create incentives for those using the language to help t complete it and if we do that then that restriction would be released anyway.

Beside that to have a translation for a certain market is just a small (though important) aspect for Bisq's market presence. Having local people for promotion and market makers is required as well to get some volume. Beside that is the rather complicate topic of arbitrators for those markets (that's another topic though - the current arbitration system is not ready to be opened).

We have to see translation work in the right balance what it will add value to Bisq. To get translation of Icelandic might be nice but as they have a very high average income it will cost probably quite a lot and if we get 1 trade a month it will not pay off the costs in 10 years... So we have to think a bit from a cost/value perspective which markets we want to prioritize.

I agree that the metrics by word might be too hard to apply. Not sure what those metrics are for higher income countries and if those numbers would make it more feasible for non-professional translations to still have incentive. But to orient those metrics on the countries average wage is a good idea IMO.

I hope some contributor will take over the lead role for the transifix area and come up with some suggestion and metrics. Maybe it would be a good idea to just delay the current requests for next month and try to get those questions more discussed and answered. Maybe https://github.com/r4el can add his comment on the discussion as well?

BravoIndia commented 6 years ago

@HarryMacfinned @ManfredKarrer Thank you for your comments. And my pleasure btw, it's an interesting discussion :)

@HarryMacfinned is dead-on that while there are a number of factors to consider, an unclear rate, even if high, will not help translations. What do you think about setting an approximated bounty for each of the remaining languages @HarryMacfinned? And that will set the rate, subject to DAO vote? And @ManfredKarrer I basically agree with you completely except for the slight differences in philosophies where I still think of a partial translation as "valuable" in the present, prior to knowing for certain whether it will be completed in the future--though that might just be the wacky Bayesian in me, but I think you'll grant that the incentives are on my side even if they come with at some cost. Your comments on the whole ecosystem were very insightful. I'm new to Bisq and already love the game theory.

Maybe the best option, at the end of the day, is just to set an objective market-rate range of 0.01 BSQ - 0.1 BSQ range (for example) and then let the other factors (such as region, personal v.s. paid outsourced work, input of transifex admins, etc.) float within that range. Perhaps that's a reasonable price to pay for objectivity in my opinion.

I'd like to hear from the main transifex role-holders as well and what they think regarding some way of narrowing the range of rate subjectivity. @ripcurlx Do you have any input?

And @ManfredKarrer, I'm certainly not opposed to delaying the current requests. I'd be happy to get @initCCG's opinion on this.

ripcurlx commented 6 years ago

Out of the languages in translation on Transifex (30) half of it has less than 50% translated. Atm we only have nine of them integrated in the Bisq client. I never did translations (besides coming up with wacky English ones), but I have in-depth experience from a product management side for releasing localized software. We do want to have good enough translation, so that it is an improvement compared to just sticking with English. Having a bad translation imo is even worse than having no one, as it would increase arbitration cases which is bad in a couple of ways. Arbitration currently only supports English and German as I'm aware of and disputes because of bad translations might be even more complicated to solve if the arbitrator is not able to communicate in the native tongue.

What I discussed with https://github.com/r4el is that we want to find a clear path how we want to measure quality and how to compensate it in a standard way. @r4el already prepared a presentation he wanted to give, but we had to delay it because of health issues. I think it would be great if @BravoIndia and @initCCG could join a (if necessary private) call together with everyone interested to discuss and decide on good first attempt for valuing translations.

From a quality point of view I think it is good that we don't include not reviewed languages within the client. Of course this could also be gamed based on how we decide to assign someone as a reviewer, but it is good from my experience not to release translations that are translated by one person and never reviewed. If we need 100% translated and 100% reviewed for a language to be included is up for discussion, as we have a couple of languages included anyways that are not 100% translated or reviewed.

It is true that if we only allow compensation for translations that are included in a release it is out of control of the translator, but the translator can push the bisq-desktop maintainer (atm @ripcurlx) to release asap. It is the same situation for development work. In general we plan to release in at least every 1-2 months from now on which should help decrease the time until compensation.

How to handle and motivate partial translations is a tricky one. We could add partially translated localization files and label them in the language selector somehow, but I'm not sure if this will be a little bit confusing for the user. @BravoIndia do you think 50% (~700 strings) is too much of a hurdle for a translator until a language is included into the client and up for compensation?

BravoIndia commented 6 years ago

Thank you @ripcurlx . Actually, I think my opinion will surprise you!

I had not considered your point on arbitration, that is a very good point and made the issue salient. So I think now 50% is actually too low for the language to be included in the client. And based on my experience translating so far, I think each language should be fully reviewed by an at least 1 person other than the translator before included. Another set of eyes, who's focused only on reviewing and not translating could really provide insight into some situations where there may be confusion (and perhaps spot wrong translations, but that's less likely in my mind).

On that note, could you assign me as a reviewer for the Thai work just completed? I should be able to knock that out in August.

But I also think in the case of translation, work on transifex should be considered delivered work due to the incentives and the arguments I've made in previous comments. As to the standard being changed for development work, which @ManfredKarrer brought up in the other thread (#95)--it is interesting, but I simply can't comment due to inexperience.

Also I'd be glad to join in on a call with you, @r4el and @initCCG and support the discussion to the best of my ability.

So far, the most practical solution seems to me to set rate for translations on transifex (including partial) as follows:

  1. Paid outsourced translation: Amount paid to outsourced translators (US$1 =1 BSQ) + management fee.

    (e.g. 880 BSQ for Thai, Vietnamese and Persian translation & review by @initCCG's team [amount they paid to outsourced translators-- $0.025 per word translated & reviewed] + management fee of, say, 450 BSQ -- totaling 1330 BSQ for 3 languages)

  2. Non-paid personal contribution: Between 0.02 BSQ - 0.12 BSQ per word with justification and feedback from transifex admins.

    (e.g. 100 BSQ for 15% hebrew language translation, @0.11BSQ per word, justified by regional considerations, hourly work, and individual contribution, etc.)

I've adjusted my request accordingly, and if it's acceptable that transifex work is considered as delivered then I think it ought to be good. But if not, no worries, either way I'll make an effort to review the existing Thai translation and complete the Hebrew translation--I just think, as a rule, it is still the correct decision to consider work on trasifex for existing languages as delivered for the many reasons detailed above and in #95 (and new languages can be negotiated with proposer).

ManfredKarrer commented 6 years ago

@BravoIndia Thanks for your feedback and discussion input! As it seems that it will require a bit more time to get to a model which finds consensus I would recommend to postpone the request to next month. But of course up to you, just to avoid confusion specially for those, who did not had time to follow all the discussions. Would be great if you, @ripcurlx, @r4el and @initCCG could get together to find a model which works for all.

BravoIndia commented 6 years ago

That's good with me. Adding [WIP] to the title.

ripcurlx commented 6 years ago

@BravoIndia I just assigned you as a reviewer for Thai. It was already reviewed by a second translator, but I think it won't hurt to go over a second time. I'll try to organize a call early next week together with @r4el and you to get a first version out how we want to handle translations and reviews from now on. Thanks for the great discussion on this topic!

ripcurlx commented 6 years ago

Closing as complete, see https://github.com/bisq-network/compensation/issues/121#issuecomment-426911712