Forks!

Forks!

Postby Jastiv » 28 Mar 2013, 00:44

Please note most of this post is copied from my blog cause I got lazy. I realized not everyone reads my blog and might prefer to reply in a real message forum.

Today I want to talk about a controversial word in the free software community, Fork!

Most software projects don't really need forks. How many word processors, web browsers, cd burners etc do you need? Probably one or two is more than enough. But when it comes to games, gamers tend to collect hundreds to thousands of games given enough time. They at least try them out to see how they play. I tend to play one or two things for a long time and get all I can out of it, but over time I have played quite a few different games starting back when I was a kid.

Proprietary game companies frequently come out with a game, and make more and more sequels of this great game. Gamers like this because they know if they liked the first one, the next one will be similar so they will be more likely to buy then next one. Thus you have popular series such as Ultima, Final Fantasy, Heroes of Might and Magic, Super Mario etc.

Free software projects on the hand, are afraid of the Fork! If there is game one in the successful free software games, one of two things will happen. The original team will keep trying to improve it, not just maintain it so it continues to run on newer computers (like when libraries get out of date) So eventually with all the new features it will play like a different game. (example, crossfire, battle for wesnoth) Or even if it doesn't play different, it will look significantly different and have features and game balance changes the original did not have.

On the other hand, they often just abandon it, so it get forks, multiple forks, many of these forks don't even work on the platform the game originally worked on, and then there is the question of what is the real fork if people didn't change the project name. (IVAN, also known as iter vehehims. ad neccam)

The other problem with free software games is the dead projects that don't compile and run and never did. Well, maybe they compiled on one person's system at some point, but no one else can get it to work, and the original developer cannot be contacted. You can find a lot of this type of project on any popular free and open source software hosting site. While this is not a problem in and of itself, you keep wondering if perhaps the original developer should have forked a project that already worked properly and changed a few things, if they might not have a better game that people would actually care about and play.
User avatar
Jastiv
 
Posts: 29
Joined: 14 Mar 2011, 02:18

Re: Forks!

Postby Arthur » 28 Mar 2013, 00:50

Thing is, apart from a few, there are not a lot of "finished" games it would make sense to make a fork, or second version of. Sequels or forks make sense when the original project is so mature there isn't much more to do than add miniscule features or just changing gameplay around for the sake of doing it. Few FOSS games have come that far.
Hey pal, I took an oath for justice! "In happy days or tightest tights..." or something like that.
__________________________________________________________________________
Image
User avatar
Arthur
 
Posts: 1047
Joined: 06 Dec 2009, 00:49

Re: Forks!

Postby Jastiv » 28 Mar 2013, 01:53

Maybe part of the reason for that is several free software game never got the game play aspect "right" to begin with. Game mechanics are a tricky balancing act. I never let that stop me from forking though, for instance, crossfire rpg game mechanics are horrible in several places and as one reviewer said the art doesn't look so good, yet it still is one of the most forked free software projects ever.

So that just goes to show you a game doesn't have to reach the mature and balanced stage, just the compiles and runs without a lot of crashes stage.
User avatar
Jastiv
 
Posts: 29
Joined: 14 Mar 2011, 02:18

Re: Forks!

Postby Julius » 28 Mar 2013, 07:52

Forking is one of the strong points of FOSS game development, and as long as the developer that is doing the fork makes sure good additions to the main code-base get fed back into the main-line project, I really see no harm at all.
A really good example for "well done" forking would be Cube2:Sauerbraten and Red Eclipse.
“You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete” - Buckminster Fuller
User avatar
Julius
Community Moderator
 
Posts: 1944
Joined: 06 Dec 2009, 14:02

Re: Forks!

Postby charlie » 28 Mar 2013, 13:25

Free Software game projects are afraid of forks? What evidence is this based on.

Valyria Tear forked from Allacrost with great success. Red Eclipse from Blood Frontier which was essentially a fork of Sauerbraten. Glest to Mega Glest and GAE. There's countless examples...

If the developers were afraid of forks, they wouldn't work on Free Software projects. The statement (of fear) does not reconcile with the reality (of fork-friendly licensing).

Only some projects could legitimately be considered to be afraid of forks, and this are the projects that have some aspect of licensing which is non-free. An example would be TE4 and its graphics (licensed to that project only).
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2003
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Forks!

Postby Evropi » 28 Mar 2013, 15:30

Hmm. Can't say I agree. There are right times to fork, but in most cases, it's not the best thing. Read on for explanation.

