Slicer / SlicerLanguagePacks

3D Slicer extension for creating, editing, and storing translations for Slicer core and extensions
MIT License
8 stars 11 forks source link

Consider using weblate for managing translations #2

Closed lassoan closed 2 years ago

lassoan commented 2 years ago

We started a discussion in the issue https://github.com/Slicer/Slicer-i18n/issues/1, but moving the content here, because that repository will be removed.


comradekingu commented 11 days ago

@lassoan Hoping to see this project move to Weblate now that the results are in. in 9 months, there are 6 translations, all below 13% coverage. There is every reason to stay clear of Crowdin beyond that, and you will find quality always suffers on that platform.

Napari isn't doing continuous translations, and is wasting entire languages because of how Crowdin is set up.


lassoan commented 11 days ago We created the crowdin project months ago but only started the translation about 2 weeks ago. We haven't encountered any major issues but if you have some specifics to share then please tell us more.


comradekingu commented 10 days ago • It is impossible to see more languages at once, or span large amounts of strings. The terms and conditions are awful and limit engagement. Trying to get anything done takes longer than it has to, and translations are most often held up in a voting system that disadvantages smaller efforts. Seeing as how effort is hard to come by on Crowdin this issue is exacerbated by picking out of the time available from the few translators that are good, a lot of drive-by translators. There is no discovery outside of promoted efforts, which is a list that has many defunct projects. To arrive at coverage by lots of small independent contributions further ensures no consistency will be had. There are no feedback-loops up to the project, or by crediting translators. There actually is very little transparency even on the platform without having an account. Crowdin can't even get the locales right, which means translators are baited into starting translations that actively undermine good efforts or existing resources. The company behind the only-as-a-service product is not honest, and continually misrepresents its PR efforts. The offering for libre sofware isn't even that, as takes away rights to commercialize the project without negotiating enterprise planning. The list goes on. Especially when similar software uses Weblate, I don't understand why a libre software project opts for the lesser option. Adding glossary entries for a project is quite good, as it has prefilled definitions for nouns, etc. Other than that it is it doesn't make sense in any capacity.


lassoan commented 10 days ago Thank you for your detailed response.

Many of the advantages that you described above were not very clear (probably because I still know very little about Crowdin and Weblate), but I agree that Weblate could be a better fit for Slicer.

