The JMonkeyEngine project has been in a slump for a while now. Of the 30 “members” listed at the organization’s GitHub page, most haven’t contributed to our project via GitHub in the past year.
We need more people to get involved in development, debugging, reviewing, documentation, etcetera. In principle, anyone can contribute in these areas via pull requests. However, I know from experience how awkward and frustrating that can be.
Could the jMonkeyEngine GitHub organization invite a few more people to become members? Who among the “owners” is willing to make this happen?
I do agree that the project could always do with more people in the team, and as of late that has declined, but I was always under the impression that titles were earned in that regular and useful contributions merited said title, and that continued work would lead to becoming a “core” developer, not through another deciding, but through the community just “accepting” them as said person.
Nobody said Paul was the “go to” guy for math or GUI, or that Normen was the physics guru, or mitm was the documentalist, or any other person with specialities. They just “became” that person as a result of their actions.
What I mean to say is that if you want to be one of these people, you have to be that person.
Or at least that’s how I always saw things, anyway.
To be clear: I’m already a member at GitHub, so I’m not asking to be invited myself.
I’m sure your impressions of how this project works are valid.
However, GitHub doesn’t monitor people’s contributions and automatically invite them to membership. People have to make those decisions. You, Paul, and Kirill, presumably.
Sometimes I feel lonely at GitHub. I’d like to see more people responding to issues and pull requests.
I guess what I’m looking for is some assurance that the membership situation is being actively monitored. By specific individuals, not some amorphous “community”.
Sounds like you guys need to grab the attention of one of those guys at Google or somewhere that is paid to work on random open source software all day.
I think that there are several of us that would like to contribute. I myself would love to but I am so busy that I don’t want to commit to something full time that I will never be able to do. On the other hand, little things would be very doable. There are a lot of issues on github, but I don’t think that many of them are approachable for people just getting started (There are some though, see issue #1008 for example).
But I think a lot of people would be more interested in helping if there was a vision for the future, perhaps a roadmap of things that are not yet implemented in the engine that are planned to be added. Then people could consider if they want to work on adding that feature. The problem with bug fixes is that only those who run into the bug are motivated to fix it.
I’m not saying that the current system is bad, in fact it is doing a great job of supporting the project. But perhaps adding a roadmap of goals would help? Or it might exists and I just don’t know about it
Anyways, a big thank you to those who are contributing!
EDIT: After some digging I did find this: Roadmap for Future Release · Issue #198 · jMonkeyEngine/jmonkeyengine · GitHub
Not sure when it was last revised.
Well… From where I’m standing I see a lot of talented developers but it’s difficult to become a “core member” these days. The code itself is very reliable and all the functionality is there, and most of the issues remaining on github are quite difficult to resolve. Additions are generally for new technologies and those kind of developers are very difficult to come by (how many people do you know that can write a PBR pipeline?), and even fewer have actually put themselves forward to write the code with the quality and scrutiny expected. To be fair it’s a tall order for anyone.
In addition the core project moved away from adding libraries like “terrain” and others because if the developer disappeared for some reason (life is like that - I speak from experience) the core team has to continue to maintain it. So this has severely limited what developers can actually contribute now. And in addition the SDK has been dropped officially to ensure the core stays up-to-date.
The thing is, I can’t argue with that reasoning because it means the core libraries continue to maintain their current integrity. The reasoning is sound. The actions are warranted. I agree with them.
But from where I stand there are ways to solve a lot of these problems without changing the current status quo. A way to give developers a platform and as a beneficial side-effect push the engine forward.
I don’t really like to talk shop about projects that aren’t finished these days. It brings hype and pressure that doesn’t prove beneficial to its future, but maybe a screenshot of my desktop will give you some insight into how something can be done that works for everybody, and that things aren’t necessarily going stale.
Well, as a “documentalist” contributor (I’m writing the wiki for android with some examples and I’m trying to help fixing some issues in Android as well) I have to say: it’s really difficult (at least, for me) to work in your regular job and develop a game (not even talking about creating/solving features/issues for JMonkey) at the same time.
However, if you have the willing to do it, as I do, you can help. Maybe not contributing with significant new features, but I’m helping to solve some Android issues; and, although it is not a paid job, I feel good when I help people who helped me in the past.
@sgold is right and @jayfella is right too. Does JMonkey need more developers? Of course. Can everybody become a contributor?. Of course. Can you invite a member to be a contributor?. Yes. But the key is, in my humble opinion, if that person has the time and the abilities to help; so, I agree with both of you.
As I said in the past, I’m not a native speaker, so, I I’m sorry if I say “stupid things” in English.
Here’s the way it normally works now:
-someone submits pull requests often and they require little or no comment… we just push them through.
-we get tired of just pushing them through and make that person a github committer.
There are lots of pros and very few cons to that approach.
What we really lack I guess is an easy way to promote the add-on projects. Because JME has lots of that which is one of the things that makes this community as vibrant as it is… (and no, I’m not being sarcastic… these days a Java game engine is pretty ‘nice’. We are pretty active in that light.)
The current approach assumes that the person integrating PRs has the power to make someone a GitHub committer. Which isn’t always the case.
earlier i was active doing some libs, some of docs(that dont even exist now ) some of issue report(sometimes with fixes) (usually someone else put it on github).
but, had health problem and i stopped for like 2 years. after a long time im back in JME and currently all my time i put into game. and i hope health will allow me finish it at least.
about github activity im sory i dont help now, but like @Ethiel said, some people have already multiple “works”/“actions” to do. I would really like to help, but first im gonna finish game that will take like 1 year since now… cant finish other jobs as they are kind of pernament.
Also helping is very time consuming, its not like someone take 1hour to help, because it will not be enough time to help.
But, there are people who have will to help, but i belive some of them afraid to change anything in JME or dont see sense putting something because new releases were slooooow recently so they prefer do it in own JME forks.
Anyway JME is imo best engine thats why i use it. it always can be better, sure. agree need more github contributors, but how to get them is different question.
Yeah, I think I’m the only one left who can do it… I’ve been keeping an eye on the commits. So far I haven’t seen anyone PR a bunch of changes without any kick-back. But if you feel I’m wrong about that then we can discuss it less publicly.
JME core is pretty stable… so I suspect most of what we’re going to see are folks scratching their own itch (discovering a bug, posting a patch). There aren’t too many open areas unless someone has the skill+time to take over where @nehon left off on the animation stuff… but those are pretty big shoes to fill. (Personally, I hope to have enough skill someday soon to contribute there… but I don’t yet.)
I’m fine with members who can only work on JME a few hours a month, who might go for a year without committing anything. Quality not quantity. (Unless GitHub limits us to a certain number of members, in which case activity becomes more important.)
I agree that specific candidates for membership should be discussed privately, not publicly. I have some names in mind, so I’ll do that.
However, if only one person has the power to do something vital (like rebooting a server or inviting new members to the org) then I become concerned for the future of the project. What if that person gets hit by a bus? Or more likely, just gafiates?
I am very interested to contribute. But when I try to solve an issue, I cannot make much progress, get disheartened and drop it eventually. Therefore my only contributions so far are on jME documentation.
But if somebody is willing to mentor me, probably I’ll be able to solve issues.
Thank you @tlf30 for pointing an easy one. I’ve already started working on it. add getSpatial() methods to GhostControl and RigidBodyControl · Issue #1008 · jMonkeyEngine/jmonkeyengine · GitHub
I am also looking into issue #363
I’m not the only one who can do it. I’m the only one who can do it who is still paying attention. And even that is an assumption because I’ve never tried it.
I have no idea how to reboot servers or pay the hosting bill or any of that, though. We have to resurrect idle core devs for that stuff when needed.
It’s nigh on impossible to change people like that. They as a whole have come upon a stumbling block and collectively decided “it’s not worth continuing”. It’s therefore kind of up to the person responsible to figure out why and find a solution.
People use things because they want to. You can’t say “do it this way” because they just won’t. You’ll just see a decline in traffic. You have to find a way they find appealing and worthwhile.
For example, if facebook decided “we dont host images, you must use imgur and post the image link” - chances are people would just stop posting images. To solve the issue, the developer could just upload the image to a third party via code automagically and return the image link- and the user for all intent wouldn’t know any different.
Who knows… maybe some day… someone/game studio… will create a cool game with JME and will gain a great profit from his game then he might say, hey I want to become an sponsor for JME… and then there may some cool things happen… you can guess the next…
I believe that day will come
You read my paragraph wrong. I don’t want to change people. I wanted to say: It doesn’t matter if they are part of the organisation on github, the current low is because we don’t have many members at all.
We just need a bunch of independent thinkers that have decisional power over PRs and have time to discuss with us commoners without trying to start a flame war with each reply. That’s all.
Let me finish my game… I’ll become a millionaire and I’ll hire all of you XD