The open-source philosophy
OmegaT is an open-source application and project. This means that the source code of the OmegaT program is freely available, and that OmegaT's license gives its users considerable freedom in its use. Not only may it be used free of charge, users are also free to make copies of it and distribute them.
An important aspect of this freedom is that users may also modify the program's code. To the open-source movement, the freedom that users have to change the program to suit their own needs is more important than the fact that they do not have to pay for it. This is described as "free as in speech", in contrast to "free as in beer".
The OmegaT project philosophy
The same spirit can be found within the OmegaT project. Users are free to download and use the program. In turn, they are free, and indeed encouraged (but not obliged in any way) to contribute back to the project. How they do so is very much up to them. For example, there is nothing to stop a user writing their own user manual or a demonstration video for OmegaT, and if the project considers it remotely useful, it is likely to be made available to OmegaT's community of users. Where routine tasks are concerned, volunteers working on the OmegaT project are generally given as much freedom as possible in determining the form of their contribution. This hands-off approach is described by the current OmegaT project co-ordinator as "delegated anarchy".
In some areas, some degree of co-ordination is required. For example, anyone is free to make changes to OmegaT's program code and to submit these changes to the development team. Only if they are considered beneficial for OmegaT's users, however, will the development team include them in OmegaT. This ensures that the users' interests are protected, and has also resulted in OmegaT being awarded the Softpedia "100% FREE" guarantee.
Development of OmegaT
As elsewhere in the OmegaT project, the work of programming OmegaT is done by volunteers, and in keeping with the project philosophy, the developments and improvements they make to OmegaT are ultimately at their discretion. There is however considerable scope within the project for users to suggest improvements and influence the course of future development.
The first of these is the OmegaT user group. This is the main focus of the OmegaT user community. New users of OmegaT are encouraged to make any suggestions here. One reason for this is that the desired function may already have been implemented, or that there may be reasons why it cannot be implemented. Convenient alternative functions or solutions may also exist.
Detailed technical discussion of changes is best conducted directly with OmegaT's developers. For this purpose, a dedicated developers' mailing list exists.
Once a user has formulated a proposed change or enhancement to OmegaT, a defined procedure exists for its submission to the development team for consideration. This enables the numerous suggestions to be managed more easily. The procedure is termed an "RFE" (Request for Feature Enhancement) and is managed here.
Literally hundreds of RFEs have already been made, and many of them already implemented. However, submission of an RFE does not mean that the desired feature or improvement will automatically be implemented. Whether or not it is adopted depends firstly upon whether the development team considers it beneficial to OmegaT, and secondly, upon whether one of the developers is willing to do the work of implementing it.
OmegaT's developers, who are all volunteers, may be more willing to implement an RFE if the development work is funded by the requester. Sponsorship of development has already resulted in the addition of certain features. If you are willing to finance the work of implementing your desired feature, please contact the development team privately for a quotation. It may also be possible for developments commissioned from external developers to be implemented within OmegaT. As with free developments, however, the principle still applies that any changes to OmegaT must be beneficial to the application and its users.