Get Gateway at Fast, secure and Free Open Source software downloads

How to Contribute

There are many ways to contribute to the gateway project, not all of them require advanced programming abilities. Below is a list of some of the potential ways to contribute, what is required to do the tasks, and how to get started. The getting started section for each role may be vague. If you are unsure about anything, just contact one of the developers for assistance.

Ground Rules

  • Language - The primary language for development is Java. The primary format for documentation is asciidoc. Depending on the problem to be solved, other technologies may be utilized.

  • License - The primary licenses for code are the Mozilla Public License 1.1 and the Apache License Version 2.0. The primary license for documentation is the GNU Free Documentation License version 1.3.

  • Computing Platforms - Standalone applications be must support Microsoft Windows, Apple Mac OS X and GNU/Linux at the very least. Web applications must be cross browser, supporting the 3 most popular browsers on Microsoft Windows, Apple Mac OS X and GNU/Linux.

Documentation Editor/Writer

Well written documentation is crucial to any successful application. Without documentation, no one would know how to configure and run the gateway. Without documented APIs, new developers would have a difficult time getting up to speed. Documentation that is up to date is also key. In many cases, out dated documentation is worse than no documentation at all.

To help out in this area you need to be able to follow directions. You must be able to read and write technical documentation in English.

The easiest way to get involved with documentation is to follow the guides posted on this web site and send an e-mail to Shawn Kasulka if you come across any errors, ambiguities, or inconsistencies. Besides updating existing documentation, you can also create original documentation. We need documentation for setting up the gateway in different environments, developing with different IDEs, and we need additional developer documentation. Send new documentation to Shawn Kasulka and someone will post it to the web site after it is reviewed. Commit access will be granted to writers who consistently submit quality documentation.


As the number of translations grows, so does the potential user/developer base. Additionally, for every language that the program is localized to, it would be helpful to provide documentation in that language. Therefore, we think there is a need for translators.

To help out in this area you should know tax and computer terms in English and another language.

Documentation and program translations can simply be mailed to Shawn Kasulka as text files. A project developer will review and commit the changes. Commit access will be granted to translators who consistently submit quality translations.

Web Designer

Logos, banners, and other graphical artwork is important, but developers don't get to spend a lot of time working on them. Along with artwork, we need a well thought out layouts that convey important information in an easy to digest format.

To help out in this area you should be able to produce visually pleasing graphics in open formats and/or you should have experience designing accessible, W3C standards compliant, cascading style sheets. Some knowledge of JSPs is helpful.

To get started you should set up a development environment and actually run the gateway web application. Then after testing your modifications, you may submit patches to Shawn Kasulka. Commit access will be granted to web designers who consistently submit quality patches.

Application Tester

The web application needs a consistent look and feel. It needs to work correctly in all browsers that support Javascript. The gateway itself needs to work correctly as well and unit tests can only take us so far.

To help out in this area you need to become familiar with how the web application is supposed to work. You also need to be able to install different web browsers. Additionally, a good eye for detail is a great asset.

You can begin by exploring the demo site with various web browsers and reporting bugs to the bug tracker. If you'd like to be more involved, contact the Shawn Kasulka and ask about being a release tester. A release tester will perform quality assurance testing prior to all major releases.

Java Developer

The gateway is written in java and is being actively developed. We welcome help in this area.

To help out in this area you should know Java and be familiar with JavaEE application development.

If you'd like to port the code over to be used by another state, please contact us. We'd like to discuss how we can help you, and we'd like to talk about any goals or design decisions that may need to be hashed out. We very much want you to succeed and we can provide you with descriptions of the areas you'll need to change to meet your requirements.
Copyright © 2007, 2008, 2009 Vermont Department of Taxes

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".