In general, Weblate has many more features and more customizable. We already ran into some annoying limitations of crowdin that Weblate does not seem to suffer from, such as projects are only viewable after user registration (even if public), glossary terms are only editable by managers, there don't seem to be discussions for specific translations, access control roles are very coarse (manager/proofreader/admin), github integration is limited, REST API is quite limited, downloading of translations is complicated, etc. It may be important for custom applications that Weblate is open-source and can be run self-hosted (just in case custom applications want to adopt Slicer core's translation infrastructure). It seems that Weblate can also be used for translating documentation (see for example the Godot project (translated documentation page example). It is nice that translator's work is attributed (it is easier to give credits to contributors).

In addition to these, Weblate offers free hosting for open-source projects with less limitations than crowdin's free plan. For example, Weblate supports multiple branches, so we would not need to resort to workarounds that we had to use with crowdin (putting all branches in a subfolders in a directory tree in a single git branch).

Especially when similar software uses Weblate, I don't understand why a libre software project opts for the lesser option.

We were in contact with napari folks. They are funded by CZI - the same way as our translation effort. There are many similarities between the projects, so we figured that if crowdin works for them then it should work for us, too.


@pieper @jcfr @spujol Please have a look at Weblate. I think we should seriously consider switching. The already translated .ts files can be transferred easily.


pieper commented 10 days ago Interesting discussion, thanks for bringing this to our attention @comradekingu.


lassoan commented 10 days ago @comradekingu can you help with a few more questions?


comradekingu commented 10 days ago • Not on Hosted, because a FSF or OSI license is required. I don't think there are hard limits. Could try https://weblate.bubu1.eu/ or self-host. I could maybe help, but then again I also limit myself to libre software, and I don't understand this one well enough. That being said, you would use Crowdin, and it is the bane of libre software translation.

The text below is an argument I began making, but then gave up on.

You further agree to use, reproduce, make derivative works of, display and distribute the Software in compliance with all applicable governmental laws, regulations and orders, including without limitation those relating to export and import control.

Don't know if this qualifies as libre.

you accept and adhere to all of the terms and conditions of this Software License;

(c) you preserve and maintain all applicable attributions, copyright notices and licenses included in or applicable to the Software;

The license granted in this Software License includes without limitation the right to (i) incorporate the Software into proprietary programs (subject to any restrictions applicable to such programs),

There is something about the first-party being able to sub-license, and it is part of section A, so maybe that is a route into a non-crayon license(?)


pieper commented 9 days ago @comradekingu there is more information about Slicer licensing in this thread and the links it contains:

https://discourse.slicer.org/t/apply-for-osi-open-source-license-status/17791/5


lassoan commented 9 days ago If Slicer would not qualify for free hosting at weblate, then we would need to pay $1100 per year. This would not be prohibitive, but considering that we already started on Crowdin and they provide us free hosting, the scale could tip towards staying with Crowdin.

@pieper To get a definitive answer on this, could you try to create a non-commercial hosted project for Slicer at weblate? After you register you can create a new project here: https://hosted.weblate.org/hosting/


I created a project but didn't take time yet to investigate connecting it to our project.

https://hosted.weblate.org/projects/3d-slicer/

It looks like you need to fully configure it before you can even request the hosting, but we have another 13 days on the free trial if we want to try it out.

image

pieper commented 2 years ago

The free weblate trial is expiring and it doesn't appear to be easy to do any testing without extensive setup. Unless someone wants invest more time and maybe some money we'll stick with crowdin.

comradekingu commented 2 years ago

@pieper Happy to help if you add "kingu" in https://hosted.weblate.org/access/3d-slicer/#users If you set it up with https://docs.weblate.org/en/latest/admin/continuous.html?highlight=webhook#automatically-receiving-changes-from-github here that should work to get PRs every now and then.

pieper commented 2 years ago

Thanks @comradekingu 👍 I added you to the weblate project.

comradekingu commented 2 years ago

@pieper It works now. https://github.com/Slicer/SlicerLanguageTranslations/pull/25 and https://github.com/Slicer/SlicerLanguageTranslations/pull/26 That says the same in fewer words, but ideally it would be something that didn't need the license stated if a non-weak license was used. Changed license, template for new translations, added screenshot, "safe-html" flag, and something I am forgetting. If you add the https://docs.weblate.org/en/latest/admin/continuous.html?highlight=webhook#automatically-receiving-changes-from-github here (or add me so I can do it) I'll add a Weblate widget to the README and apply for hosting. Edit: https://github.com/Slicer/SlicerLanguagePacks/pull/5

lassoan commented 2 years ago

@comradekingu Is https://github.com/Slicer/SlicerLanguagePacks/pull/5 the only missing item before you can apply for hosting?

comradekingu commented 2 years ago

@lassoan That and the webhook https://docs.weblate.org/no/latest/admin/continuous.html#automatically-receiving-changes-from-github which I think can be done through installing https://github.com/apps/weblate

lassoan commented 2 years ago

I've installed https://github.com/apps/weblate for Slicer/SlicerLanguageTranslations.

lassoan commented 2 years ago

@pieper I'll merge #5 now to allow our libre hosting request to be processed.

comradekingu commented 2 years ago

@łlassoan Applied. :)

I'll make a translation and try to sort out the source strings or ask questions about them.

lassoan commented 2 years ago

@comradekingu Thanks for all your help.

The project status is now "Libre hosting Pending approval".

I've tested the web hook and it works: I've updated a translated .ts file on github and it showed up on weblate.

lassoan commented 2 years ago

We have submitted the request 4 days ago and the status at https://hosted.weblate.org/billing/2444/ is still the same "Pending approval".

@pieper have you heard from weblate? @comradekingu do you have any insight in to the approval process? The trial expires in 2 days and coincidentally we'll have our next Slicer internationalization meeting in 2 days, so it would be great to hear from weblate by Wednesday morning. There was a weekend and we don't pay for the service, so it may be understandable if the response takes time, but this is so far our only interaction with weblate hosting support, and we extrapolate from this experience what quality of support, response time, etc. we can expect in the future.

