jME Management -- A New Era of MonkeyShines

First, let me start off by saying that I have been using jME for the past year (and I love it to no end).  It is to me the "great unifier" of my non-money-related pursuits – namely Java, 3D modeling/architecting, and video/rpg gaming – even though I do use C/C++, Java, and Perl at money-work (but in a suit-ified business-like manner). 



Second, let me say that the wonderful help that the jME community provides is one of the reasons that I kept with jME – if I ever had a question, no matter how basic, it was answered quickly and politely, and sometimes by a primary developer.  This, to me, was, and still is, awesome. 



Third, I must recount that I was somewhat disenheartened when (how many was it?) primary devs left jME for other pastures, as I have seen a few open source projects (not backed by a business endeavor) tank after such a thing happened.  Frankly, I wondered if all the work I put into my jME "labs" (I won't quite call them projects or games – yet) was all for nothing… so I promptly ~ignored~ the issue and sunk myself in a month of non-jME work and played my favorite video games (giving up Final Fantasy IX for the Xenosaga series – which I find myself at the end of Episode III right now ; - ) 



When I re-emerged and got back to jME work, and finally conquered my collision problems with the simplephysics library (with the help of mcbeth), I discovered that jME had not tanked but was on a positive track toward a still bright future.



Now, the point of my post:



I do not want jME to fail in any way or to become an open source zombie.  However, some of the recent posts regarding the new management structure of jME has me worried. 



Number one, I think, is that jME lost its sense of whatever hierarchy it had before – renanse and mrcoder were the top of that stack (with the dark shadow of the darkfrog lurking quietly(?) and closely behind), and had the bird's eye view of jME to know what direction it was heading.  Or so it seemed.  Now its difficult to tell what's happenign due to a lack of hard information as to the "who is who of jME" and the fact that the developer/contributor wing's door has been thrown wide open in an effort to stir up community development support.  While this may seem like the magnanimous and friendly thing to do for an open source project it could also be a death knell.



Number two is that I think that we need to address the reasons why renanse ultimatly left jME and ask ourselves: was it really the name jMonkeyEngine, or our unadaptability to change to triple A standards, or something else entirely that caused it?  Also, I think that in rananse's blogspot posts he puts forward a few ideas that have not been addressed here that he thought would make jME more advanced in the world of use and games – namely, a devoted portal where we could distribute (via webstart and other download methods) and showcase our completed games and possibly make some money from them, and more adherence to accepted open source project business procedures.   



Number Three.  I forget what number three was for (or was that number eight?)… damn… my age is showing.



Anyway, I think you get my drift – or at least can add it up.  I think that we have not yet found a real way to handle the way forward, and I hope that we are all men and women enough to accept the challenge that has been placed before us, and that in my own opinion still remains before us, so that the apes that led to our being do not become the thorns in our sides!



Ashton V.




DrBullshit said:

...I say we need a leader to ignite the community members...


I'd be happy to set any one of you on fire. :)

There was a thread were this whole "renanse left" thing was discussed pretty thoroughly, with renanse himself chiming in too… (I think it was this: http://www.jmonkeyengine.com/jmeforum/index.php?topic=9247.0 but too busy to really check :P)



As for doing stuff like making a showcase site, anyone with the time and the will to do something on the website can PM mojomonkey.



I don't think there's a lack of people "caring" about jME, but there sure is a lack of time.

llama said:

There was a thread were this whole "renanse left" thing was discussed pretty thoroughly, with renanse himself chiming in too.. (I think it was this: http://www.jmonkeyengine.com/jmeforum/index.php?topic=9247.0 but too busy to really check :P)

As for doing stuff like making a showcase site, anyone with the time and the will to do something on the website can PM mojomonkey.

I don't think there's a lack of people "caring" about jME, but there sure is a lack of time.


I read that thread with great interest and agree in a large part with sadr.

Sorry if you misread me: I was not complaining about renanse leaving.  I greatly understand the way of the Tao of Coding and I wish him well -- and hope that when Ardor3D comes into being it is (and he is) as friendly to users as jME is. 

Personally, I have nothing but ~time~.  However, I am a slave to my dream and so all of my time is spent on that -- in one way or another.  I know that I don't have the math base or creativity to ragnarok the base jME code to advance it -- I have a library user/quality assurance mean and management skills base.  And I offer these gladly if jME accepts a more structured and outward approach to the problem it now faces. 

Perhaps a simple  "jME Project Structure FAQ" would work to allay my concerns.



Q: Who's in charge?



A: this guy, that gal, whoever or whatever ai, etc.



Q: How do I submit a bugfix?



A: post complaint and fix on x forum.



Q: How do I request an enhancement?



A: post reason and benefit and psudeo/real code possibility on y forum.



Q: Etc.?



A: Yes.



In short: a "Get with the Program" post for all to see and hear would be nice.


Number one, I think, is that jME lost its sense of whatever hierarchy it had before -- renanse and mrcoder were the top of that stack (with the dark shadow of the darkfrog lurking quietly(?) and closely behind), and had the bird's eye view of jME to know what direction it was heading.  Or so it seemed.  Now its difficult to tell what's happenign due to a lack of hard information as to the "who is who of jME" and the fact that the developer/contributor wing's door has been thrown wide open in an effort to stir up community development support.  While this may seem like the magnanimous and friendly thing to do for an open source project it could also be a death knell.


Someone who 'leads' a project is always good, but as time goes by, things change and people will have other priorities. Its also a very time consuming 'job'.
I think its a great idea to give the community easier access to check in fixes and enhancements.

Of course there is the danger that contributors have different views of things and that the projekts source may not be as consistent as if one developer would do it.
But thats where the community and main developers needs to watch over each change and discuss things.
Core-Dump said:

Of course there is the danger that contributors have different views of things and that the projekts source may not be as consistent as if one developer would do it.
But thats where the community and main developers needs to watch over each change and discuss things.


Perhaps we need to define a difference between contributors and developers -- the former being allowed to make bugfixes and request/submit enhancements, while the latter are responsible for making sure that updates and revisions maintain the current project direction.  I think that public display of project plans for jME 2.0 Stable and jME 2.x New would be good to have on the wiki/faq so that we can all stay on the same page of development music.

Characteristics of open source engines:

No one stays in one place for very long

"Bloated"

Never done

Not professional

Free

If we could only have some place in which we could see which areas in the jME code need some work, it would encourage people (like myself) to attempt to implement/fix the issues there. But currently I feel like I would get lost in the vastness of jME and decide not to devote the time to the hunt of potential features.



Just create a jME help needed sort of place… If the tasks and needs are clearly stated, people would feel much more inclined to help… I know I would!

I often hear that the community doesn't participate enough to development, even though many would like to.

I say we need a leader to ignite the community members, because they're probably just like the main developers: with a job and little time. Therefore, they're not gonna invest into something that doesn't seem to have direction.

We should know who's in charge, and by browsing the forums, we should get a sense that we can contribute. Right now, I don't really see what I can do other than correcting typos in the wiki.

Also, I'm sure many don't have the expertise to crack open the source code and start modifying the design. How about breaking down tasks into smaller units and making them really visible to everyone? Example of that would be a java interface that someone without full knowledge of JME could implement and submit to code reviewers. There are always boring jobs that are fun for rookies… Bottom line is I'm sure many of us don't know what they can do.

Or they don't realize LWJGL, OpenGL, OpenAL, etc., are all really easy. I had a friend who went from Game Maker, the easiest game dev tool, straight to C++ and OpenGL. So anyone could probably learn it within 7-9 hours.

duenez said:

If we could only have some place in which we could see which areas in the jME code need some work, it would encourage people (like myself) to attempt to implement/fix the issues there. But currently I feel like I would get lost in the vastness of jME and decide not to devote the time to the hunt of potential features.

Just create a jME help needed sort of place... If the tasks and needs are clearly stated, people would feel much more inclined to help... I know I would!


I think this thread http://www.jmonkeyengine.com/jmeforum/index.php?topic=9379.0 started by Momoko_Fan is a good one to look at for people who feel inclined to help jME. We should update it with the constructive two cents  ;) and describe more precisely what need to be done and who works on each task. Tasks forum could be used for this.
DrBullshit said:

I say we need a leader to ignite the community members, because they're probably just like the main developers: with a job and little time. Therefore, they're not gonna invest into something that doesn't seem to have direction.
We should know who's in charge, and by browsing the forums, we should get a sense that we can contribute. Right now, I don't really see what I can do other than correcting typos in the wiki.


True enough. 

Perhaps we need to create a Development Manager position who's role is to, well, manage development: keep up on the bug submissions/fixes, maintain the decided on project direction, keep the wiki/faq on project news/etc up to date so that any project/direction questions can be answered there first, to "light that fire" (or at least inquire) of comitted developers/contributors who said they would take on a certain job/enhancement/fix where they are at in their work, and to generally be able to call organizational meetings of the primary contributors/developers to resolve any mid to major level problems that arise.  The position could be an elected position of someone who has worked with/on jME for over a year and that comes with a one year comitment.

Just thinking out loud here...

Jedimace1 said:

Characteristics of open source engines:
No one stays in one place for very long
...


This could be a problem, but I know that a lot of users/contributors/developers around here have been here for a quite a while.  I think that jME inspires devotion because it is such a great engine.  If the fly-by-night contributor is assessed to be a problem, and it begins to cause problems, perhaps we should ask for a one-year commitment before granting write privilidges to the svn.

People,

"development managers", "roadmaps", etc don't just appear out of nowhere.



The rule in any non-commercial (as in, not enough money to recruit someone for a payed job) open source project that I've ever known is, get involved with the project first, then you can start shaping it's direction.



Almost every day I see postings in the forum where people find bugs, talk about missing features, complain on missing documentations, etc.



Anyone with a serious commitment can start working on any of these today. Wether it's code, documentation, writing guides or tutorials… or even making an up to date FAQ. Any of you can start with that today. Once you've done some solid work I doubt any of the other devs will complain if you want to try makeing more far reaching changes to the way we work, if they're solid ideas and you have shown you can commit the time to it.



Saying there should be roadmaps, or meetings, or committees, or .plans or other organizational structures, without having shown any commitment to the project first (other than words)…well, you're free to do it, just don't expect anyone in charge to pay too much attention… getting advise and directions from people on the sidelines seems to be the one thing an open-source project is never short of.

llama said:

Anyone with a serious commitment can start working on any of these today. Wether it's code, documentation, writing guides or tutorials.. or even making an up to date FAQ. Any of you can start with that today.


Indeed that is true, but I think that the point being made here is having a centralized source of ~what~ deficiencies are open to be worked on -- I don't think that just looking through the wiki and finding links that need to be written/updated by anyone who cares to is going to get very great response.  If there was a list of ToDo items for jME 1.x and 2.x wiki I think that people could timeslice their work (personal game/lab, jME contribution/dev, and documentation) easier. 

llama said:

Once you've done some solid work I doubt any of the other devs will complain if you want to try makeing more far reaching changes to the way we work, if they're solid ideas and you have shown you can commit the time to it.


I am much more into the idea of "imposed structure based on previous work" than  the purely "vegetative" model of management that you suggest.  Don't get me wrong, I'm not talking about any sort of draconian management model, but merely a loose structure where the ropes are explicit to anyone who cares to look and not  a "learn as you go" sort of affair.

llama said:

Saying there should be roadmaps, or meetings, or committees, or .plans or other organizational structures, without having shown any commitment to the project first (other than words)..well, you're free to do it, just don't expect anyone in charge to pay too much attention... getting advise and directions from people on the sidelines seems to be the one thing an open-source project is never short of.


I suppose that you exposed the crux of the matter: who's in charge now?  You (being both a moderator and developer)?  You and a few others?  What's the gameplan?  What's the roadmap?  Is 2.0 stable enough for a production level endeavor?  If not, what needs to be done?  Please share!

I'm not in favor of a "vegetative" model at all… just that whomever starts deciding what and how other people have to do their work gains a little standing in the community first.



I honestly do not believe that if there's someone who wants to do work on jME right now, they couldn't find anything to do. For that matter if you want you feel is need most is a list of tasks there are to do , or a contributer guide (and it might be, but you'll see if you do it), the wiki is open to anyone too. Submitting to the bug trackers is too… we even still have a "tasks" forum.



As for your questions:


What's the roadmap?  Is 2.0 stable enough for a production level endeavor?  If not, what needs to be done?

As we've already established, that is all up to the community!

No point in making a roadmap if noone will implement it. No point in claiming jME is "good enough" if people don't use it and report.. same for finding out what still needs to be done, and then doing it..

As for who is in charge, Mojo is, and he decided to set the requirments for any of you writing code (or doing something else for that matter) very low, so that's no obstacle.
llama said:


As for who is in charge, Mojo is, and he decided to set the requirments for any of you writing code (or doing something else for that matter) very low, so that's no obstacle.


Personnal opinion,  since Mojo is so very hands off, if what you say is true this may be an issue

Well, look at where jME is today and ask yourself if he is the problem. Sheesh.

I think we have clearly established that an unspecified person needs to produce a plan of work for another unspecified person (or persons) to complete. However I suggest that we have a meeting to confirm that everyone is agreed on that. Then we can formally agree that everyone has bought in and sign off, at which point we will resume waiting for the unspecified people to appear  }:-@