Code, comments, and discussions related to the OmegaT Code Reading Sessions Project
1 year, 9 months ago
1 year, 9 months ago

Mailing list | Git repository | Tracker | Session summaries

#Welcome to the OmegaT Code Reading Sessions

The OmegaT Code Reading Sessions Project is an attempt at helping people who have no knowledge of or no experience in coding to become familiar with the OmegaT code. Session summaries are hosted in the wiki part of this site.

#Table of Contents


#What is OmegaT?

OmegaT is a professional computer aided translation tool developed by translators and their friends. If you reach this page and you're neither an OmegaT user nor a translator, you're still welcome.

OmegaT, thanks to the GPL3 license, is free software. This project is here to let us enjoy this freedom.


#Target participants

The sessions are targeting me, first. I'm going to be the one who will first benefit (if anything) from them. But it's pretty lonely out here, so I'm leaving the door open. Please come in.

People who might be interested in joining are probably OmegaT users who want to understand the code, eventually become familiar with some degree of Java, possibly want to become able to add a few features in the middle term.

Seasoned Java programmers will most probably find the sessions trivial. But they are welcome nonetheless and will probably find many ways to share their wisdom and knowledge.

#How we'll proceed

Things are not set in stone, but I'll try to organize jitsi sessions, around twice a month, where participants share their findings.

There won't be any deadline, participants will just show what they found, explain it to the others, or just listen. We will try to first stick to the Java basics and try to understand what the syntax does, what it means, I'm hoping we'll have time to tweak things, eventually break them and put them back in place.

This project is really just a sandbox where we build sand castles that only last for a week, or less, or more.

It's ok to ask questions, but don't forget that it is unlikely anyone here knows vastly more than you do. So maybe it's better to just search for an answer in your favorite reference and if you find the answer, share it, and if you still don't find the answer or don't understand it, just say it.

#What I think we'll also find

The code is where everything is. And there are probably a few things buried in updates that did not find their way into the documentation.

We'll probably find glitches (not to say "bugs") too. A review of the French manual already identified one such thing in the UI file. I'm sure a serious look at the code will unveil items that are not that important (in terms of developer time) but ought to be fixed.

Improving the documentation and cleaning up some lost areas of the code are side effects of this project, and every time we'll find something worth committing upstream, we'll do our best to follow the current OmegaT protocol to propose fixes.

#And what's the whole point anyway?

The OmegaT project has always relied on volunteer developers to improve the code base. And since the beginning of the project, such volunteers have never been very numerous.

Also, people come and go. As far as I can remember, we've had 5 "lead" developers since the beginning, as well as a number of contributing developers (including people in third-party organizations that supported OmegaT).

But we've never lacked "power users" who still find the gap between power use and coding to be quite considerable.

It is hard to learn Java. And it is hard to dive into such a big code base.

I'd like to contribute to bridging that gap. So that OmegaT also becomes a group that fosters computer and development literacy, in the spirit of free software.

What's the point of having the freedom to learn from the code if we don't make use of it?

#How will that work?

This project is composed for now of a mailing list, a code repository and a ticket tracker.

#The mailing list

The mailing list is where communication will take place. The same list will eventually be used to send patches to the repository (see "git send-email" on sr.ht).

Maybe the first thing you want to do is join the mailing list and say hi.


If you have a sr.ht account, just click on the [subscribe] button on the left when you reach the above page.

If you do not have a sr.ht account, follow the Email controls instructions with "brandelune" as user and "omegat-as-a-book" as list-name.

#The repository

The second thing you want to do is clone the repository. Right now it contains this file and the official OmegaT code as a git subtree (see tracker #1). This code will be our main tool. The code files will be scratch pads where we will write and compare notes, add comments, make modifications, see what sticks, etc.


If you don't know what "clone" and "repository" mean, that's ok. Just check the Super Short Introduction to Git we wrote after the first session. If you need something easier, let me suggest you to duckduckgo the dev.to site for "git tutorial".

#The tracker

The ticket tracker will be used to register things to do, gather comments, see how things evolve.


#Why sr.ht?

The SourceHut platform opened to the public on November 16, 2018. I found the announcement, probably on Hacker News, and joined.

sr.ht is 100% free software, without ads, and it is funded by its users, so that developers can get paid to develop free software.

I preferred it over other software forges because of that. It may not be quite as user-friendly as them, but that's ok. We'll learn how to find our way here too. And eventually will reach a point where we can contribute something back.

You do not need to create a paid account to contribute/participate to this project. sr.ht is still in Alpha and even when moving to Beta and later, contributors to hosted projects will still be able to create accounts without having anything to pay.

#Any question?

Just join the mailing list (see above) and ask.

#Reading material




Everything here is licensed as OmegaT is: GPL3+.

Mailing list | Git repository | Tracker | Session summaries