Built with Seam

You can find the full source code for this website in the Seam package in the directory /examples/wiki. It is licensed under the LGPL.

We are very excited that you have taken interested in Seam 3 and we'd like to welcome you to the community of Seam 3 contributors! There are lots of ways to get involved. This document describes the most common ways. If you have another idea for how to help out, we'd be glad to hear it.

How to get involved:

  • Design - help design a feature or the overall architecture
  • Code - become a module lead or submit patches
  • Report - report issues with the software
  • Write - write tutorials, documentation or blog entries
  • Assist - answer questions in the user forums

Consider these options and figure out what is the best one for you at this time. Then, read the appropriate section below to find out the details for where to go from here.

If you're still unsure, or want to lurk to get the pulse of the project, check out out in the following places:


Since the development of Seam 3 is still in the early stages, we are looking to solidify the design of the modules and tooling. We need ideas and we need plans on how to implement those ideas. You may be:

  • a developer needing enhancements, extensions or integrations for Java EE
  • an analyst trying to match requirements with software that satisfies them
  • a visionary looking for the next thing in software development

We'd to hear your wants, needs and visions. We are formulating these ideas on this wiki. Look over the following pages and coordinate with the module lead to add your ideas.


The bread and butter of any project is the source code, and nothing moves it forward like code contributions. This role will be interesting primarily to developers. If you only have a little bit of time to get involved in the project, then perhaps you'll consider contributing patches. If you want to drive the code, then perhaps you are ready to become a module lead or co-lead.

Contributing source code requires three steps:

  • Sign the contributor agreement.
  • Check out the source code and apply your changes.
  • Create a patch and attach it to an issue report (or, if you are module lead, just commit it).

Consult the following page to get started with the source code:

Whether you are a project member or contributor, you should respect the guidelines defined here:

Following these guidelines gives your patches the best chance to get accepted.

We are also looking for contributors that want to work on examples. Examples are one form of documentation for a project and help users understand how the framework can be leveraged. If you are an application developer, you may have developed lots of different applications. We'd love for you to share those experiences!


Software is created by humans and therefore, it's not going to be perfect (as hard as we try). In fact, we do more than hope. We have test cases and continuous integration to act as a safety net for us. Even with all that in place, the software still won't be perfect. It might be because we missed something in the design, or we just didn't think of an edge case. That's why you are such a valuable resource. You provide feedback about what isn't working. And hopefully, you'll stick around to help us resolve it!

When you think you've discovered a problem, here are the steps you should follow:

  1. Search for an existing issue report
  2. If you can't find a match, post in the user forums to see if anyone else has seen or reported the issue
  3. If you are positive the issue is unresolved, create a new issue
  4. Help us fix the issue by supplying a patch (or explain how to fix it)
  5. Write a test case for the issue

The first and last steps are the most important. A lot of duplicate bug reports slow down the process of getting the issue resolved, and writing a test case ensures that the issue doesn't come back.

As a word of advice, whenever you are submitting an issue report, approach it as a way to make the software better rather than complaining that it doesn't work. That ensures that you keep the spirit of community in your favor.


The best software in the world isn't much good if no one knows how to use it. And most software in the world is under-documented. That's why we value your contribution in this area tremendously. Good documentation is also written from experience. As you use the software, you will think of ways to relate to other users, such as gotchas or tips that can prove invaluable to a person less familiar with it. When you have those ideas, share them!

Here are ways you can write for the project:

  • Reference documentation (including translations)
  • JavaDoc or XML Schema doc (in the source code)
  • Tutorials
  • Blog entries

The reference documentation, JavaDoc and XML Schema doc are part of the project source code. To get started, you need to checkout the source code.

If you are interested in translating existing reference documentation, please see Translating Weld into your own language for general instructions. Each Seam module has it's own reference documentation, so where you see the word weld, replace it with the name of the Seam module.

Tutorials and blog entries can be hosted on your own site, if you feel more comfortable that way. We provide a page where you can link to your external tutorial or blog entries.


The number of developers that use Seam will far outweigh the number of contributors. Those users will need assistance as they climb the ranks to Seam guru, and the developers can't begin to help all of them. As this is community-supported software, they will look for support from fellow community members. That support is shared in the user discussions forum. You can contribute to Seam by participating and answering questions.