[DISCUSSION] How to Open Source?

I know this question was discussed for decades, and I read a lot of them, but since we are using a Open Source Engine, I think this will be a good discussion, even if it was discussed already.

Let’s say I have a project, when should I think of releasing it as Open Source? Just to share knowledge to community or there are other benefits?

I ask it because even i’m not new in programming, I never engaged in a Open Source project (never found one suitable for me), so whenever I think making a Open Source project (which is different from just release code) some questions come to my mind, like how to control its main objective (not saying about managing commits, branches and such, but the project goal or objectives).

I’m slowly developing a Voxel Engine, but since there are ton of others Voxel Engine, i’m not very excited in starting an Open Source project, but I always got myself thinking on how to do it…

Sorry if this is a non-sense or too long question, but I thought about it :sweat_smile:

Maybe there’s some misunderstanding that releasing a project as open source implies revoking control over it. Many people seem to believe that …

It doesn’t actually work like this. Once a project goes open source, the original author(s) can update their repository, maintain the bug list, the wiki, etc, without actually allowing anybody else to have write access to those resources. Forks may appear, and even if a particular fork becomes more popular than your original code, you still retain control over your own fork and you can even merge interesting features from other forks if you like.

Some people are scared that forks are bad becomes they create too many incompatible implementations … the reality is that forks don’t happen all that often, as they are very costly to maintain.


My advice: don’t start an open source project until it seems obvious that you should. It’s kind of like ‘love’… you’ll know it when you’re in it.


Sometimes just upvoting isn’t enough without comment:

+1 for poetry!

My advice is, don’t start it to late as well :smile:
Start it as soon as the core is working somewhat stable.
For jme-jfx this was a blessing, as many of it’s current features (like video playing, color buffer conversion in gpu ect) are not done by me, but the others.

Do note that some people don’t believe true love exists.

Do note that some people don’t believe true open source exists. :wink:

Must…resist…posting “hello world” code and pretend that’s the proof that open source do exist.

Nice tips guys, so what I got from this thread until now is:

  • I still can keep the control of project roadmap even if the project became Open Source;
  • It’s better to have a solid goal and base engine before releasing Open Source, to avoid mistakes;
  • Don’t wait until the project became almost done to release it;
  • Releasing Open Source doesn’t means the project will be collaborative;
  • @pspeed is a poet :stuck_out_tongue_closed_eyes:
1 Like