After over a year of working on this project, I'm finding that the growth of it is beginning to be a bit more than one person can handle alone. I really believe strongly in what XboxFriends could offer to extend the Xbox Live experience; however, since it's something that I can only dedicate a finite amount of time too, I really need to gather assistance from others. I've been thinking over the past couple of weeks how I can make this happen and there's really only two ways (well, three, but I won't dwell on the fact that that one really isn't all that possible). The first thought was to attempt to get some additional developers to come on board and still keep the project private. This has several good points, but severely limits the number of developers and a certain trust level has to be established (including NDA's). Furthermore, it would put undue pressure on those involved to make a commitment that they may not be able to adhere to. So the second option is to make the project open source. I'm concerned with doing this as I fear the project being forked and diluting the idea behind the project. Considering the data communications requirements, the good fortune of having a sponsor like Server Intellect and the branding that's been built over the past year... I'm confident that this project will still be the leader even if forking occurs. There is one gotcha that has made me really have to consider the move to open source.
Cool, I get to really see how you are doing things...
Now don't get too excited and think that you'll get the source code to how I'm inter-operating with Xbox. Because I'm under a non-disclosure agreement with Microsoft / Xbox, the mechanism that I'm using to pull the data will not be made open source. I will be refactoring the code so that that portion is in an obfuscated assembly that XboxFriends will leverage. The NDA is just one reason why I don't want to share this information and based on the advice of others, I don't wish to share it due to other potential legal concerns. Xbox is aware of what I'm doing (as are a few other people at Microsoft) and they have no ill will toward me and wish to continue that moving forward. I think that is in the best interest of the project (and in my best interest as well). As such, this component will not be open source and *will not* be freely usable. It is an XboxFriends assembly and no license is available to use it otherwise.
Now that that is out of the way, I also have to share that the code is not the best example of “best practices” as it's been a project group of one... and originally started out as a proof of concept with feature creep occurring every time I enter back into the code. I would hope that having more developers working on it that the codebase would be refactored more so than I've already started doing. This codebase was never intended to be viewed by anyone, so please be kind.
Does this mean you are abandoning the project?
No. I fully intend of continuing leading the project and helping to drive (coordinate) features. I will still be working on portions that are “private“ in order to extend such features. I will also be the final decision maker of each release. XboxFriends as a brand is not being turned over, I still have full ownership and as such will have a strong interest in how the project proceeds.
When will this occur?
Initially, I am looking for a few developers interested in getting started on the project. So if you are interested, please just leave a comment as such or, if you have any question, leave them as well. I still have to refactor portions of the code a bit before officially making the source available (while keeping some pieces private). I would also like to speak to several people who have done open source projects to get some ideas how to proceed.