Yougi is 100% open source. It means you are:

  • 100% free to use for personal or business purpose;
  • 100% available for learning the JavaEE technology;
  • 100% open for contributions of any kind, such as translation, documentation, design, programming, testing and so on. We follow a minimalist bureaucracy to accept third-part contributions. This way, you don’t waste time doing what doesn’t really matter.

Yougi is under a very permissive license that allows you to copy and paste code to your project if you find solutions for your problems there. You can actually start an entire new JavaEE project using Yougi’s source code as a foundation if you want to. Legally speaking, all you have to do is to preserve the license header and the author in the files you have copied.

If you made something better on top of Yougi’s code base, please consider improving the original code base. If you eventually earned some money with Yougi’s help, please consider making a monetary donation to the project.

If you are a programmer but you don’t know JavaEE yet, then this project can help you to learn what you need to do to start writing real world JavaEE applications. All you need to know at the beginning is Java and some web concepts to understand the web interface. The rest you can learn interacting with the community. Your questions are very important because they help us to improve the documentation.

What can I do in the project?

If you are an experienced JavaEE developer, you can visit our issue tracking and see if you can fix any pending issue there. You can also write unit tests every time you see an opportunity there.

If you are a beginner, try to read the code and document it using JavaDoc comments. If you read an existing documentation and you didn’t understand it well, try to improve the text to make it more clear. It will help you to understand the code and soon you will be adding your own code to the code base.

Designers are very welcome too! Visit to see this application running and I’m sure you will find a lot of opportunities for improvement. The current team is not very talented on user interface design, so your help is very important for the project.

We value a lot our documentation, but it’s very hard to keep it up to date. So, if you are a technical writer, please consider helping us with the text. You can find more details in the documentation section.

If you are a person with no technical background, such a very passionate user, you may help us doing exploratory tests, navigating in the application and suggesting what can be improved considering your context of use.

How do I start?

The source code is available at GitHub:

The first thing you have to do is to fork the project. The figure below illustrates how to do it.


Once the fork is finished, you will have the entire code under your profile. You are free to change it as you wish. After doing your changes you can contribute back to the project by doing a pull request. Please, refer to GitHub documentation to know how to do a proper pull request.


Just be aware that every commit in your pull request should be motivated by an existing issue listed in the issue tracker. For example, when writing the commit message, put “Issue #23:” at the beginning of the message to reference the issue number 23. Do it when the commit contributes to the issue, but it doesn’t completely solve the issue yet. If the commit solves the issue then put “Fixed #23:” at the beginning to automatically close the issue #23 when pushing the commit to the origin.

From our side, we will review your pull request and if everything is properly done we may accept it, as shown in the following figure. It will copy some changes you made in your repository to Yougi’s main repository. This is what we call social coding.