Making it easier to contribute to Liferay

One of the toughest parts of contributing to Liferay is that we are very strict with the coding and design style. We do this because we believe that keeping a very high level of consistency is what allows the product to keep evolving at maximum speed.

Fortunately there are very smart people in the community that have been able to learn this rules just by looking at the code and they keep sending patches of awesome quality. But we often receive patches that have to be completely refactored or rewritten because they don't satisfy our guidelines. The thing is that our guidelines are not documented anywere so it was not easy to learn them. Or at least not until now...

The good news is that we've just started an effort to fix that. In the wiki you can now find the Liferay Core Development Guidelines. It is divided in 3 different documents:

It's only the beginning but we believe that it already contains a lot of useful information. Including source code formatting rules!

I hope you like it, and please keep the feedback coming.

 

 

Blogs
What I'm missing when working with Liferay source code is documentation in form of JavaDoc or unit tests.

Even public interfaces dont't have a single line of type or method information. For example, have a look at UserServiceSoap. It's a public interface for external clients, but even this one lacks any documentation. So how do I know what's the difference between
public void addGroupUsers(long groupId, long[] userIds)
and
public void addUserGroupUsers(long userGroupId, long[] userIds)
???

Rainer
Good thing that their now documented. I hope that encourages more contributors. Few things that would help even more is having checkstyle rules file and eclipse formatter and cleanup rules files that I could just plug into my eclipse.
You are really doing a great job, trying to make Liferay as transparent as possible. I'm sure these docs will encourage people to contribute more. Thank you!