Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

For July - September 2018 #96

Closed
BravoIndia opened this issue Jul 30, 2018 · 16 comments
Closed

For July - September 2018 #96

BravoIndia opened this issue Jul 30, 2018 · 16 comments
Assignees

Comments

@BravoIndia
Copy link

BravoIndia commented Jul 30, 2018

Summary

  • BSQ requested: 375 BSQ
  • BSQ address: B1RsBHsUuEBTLUgf7KeFs4KnT9jwMWi7Xt

This is my first compensation request. I'm submitting it in accordance with bisq-network/proposals#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)

  • Thai - 275 BSQ requested
    Full review of the translation (at least 15 hours over the course of 2 months) with changes made to 287 strings (1811 words in August, 5237 in September) out of 1585.
    These correction were carefully made and should provide significant quality of life improvements--which is quite vital in cases where arbitration is needed and even minor confusion can cause severe misunderstanding. Only about 15% of the corrections were outright spelling/grammatical mistakes, whereas the rest corrected translations that lacked needed clarification or used words in the wrong context (e.g. Using the word "open" meant for physical objects in "open help"). For the most severe cases I've added comments in Transifex explaining the change.

  • Hebrew - 100 BSQ requested
    I translated 187 strings to Hebrew (up from 6% to 20%) in July. This request is made as an exploratory request in order to evaluate initial work (per Compensation and valuation of translations/reviews proposals#37). I've received the ok for this language from Transifex admin @ripcurlx.
    If accepted I intend to complete the Hebrew translation (and review if no other translators are available) before making another compensation request for this language.

Contributions in progress

  • I intend to complete the Hebrew translation, and then review it if no other Hebrew translaters are available.

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

@ripcurlx
Copy link
Contributor

@BravoIndia Thanks for your compensation request and first contribution! Could you please give your thoughts at #95 (comment) as well?

@ManfredKarrer
Copy link

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 #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:

  • Do not orientate on past requests - they might have been overpaid and we cannot afford to repeat mistakes
  • Only request for at least completed languages (or shipped in a release - leave it up to other BSQ stakeholders to voice their opinion here). Partially translated languages does not add value to Bisq.
  • We should find a "market rate" per word for translations to get some metrics. It seems standard in professional translation services to get paid by word count. 0.05 - 0.07 USD is mentioned in For December 2018 #95 but I am not experienced in that matter and don't know if those numbers are globally valid or region specific. Anyone who has more experience here please add more information.

@cbeams
Copy link
Contributor

cbeams commented Jul 30, 2018

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
Copy link

ghost commented Jul 30, 2018

I think also that we are getting on a wrong track in using my 100% noob compensation request #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
Copy link

@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
Copy link
Author

BravoIndia commented Jul 30, 2018

Thank you for your comments everyone.

I've now read through #95. It looks like since @HarryMacfinned's compensation request (#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):

  • I agree with @ManfredKarrer that it'd be good from here on out to set a standard for compensation requests for translation work. In other words, unskew the expectations of those considering translation work in the future. I've laid out below what I believe the optimal framework ought to be.

  • I further agree with @ManfredKarrer's consideration that what is meant by shipped for translation is a bit blurry. Though I respectfully disagree with him as well as @cbeams that requests must be made only for completed languages. By limiting contribution requests to only completed languages you're severely limiting the incentives for individuals to work on languages which are presently at a low level of completion, and that's unfortunate. Transifex already provides a very reliable metric to evaluate productivity (string count / word count), and in principle, partial translations can be released and provide value [they are not the same as, say, partial code]. I think a partial translation is more analogous to an 0.x release update, and certainly no one would say that compensation for development work can't be requested until the 1.0 release.
    Furthermore, for a p2p decentralized exchange like Bisq, translation can provide immense value expanding the userbase toward those who need it most. Why would we seek to limit the incentives to progress toward that? Just like placing a 100,000 BSQ minimum on compensation requests would limit the amount of contributors, or when the government requires a heavy regulatory burden of small businesses it limits entrepreneurship--so will this limit the actual translation being done. And though I understand that the reality is Bisq won't release a partial translation--it's not as though the people here don't understand that partial translation work can easily and often is built on--especially if people are incentivized to do so throughout and not just toward the end.

  • However, it is certainly the case that some market rate should be set for translation. Here too, I agree with @ManfredKarrer that previous paid contributions should not be the determiner here. If a mistake was made in the past, there is certainly no use doubling down on it.

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
Copy link
Author

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
Copy link

ghost commented Jul 30, 2018

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
Copy link

@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
Copy link
Author

@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
Copy link
Contributor

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
Copy link
Author

BravoIndia commented Jul 31, 2018

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
Copy link

@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
Copy link
Author

BravoIndia commented Jul 31, 2018

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

@BravoIndia BravoIndia changed the title For July 2018 [WIP] For July 2018 Jul 31, 2018
@ripcurlx
Copy link
Contributor

@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!

@BravoIndia BravoIndia changed the title [WIP] For July 2018 For July - September 2018 Sep 29, 2018
@ripcurlx
Copy link
Contributor

ripcurlx commented Oct 4, 2018

Closing as complete, see #121 (comment)

@ripcurlx ripcurlx closed this as completed Oct 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants