Paid short mission: JMonkeyEngine 2.0 / JOGL / AWT for the FGF

Hi!

My name is Julien Gouesse and I run a “foundation” related on free gaming. I have been developing an indie game called TUER since October 2006. I decided to switch to JMonkeyEngine 2.0 some months ago. However, I chose to use the JOGL renderer that is still quite buggy and I have found almost no help to improve the reliability of this engine for free. This project is absolutely vital for the FGF as I have to convince some patrons and some institutions to fund us and it is one of the main tech demos I have planned to show. I had to show the previous version of TUER during the birthday of the Paris Java Users Group, it was a small disappointment for me even though people found it quite good.

The mission consists in fixing the issues 24 and 35 of JMonkeyEngine 2.0 as a first step:
http://code.google.com/p/jmonkeyengine/issues/detail?id=24
http://code.google.com/p/jmonkeyengine/issues/detail?id=35
The second step consists in fixing the following bugs:

  • when using jmetest.util.JOGLAWTTest, drag the cube, you can see some flickering whereas the double buffering is enabled
  • it is impossible to stop turning under Windows (see MouseLookHandler and FirstPersonHandler)
  • it is no more possible to turn after some rounds (see MouseLookHandler and FirstPersonHandler)
    If you’re interested in freelance work, then please send me your offer with the following information:
  1. Your CV
  2. Prior experience of programming with jMonkeyEngine 2.0
  3. Prior experience of programming games
  4. Your offer as a fixed price

Please make sure you meet these requirements:

  1. You must check your e-mail regularly
  2. You must know Java, especially AWT and at least one of the main OpenGL binding for Java (JOGL, LWJGL)
  3. You must know jMonkeyEngine 2.0

You will be paid twice, the first time after the delivery of the binary version of the fixes, the second time after the delivery of the full source code under GPL license (dual license GPL/BSD optionally if you prefer). The binary version will consist in 2 (or more) patched JAR (jme.jar and jme-awt.jar) without any native library. The fixes have to rely only on Java (J2SE 1.6) and JOGL 1.1.0 (or any further version), nothing else (the use of JInput is not allowed). The fixes have to work fine on all platforms supported by JOGL including Linux, Macintosh OS X 10.5 and Windows.

My offer as a fixed price is between 1000 and 3000 euros (between 1250 and 3750 US dollars). The fixes must be as efficient as possible, it mustn’t degrade noticeably the performance (for example, it mustn’t divide the frame rate by 2).

You may send your offer, or any questions to: gouessej@yahoo.fr

You are aware of the fact that jME is BSD licensed and a GPLed patch can’t be merged into the jME source tree?

Yes I’m aware of it, I would have preferred that JME 2.0 used the GPL. Currently, a GPLed patch could be used only by TUER and some other projects under GPL. However, the project Wonderland will contribute to JME 2.0 in some time (someone told me that it will happen in a few weeks), it might fix some bugs in the JOGL renderer and benefit to everyone, it might be another solution if nobody accepts my proposal.

TBH I’m not sure if such a GPL-ed patch will do JME, TUER or JOGL any good.
I mean, I wouldn’t recommend anyone to use the JOGL renderer for JME if that means depending on a separate 3rd party patch and creating a bit of a licensing mess (IMHO).

Any chance the contractor could dual license the patches to you? Say GPL for your stuff and BSD so it can be incorporated else where.

Kev

Such patch would be mainly used in TUER, it would improve the display and the gameplay of the next version of course.

Why not? It is an excellent idea.

What would be the difference to go BSD right away?

Only that the customer here wants GPL (for whatever reason) as opposed to BSD. If the work is going to be done it’d be nice if it could be contributed back as well. I just wanted to check if that’d be approved by the customer.

Kev

[quote]Such patch would be mainly used in TUER, it would improve the display and the gameplay of the next version of course.
[/quote]
On short term, yes, but on the long term keeping up to date with JME will become more difficult.

Heh, I didn’t even know that was possible. ::slight_smile:
I guess that would void the concerns I have. :slight_smile:

I agree with you. However, I will submit the modifications if the programmers liable for JME 2.0 agree. The GPLed patch is useful only if the modifications cannot be submitted.

The JDK is already dual licensed, isn’t it?

What do you mean exactly?

Yes, that’s ok but for the moment, nobody seems to be interested in this mission.

I would, but I have no games in my portfolio and never tried jME :confused: I am however good in bug chasing and would do it for 1200 €. What would be the deadline?

Well, I’m not a not a licensing expert, so I was kind of under the impression that if certain fixes are under GPL that they can’t be included in the official BSD version because of the viral nature of GPL, and therefor possibly leaving JME broken indefinitely. But dual licensing seems to be a workaround for that concern.

I believe (obviously I have no legal training) that the licensing of a piece of software is down to the creator, i.e. the author holds all licensing concern. So they are allowed to release mutliple versions under different licenses.

I’m still a bit wooly why the choice would be GPL over BSD but I guess that has to do with ethical/business concerns.

Kev

Obviously the law varies between countries, although the Berne Convention means that most countries have considerable overlap in their copyright law. It has a concept of “work for hire”, which means that when an employee creates a work for an employer then the employee retains the moral rights but the employer owns the copyright. It is probable (IANAL and this is not legal advice :stuck_out_tongue: ) that this would qualify as a work for hire, so it would be gouessej who chooses the licence(s) under which it may be distributed. Offers to do the job can of course include a condition that gouessej license the work to be created to the contractor under the BSD licence.

It would be fine if the bug fixes were ready before the end of April in the worst case. Let me know in private how you would like to be paid (Paypal, transfer, …). Feel free to study the threading of MTGame and Project Wonderland to understand why they work (they use both JME 2.0 and JOGL but they tinker this engine a bit). The source code of TUER (latest very experimental version) can be used of course to check what is happening by two ways:

  • the version without JME 2.0 works fine, it can help to understand who the focus is handled in a case that works
  • the version with JME 2.0 suffers because of the bugs that you have to fix, it avoids to force you to write your own test case

You already know Xith3D, I assume you are able to succeed.

Hi!

The contract is going to be signed ;D I’m no more looking for someone for this mission. However, it is highly probable that the FGF will need to plan at least one other mission (as long as this one) before the end of the year. Please stay tuned and let me know if you’re interested in working in Java / OpenGL game programming, spontaneous candidatures (I’m not sure it is the good translation ???) are welcome.

Hi!

The contract has been signed by both parties, everything is ok now ;D