Why isn't Defold open source? (SOLVED)

I really wonder why. Is it messy code? Parts copyrighted by external groups? I think if King is going to make Defold totally free, they should make it open source too to reap the most benefits.

6 Likes

It would be nice eventually to get it open source, but probably won’t happen as a priority.

I personally rather have a really good team working on the engine and editor than worry about that myself. That is a big benefit too for us. We’ll have native extensions for all targets soon, and hopefully editor extensions soon too so most of the features you would want the community to implement and maintain will be possible. Defold team is responsive with fixing critical issues, so you should focus on making your games.

7 Likes

You know back in the old days, nothing was open source. Isn’t that weird?

2 Likes

Well, the open-source question is a good one. And we do want it, but the legalwork looks so painful, also the process requires quite a bit of developer resources.

Also as you know, Defold is not really open-source within King, it is a boxed product that is shipped to King teams exactly the way you all here get it.

But while we’re on the wave, shall we crowdsource the ideas on how could open-sourcing Defold (which is very close to ANSI C code) be useful? How would you (and your game!) benefit from a pile of low end C code being open to you?

6 Likes

Well, there are many benefits. From the simplest, people can fine tune the engine for their specific needs, remove physics, change how memory allocation works, introduce some hacks to bypass any limitations.
Another way is to allow people find and fix bugs in the engine itself or add some experimental features that may end up in the main repo.
Additionally people may start on porting the engine to other platforms, consoles like PS4 or Xbox.
But the most significant benefit would be the trust by developers and investors. People are more likely to use open source solutions because they know if anything happens, they won’t be locked up with a misbehaving closed source engine.

15 Likes

I agree with @sergey.lerg. Also reading source code really helps when you are trying to optimize code or figure out what exactly is happening in some tricky situation.
When I develop web applications access to source code of libraries/frameworks saves me a lot of time.

3 Likes

okay, so

Open Sourcing Defold

  1. May help people understand how it works
  2. May help to build trust in Defold tech
  3. Someone may port Defold to other platforms

Did I miss anything?

2 Likes

Possibly faster feature development. But this would obviously depend on the traction it gains with the developers.

1 Like

Making a decision to open source something as complex as a game engine shouldn’t be taken lightly. A game engine is s complex piece of software and thinking that “it may help people understand how it works” is to fool yourself. Good documentation will solve that. Sure, we may get a bunch of pull request for new features and improvements and some may be really good or awesome even, but for every PR one of the devs in the core team must spend precious time to review it. Don’t get me wrong, I’m not against open sourcing stuff, but it should not be seen as the solution to all our problems.

13 Likes

I understand why you might not want to, but on think positive side of things, you would get the benefit of developers working on the features they need and expanding the offering as a result.

For example -DEF-2054 – I have no idea how hard or easy that would be to implement, but since it would really help me out I’d be willing to spend time on it.

On the negative side, If it was open source and PRs didn’t get folded back into the main code base you’d end up with developers deploying forked versions of the engine which might not be a great result.

1 Like

An alternative could be a limited access to the source. Something like what unreal does.
Maybe sign something and start poking around. And once all paperwork is done and decision is made, the source code could be open sourced to everybody with a number of people from the community who already got familiar with the engine and could help others.

4 Likes

@Oleg_The_Evangelist Also, open sourcing would eliminate a vendor lock-in for all of us. I’ve seen that many times were something is paid or even free, but somewhen the developer breaks down and all your games are lost and have to be rewritten in another engine. If you have an open source engine, somebody else could adopt the code. So, I’ll add that to the list as well.

Kind regards

Dennis

7 Likes

good. The open source discussion is a very healthy one. Still the current list looks like this:

  1. May help people understand how it works and hopefully potentially fix a bug or two
  2. May help to build trust in Defold tech, esp in the unlikely case of lack of further support
  3. Someone may port Defold to other platforms, very theoretically

Feel free to add more.

5 Likes

Hi Oleg :wave: I work for Discourse, so first off thanks for choosing us and kudos on a great design :rainbow:

As an employee of an “open source company”, please allow me to add some positives of going open source for which King the company is the primary beneficiary. In short, I think going open source adds a large multiplier to the existing reasoning behind going free, as stated in " Why are you releasing Defold free?" on your front page.

Huge boost to your hiring pipeline

We believe great tech attracts great talent. All in all, we believe this ultimately leads to better games – not only for us at King, but for all game developers.

Open sourcing your code is the best thing you can ever do to your hiring pipeline. Especially for the hiring of new engineers, but also for just about any other position in your company. We’ve been steadily growing since our inception 5 years ago, now at 35+ people and a 100% retention rate for anyone who’s been with the company past their trial period of a couple months. The vast majority of our hiring has been done directly through our own community, i.e. meta.discourse.org. It’s really a beautifully organic thing to see someone go from

  1. occasional helper of troubleshooters to;
  2. tinkerer;
  3. intermittently sponsored contributions;
  4. paid trial;
  5. part of the team! (and on your first day everyone kinda goes “huh? I thought you were already working here…, anyway happy to hear we’ll be seeing you around even more!”)

The value proposition of your product grows in lockstep with your community

It may seem out of the ordinary, that a commercial game company releases its core technology for free, but here’s how we see it: the more people who use Defold, the better the engine will be.

By releasing Defold to the community, everyone can help making Defold better, by creating tutorials, by finding bugs, improving the documentation, and much more. And since King uses Defold internally, every day – the better the engine gets, the happier our internal developers will be.

You already have a wonderfully vibrant community here on forum.defold.com (again, major kudos is due :clap: ) and going open source would put the momentum of your community into hyper drive. A more active community means more of all the good stuff:

  • community-driven product development
  • continuously improving organic knowledgebase
  • vastly increased hiring pool
  • viability for an ecosystem, should you ever want to go down that path
  • a strong community mitigates the fear of a company suddenly going down and taking all their support channels with it.

Open source improves your product

It should and is not about free labor, it’s about polish. The vast majority of open source contributions are one-offs, be it code or many other things. But these contributions add up to a degree of polish that you’d never have otherwise, because there’s never enough hours in the day for those “nice to have” tweaks that never make it to the top of your TODO list.

You don’t even have to start off being open source

Going from closed to open, you have much more leeway in your choice of license. None of the open source opinionistas are gonna give you a hard time about going from closed to more open (okay there’s always someone, but it could be a lot worse), so you might even consider starting off with a shared source license like License Zero’s Prosperity License. You could continue to sell the license to use Defold for commercial use for 0$, but you’d have the right to change that in the future if you so choose, just like now.

Bonus: It’ll make extensions a lot easier and more powerful

You’re already going down this path with your extensions. And if I’m not mistaken, it looks like going open source with the engine itself would make it easier to roll out extensions. It’ll allow you to put some stuff out in a pretty rough form and find out how many of your users want this enough that they’ll go the extra mile to figure it out and tell you how to make it better. The open source mentality is a huge boon to product development because it encourages you to push out new code as soon as it works but before you’ve fully figured out where to go on with it.

16 Likes

Where I work they went all open-source and went down the MySQL database route because of the ability to have access to the source code and anyone in the organisation could read it.

However the reality is that no-one in the organisation has the time or technical skills to plough through thousands of lines of C code.

From my experience, the argument that code can be checked is a bit of a red herring.

11 Likes

thanks so much for taking the time to comment!

I am personally a huge fan of open-source (that is done well!), however free vs open source dialog is much much more complex than i.e. a paid vs free dialog. So it does not scale from free to os that well :wink:

Basically every bullet point that makes sense for free translates to “yeah, but if we go open source we’ll have to manage this separately what would require additional resources”.

I.e. currently the status quo is that Defold guarantees a stable core and backwards compatibility, while the community builds extensions on that guarantee. Once stuff gets os, then we’ll have to adapt to a world of forks, merge conflicts, culture conflicts and “oh this particular extension actually works on that fork but just don’t use the latest build, because it is broken”.

That’s said, I am personally pushing hard for open-sourcing more and more of non-core Defold, while thinking about next bigger steps.

10 Likes