pieper commented 2 years ago

This is the message on the page now. I'm not sure I understand the comment about the license - is it an unmet guideline? Are we expected to take action? I don't mind the translations being on under any compatible license (ISC is fine).

image

lassoan commented 2 years ago

I assumed @comradekingu or you wrote this for the libre hosting request. I remember seeing the text there before the hosting request was submitted.

pieper commented 2 years ago

I didn't write it - I would never call Slicer's license a "crayon" license, which is a disparaging term implying that it wasn't thought out carefully. Slicer's license was the result of significant discussion and debate at the early NA-MIC project weeks and was drafted by very skilled IP lawyers to meet the specific legal concerns of large academic medical center collaborating with multiple universities and companies including GE. Several legal experts were consulted including a lawyer who is the author of a book about open source licensing.

In any case, let's see if folks running the Weblate hosting service consider Slicer and our translation efforts compatible with their goals.

comradekingu commented 2 years ago

I wrote that so people can gauge for themselves what they contribute to. People will have to click through that first, so it means everyone is on the same page. Approval is done manually, and I don't think it can time out.

lassoan commented 2 years ago

Thanks for the information @pieper and @comradekingu. I guess we just continue to wait.

Hopefully we hear back something soon, as each day of delay raises doubts about this hosted service - Are the site maintainers are overwhelmed? Is support only provided on weekdays? If we have any problems or questions later, are all responses to open-source requests are going to take several days to be answered? Is response time better for paid projects? I understand that we cannot demand anything for free, but this lack of communication erodes trust.

lassoan commented 2 years ago

Thanks to all, the hosting request is now approved.

The translation core team will start testing weblate now.

comradekingu commented 2 years ago

@pieper It is a crayon license, but I don't care what terms are used, other than

Slicer, or 3D Slicer, is a free, open source software package for visualization and image analysis.

Calling it "open source" is a trademark violation.

Moreover

Old Weblate description:

Slicer itself has a custom ("crayon") license, which would be libre if it didn't also require following local laws. https://discourse.slicer.org/t/apply-for-osi-open-source-license-status/17791 You therefore agree to contributing under those terms even if the translations themselves are ISC. https://github.com/Slicer/Slicer/blob/master/License.txt

New Weblate description:

3D Slicer software has a custom BSD-type license, which would be libre if it didn't also require following local laws. You therefore agree to contributing under those terms even if the translations themselves are ISC.

This is a misrepresentation of BSD-style licensing.

lassoan commented 2 years ago

It was me. I added the "BSD-type" term because that was the term the lawyers used at the time the license was created and we used it at a number of places to quickly express that it is not GPL-type.

I've removed the "BSD-type" now, so the text is:

3D Slicer software has a custom license, which would be libre if it didn't also require following local laws.

fedorov commented 2 years ago

Slicer, or 3D Slicer, is a free, open source software package for visualization and image analysis.

Calling it "open source" is a trademark violation.

Violation of which trademark?

Yes, Slicer has a custom license, but I strongly disagree it cannot be called "open source".

lassoan commented 2 years ago

The "trademark violation" comment was an exaggeration or oversight ("open source" is not a trademark in the legal sense) that we sometimes do when talking about things that we are really passionate about. This enthusiasm motivated @comradekingu to let us know about Weblate and help with setting it up, and the Weblate hosting folks to provide free service to the Slicer project, so it is generally a good thing. I guess we just have to live with the side effects of being too enthusiastic sometimes.

lassoan commented 2 years ago

With this post, the transition is almost over: https://discourse.slicer.org/t/czi-essential-open-source-software-for-science-eoss-award-for-3d-slicer-internationalization/19500/19?u=lassoan

I'll close this issue when we close down the project on crowdin in a few days.

comradekingu commented 2 years ago

@lassoan Great :) Maybe amend the nr 13 post there that says to use Crowdin.

lassoan commented 2 years ago

The Slicer project on Crowdin is deleted now. With this, the transition is completed.