Take that break, you deserve it! You're pumping out releases at an incredible rate.
Trevor Bradley said:
I'm also thinking about releasing the code as open source for Release C and onwards. Anyone have ideas on which license I should pick?
Licensing is probably more a matter of taste than anything else. Go GPL if you want to make sure your gift stays a gift or go with a (short) BSD-/MIT-style license if you feel really generous.
Personally I never saw the need for any other license (which must of course exist somewhere, but escaped me due to my ignorance). It would be nice if the artwork could be licensed under a CC-license in the spirit of the source license (either attribution or attribution-share alike), but you have to discuss that with your (amazing) artist of course.
Copyleft or no copyleft is really more of a believe-thing, so you should be able to find all the arguments for and against it in a lot of heated flamewars all around the net.
It will definitely be interesting to read your code, even though I never really got the hang of C/C++, so I won't have any good advice for anything. Pointers make me itchy.
My code isn't going to be that immaculate, as this is the first time I've coded in C++ ever, and the first time I've coded C for 16 years. I feel a bit like I'm going into the town square and dropping my pants.
I'm working with Pat to ensure a Creative Commons license for the new artwork and music. Some of the existing sounds and one song are licensed under the soundsnap license... I really want to fix those.
Also, if you read the dev forums I'm stuck in a quandary as to how I should handle anti-cheating measures. I had intended to hold off until Release D for source, so I could fix up some critical problems with the multiplayer communication order. Basically the game was built single player first, then multiplayer, so it's going to take me some time to get things secure for all the players.
Specifically, there's no "anti-cheating" software on the server, and the very first thing the server does on joining a multiplayer game is transmit the location of the artifact to the player.
Now in retrospect, this is exceptionally dumb, but it didn't occur to me until after I did it, and the solution (moving information requests to the server) is a fair amount of work.
In the short term, I've created a bit of my own code called Crypto that encrypts and decrypts data sent from the client and server. I was planning on changing Crypto from the source to the binary.. so you'd need one of my binaries to connect to my server, but would be able to create your own server and clients, create your own crypto code.
I've been reading into the GPL and don't think this is possible. There are strong restrictions on releasing binaries that have modified code in them without releasing the modified source. It *may* be possible to rework the LGPL to make it work, but I'm not sure how to do it cleanly... linking this Crypto code in as a library defeats what I'm trying to do.
I want to obey the spirit of the GPL, I'm just concerned about violating the letter of the GPL. And it's having the catch-22 effect of keeping me from releasing my source at all.
The devs on the devboard have said not to worry about it too much, that I've covered my bases, but I'm not entirely comfortable with not exactly following the GPL. I'm hoping I'm being dumb and there's some other way to do this where I can share the game with everyone *and* take some steps to ensure they play fairly.
The best bet may be to just hold off on releasing source until Release D, and then fix up the server so that it won't let the player cheat.
An alternative would be to release the source under a closed license.... say that the code can't be used without the author's permission, and then re-release it under the GPL at a later date. That could work in the interim.
EDIT:
http://www.opensource.org/licenses/mit-license.html
Hmm, that MIT license looks pretty good, actually... A lot closer to what I'm looking for. It doesn't restrict me from releasing a closed binary.
I'm a bit concerned about re-releasing under GPL at a later date, and if this causes any issues with mixed licensing though... I'll think about it.