Lose your code to other developers

The scenario, you are a developer, new to a particular language or a developer having a particular issue with a framework and not being able to figure that out. What do you do? You look up the forums, you try to see if you can get some assistance, pointers. There may be some developers that want their entire project to be made by others, but then that is a different scenario. So you send your code to some of the people on forums that you trust are those that can help you out.

Here are the inherent problems that you might not have considered

1. Have you seen postings with offers to buy your code? Why do you think these postings exist? These exist because some companies/developers might not have the skills in the areas they want to enter, and looking at some sample code would be their best choice to study how things work and learn about that particular technology or framework.

2. Sample Code is not really representative of the framework, it just states that you can call a particular API with some parameters, it does not tell you anything beyond that. It is generally in a complete application that you learn about how things work. So it does become very important for some to pick up and study source code of complete games.

3. Many developers do not offer their source code, because they might have made some really wicked cool things that they use and reuse or simply because that piece of code would be very vital and other developers that get their hands on that could suddenly start to make cool stuff by just changing a few things here and there (there are several examples of the sample codes being sold on the App Store)

So that brings us to a very important question, How to get Source Code and see what other developers are doing?

How to get other's source code

1. Forums
There are a lot of forums for various languages where users post their code snippets, mostly these are places where beginners post their code for comment on "how do I" type questions with basic things like move a character, etc. This is handy for other beginners as they can get access to something slightly advanced than where they might be.

2. Peer Support
There are a lot of beginner developers that migrate to intermediate and offer their selfless services in having a look at your code. This is a good thing in many cases, but in certain cases this is the point where things start to go wrong. Generally a developer works on the basis of time being money, as they can code in that time and start billing. It is very rare to find developers that have time, or rather spare time. If they would have, wouldn't they be better off using it to complete their projects,etc?

So, there are certain of these individuals that offer the selfless service where beginners and intermediate developers benefit from this but in turn the developer benefits much more, in terms of them learning the coding techniques of this developer. This is more so like a KungFu movie, the hero engages in a fight and thereby both the hero and the villain learn the techniques of the other.

3. Competitions
It is fun to enter into competitions, or for that matter gambling like the Pokies, it is at least in Australia that the odds of winning are 85%, so the 15% is an assured income for the machine owners. Similarly, in Coding competitions, there is a weighted outcome and generally the outcomes are weighted to a 15% change of winning by the contestant and a 85% win for the organiser. There is cash and kind that is retained by the organiser and to add to that, a competition will not have all beginners, there could be some developers that are serious about their stuff. Some organisers announce that all source code received will be MIT released or some form where others can have a look, where as some retain that they will keep the source code. The bottom line, the organiser has suddenly gotten a rich repository of code that would never have come their way and on top of that make some money as the contestants pay them for participating. The sponsors would also pay in kind or cash which is retained, so it is not just a 85% win, but a 115% win.

Think of it this way, if you enter into Pagent contest (if you are a female) and you participate in the swimsuit rounds, you are assured that all of your pictures are classy, but in many cases when the contest is run by Joe the Local Cable Guy, there is a distinct possibility that the same swimsuit round could end up being sleazy. There is a thin line between competitions. So be careful of what you enter into.

Here's my personal experience on this

I had been approached by quite a few developers that were in the final stages of their games and needed some assistance getting things done, They send in the entire source code of their projects, Most of my projects do not involve Box2D where as all of these were based entire on Box2D, in fact one project was totally just a Box2D Joint, all the rest of the code around it was not really required, and the developer did not even respond when I asked him what exactly was he after. I have been a ß-tester on several projects and in fact there was one commercial library where I think I had greatly influenced the outcome of the resulting library.

Now, before you ask me the question that Am I not contradicting my own sentence above? Let me say that I do not promote anywhere that I am happy to look at your code. Send me your code, all of the code that I have helped with were people that send me emails with their source code in the first instance requesting some help or I might have signed up for ß releases for projects that I might have been particularly interested in. Depending on the workload, I have even expressed my regret for being unable to help some of them.

Bottom line, your code is what you make an earning off as a developer, if you want to share it, there is the OpenSource model and Forums where you can post the same, I am just attempting to warn you of being aware that there can be individuals that specifically suggest they are very helpful and soon you see code that looks similar to what your techniques could have been. In some cases you might pay for assistance but you will be assured that there are ethical standards, where as what you get for free can cost you a lot more... The Choice is yours to make....


Popular Posts