Jastiv {l Wrote}:Proprietary game companies frequently come out with a game, and make more and more sequels of this great game. Gamers like this because they know if they liked the first one, the next one will be similar so they will be more likely to buy then next one. Thus you have popular series such as Ultima, Final Fantasy, Heroes of Might and Magic, Super Mario etc.

The thing is, most sequels are created either because they are continuing a story or because of the market dynamics of the gaming market. Games make almost all of their sales in the first 3 months of their release. You could introduce a new IP but it's a bigger risk to extending a pre-existing game with DLC (if the game is successful and popular, though you will be restricted to the pool of people who already have your game) or just make a sequel, which is much less of a risk, both in development methodology (you have a clear idea of where you want to go with it) and in sales (if the game is good, people want more!).

This is not to say that open source games should not receive sequels or spin-offs, but there just aren't many story-based open source games out there which are the ones where a fork can be justified. But more so, I think we really need to see the first open source spinoff. What about an action-adventure Battle for Wesnoth, or a 3D Hedgewars? Marketing should not be a bad word in open source and by building on an existing brand, you are bound to be more successful.

Jastiv {l Wrote}:Free software projects on the hand, are afraid of the Fork! If there is game one in the successful free software games, one of two things will happen. The original team will keep trying to improve it, not just maintain it so it continues to run on newer computers (like when libraries get out of date) So eventually with all the new features it will play like a different game. (example, crossfire, battle for wesnoth) Or even if it doesn't play different, it will look significantly different and have features and game balance changes the original did not have.

This is my biggest problem with this post. What you're really talking about here is a bad development method. You must have a clear idea of where you are going with the game and have an absolute 'finished' state. Your project can't go on forever. Granted, Wesnoth has become the Emacs of TBS games being basically implemented in its own scripting language (and a little Lua), but the fact is, they made a universe, built a TBS game with well-defined and thought-out gameplay and they didn't stray from the original concept. I would argue that BfW is a bad example for this.

If the bus factor dropped to 0 tomorrow, someone could still theoretically pick it up and make it the way it was originally intended. The author is the master of their work and they know best how it's going to be implemented. If they put the word out from the start that they want their game to ultimately play this and not that way, it's probably the best way, to be honest. But they have to have a clear design from the start. Examples in open source software of this are Inkscape and Tomahawk Player. Examples in open source games are Battle for Wesnoth, Lips of Suna and perhaps above all, 0 A.D.

Jastiv {l Wrote}:On the other hand, they often just abandon it, so it get forks, multiple forks, many of these forks don't even work on the platform the game originally worked on, and then there is the question of what is the real fork if people didn't change the project name. (IVAN, also known as iter vehehims. ad neccam)

Abandonment is a different thing. The problem with roguelikes is that there has always been a strong open source community around them, which doesn't really 'get' the open source development model (beyond just the licensing). They will usually work on things their own, that is. In case of abandonment, a fork is appropriate, as in the case of Glest. It wasn't the cleanest of forking processes as development split in two, GAE and MegaGlest. But both formed communities from the pre-existing Glest community, which is a success in my mind. Unvanquished is another example of a successful fork. TremZ was killed off and just about all developers moved over to Unvanquished.

---

Cases where a fork usually is appropriate are almost always down to poor project management in my opinion. That not only includes not setting a vision for your software or game project, but also interacting with other developers (code or not) and the community the right way.

Another case is when you want to make a separate game or simply continue a dead project. However, if you do want to fork a stagnant codebase, at least talk to the last maintainer. If you get far enough (remember, at least work on it first), ask them if they'll sell the domain name to you. If you are a maintainer or a dying project, please do the right thing and leave the option open for anyone to contact you if they wish to continue the project.

Aside from that, I believe it's always better to improve another project until you are influential enough to push your changes through. But for heaven's sake, please run it through with the players first and don't make top-down decisions about everything.

To Julius: can you please allow the horizontal rule (<hr /> in HTML) on the forum? I swear I've seen another phpBB forum support it. I will love you forever. :heart:
You just wasted 3 seconds of your life reading this.
User avatar
Evropi
 
Posts: 364
Joined: 02 Sep 2012, 16:18

Re: Forks!

Postby Julius » 28 Mar 2013, 19:10

Evropi {l Wrote}:To Julius: can you please allow the horizontal rule (<hr /> in HTML) on the forum? I swear I've seen another phpBB forum support it. I will love you forever. :heart:

You need to ask qudobup or Charlie about it... I have no access to the forum settings AFAIK.
“You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete” - Buckminster Fuller
User avatar
Julius
Community Moderator
 
Posts: 1944
Joined: 06 Dec 2009, 14:02

Who is online

Users browsing this forum: No registered users and 1 guest