So me and eight other friends have founded a "company" (not official, we just like calling ourselves that) named sDev and we are making a strategy game. We are aged 16-17 and have about 3-5 years of experience coding, mainly from school lessons. So much for the context of this question
As for network communication in our game we have made the (rather sensible) decision to use encrypred traffic; the group agrees on this. The way of doing this? Thats where our views differ. Most of us agree that it would be beneficial for us to use a prefabricated security library (the only one any of us knows is SSL) while our enthusiastic (in a good sense) colleague martin is in favor of an alternative.
Martin thinks it would be good for us to make our own SSL for a number of reasons:
- compile time
- repo size
- we only code the stuff we need
- experience
- license stuff
- it would be cool
Side note, at this point martins idea of making our own SSL has become a meme. While we can identify with his views there are a few issues I see in this, mainly the fact that I would not want to have the responsibility for our potential clients' security. A number of us would also be troubled with the task of finding the motivation to learn and implement RSA, AES and whatnot else you need. My greatest concern though is that missing a simple if check can ruin the whole thing (best example, heartbleed) and I don't trust myself or the team to code such a perfect piece of software that can match the performance and security of SSL (not that I have trust issues). If we already have this beautiful library with years of effort and a strong competent team behind it that is also open and has a very kind license for us to use, why risk making our own?
So here to my actual question to some people that are more into the field:
How beneficial would making our own SSL really be, how risky is it if we mess up and how valid are the arguments for either side?
By the way, Martin will be shown this question in the near future