View Single Post
  #14  
Old 01-06-2009, 10:51 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

EDIT: Sorry, started this post before this thread was locked, but got hung up for a few hours and didn't submit it until much after the lock. I am leaving it here anyway. If someone thinks it needs to be removed for any reason, feel free, but I don't think there is anything to spread the flames. I actually meant to post about stopping the flames too, but this post was long enough as-is, lol.

I think the point to keep in mind with all of this is that this project would be no where if it wasn't for people sharing new code that they write with the entire project. From the beginning, the emulator code has evolved by dozens of people helping and sharing with the community. In the movie "A Beautiful Mind", they mention Nash's equilibrium theorem, which says that the best possible result is for each person in a non-cooperative activity to do what is best for themselves AND the group. So, to apply that to eqemu, it means that if everyone shared their own code, it would be better for the emulator as a whole, which in turn would be better for each individual server.

By only doing what is best for your own server and keeping all code additions to yourself, you are hurting potential for your server to grow. Sure, if each server had their own special code additions, they would each benefit from a certain number of players who enjoyed those additions. If those additions were not shared, each server would lose potential for player retention that may have been added by the additions other servers have made. This means that every server would be much weaker than they would be if the code was shared by all. By making all servers weaker this way, it weakens the project as a whole because none of the servers are getting the benefits of shared code between them. And by doing that, it means that players are more likely to stop playing the emulator sooner than they may have if there were more working systems and code additions to keep them interested longer. Imagine how many players the emulator would have now if we were still running on the server code from 6 years ago. There wouldn't be much interest in the project and it probably would have died due to lack of interest long before now.

While it certainly isn't all about competition (at least for most), there is still some competition between servers. Most servers want as many players as they can get/handle. All servers should consider that by growing the community, it grows the pool of total players who play the emulator, which will then grow the potential for how many players they can possibly get on their server. IMO, the competition aspect should be done 100% in content, support, quality and attitude. Each of those are things that can give each server an individual advantage that can't easily (if at all) be shared with the rest of the community to make it better as a whole. Basically, it should be your database and service quality that define how good your server is in comparison to other servers, not the code itself.

Each code addition to public source helps the entire project and everyone can benefit from it. We have been lucky that there are many members who are following this concept even if they aren't consciously aware that they are doing it. Just to think of all of the additions that have been made over the past few months with the new SVN is pretty amazing. I am sure there is plenty of eqemu related code out there that would make a huge impact, but is being kept locked away by the servers that use it. I am sure projects like EQClassic and Shards of Delaya have an abundance of code that would be great for eqemu to have. I imagine both of those projects have benefited greatly from the open source of EQEmu, and don't consider themselves to be affiliated with EQEmu so they keep their additions private. I am not trying to point fingers anywhere or make anyone feel bad, I am just trying to use examples. Perhaps if SoD opened it's source, we could merge their code into the SVN and they would be able to receive all of the updates from SVN for their server instead of either trying to add them in manually or just ignoring them completely and missing out on tons of great new features/fixes. As far as I know, the EQClassic project has died, so any code additions they came up with are now all wasting away as far as I know, which is just, well, a waste.

As many know, I have been working on getting Secrets of Faydwer (and all previous expansions) working for the emulator. Now, I could very easily keep this to myself and have it only running on my server. Doing that may give me a few extra players who already have the expansion, or who may want to check out the new features and content enough to get a copy of it. But, a large number of the eqemu player-base wouldn't waste the time/money to get the SoF expansion just to play on one server. If I was to share the code once I get it working (and I 100% plan to), it would allow the entire emulator to upgrade to allow SoF on their own servers. This would be something that would push most of the community to get a copy of SoF to use with the emulator to gain all of the benefits from it. It could also bring more new players to the emu, because it will have moved 2 years into the future instead of being stuck with an old and limited client.

All server admins should be well aware that large number of the eqemu player-base jumps from server to server from time to time. So, by helping to increase the over-all player-base between all servers is actually helping your own server in the end. Keeping code privately to a single server may help that server get or retain more players, but it is blocking the potential for the entire project to grow it's player-base. And since many players move around from server to server before settling on a new home, the bigger the entire project player-base is, the more potential for higher player numbers on your server is. So, let's say that your server gets 5% of the over-all project player-base (making up numbers here), and something happens that increases that total number of players project-wide, then your number of players will almost certainly rise too (at least eventually). Without making forward advances, improvements and additions to the current emu code, we can't expect an over-all rise in players for the entire project. But, if people continue sharing code and making advances, the project will remain alive and active and maybe even continue to grow.

I know I probably went way more in depth than needed here, but it is something I have been wanting to mention for a while. Keeping updates to the public source privately is actually hurting anyone who does it in the long run. None of us would be here now if it wasn't for people giving back to the community what the community has given to them 100 fold already from the public source. Everyone certainly has their right to keep source changes privately, but I don't think they realize that they are doing themselves as much bad as they are good by doing so.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 01-07-2009 at 06:55 AM..