Jump to content

Subsidizing Programmer


Mythos_Ruler
 Share

Recommended Posts

Okay, so. The fundraiser is taking longer than I planned to get it up and running, but it is getting close. Unfortunately, even if the fundraiser was up and running today, it would still be 45 days before it could conclude and another 10 days after that before we get the money. Jorma (aka RedFox) has submitted some major performance patches in the couple months since I have brought him back to the team.

See: http://trac.wildfire...ry?owner=RedFox

Also, see his discussions here regarding performance:

http://www.wildfireg...=20#entry270759

Jorma has decided to go ahead and review some other patches in Trac to give the team more time to review and discuss his work.

http://trac.wildfiregames.com/ticket/1859#comment:7

http://trac.wildfiregames.com/ticket/1707#comment:20

http://trac.wildfiregames.com/ticket/1923#comment:35

He's already committed a few hundred hours of his time and he's doing it without pay. He's been waiting for the fundraiser to come through before looking for a job. He'd rather work for WFG, but it's harder and harder for him to justify not finding work elsewhere.

What I would like to do is perhaps subsidize him for 60 days with the money we had allocated for programming. That would only come out to $2500 for the next 60 days (based on discussion with him about what he needs to stay afloat). This is a very small amount for what we want him to do, so I think is worth it. It makes sense to use the money in this way since the money was slated for such a thing in the first place.

What do you guys think?

Link to comment
Share on other sites

I think it's okay but I would want some accountability worked into this contract, such as with a plan for progress reports.

As of April 2013, we have $5,650, of which $4,140 is set aside to whatever was promised to Pledgie donors (Source 1, Source 2).

It is really important to show that we are putting existing money to good use before we ask for more.

  • Like 1
Link to comment
Share on other sites

I think, given his recent activity, he'd be a good fit to replace Philip as the person to receive the funds. So that's a yes from me.

However, as Aviv pointed out, we'd need him to do some things, such as post daily progress reports.

His patches are quite big too, and each requires quite a bit of time to review and test, since they are pretty big architectural changes. So the work he gets done won't make it into the game instantly.

Link to comment
Share on other sites

I have talked a bit with a few of the more active programmers, and there are two things which are clear. First, they think Jorma is a highly talented programmer. Second, that it at least can seem as if he's a bit too prone to rewrite whole parts of the code as opposed to improve on what's already there, even if the task he set out to complete would be completed (and in less time, and easier to review) by improving the existing code. This can of course be both a good and a bad thing. The old code might be so bad that the only way forward is to rewrite/it might be less effort etc. On the other hand, rewriting code means it's a lot more code to review for other programmers, and can of course introduce new errors. It can also be hard for someone else to judge whether the rewrite is a good or a bad thing.

All-in-all this doesn't mean that Jorma can't get paid/never should rewrite anything, I just think there are a few things he (and everyone else who makes any substantial changes for that matter) can do to make it easier both to review and to accept bigger changes (these are based on things the programmers mentioned, but using my words. In other words, don't blame them if something sounds weird, and don't give me credit if there's something great ;) ):

  • If the objective of the change is to improve performance it should be demonstrated clearly (using e.g. one of the existing profilers or an external profiling tool) comparing the results before and after the code change.
  • If entire bigger blocks of code is rewritten it should be demonstrated clearly that the alternative of improving the existing code has been considered. I don't mean that the programmer needs to write an essay on the pros and cons of doing things one way or another, but it should be obvious that's not just done on a whim, "I can't be bothered figuring out why someone else did things that way so I'll just rewrite things the way I think is best". Exactly how it is done is less important, it can be done through forum discussions with other programmers, it can be a few lines in the Trac ticket describing the thought process (and preferably offering some kind of proof that the rewrite is necessary), etc. Just something to acknowledge that the old code has been considered and not just thrown away because it seemed easier to begin from scratch. (And of course it depends on the scale of the rewrite how much effort should be spent, rewriting a couple of hundred lines of code or something shouldn't need more than a line or two in the relevant Trac ticket while rewriting entire files/sets of files of code should preferably be discussed thoroughly beforehand.)

In conclusion, I think (with the above posts and my discussion with the programmers as a base for my thoughts) that Jorma should be paid with the Pledgie money under the following conditions: 1) that he communicates to the rest of the team and the fans at least once or twice a week in a progress report, and 2) that he communicates to the other programmers why he has made the choices he has.

  • Like 4
Link to comment
Share on other sites

Nicely put Erik.

Three last thing:

* As we did with Philip, money should be paid weekly, not a lump sum.

* We should have a clear roadmap of changes Jorma will do over the next 2 months. Jorma would need to write this up, and could be the starting point of the regular development updates.

* Jorma tends to write code with C++11 features. We haven't decided to make the switch yet, and having C++11 features in a conditional is asking for trouble, so for now, I would recommend we enforce only the most widely supported stuff be used, for now anyway, and if we decide to use c++11 in the future, we'll switch.

  • Like 1
Link to comment
Share on other sites

Thanks for mentioning that last thing, I don't know enough of it to have any real input on that specifically, but it did remind me of one other thing. Note that this is mostly something we as a team need to consider and not a criticism towards Jorma or anyone holding either opinion.

It has always been a goal that 0 A.D. should be possible to run on as many systems as possible (both in terms of Windows/Mac/Linux and in terms of different hardware), but when updating the code to take advantage of newer features there's always the risk of limiting the number of possible computers the game can be run on. Should we strive more for the best looking/running game possible or more for the game that the largest number of people can enjoy and play? Of course we'll have to settle for somewhere in between, we can never create the most visually advanced game, nor can we create a game that can be run on every computer (just making the game 3D has ruled that out). But I think it would be useful for the future if we would make a general decision as to what we would like to aim for.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

I vote in favor of the agreement. (Though as SPI said I think we'd need to add the information about 0 A.D. being available for free, don't we? Or am I misremembering that and it's just something they wanted to make clear between us?)

Link to comment
Share on other sites

As you can read, I incorporated the main points of what we expect Jorma to do.

I am guessing they will have him sign a contract with SPI, which will include that info verbatim.

They need it to legally ensure (and to be able to convince anyone who asks) that the money is really being used for the purposes SPI was established for.

That contract would be the document the US tax authorities would be looking at, and that is what SPI is most concerned about.

They didn't ask for our entire contract with Jorma. I guess the nitty-gritty details of our arrangements with Jorma (e.g. how many hours he'd be working, would he be available on IRC etc.) are secondary in importance as far as SPI is concerned.

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...